|
// Mostly taken from http://gorondowtl.sourceforge.net/wiki/Cookie |
|
var Cookie = { |
|
set: function(name, value, daysToExpire) { |
|
if (value == '') return Cookie._set(name, value, daysToExpire); |
|
|
|
var data = escape(value), |
|
returnValue = []; |
|
for (var i = 1; data != ''; i++) { |
|
var cookieName = name + '_' + i, |
|
cookieValue = data.substring(0,3900); |
|
data = data.replace(cookieValue, ''); |
|
returnValue.push(Cookie._set(cookieName, cookieValue, daysToExpire)); |
|
} |
|
return returnValue; |
|
}, |
|
|
|
get: function(name, erase) { |
|
var cookieData = '', |
|
i = 1; |
|
for (var data = ''; data != null; i++) { |
|
var cookieName = name + '_' + i; |
|
data = Cookie._get(cookieName); |
|
if (data) { |
|
cookieData += data; |
|
if (erase) Cookie.set(cookieName, '', -1); |
|
} |
|
} |
|
return cookieData; |
|
}, |
|
|
|
_set: function(name, value, daysToExpire) { |
|
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) + '=' + (value || '') + expire); |
|
}, |
|
|
|
_get: function(name) { |
|
var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)')); |
|
return (cookie ? unescape(cookie[2]) : null); |
|
}, |
|
|
|
erase: function(name) { |
|
Cookie.get(name, true); |
|
}, |
|
|
|
accept: function() { |
|
if (typeof navigator.cookieEnabled == 'boolean') { |
|
return navigator.cookieEnabled; |
|
} |
|
Cookie.set('_test', '1'); |
|
return (Cookie.erase('_test') === '1'); |
|
} |
|
}; |