/*
Script: Easy Cookies with JavaScript
Script URI: http://blog.ninedays.org/2008/02/18/javascript-cookies-baking-has-never-been-so-easy/
Description: Easy to use functions for setting, updating getting, getting with regular expresions and deleting cookies with JavaScript from ninedays.org
Version: 1
Author: Terri Ann Swallow
Author URI: http://ninedays.org
*/


function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toUTCString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
    var curCookie = document.cookie.split("; ");
    for (var i=0; i < curCookie.length; i++) {
        var crumb = curCookie[i].split("=");
        if (name == crumb[0]) 
            return unescape(crumb[1]);
    }

    return null;
}

function getCookieRegex(name){
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
}

function deleteCookie(name) {
    var expDate = new Date();
    expDate.setHours( parseInt(expDate.getHours()) - 12 );
    document.cookie = name + "=; expires="+expDate.toUTCString()+";";
}


/* USAGE SAMPLE -------------------------------------

var expDate = new Date();
expDate.setHours( parseInt(expDate.getHours()) + 2 );
setCookie('newCookie','cookie value',expDate,'/');

setCookie('newCookie','brand new updated cookie value');

getCookie('newCookie');         //faster
getCookieRegex('newCookie');    //slower

deleteCookie('newCookie);

*/