// JavaScript Document
/**
 *
 */
function writeSessionCookie (cookieName, cookieValue) {
	if (testSessionCookie()) {
		document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/";
		return true;
	}
	else 
		return false;
}

function writePersistentCookie (CookieName, CookieValue, periodType, offset) {
	//
	//
	var expireDate = new Date ();
	offset = offset / 1;
	//
	//
	var myPeriodType = periodType;
	switch (myPeriodType.toLowerCase()) {
		case "years":
			expireDate.setYear(expireDate.getFullYear()+offset);
		break;
		case "months":
			expireDate.setMonth(expireDate.getMonth()+offset);
		break;
		case "days":
			expireDate.setDate(expireDate.getDate()+offset);
		break;
		case "hours":
			expireDate.setHours(expireDate.getHours()+offset);
		break;
		case "minutes":
			expireDate.setMinutes(expireDate.getMinutes()+offset);
		break;
		default:
			alert ("Invalid periodType parameter for writePersistentCookie()");
		break;
	} 

	document.cookie = escape(CookieName ) + "=" + escape(CookieValue) + "; expires=" + expireDate.toGMTString() + "; path=/";
}  

/**
 *
 */
function deleteCookie (cookieName) {
	//
	//
	if (getCookieValue (cookieName)) 
		writePersistentCookie (cookieName,"Pending delete","years", -1);  
	return true;     
}

/**
 *
 */
function getCookie (cookieName) {
  var exp = new RegExp (escape(cookieName) + "=([^;]+)");
  if (exp.test (document.cookie + ";")) {
    exp.exec (document.cookie + ";");
    return unescape(RegExp.$1);
  }
  else return false;
}

/**
 *
 */
function testSessionCookie () {
	document.cookie ="testSessionCookie=Enabled";
	if (getCookie ("testSessionCookie")=="Enabled")
		return true 
	else
		return false;
}

/**
 *
 */
function testPersistentCookie () {
	writePersistentCookie ("testPersistentCookie", "Enabled", "minutes", 1);
	if (getCookieValue ("testPersistentCookie")=="Enabled")
		return true  
	else 
		return false;
}
