function Uri(absolutePath) {
	this.AbsolutePath = absolutePath;
	this.QueryParameters = new Array();
	this.NumParameters = 0;
	}
	
Uri.prototype.AddQueryParameter =
	function(key,value) {
		if ((typeof key == "string") || (key instanceof String)) {
			this.QueryParameters[key] = value;
			this.NumParameters++;
			}
		}
		
Uri.prototype.RemoveQueryParameter =
	function(key) {
		if (this.QueryParameters[key]) {
			var replacementArray;
			for (var i=0;i < this.QueryParameters.length;i++) {
				if (!(this.QueryParameters[i] == this.QueryParameters[key])) {
					replacementArray[i] = this.QueryParameters[i];
					this.NumParameters--;
					}
				}
			this.QueryParameters = replacementArray;
		}
	}
	
Uri.prototype.toString =
	function() {
		var returnValue = this.AbsolutePath;
		if (!(this.QueryParameters == null)) {
			returnValue = returnValue + "?";
			var i = 0;
			for (var key in this.QueryParameters) {
				returnValue = returnValue + key + "=" + this.QueryParameters[key].toString();
				if (i < this.NumParameters - 1)
					returnValue = returnValue + "&";
				i++;
				}
			}
		return returnValue;
	}
			