//cookies_baselib.js: set, get, clear/delete
//version 4.6

// set cookies
function set_cookie(name, value) {
    var argv = set_cookie.arguments;
    var argc = set_cookie.arguments.length;

    var expires = (argc > 2) ? argv[2] : null;
    var path    = (argc > 3) ? argv[3] : null;
    var domain  = (argc > 4) ? argv[4] : null;
    var secure  = (argc > 5) ? argv[5] : false;

    var d = document;
    d.cookie  = name + "=" + escape(value) +
    ((expires == null)  ? "" : ("; expires=" + expires.toGMTString())) +
    ((path    == null)  ? "" : ("; path=" + path)) +
    ((domain  == null)  ? "" : ("; domain=" + domain)) +
    ((secure  == false) ? "" :  "; secure" );
}

//get cookies
function get_cookie(name) {
    function get_cookie_val(offset) {
        var d = document;
        var endstr = d.cookie.indexOf (";", offset);
        if (endstr == -1) endstr = d.cookie.length;
        return unescape(d.cookie.substring(offset, endstr));
    }

    var d = document;

    var arg = name + "=";
    var arglen = arg.length;
    var cookielen = d.cookie.length;
    var i = 0;
    while (i < cookielen) {
        var j = i + arglen;
        if (d.cookie.substring(i, j) == arg) return get_cookie_val(j);

        i = d.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}

//clear_cookie
function clear_cookie(name, value, domain) {
    var expires = 'expires=Tue, 01-Jan-80 00:00:01 GMT';
    var my_domain = location.href.substring(7,location.href.lastIndexOf("/"));

    document.cookie = name+'='+value+'; '+expires+
    "; domain=" + ((domain) ? domain : my_domain) +'path=/';
    document.location.reload();
}

//delete_cookie
function delete_cookie(name) {
    var my_domain = location.href.substring(7,location.href.lastIndexOf("/"));
    var path, domain;
    if( get_cookie(name) ) {
        document.cookie = name+"="+
        ((path) ? "; path="+'/' : "") +
        "; domain=" + ((domain) ? domain : my_domain) +
        "; expires=Tue, 01-Jan-80 00:00:01 GMT";
    }
}
