﻿// www.InstantBull.com
// (c)2007 InstantBull, Inc. All rights reserved.
// Visit http://www.dynamicdrive.com/ for full source code

function Get_Cookie(name)
{
    var start=document.cookie.indexOf(name);
    var len=start+name.length+1;
    if((!start)&&(name!=document.cookie.substring(0,name.length)))
        {return null;}
    if(start==-1)
        return null;
    var end=document.cookie.indexOf(";",len);
    if(end==-1)end=document.cookie.length;
        return unescape(document.cookie.substring(len,end));
};

function Set_Cookie(name,value,expires,path,domain,secure)
{
    var today=new Date();
    today.setTime(today.getTime());
    if(expires)
        {expires=expires*1000*60*60*24;}
    var expires_date=new Date(today.getTime()+(expires));
    document.cookie=name+"="+escape(value)+((expires)?";expires="+expires_date.toGMTString():"")+((path)?";path="+path:"")+((domain)?";domain="+domain:"")+((secure)?";secure":"");
};

function Delete_Cookie(name,path,domain)
{
    if(Get_Cookie(name))
        {document.cookie=name+"="+((path)?";path="+path:"")+((domain)?";domain="+domain:"")+";expires=Thu, 01-Jan-1970 00:00:01 GMT";}
};

function f_qs(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}


function Querystring(qs) 
{ 
// optionally pass a querystring to parse
	this.params = new Object();
	this.get=f_qs;
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length);

	if (qs.length == 0) return;

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1

	qs = qs.replace(/\+/g, ' ');
	
	// parse out name/value pairs separated via &
	var args = qs.split('&'); 
	
    // split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=');
		var name = unescape(pair[0]);

		if (pair.length == 2)
			value = unescape(pair[1]);
		else
			value = name;
		
		this.params[name] = value;
	}
}