// cookies.js
// COOKIE FUNCTIONS

// RETURNS A (LOGIN) CODE BASED ON THE CURRENT DATE(1-31)
// THEREFORE A LOGIN LASTS AT MOST 1 DAY
function GetLoginCode() {
	var my_date = new Date();
	var my_day = my_date.getDate() - 1;
	var code_str = "ANDREWDAVIDPENDLEBURYISACOOLMAN"	// 31 CHARS
	var code;

	// GRAB CHARACTER FROM CODE STRING
	code = code_str.substr(my_day,1);

	return(code);
}

// eg. setCookie("foo", "bar", "Mon, 01-Jan-2001 00:00:00 GMT", "/");
function setCookie(name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value)
		+ ((expires) ? "; expires=" + expires : "")
		+ ((path) ? "; path=" + path : "")
		+ ((domain) ? "; domain=" + domain : "")
		+ ((secure) ? "; secure" : "");
}

// eg. myVar = getCookie("foo");
function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

// IF COOKIE EXISTS THEN GOTO targetpage, OTHERWISE GOTO failpage
// eg: CheckCookie("username","membersonly.html","password.html")
// AUTHENTICATE (CALL) FROM OUTSIDE targetpage
function AuthenticateTarget(targetpage,failpage) {
	var myval = getCookie("login");
	if (myval != GetLoginCode()) {
		setCookie("target",targetpage,"", "/");
		document.location = failpage;
	} else {
		document.location = targetpage;
	}
}

// AUTHENTICATE (CALL) FROM INSIDE targetpage
function Authenticate(targetpage,failpage) {
	var myval = getCookie("login");
	if (myval != GetLoginCode()) {
		setCookie("target",targetpage,"", "/");
		document.location = failpage;
	}

	// OTHERWISE JUST ALLOW TO CARRY ON AND RETURN username COOKIE
	myval = getCookie("username");	
	return(myval);
}

// RETURNS EMPTY STRING IF 'null'
// LIKE getCookie() BUT FOR DIRECT DISPLAY
function rtnCookie(name) {
	var myval = getCookie(name);
	if (myval == null) {
		myval = "";
	}
	return(myval);
}

