/*
 * @author	Ozan Vural
 * @version	1.0
 * @date	25.07.2007
 * @copyright	Treda Bilisim Teknolojileri A.S
 */

if(typeof(Treda) == "undefined") Treda = {}; // if  not exists add NameSpace Treda
if(typeof(Treda.Text) == "undefined") Treda.Text = {}; // if not exists add NameSpace Treda.Text


Treda.Text = function() {	
	return {
		StringBuilder : function(value) {
			var buffer = new Array("");
			if (value != null) {
				buffer.push(value);
			}			
			this.append = function(value) {
				buffer.push(value);
				return this;
			}
			this.toString = function() {
				return buffer.join("");
			}
		},
        QueryStringBuilder: function(){
	    var uriComponents = new Array();
        var uri = "";

            this.add = function (parameterName, parameterValue)
            {
		        var map = new Object();
                map.key = parameterName;
                map.value = parameterValue;

                uriComponents[uriComponents.length] = map;

                return this;
            }

            this.setURI = function (value)
            {
		        uri = value;
            }

            this.get = function ()
            {
                var queryString = uri;
                
                var length = uriComponents.length;
                for (var i = 0; i < length; i ++)
                {
                    var uriComponent = uriComponents[i];

                    queryString += ((i > 0) ? "&" : "?") + uriComponent.key + "=" + uriComponent.value;
                }

            return queryString;
            }
         }	
		
	};
}();
