/* The code contained in this  file are copyrighted by www.jojoxx.net
The file may be used for none commercial applications and distributed
as long as these lines remain intact.  The file or part of it may not
be sold  or  included  in any  other commercial  application  without
agreement from the author. If you have questions or comments, contact
johan@jojoxx.net

© Copyright - www.jojoxx.net - 2003                                */

function querystring(){
	if(!location.search){ return null; }
	var querystr=location.search.split("?")[1].replace(/\+/g," ");
	for(var n=0;n<querystr.split("&").length;n++){
		var name=unescape(querystr.split("&")[n].split("=")[0]);
		var value=unescape(querystr.split("&")[n].split("=")[1]);
		if(this[name]){
			if(typeof(this[name])=="object"){
				this[name][this[name].length]=value;
			}else{
				this[name]=new Array(this[name],value);
			}
		}else{
			this[name]=value;
		}
	}
}
function makeQuerystring(qs,addobj){
	var obj=cloneobj(qs); var str="";
	for(var i in addobj){ obj[i]=addobj[i]; }
	for(var i in obj){
		if(obj[i]){ str+=(str)?"&":""; str+=escape(i)+"="+escape(obj[i]); }
	}
	return str;
}
function cookie(name,value,expires,domain,path,secure){
	if(!name){
		var cookies=document.cookie.split("; ");
		for(var n=0;n<cookies.length;n++){
			cookies[n]=unescape(cookies[n].split("=")[0]);
		}
		return cookies;
	}else{
		this.name=name; this.value=(value)?value:"";
		this.set=function(){
			var cookiestr = escape(this.name)+"="+escape(this.value);
			cookiestr+=(this.expires)?"; expires="+this.expires.toGMTString():"";
			cookiestr+=(this.domain)?"; domain="+this.domain:"";
			cookiestr+=(this.path)?"; path="+this.path:"";
			cookiestr+=(this.secure)?"; secure":"";
			document.cookie=cookiestr;
			this.isset=true;
		}
		this.remove=function(){
			document.cookie=escape(this.name)+"="+(document.layers?"":"_")+"; expires=Thursday, 01-Jan-1970 00:00:00 GMT";
			this.isset=false;
		}
		if(value){
			this.expires=expires; this.domain=domain; this.path=path; this.secure=secure;			
		}else{
			var cookies=document.cookie.split("; ");
			for(var n=0;n<cookies.length;n++){
				if(unescape(cookies[n].split("=")[0])==name){
					this.value=unescape(cookies[n].split("=")[1]);
				}
			}
			this.isset=(!!this.value);
		}
	}
}
function sortobj(obj,prop){
	var a=[];
	if(prop){
		for(var i in obj){ a[a.length]=[i,obj[i][prop]]; }
		a=a.sort(function(a,b){ return ((a[1]<b[1])?-1:((a[1]>b[1])?1:0)); } )
	} else {
		for(var i in obj){ a[a.length]=[i]; }
		a=a.sort(function(a,b){ return ((a[0]<b[0])?-1:((a[0]>b[0])?1:0)); } )
	}
	var ret={};
	for(var i in a){ ret[a[i][0]]=obj[a[i][0]]; }
	return ret;
}
function matchobj(obj,prop,m){
	var a=[]; for(var i in obj){ a[a.length]=(obj[i][prop])?[i,obj[i][prop]]:[i,""];  }
	var ret={};
	for(var i in a){ if(a[i][1].match(m)){ ret[a[i][0]]=obj[a[i][0]]; } }
	return ret;
}
function sortbasket(obj,prop){
	var a=[]; for(var i in obj){ a[a.length]=[i,art[i][prop]]; }
	a=a.sort(function(a,b){ return ((a[1]<b[1])?-1:((a[1]>b[1])?1:0)); } )
	var ret={};
	for(var i in a){ ret[a[i][0]]=obj[a[i][0]]; }
	return ret;
}
function htmlEncode(str){
	str+=""; var enc={ "&":"&amp;", "\"":"&quot;", "<":"&lt;", ">":"&gt;" }
	for(var i in enc){ str=str.replace(new RegExp(i,"g"),enc[i]); }
	return str;
}
function cloneobj(obj){
	if(typeof(obj)!='object'||obj==null) return obj;
	var ret = new Object(); for(var i in obj){ret[i]=cloneobj(obj[i]);}
	return ret;
}
