// Routines for managing cookies.

// Set a cookie
//
// Example (setting a simple cookie for 1 year in the future):
//
//      var now = new Date();
//      fscfixDate(now);
//      now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
//      fscsetCookie("name", "value", now);

function fscsetCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

// Get a cookie
//
// Example: value = fscgetCookie("name");

function fscgetCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf(prefix);
  if (begin == -1)
    return "";
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

// Delete a cookie
//
// Example: fscdeleteCookie("name");

function fscdeleteCookie(name, path, domain) {
  if (fscgetCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function fscfixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

