// Extract the value from the cookie at the given offset.
document.write('<script type="text/javascript" src="/sys-js/cookie.js"></sc'
             + 'ript>');

function GetCookie(Name){ return Cookie.get(Name); }

// Create or change a cookie given its name and value.  The name and value
// are required, but the expiration date isn't.  Note that if you don't specify
// an expiration date, the cookie only exists for the current session.
function SetCookie(Name, Value, Expire){
  if(!Name) return;
  if(!Expire) Expire = 1;

  if(typeof(Expire) == 'string'){
    var i;
    var expDate = new Date();
    var newTime;
    if((i = Expire.indexOf('year')) != -1){
      newTime = expDate.getTime() + (86400000 * 365 * Expire.substring(0, i));
    } else if((i = Expire.indexOf('month')) != -1){
      newTime = expDate.getTime() + (86400000 * 30 * Expire.substring(0, i));
    } else if((i = Expire.indexOf('day')) != -1){
      newTime = expDate.getTime() + (86400000 * Expire.substring(0, i));
    } else if((i = Expire.indexOf('hour')) != -1){
      newTime = expDate.getTime() + (3600000 * Expire.substring(0, i));
    } else if((i = Expire.indexOf('minute')) != -1){
      newTime = expDate.getTime() + (60000 * Expire.substring(0, i));
    } else if((i = Expire.indexOf('second')) != -1){
      newTime = expDate.getTime() + (1000 * Expire.substring(0, i));
    }

    if(newTime){
      expDate.setTime(newTime);
      Expire = expDate;
    } else {
      Expire = false;
    }
  }

  // If survived all of that:
  if(Expire){
    if(typeof(Expire) == 'object') {
      var date_now = new Date();
      var diff = (Expire.getTime() - date_now.getTime())/86400;
      Expire = parseInt(diff);
    }
    Cookie.set(Name, Value, Expire);
  }
}

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 * 365)); // 365 days from now

