/** * @author Ryan Johnson * @copyright 2008 PersonalGrid Corporation * @package LivePipe UI * @license MIT * @url http://livepipe.net/controls/hotkey/ * @attribution http://www.quirksmode.org/js/cookies.html */ /*global document, Prototype, $A */ if(typeof(Prototype) == "undefined") { throw "Cookie requires Prototype to be loaded."; } if(typeof(Object.Event) == "undefined") { throw "Cookie requires Object.Event to be loaded."; } var Cookie = { build: function() { return $A(arguments).compact().join("; "); }, secondsFromNow: function(seconds) { var d = new Date(); d.setTime(d.getTime() + (seconds * 1000)); return d.toGMTString(); }, set: function(name,value,seconds){ Cookie.notify('set',name,value); var expiry = seconds ? 'expires=' + Cookie.secondsFromNow(seconds) : null; document.cookie = Cookie.build(name + "=" + value, expiry, "path=/"); }, get: function(name){ Cookie.notify('get',name); var valueMatch = new RegExp(name + "=([^;]+)").exec(document.cookie); return valueMatch ? valueMatch[1] : null; }, unset: function(name){ Cookie.notify('unset',name); Cookie.set(name,'',-1); } }; Object.Event.extend(Cookie);