/**
* Constructor
*/
function CookieManager() {
	this.endlessDate = new Date(); 
	this.endlessDate.setTime(this.endlessDate.getTime() + (90*24*60*60*1000));
}
/**
*
*/
CookieManager.prototype.__getCookieVal = function(offset) {  
	var endstr = document.cookie.indexOf (";",offset);  
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset,endstr));
}
/**
* Returns the value of a cookie
*/
CookieManager.prototype.getCookie = function(name) {  
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) {
			return this.__getCookieVal(j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) {
			break;
		}
	}
	return null;
}
/**
* Sets a cookie
*/
CookieManager.prototype.setCookie = function(name, value) {  
	var argv = this.setCookie.arguments;  
	var argc = this.setCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	var cookieString = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
	document.cookie = cookieString;
}
/**
*
*/
CookieManager.prototype.deleteCookie = function(name) {  
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1);  
	var cval = GetCookie (name);  
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var cookieManager = new CookieManager();