function Cookie(name) {
    this.$name = name; // Запоминаем имя cookie
    var allcookies = decodeURIComponent(document.cookie);
    if (allcookies == "") return;
    //Разбить строку на одтельные cookies
    var cookies = allcookies.split(";");

    var cookie = null;
    for (var i = 0; i < cookies.length; i++) {
		//alert('1 '+cookies[i].substring(0, name.length+1));
		//alert('2 '+name + "=");
        //if (cookies[i].substring(0, name.length+1) == (name + "=") ) {
		if ( cookies[i].substring(0, name.length+1) == (name+"=") ) {
            cookie = cookies[i];
            break;
        } else if (cookies[i].substring(1, name.length+2) == (name+"=")) {
			cookie = cookies[i].substring(1);
            break;
		};
    }
    
    //Если cookie с требуемым именем не найден, вернуть управление
    if (cookie == null) return;
    
    var cookieval = cookie.substring(name.length+1);
    var a = cookieval.split('&');
    for(i=0; i < a.length; i++)
        a[i] = a[i].split('=');

    for (i = 0; i < a.length; i++) {
        this[a[i][0]] = decodeURIComponent(a[i][1]);
    }
}

Cookie.prototype.store = function(daysToLive, path, domain, secure) {
    var cookieval = "";
    for (var prop in this) {
        if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function'))
            continue;
        if (cookieval != "") cookieval += '&';
        cookieval += prop + '=' + encodeURIComponent(this[prop]);
    }
    var cookie = this.$name + '=' + cookieval;
    if (daysToLive || daysToLive == 0) {
        cookie += "; max-age=" + (daysToLive*24*60*60);
    }
    if (path) cookie += "; path=" + path;
    if (domain) cookie += "; domain=" + domain;
    if (secure) cookie += "; secure";

    document.cookie = cookie;
}

Cookie.prototype.remove = function(path, domain, secure) {
    for (var prop in this) {
        if (prop.charAt(0) != '$' && typeof this[prop] != 'function' )
            delete this[prop];
    }

    this.store(0, path, domain, secure);
}

Cookie.enabled = function () {
    //Если значение уже было помещено в кэш, использовать это значение
    if (navigator.cookieEnabled != undefined) return Cookie.enabled.cache;

    //Иначе создать тестовый cookie с некоторым временем жизни
    document.cookie = "testcookie=test; max-age=10000"; // установить cookie

    //Проверить, был ли сохранен cookie-файл
    var cookies = document.cookie;
    if (cookies.indexOf("testcookie=test") == -1) {
        //Cookie не был сохранен
        return Cookie.enabled.cache = false;
    } else {
        //Cookie был сохранен, поэтому удаляем
        document.cookie = "testcookie=test; max-age=0";
        return Cookie.enabled.cache = true;
    }


}
