(function(){
    var hasCookie = false,
    unique = "jcms_unique_var";
    // Вставляем ошибку в DOM, при "мягком" режиме
    function showError(data){
        jzAddOnloadEvent(function(){
            var msg = document.getElementById("warning_message");
            msg.innerHTML = data || "";
            msg.style.display = "block";
        });
    }
    // Выдаем ошибку пользователю, в зависимости от режима работы
    function capabilityError(error){
        var url = capabilitiesUrl+(/\?/.test(capabilitiesUrl) ? "&" : "?")+"cause="+error;
        if(capabilitiesMode==="soft"){
            jSimpleAjax({url:url,onsuccess:function(data){showError(data)}},{mode:"soft"});
        }else{
            location.href = url+"&mode=hard";
        }
    }
    // Проверяем браузер пользователя. Если устарел - ошибка
    if(jAgent.msie && jAgent.msie<8){
        capabilityError("msie");
    }else if(jAgent.opera && jAgent.opera<9){
        capabilityError("opera");
    }else if(jAgent.firefox && jAgent.firefox<3){
        capabilityError("firefox");
    }
    // Проверяем доступность Cookie для записи
    if("cookieEnabled" in navigator){
        hasCookie = navigator.cookieEnabled;
    }else if(document.cookie.indexOf(unique)!==-1){
        hasCookie = true;
    }else{
        document.cookie = unique+"=";
        hasCookie = document.cookie.indexOf(unique)!==-1;
        if(hasCookie) document.cookie = unique+"=; expires="+((new Date()).getTime()-1);
    }
    if(!hasCookie) capabilityError("cookie");
})();
