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 getCookieVal(offset) {
  var endstr=document.cookie.indexOf(";",offset);
  if (endstr==-1)
    endstr=document.cookie.length;
  return unescape(document.cookie.substring(offset,endstr));
}

function DeleteCookie(name,path) {
  if (GetCookie(name))
    document.cookie=name+"="+"; path="+"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}

function SetCookie(name,value,expires) {
  if (value==undefined) value="";
  if (value!="") value=escape(value);
  if (expires==undefined) expires="";
  if (expires!="") expires=expires.toGMTString();
  document.cookie=name+"="+value+"; expires="+expires+"; path="
}

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);
}
