﻿    function NoRefresh(event, ctrl_id) { // Предотвращение рефреша страницы + смена фокуса контрола	
        if (event.keyCode == 13) {
            var ctrl = document.getElementById(ctrl_id);
            ctrl.focus();
            return false
        }
    };
    function NoRefresh2(event, ctrl_id) { // Предотвращение рефреша страницы + click по контролу
        if (event.keyCode == 13) {
            var ctrl = document.getElementById(ctrl_id);
            ctrl.click();
            return false
        }
    };    
 
     function NoSleep(idUser, form) // Антиубивание сессии
    {
        xmlhttp.open("GET", "NoSleep.aspx?idUser="+idUser + "&form="+form, true);
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4) {
                //place.innerHTML = xmlhttp.responseText;
            }
        }    
        xmlhttp.send(null);	
    };

    function getXMLhttp() {
        var xmlhttp = false;
        /*@cc_on@*/
        /*@if (@_jscript_version >= 5)
        // JScript gives us Conditional compilation, we can cope with old IE versions.
        // and security blocked creation of the objects.
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                xmlhttp = false;
            }
        }
        @end@*/
        if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
            try {
                xmlhttp = new XMLHttpRequest();
            } catch (e) {
                xmlhttp = false;
            }
        }
        if (!xmlhttp && window.createRequest) {
            try {
                xmlhttp = window.createRequest();
            } catch (e) {
                xmlhttp = false;
            }
        }
        return xmlhttp
    };
    var xmlhttp = getXMLhttp();
    
//    function scrollErrors() { //Прокрутка ошибок
//        var Errors = document.getElementById("ctl00_plate_statusbar_StatusBar_pan_bar");
//        if (Errors == null) return true;
//        if (Errors.scrollTop < Errors.scrollHeight - Errors.offsetHeight)
//            Errors.scrollTop = Errors.scrollTop + 1
//        else
//            Errors.scrollTop = 0
//    }    
//    function DnTimer() { //Снижение скорости прокрутки ошибок
//        if (VeloScroll < 800)
//            VeloScroll = VeloScroll + 200
//        clearInterval(intervalID2);
//        var velo_prc_ = document.getElementById("velo_prc"); // " src="gfx/perc/pr15.png"
//        velo_prc_.src = "gfx/perc/v_pr" + (100 - VeloScroll / 8) + ".png";
//        if (VeloScroll < 800)
//            intervalID2 = window.setInterval('scrollErrors();', VeloScroll)
//    };    
//    function UpTimer() { //Увеличение скорости прокрутки ошибок
//        if (VeloScroll >= 200)
//            VeloScroll = VeloScroll - 200
//        clearInterval(intervalID2);
//        var velo_prc_ = document.getElementById("velo_prc"); // " src="gfx/perc/pr15.png"
//        velo_prc_.src = "gfx/perc/v_pr" + (100 - VeloScroll / 8) + ".png";
//        intervalID2 = window.setInterval('scrollErrors();', VeloScroll)
//    };

    ///////////////////////////////  Trivial  ////////////////////////////////

    function bSaveClick(ctrl_id) { // Признак необходимости сохранения
        if (confirm('Вы уверены?')) ctrl_id.value = '1';
    };

    function bSaveClick_cv(ctrl_id, rez_ok, rez_fault) { // Признак необходимости сохранения - с проверкой результата клиентских проверок
        var e=fc(ctrl_id);
        if (e) {
            if (e.value==rez_fault) return 0
            else {
                if (confirm('Вы уверены?')) {
                    e.value = rez_ok; // Признак возможности сохранения данных
                    return 1
                }    
                else return 0
            }
        }
        else return 0
    };

    function AllTrim(v) {
        return v.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1')
    }
    function fc(n) { // Поиск контрола
        return document.getElementById(n)
    }
    function sc(e, cname) // Присвоение контролу css-класса
    {
        //    if (e.type == 'select-one') {
        //        if (cname == 'stText_Err')
        //            e.setAttribute('style', 'width:100%; border-color:#f26c4f; border-width: 2px; border-style: solid;')
        //        else {
        //            if (cname == 'stText')
        //                e.setAttribute('style', 'width:100%;')
        //            else {
        //                if (cname == 'stText_Err2')
        //                    e.setAttribute('style', 'width:100%; border-color:#CC3300; border-width: 2px; border-style: solid; background-color: #FFC6E2;')
        //            }    
        //        }        
        //    };
        //else {
        e.setAttribute("class", cname);
        e.className = cname
        //}
    }
    function setCtrlEmpty(e, classname) {
        if (e) { sc(e, classname); e.value = ''; e.title = ''; replace_title(e.id) }
    }
    function get_rbl_val(e) { // Выбранное значение RadioButtonList-а
        var v = '';
        var item = null;
        for (var i = 0; i < e.rows.length; i++) {
            item = fc(e.id + '_' + i);
            //alert(e.id+'_'+i);
            if (item.checked) {
                v = item.value;
                break
            };
        };
        return v
    }

    ////////////////////// -> Validating
    function ValidEmpty(e) {
        var v = AllTrim(e.value);
        if (v == '') {
            sc(e, "Ed1_err");
            e.title = "Пустое значение не допускается";
            show_is_error()
        }
        else {
            sc(e, "Ed1_Must");
            e.title = "";
            chk_is_error()
        }
        return (v != '')
    }
    function ValidByRegExp(re, e, class_ok, class_err, can_be_empty) {
        if (can_be_empty && AllTrim(e.value) == '') sc(e, class_ok);
        else {
            if (!can_be_empty && AllTrim(e.value) == '') { sc(e, class_err); e.title = "Пустое значение не допускается" }
            else {
                var v = re.test(e.value)
                sc(e, ((v) ? class_ok : class_err));
                e.title = ((v) ? "" : "Значение не соответствует формату");
            };
            //replace_title(e.id)
        }
    }
    ////////////////////// <- Validating
