//Example (with '?slide=xxxx' in the query string):
//xx=new createQSO();
//alert(xx.vars('slide'));
function createQSO(){
var href=arguments[0]?arguments[0]:document.location.href;
	n1=href.indexOf('?')+1;
	if(n1==0)this.url=href;
	else this.url=href.slice(0,n1-1);	
	if(n1==0)n1=href.length;
	n2=href.length;
	qs=href.slice(n1,n2);

	this.a=new Array();
	this.a=qs.split('&');
	for(var i=0; i<this.a.length; i++){
		this.a[i]=this.a[i].split('=');
	}
	for(var i=0; i<this.a.length; i++){
		nombre=this.a[i][0];
		valor=this.a[i][1];
		if(nombre!=''){
			eval('this.'+nombre+'=new Object();');
			eval('this.'+nombre+'="'+valor+'"');	
		}
	}	
	this.qstring=function(){
		var s="";
		var q=false;
		for(var i=0; i<this.a.length; i++){
			nombre=this.a[i][0];
			valor=this.a[i][1];
			
			if(nombre!=null&&nombre!=''){
				s+=nombre+"="+valor+'&';
				
				q=true;
			}

		}		
		
		if(q){
			s+=')';
			s=s.replace('&)','');
		}
		return s;
	}
	this.addValue=function (){
		var ult=this.a.length;
		var nombre=arguments[0]?arguments[0]:null;
		var valor=arguments[1];
		this.a[ult]=new Array();
		this.a[ult][0]=nombre;
		this.a[ult][1]=valor;		
		eval('this.'+nombre+'=new Object();');
		eval('this.'+nombre+'="'+valor+'"');		
	}
	this.setValue=function (){
		var nom=arguments[0]!=null?arguments[0]:null;
		var valor=arguments[1];
		for(var i=0; i<this.a.length; i++){
			
			nombre=this.a[i][0];
			if(nombre==nom&&nom!=null){
				this.a[i][1]=valor;
				return true;
			}
		}			
		this.addValue(nom,valor);
		return false;	
	}	
	this.vars=function (){
		var nom=arguments[0]?arguments[0]:null;
		var valor;
		for(var i=0; i<this.a.length; i++){
			nombre=this.a[i][0];
			valor=this.a[i][1];
			if(nombre==nom){
				return valor;
			}
		}			
		return null;	
	}
	this.root=function (){
		var n1=this.url.lastIndexOf('/')+1;
		if(n1==-1)n1=this.url.lastIndexOf('\\')+1;
		var s=this.url.slice(0,n1);
		return s;
	}
}

//////////////////////////////
