/****************************************************************/
/* Cookies.                                                     */
/****************************************************************/

function canSetCookie() {
	var canset = true;
	setCookie("cookietest", 1);
	if (getCookie("cookietest")!=1) canset = false;
	setCookie("cookietest", 2);
	if (getCookie("cookietest")!=2) canset = false;
	setCookie("cookietest", "testing");
	if (getCookie("cookietest")!="testing") canset = false;
	setCookie("cookietest", 0);
	return canset;
}

// Cookie code from:
// http://home.cogeco.ca/~ve3ll/jstutor9.htm?reload_coolmenus
// (The previous didn't work in Firfox...

function setCookie(name,value) {
	var argv=arguments;
	var argc=arguments.length;
	var today = new Date();
	var yr = today.getYear();
	if (yr<1000) yr += 1900;
	var expires=(argc>2) ? argv[2] : new Date(yr + 10, today.getMonth(), today.getDate());
	var path=(argc>3) ? argv[3] : null;
	var domain=(argc>4) ? argv[4] : null;
	var secure=(argc>5) ? argv[5] : false;
	document.cookie=name+"="+escape(value) +
		((expires === null) ? "" : ("; expires="+expires.toUTCString())) +
		((path === null) ? "" : ("; path="+path)) +
		((domain === null) ? "" : ("; domain="+domain)) +
		((secure === true) ? "; secure" : "");
}

function getCookie(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 subGetCookieVal(j);
		}
		i=document.cookie.indexOf(" ",i) + 1;
		if (i === 0) { break; }
	}
	return "";
}

function subGetCookieVal(offset) {
	var endstr=document.cookie.indexOf(";",offset);
	if (endstr == -1) {endstr=document.cookie.length;}
	return unescape(document.cookie.substring(offset,endstr));
}

function removeCookie(name) {
	var exp=new Date();
	exp.setTime(exp.getTime()-1);
	var cval=GetCookie(name);
	document.cookie=name+"="+cval+"; expires="+exp.toUTCString();
}



