// utility function to retrieve an expiration data in proper format;
function getExpDate(days, hours, minutes)
{
	var expDate = new Date();
	if(typeof(days) == "number" && typeof(hours) == "number" && typeof(hours) == "number")
	{
		expDate.setDate(expDate.getDate() + parseInt(days));
		expDate.setHours(expDate.getHours() + parseInt(hours));
		expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
		return expDate.toGMTString();
	}
}

//utility function called by getCookie()
function getCookieVal(offset)
{
    var dc = unescape(document.cookie);
	var endstr = dc.indexOf(";", offset);
	if(endstr == -1)
	{
		endstr = dc.length;
	}
	return dc.substring(offset, endstr);
}

// primary function to retrieve cookie by name
function getCookie(name)
{
    var dc = unescape(document.cookie);
	var arg = name + "=";
	var alen = arg.length;
	var clen = dc.length;
	var i = 0;
	while(i < clen)
	{
		var j = i + alen;
		if (dc.substring(i, j) == arg)
		{
			return getCookieVal(j);
		}
		i = dc.indexOf(" ", i) + 1;
		if(i == 0) break;
	}
	return;
}

// store cookie value with optional details as needed
function setCookie(name, value, expires, path, domain, secure)
{
	document.cookie = name + "=" + unescape(value) +
		((expires) ? "; expires=" + expires : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}

// remove the cookie by setting ancient expiration date
function deleteCookie(name,path,domain) 
{
	if(getCookie(name))
	{
		document.cookie = name + "=" +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}
