// begin script

function cookie_getVal(offset) {
 var endstr = document.cookie.indexOf(";",offset);
 if (endstr == -1) 
    endstr = document.cookie.length;
 return unescape(document.cookie.substring(offset,endstr));
}

function cookie_get(name) {
   var alen = name.length
   var indexS = 0;
   var sVoid = "";
   var prevChar, nextChar;
   var dC = document.cookie;
   indexS = dC.indexOf(name,indexS)
   while (indexS != -1) {
      nextChar = dC.charAt(indexS + alen);
      if (indexS != 0) {
         prevChar = dC.charAt(indexS - 1);
         if ( nextChar == "=" && ( prevChar == " " || prevChar == ";")) {
            return cookie_getVal(indexS + alen + 1);
         }
         if ((nextChar == " " || nextChar == ";" || nextChar == "")
            && (prevChar == " " || prevChar == ";")) {
            return sVoid;
         }
      } else {
         if (nextChar == "=") {
            return cookie_getVal(indexS + alen + 1);
         }
         if (nextChar == " " || nextChar == ";" || nextChar == "") {
            return sVoid;
         }      
      }
      indexS = dC.indexOf(name,indexS + 1)
   }
   return null;
}

function cookie_set(name, value) {
 var argv = cookie_set.arguments;
 var argc = cookie_set.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] : null;
 document.cookie = name + "=" + escape(value) +
     ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
     ((path == null) ? "" : ("; path=" + path)) +
     ((domain == null) ? "" : ("; domain=" + domain)) +
     ((secure == true) ? "; secure" : "");
}
function cookie_delete(name) {
 var exp = new Date();
 exp.setTime(exp.getTime() - 2*(24*60*60*1000)); 
 var cval = cookie_get(name);
 if (cval != null) {
    // document.write("deleting " + name + "=" + cval + "; expires=" + exp.toGMTString() + "<br>");
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
 }

}
