var winCol = new Date();
function wshow(url, width, height) {

    if (!width) width = 640;
    if (!height) height = 480;
    window.open(url, (winCol++), 
                'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=' 
                + width + 
                ',height=' + height + 
                ',left=' + ((screen.width - width) / 2) + 
                ',top=' + ((screen.height - height) / 2));
    return false;
}
function __get(id) {

    if (document.layers) { return document.layers[id]; }
    if (document.getElementById) { return document.getElementById(id); }       
    if (document.all) { return document.all[id]; }
}

function setTableStyle(tableObject) {

    var topLevel = tableObject.childNodes;
    
    for (var j = 0; j < topLevel.length; j++) {

        if (topLevel[j].nodeName == "TBODY") {

            nodes = topLevel[j].childNodes;

            for (var i = 0, tr = 0; i < nodes.length; i++) {
                if (nodes[i].nodeName == "TR") {
                    
                    if (!nodes[i].className) {
                        
                        if (tr == 0) { nodes[i].className = 'head'; }
                        else {
                            if (tr % 2) { nodes[i].className = 'ligth'; } 
                            else { nodes[i].className = 'dark'; }
                        }
                    }
                    tr++;
                }
            }
        }
    }
}

function updateTables() {
    
    all = document.getElementsByTagName("table");
    for (var i = 0; i < all.length; i++) {

        var obj = all[i];
        if (obj.className.toLowerCase() == 'colortable') {
            
            obj.className = 'colorTable';
            setTableStyle(obj);
        }
    }    
}


// проверка на полей на заполнение с проверкой корректности
// формат массива inputItem:
// inputItem[i][0] - id поля
// inputItem[i][1] - обязательно или нет для заполнения
// inputItem[i][2] - сообщение об ошибке, если обязательно для заполнения поле пустое (inputItem[i][1])
// inputItem[i][3] - формат поля ("numP" - целое число > 0, "text" - текстовое поле, "mail" - e-mail)
// inputItem[i][4] - сообщение о вводе корректного значения, если число не соответствует формату (inputItem[i][3])
function perform(inputItem, formName) {

    for (i = 0; i < inputItem.length; i++) {

        q = $("#" + inputItem[i][0]);
        value = $.trim($("#" + inputItem[i][0]).val());
        eFlag = false;

        // проверка на заполнение поля, если оно необходимо для заполнения
        if ((inputItem[i][1]) && (value == "")) { eFlag = 2; }

        
        if ((value != "") && (eFlag == false)) {

            switch(inputItem[i][3]) { // проверки корректности заполненных полей
        
                case "numP": // проверка на корректность числового поля

                    var re = /\D/g;
                    if (re.test(value)) { eFlag = 4; }
                    if (!eFlag && (value <= 0)) { eFlag = 4; }
                    break;
        
                case "mail": // проверка на корректность e-mail
        
                    var re = /[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i;
                    if (!re.test(value)) { eFlag = 4; }
                    break;
            }
        }


        if (eFlag) { // вывод собщения об ошибке inputItem[i][2] или inputItem[i][4]
        
            alert(inputItem[i][eFlag]);
            q.focus();
            return false;
        }
    }

    $('#' + formName).submit();
}


function performSearch() {

    q = $("#searchStr");
    if (($.trim(q.val()) == "") || ($.trim(q.val()) == 'поиск по сайту')) {

        q.val('');
        q.focus();
        return false;
    }

    $("#searchForm").submit();
}


