/**
 * Cookie is an extension to Prototype that handles cookies.
 *
 * @version SVN: $Id$
 *
 */
var Cookie = {
  set: function(name, value, daysToExpire, path, domain, secure) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : ""));
  },
  get: function(name) {
    /*
    var cookie = document.cookie.match(name + '=(.*?)(;|$)');
    if (cookie) {
      return (unescape(cookie[1]));
    } else {
      return null;
    }
    */
      var nameEQ = name + "=";
      var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
  },
  erase: function(name, path, domain, secure) {
    try {
      var date = new Date();
      date.setTime(date.getTime() - (3600 * 1000));
      var expire = '; expires=' + date.toGMTString();
      document.cookie = escape(name) + '=' + expire + 
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
    } catch (e) {
      return false;
    }
    return true;
  },
  accept: function() {
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    Cookie.set('_test', '1');
    return (Cookie.erase('_test') === true);
  }
};
