function setCookie(name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value || "")
		+ (expires ? ("; expires=" + expires.toGMTString()) : "")
		+ (path ? ("; path=" + path) : "")
		+ (domain ? ("; domain=" + domain) : "")
		+ (secure ? "; secure" : "");
}

function getCookie(name) {
	var value = null;
	var prefix = name + "=";
	var startIndex = document.cookie.indexOf(prefix);
	if(startIndex > -1) {
		var endIndex = document.cookie.indexOf(";", startIndex + prefix.length);
		if(endIndex < 0 ) {
			endIndex = document.cookie.length;
		}
		value = unescape(document.cookie.substring(startIndex + prefix.length, endIndex));
	}

	return value; 
}

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";
   	}
}



/* LEGACY ---------------------------------- */
function readCookie(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 getCookieVal(j);
		i = document.cookie.indexOf(" ",i) + 1;
		if (i==0) break;
	}
	return null;
}

function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function cleanCookie(name) {
	setCookie(name, null, new Date(0));
}
