?
Path : /home/admin/public_html/libs-bak/js/ |
Current File : /home/admin/public_html/libs-bak/js/cookies.js |
/*============================================================================== Routines written by John Gardner - 2003 - 2005 See www.braemoor.co.uk/software for information about more freeware available. /*============================================================================== Routine to write a session cookie Parameters: cookieName Cookie name cookieValue Cookie Value Return value: true Session cookie written successfullly false Failed - persistent cookies are not enabled e.g. if (writeSessionCookie("pans","drizzle") then alert ("Session cookie written"); else alert ("Sorry - Session cookies not enabled"); */ function writeSessionCookie (cookieName, cookieValue) { if (testSessionCookie()) { document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/"; return true; } else return false; } /*============================================================================== Routine to get the current value of a cookie Parameters: cookieName Cookie name Return value: false Failed - no such cookie value Value of the retrieved cookie e.g. if (!getCookieValue("pans") then { cookieValue = getCoookieValue ("pans2); } */ 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; } /*============================================================================== Routine to see if session cookies are enabled Parameters: None Return value: true Session cookies are enabled false Session cookies are not enabled e.g. if (testSessionCookie()) alert ("Session coookies are enabled"); else alert ("Session coookies are not enabled"); */ function testSessionCookie () { document.cookie ="testSessionCookie=Enabled"; if (getCookieValue ("testSessionCookie")=="Enabled") return true else return false; } /*============================================================================== Routine to see of persistent cookies are allowed: Parameters: None Return value: true Session cookies are enabled false Session cookies are not enabled e.g. if (testPersistentCookie()) then alert ("Persistent coookies are enabled"); else alert ("Persistent coookies are not enabled"); */ function testPersistentCookie () { writePersistentCookie ("testPersistentCookie", "Enabled", "minutes", 1); if (getCookieValue ("testPersistentCookie")=="Enabled") return true else return false; } /*============================================================================== Routine to write a persistent cookie Parameters: CookieName Cookie name CookieValue Cookie Value periodType "years","months","days","hours", "minutes" offset Number of units specified in periodType Return value: true Persistent cookie written successfullly false Failed - persistent cookies are not enabled e.g. writePersistentCookie ("Session", id, "years", 1); */ 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=/"; } /*============================================================================== Routine to delete a persistent cookie Parameters: CookieName Cookie name Return value: true Persistent cookie marked for deletion e.g. deleteCookie ("Session"); */ function deleteCookie (cookieName) { if (getCookieValue (cookieName)) writePersistentCookie (cookieName,"Pending delete","years", -1); return true; }