// Функция установки значения cookie
// name - имя cookie
// value - значение cookie
// [expires] - дата окончания действия cookie (по умолчанию - до конца сессии)
// [path] - путь, для которого cookie действительно (по умолчанию - документ, в котором значение было установлено)
// [domain] - домен, для которого cookie действительно (по умолчанию - домен, в котором значение было установлено)
// [secure] - логическое значение, показывающее требуется ли защищенная передача значения cookie

function setCookie(name, value, expires, path, domain, secure) {
        var now = new Date();
        now.setTime(now.getTime() + 1000 * 60 * 60 * 24 * expires);
        var curCookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + now.toGMTString() : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
        document.cookie=curCookie;
        //if (!caution || (name + "=" + escape(value)).length <= 4000) document.cookie=curCookie;
        //else if (confirm("Cookie превышает 4KB и будет вырезан !")) document.cookie=curCookie;
}

// Функция чтения значения cookie
// Возвращает установленное значение или пустую строку, если cookie не существует.
// name - имя считываемого cookie

function getCookie(name) {
        var prefix = name + "="
        var cookieStartIndex = document.cookie.indexOf(prefix)
        if (cookieStartIndex == -1)
                return null
        var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
        if (cookieEndIndex == -1)
                cookieEndIndex = document.cookie.length
        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}


// Функция удаления значения cookie
// Принцип работы этой функции заключается в том, что cookie устанавливается с заведомо устаревшим параметром expires, в данном случае 1 января 1970 года.
// name - имя cookie
// [path] - путь, для которого cookie действительно
// [domain] - домен, для которого cookie действительно
 /*
function deleteCookie(name, path, domain) {
        if (getCookie(name)) {
                document.cookie = name + "=off" +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT"
        }
}     */