Ellington = window.Ellington || {};

(function(E) {
  var Cookies = function() {};
  
  Cookies.prototype.get_cookie = function(key) {
    var key_eq = key + "=";
    var crumbs = document.cookie.split(';');
    for(var i = 0; i < crumbs.length; i++) {
      var crumb = crumbs[i];
      while (crumb.charAt(0) == ' ') crumb = crumb.substring(1, crumb.length);
      if (crumb.indexOf(key_eq) == 0)
        return unescape(crumb.substring(key_eq.length, crumb.length));
    }
    return null;
  };
  
  Cookies.prototype.set_cookie = function(key, value, expire) {
    if (typeof(expire) == 'undefined' || !expire instanceof Date) {
      expire = new Date();
      expire.setDate(expire.getDate() + 30);
    }
    value = escape(value) + "; expires=" + expire.toUTCString() + "; path=/";
    document.cookie = key + "=" + value;
  };
  
  Cookies.prototype.delete_cookie = function(key) {
    var past_expire = new Date();
    past_expire.setDate(past_expire.getDate() - 7);
    this.set_cookie(key, '', past_expire);
  };
  
  E.Cookies = new Cookies();
})(Ellington);

