AutorÃa | Ultima modificación | Ver Log |
/*******************************************************COOKIE FUNCTIONALITYBased on "Night of the Living Cookie" by Bill Dortch(c) 2003, Ryan Parmanhttp://www.skyzyx.comDistributed according to SkyGPL 2.1, http://www.skyzyx.com/license/*******************************************************/function cookie(name, value, expires, path, domain, secure){// Passed Valuesthis.name=name;this.value=value;this.expires=expires;this.path=path;this.domain=domain;this.secure=secure;// Read cookiethis.read=function(){// To allow for faster parsingvar ck=document.cookie;var arg = this.name + "=";var alen = arg.length;var clen = ck.length;var i = 0;while (i < clen){var j = i + alen;if (ck.substring(i, j) == arg){var endstr = ck.indexOf (";", j);if (endstr == -1) endstr = ck.length;return unescape(ck.substring(j, endstr));}i = ck.indexOf(" ", i) + 1;if (i == 0) break;}return null;};// Set cookiethis.set=function(){// Store initial value of "this.expires" for re-initialization.expStore=this.expires;// Set time to absolute zero.exp = new Date();base = new Date(0);skew = base.getTime();if (skew > 0) exp.setTime (exp.getTime() - skew);exp.setTime(exp.getTime() + (this.expires*24*60*60*1000));this.expires=exp;document.cookie = this.name + "=" + escape (this.value) +((this.expires) ? "; expires=" + this.expires.toGMTString() : "") +((this.path) ? "; path=" + this.path : "") +((this.domain) ? "; domain=" + this.domain : "") +((this.secure) ? "; secure" : "");// Re-initializethis.expires=expStore;};// Kill cookiethis.kill=function(){document.cookie = this.name + "=" +((this.path) ? "; path=" + this.path : "") +((this.domain) ? "; domain=" + this.domain : "") +"; expires=Thu, 01-Jan-70 00:00:01 GMT";};// Change cookie settings.this.changeName=function(chName) { this.kill(); this.name=chName; this.set(); };this.changeVal=function(chVal) { this.kill(); this.value=chVal; this.set(); };this.changeExp=function(chExp) { this.kill(); this.expires=chExp; this.set(); };this.changePath=function(chPath) { this.kill(); this.path=chPath; this.set(); };this.changeDomain=function(chDom) { this.kill(); this.domain=chDom; this.set(); };this.changeSecurity=function(chSec) { this.kill(); this.secure=chSec; this.set(); }}