home *** CD-ROM | disk | FTP | other *** search
- function FixCookieDate (date) {
- var base = new Date(0);
- var skew = base.getTime(); // dawn of (Unix) time - should be 0
- if (skew > 0) // Except on the Mac - ahead of its time
- date.setTime (date.getTime() - skew);
- }
-
- var expdate = new Date ();
- FixCookieDate (expdate); // Correct for Mac date bug - call only once for given Date object!
- expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000)); // 24 hrs from now
-
- //
- // Function to create or update a cookie.
- // name - String object containing the cookie name.
- // value - String object containing the cookie value. May contain
- // any valid string characters.
- // [expires] - Date object containing the expiration data of the cookie. If
- // omitted or null, expires the cookie at the end of the current session.
- // [path] - String object indicating the path for which the cookie is valid.
- // If omitted or null, uses the path of the calling document.
- // [domain] - String object indicating the domain for which the cookie is
- // valid. If omitted or null, uses the domain of the calling document.
- // [secure] - Boolean (true/false) value indicating whether cookie transmission
- // requires a secure channel (HTTPS).
- //
- // The first two parameters are required. The others, if supplied, must
- // be passed in the order listed above. To omit an unused optional field,
- // use null as a place holder. For example, to call SetCookie using name,
- // value and path, you would code:
- //
- // SetCookie ("myCookieName", "myCookieValue", null, "/");
- //
- // Note that trailing omitted parameters do not require a placeholder.
- //
- // To set a secure cookie for path "/myPath", that expires after the
- // current session, you might code:
- //
- // SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);
- //
-
- function SetCookie (name,value,expires,path,domain,secure) {
- document.cookie = name + "=" + escape (value) +
- ((expires) ? "; expires=" + expires.toGMTString() : "") +
- ((path) ? "; path=" + path : "") +
- ((domain) ? "; domain=" + domain : "") +
- ((secure) ? "; secure" : "");
- }
-
- //
- // Cookie Connected
- // On /content/main.htm, we will ask them if they are
- // connected to the internet or not. Buttons for yes or
- // no will be tied to javascript calls that will set
- // another cookie called 'connected' to remember this
- // answer.
- //
- // Whenever there is a link to any external site, the
- // url must be passed to a function that will check the
- // 'connected' cookie (this function should also appear
- // in /content/js/shared.js). If they are connected to the
- // internet, a simple redirection occurs. If not, a
- // warning dialog comes up asking them if they want to
- // continue. A yes answer to the dialog box redirects
- // them to the URL. A no answer simply makes the dialog
- // go away leaving them on the original page.
-
- function clickBox(value) {
- SetCookie ("Connected", value, expdate);
- }
-
-
-
- // "Internal" function to return the decoded value of a cookie
- //
-
- function getCookieVal (offset) {
- var endstr = document.cookie.indexOf (";", offset);
- if (endstr == -1)
- endstr = document.cookie.length;
- return unescape(document.cookie.substring(offset, endstr));
- }
-
- //
- // Function to return the value of the cookie specified by "name".
- // name - String object containing the cookie name.
- // returns - String object containing the cookie value, or null if
- // the cookie does not exist.
- //
-
- 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 getCookieVal (j);
- i = document.cookie.indexOf(" ", i) + 1;
- if (i == 0) break;
- }
- return null;
- }
-