new Cookie();
Cookie.prototype.store = _Cookie_store;
Cookie.prototype.load = _Cookie_load;
Cookie.prototype.remove = _Cookie_remove;


function Cookie(document,name,hours,path,domain,secure)
{
 this.$document = document;
 this.$name = name; 
 this.$expiration = (hours ? new Date((new Date()).getTime() + hours*3600000) : null);
 this.$domain = (domain ? domain : null);
 this.$secure = (secure ? secure : null);
 this.$path = (path ? path : null); 
}

function _Cookie_store()
{
 var cookieval = "";
 for (var prop in this)
 {
  if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function'))
     continue;
  if (cookieval != "") 
     cookieval += '&';
  cookieval += prop + ':' + escape(this[prop]);
 } 	 	 
 var cookie = this.$name + '=' + cookieval;
 if (this.$expiration)
   cookie += '; expires=' + this.$expiration.toGMTString();
 if (this.$path)
   cookie += '; path=' + this.$path;
 if (this.$domain)
   cookie += '; domain=' + this.$domain;
 if (this.$secure)
   cookie += '; secure';    
   
 this.$document.cookie = cookie;  
}

function _Cookie_load()
{
 var allcookies = this.$document.cookie;
 if (allcookies == "")
    return false;
 
 var start = allcookies.indexOf(this.$name + '=');
 if (start == -1)
    return false;
	
 start += this.$name.length+1
 var end = allcookies.indexOf(';',start);
 if (end == -1)
   end = allcookies.length;
 
 var cookieval = allcookies.substring(start,end);
 
 var a = cookieval.split('&');
 for (var i=0; i<a.length; i++)
   a[i] = a[i].split(':');
   
 for (var i=0; i<a.length; i++)
    this[a[i][0]] = unescape(a[i][1])  

 return true;	 		
}


function _Cookie_remove()
{
 var cookie;
 cookie = this.$name + '=';
 if (this.$path)
   cookie += '; path=' + this.$path;
 if (this.$domain)
   cookie += '; domain=' + this.$domain;
 cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';
 
 this.$document.cookie = cookie;     
}


function GetCookie(Name)
{
	var search = Name + "="
	var returnvalue = "";
	if (document.cookie.length > 0) 
	{
		offset = document.cookie.indexOf(search)
		if (offset != -1) // if the cookie exists
		{ 
			offset += search.length
		    //set the index of beginning value
		    end = document.cookie.indexOf(";", offset);
		  
			if (end == -1) // set the index of the end of cookie value
			{
				end = document.cookie.length;
			}
			returnvalue = unescape(document.cookie.substring(offset, end))
		 }
	}
	return returnvalue;
}
