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



function getCookieValue (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";
 return (getCookieValue ("testSessionCookie")=="Enabled");
}




function testPersistentCookie () {
 writePersistentCookie ("testPersistentCookie", "Enabled", "minutes", 1);
 return (getCookieValue("testPersistentCookie") == "Enabled");
}


 

function writePersistentCookie (CookieName, CookieValue, periodType, offset) {

 var expireDate = new Date ();
 offset = offset / 1;
 
 var myPeriodType = periodType;
 switch (myPeriodType.toLowerCase()) {
 case "years": 
 var year = expireDate.getYear(); 

 if (year < 1000) year = year + 1900; 
 expireDate.setYear(year + 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; 
}
