function URLClass(URL){
	this.fullURL=new String(URL);
	this.name=new Array();
	this.value=new Array();
	this.baseURL=null;  
	this.qs=null;    
	//Member functions
	this.parse=parse;
	this.queryString=queryString; 
	this.addQS=addQS;
	this.removeQS=removeQS;
	this.buildURL=buildURL;           
	this.getBaseURL=getBaseURL;
	this.getUnsURL=getUnsURL;
	this.copyQS=copyQS;
}                      
function getUnsURL(){
	var protocol=this.baseURL.indexOf("://");
	var serverInd=this.baseURL.indexOf("/",protocol+3);
	var unsInd=this.baseURL.indexOf("/",serverInd+1);
	if(unsInd==-1)
		return(this.baseURL);
	//alert("UnsURL=" + this.baseURL.substr(0,unsInd));
	return(this.baseURL.substr(0,unsInd));
}
function copyQS(source,instance){         
	var webrRemove="_webrRemove_" + instance;
	var count=source.name.length;
	//alert("RSSAdjustQueryStrings:copyQS: Count=" + count);
	var j=0;
	for(i=0;i<count;i++){    
		//alert("RSSAdjustQueryStrings:copyQS: Check=" + source.name[i]);	
		if(source.name[i].substr(0,webrRemove.length)!=webrRemove){
			this.name[j]=source.name[i];
			this.value[j]=source.value[i]; 
			j++;
		}
		//else
			//alert("RSSAdjustQueryStrings:copyQS: Skipping " + source.name[i]);
	} 
	//alert("RSSAdjustQueryStrings:buildURL: CopyQSDest=" + this.name.length + " Source=" + source.name.length);

}  
function parse(){
	var url=this.fullURL.split("?");
	var i;
	this.baseURL=url[0];
	if(url.length==2){
		this.qs=url[1];
		var nvPairs=this.qs.split("&");
		for(i=0;i<nvPairs.length;i++){        
			tmpArr=nvPairs[i].split("=");
			this.name[i]=tmpArr[0];
			this.value[i]=tmpArr[1];
		}
	}
	//alert("RSSAdjustQueryStrings: Parse shows " + this.name.length + " qs");
}                                
function queryString(toFind){
	var i;
	for(i=0;i<this.name.length;i++){
		if(this.name[i].toLowerCase()==toFind.toLowerCase())
			return(this.value[i]);
	}
	return(null);
}  

function getBaseURL(url){
	return(this.baseURL);
} 
//FUNCTION:		addQS               
//Replace the qs if it already exists.
function addQS(name,value){
	var count=this.name.length;
	for(i=0;i<count;i++){
		if(this.name[i].toLowerCase()==name.toLowerCase())
			break;
	}
	this.name[i]=name;
	this.value[i]=value;	
}  
function removeQS(name){
	var j=0
	var newName=new Array();
	var newVal=new Array();
	for(i=0; i<this.name.length; i++){
		if(this.name[i].toLowerCase() != name.toLowerCase()){
			newName[j]=this.name[i];
			newVal[j]=this.value[i];
			j++;
		}				
	} 
	this.name=newName;
	this.value=newVal;
	//alert("URLParse:removeQS:" + name + " not found.");
}         
function buildURL(){
	var i;
	//alert("RSSAdjustQueryStrings:buildURL: base=" + this.baseURL);	
	this.fullURL=this.baseURL;
	//alert("RSSAdjustQueryStrings:buildURL: after base=" + this.fullURL);     
	//alert("RSSAdjustQueryStrings:buildURL: " + this.name.length + "QS");	
	for(i=0;i<this.name.length;i++){
		if(this.name!=""){ 
			if(i)
				this.fullURL+="&";
			else
				this.fullURL+="?";
			this.fullURL+=this.name[i] + "=" + this.value[i];
		}
	}      
	return(this.fullURL);             
}

