function getCookie(Key) {
    var search = Key + "=";
    var begin = document.cookie.indexOf(search);
    if (begin != -1) {
        begin += search.length;
        end = document.cookie.indexOf(";",begin);
        if (end == -1) end = document.cookie.length;
            return cookieDecode(document.cookie.substring(begin,end));
    }
    else
        return null;
}

function delCookie(Key) {
    document.cookie = Key + "=;expires=today.toGMTString;path=/;";
}

function setCookie(Key, value, expireSecond) {
    if(expireSecond == null)
        document.cookie = Key + "=" + cookieEncode(value) + ";path=/;";
    else {
        var expireDate = new Date();
        expireDate.setTime(expireDate.getTime() + (expireSecond * 1000));
        document.cookie = Key + "=" + cookieEncode(value) + ";path=/;expires=" + expireDate.toGMTString();
    }
}

function cookieEncodeChar(c) {
    if(c == "\"" || c == "\\")
        return "\\" + c;
    else if (c == "\b") return "\\b";
    else if (c == "\f") return "\\f";
    else if (c == "\n") return "\\n";
    else if (c == "\r") return "\\r";
    else if (c == "\t") return "\\t";
    var hex = c.charCodeAt(0).toString(16);
    if(hex.length == 1) return "\\u000" + hex;
    else if(hex.length == 2) return "\\u00" + hex;
    else if(hex.length == 3) return "\\u0" + hex;
    else return "\\u" + hex;
}


/* encode a string into JSON format */

function cookieEncode(s) {
    s += "";
    var parts = s.split("");
    for ( var i = 0; i < parts.length; i++) {
        var c = parts[i];
        if (c == '"' || c == '\\' || c.charCodeAt(0) < 32
                || c.charCodeAt(0) >= 128)
            parts[i] = escapeJSONChar(parts[i]);
    }
    return parts.join("");
}

function cookieDecode(str) {
    if(str.indexOf("\\u") > -1)
        return eval("\"" + str + "\"");
    else
        return str;
}
