// cookie construct

function Cookie(document,name,hours,path,domain,secure) {
  // any VAR in "this" that does not start with a "$" will
  // be written into the cookie (read from also)
  this.$doc  = document;
  this.$name = name;
  if (hours)  {this.$expiration=new Date((new Date()).getTime()+hours*3600000)} else { this.$expiration = null}
  if (path)   {this.$path   = path                                            } else { this.$path       = null}
  if (domain) {this.$domain = domain                                          } else { this.$domain     = null}
  if (secure) {this.$secure = true                                            } else { this.$secure     = false}
}

function CookieWrite() {
  var cookieval=""
  for(var prop in this) {
    if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function') || prop == '') continue
	if (cookieval != "") cookieval += '&'
	cookieval+=prop+":"+escape(this[prop])
  }
  var cookie=this.$name+"="+cookieval;
  if (this.$expiration) cookie+='; expires=' + this.$expiration.toGMTString();
  if (this.$path)       cookie+='; path='    + this.$path;
  if (this.$domain)     cookie+='; domain='  + this.$domain;
  if (this.$secure)     cookie+='; secure';
  this.$doc.cookie=cookie;
}

function CookieRead() {
  var allcookies=this.$doc.cookie;
  if (allcookies=="") {
    return false;
  }
  var start= allcookies.indexOf(this.$name+'=');
  if (start== -1) {
    return false;
  }
  start += this.$name.length+1;
  var end=allcookies.indexOf(';',start);
  if (end == -1) end=allcookies.length;
  var cookieval = allcookies.substring(start,end);
  var a = cookieval.split('&');
  for (var i=0;i < a.length;i++) a[i]=a[i].split(':');
  for (var i=0;i < a.length;i++) this[a[i][0]]=unescape(a[i][1]);
  return true;
}

function CookieDelete() {
  var cookie = this.$name+'=';
  if (this.$path)   cookie+='; path='+this.$path;
  if (this.$domain) cookie+='; domain='+this.$domain;
  cookie+='; expires=Fri, 02-Jan-1970 00:00:00 GMT';  // MAKE IT EXPIRE!
  this.$doc.cookie=cookie;
}

new Cookie();
Cookie.prototype.write = CookieWrite;
Cookie.prototype.del   = CookieDelete;
Cookie.prototype.read  = CookieRead;
// end cookie construct;

function CookieCheck() {
  var myCookie = new Cookie(document,"myName",240)
  myCookie.test="test";
  myCookie.write();
  if (!myCookie.read() || myCookie.test!="test") {
    cookiestat = 0 // DISABLED
  } else {
    cookiestat = 1 // Enabled
  }
  myCookie.del();
  return cookiestat;
}
