// cookies.js - routines to handle cookie strings

// getCookieVal - internal (private) function to retrieve a single cookie
function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1) { endstr = document.cookie.length; }
  return unescape (document.cookie.substring (offset, endstr));
}

// GetCookie - retrieve the named cookie
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;
}

// DeleteCookie - delete the cookie using its expiry date
//                'path' and 'domain' are optional
function DeleteCookie (name, path, domain) {
  if (GetCookie (name)) {
    document.cookie = name + "=" + +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
} }


// SetCookie - set the named cookie to the given value
//             'expires', 'path', 'domain' and 'secure' are optional
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" : "");
}


