// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// cookie.js
//
// copyright (c) 2006 drow <drow@bin.sh>
// all rights reserved
//
// based in part on code written by Bill Dortch <bdortch@hidaho.com>

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// cookie jar

var cookie_jar;

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// get date, fix for macs

function cookie_date (y,m,d,h,n,s) {
  var then = new Date(y,m,d,h,n,s);
  return fix_time(then);
}
function cookie_days (d) {
  var then = new Date();
      then.setTime(then.getTime() + (d * 86400 * 1000));
  return fix_time(then);
}
function fix_time (then) {
  var base = new Date(0);
  var skew = base.getTime();

  if (skew > 0) {
    then.setTime(then.getTime() - skew);
  }
  return then;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// get cookies

function get_cookies () {
  var set = document.cookie.split('; ');
  var n = set.length;
  var cookie = new Array();

  for (i = 0; i < n; i++) {
    var list = set[i].split('=');
    cookie[list[0]] = unescape(list[1]);
  }
  return cookie;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// get cookie

function get_cookie (name) {
  if (! cookie_jar) {
    cookie_jar = get_cookies();
  }
  return cookie_jar[name];
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// set cookie

function set_cookie (name,value,expires,path,domain,secure) {
  document.cookie = name + '=' + escape(value) +
       ((expires) ? '; expires=' + expires.toGMTString() : '') +
          ((path) ? '; path=' + path : '') +
        ((domain) ? '; domain=' + domain : '') +
        ((secure) ? '; secure' : '');
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// delete cookie

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

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

