User:Quarl/cookie.js

Source: Wikipedia, the free encyclopedia.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// [[User:Quarl/cookie.js]] - cookie functions

// Note: careful changing this, as popups.js uses this as well!

// <pre><nowiki>

// based on http://www.quirksmode.org/js/cookies.html

// use kooky name to avoid name clashes
var kookie = new Object();

kookie.set = function(name, value, days, path)
{
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";

    // use path="" for no path; path=null defaults to root
    if (path == null) path = "/";
    if (path) path = "; path="+path;
    else path = "";

    document.cookie = name + "=" + value + expires + path;
}

kookie.get = function(name)
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++)
    {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

kookie.erase = function(name)
{
    createCookie(name,"",-1);
}

// deprecated aliases
createCookie = kookie.set;
readCookie = kookie.get;
eraseCookie = kookie.erase;

// </nowiki></pre>