/**
 *  URL参数类，对URL的参数的管理，包括添加、修改、删除等。
 */
 
 function RequestParams(){
	this.params = new Array();
	this.uri = "";
	
	this.setUrl = function(s){
		if( s.length < 1) return;
		var queryString = "";
		if(s.indexOf("?") > 0){
			queryString = s.substring(s.indexOf("?")+1);		
			this.uri = s.substring(0,s.indexOf("?"));
		}
		else{
			this.uri = s;	
		}		
		if(queryString.length < 1 ) return ;
		var arr = queryString.split("&");	
		var index = 0;
		for( var i = 0; i < arr.length; i++ ){
			index = arr[i].indexOf("=");
			this.params[i] = new Param(arr[i].substring(0,index),arr[i].substring(index+1));				
		}
	}
	this.setUri = function(s){
			this.uri = s;
	}
	this.toString = function(){
		var s = "";
		for(var i=0; i < this.params.length; i++){			
			s = s + "&" + this.params[i].name + "=" + this.params[i].value;
		}
		if(s.length > 0){
			s = s.substring(1);
			s =  "?" + escape(s);
		}
		return this.uri + s;
	}
	//添加参数,如果存在相同的name，则替换值
	this.add = function(name,value){
		var isFind = this.indexOf(name);
		if (isFind != -1){
			this.params[isFind].value = value;
		}				
		else{
			var p = new Param(name,value);
			this.params[this.params.length] = p;	
		}
	}
	this.get = function(name) {
		var isFind = this.indexOf(name);
		if (isFind != -1){
			return this.params[isFind].value;
		}
		return null;
	}
	/**  删除项  **/
	this.remove = function(name) {
		var index = this.indexOf(name);
		if(index != -1){
			var arr = this.params;
			this.params = new Array();
			var m = 0;
			for(var i = 0; i < arr.length; i++){
				if( i == index)
				   continue;
				this.params[m++] = arr[i];
			}			
		}
	}
	
	this.indexOf = function(name){
		var isFind = -1;
		for(var i = 0; i < this.params.length; i++){
			if(this.params[i].name == name){
				isFind = i;
				break;	
			}		
		}
		return isFind;
	}
 }
function Param(name,value){
	this.name = name;
	this.value = value;
}