//   Following functions written by:   Bill Dortch, hIdaho Design 
//   The following functions are released to the public domain. 

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); 
} 

function getCookieVal (offset) { 
   var endstr = document.cookie.indexOf (";", offset); 
   if (endstr == -1) 
      endstr = document.cookie.length; 
   return unescape(document.cookie.substring(offset, endstr)); 
} 

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; 
} 

function SetCookie (name, value) { 
   var argv = SetCookie.arguments; 
   var argc = SetCookie.arguments.length; 
   var expires = (argc > 2) ? argv[2] : null; 
   var path = (argc > 3) ? argv[3] : null; 
   var domain = (argc > 4) ? argv[4] : null; 
   var secure = (argc > 5) ? argv[5] : false; 
   if (expires!=null) FixCookieDate(expires); 
   document.cookie = name + "=" + escape (value) + 
      ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
      ((path == null) ? "" : ("; path=" + path)) + 
      ((domain == null) ? "" : ("; domain=" + domain)) + 
      ((secure == true) ? "; secure" : ""); 
} 

