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 trim(str) {

    beg = 0;
    while (str.charAt(beg) == " ") { beg++; }
    end = str.length - 1;
    while (str.charAt(end) == " ") { end--; }

    if (beg <= end) { return str.substring(beg, end + 1); }
    else            { return ""; }
}

// проверка на полей на заполнение с проверкой корректности
// формат массива 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) {

    // анитифлад
    try { eval(formName+"Typed"); }
    catch (e) { eval(formName+"Typed = 0"); }
    if (eval(formName+"Typed") != 0) { return false; }
    eval(formName+"Typed = 1");

    
    // проверка полей
    for (var i = 0; i < inputItem.length; i++) {

        var q = __get(inputItem[i][0]);

        if ((typeof(q) != "undefined") && (q != null) &&
            ((q.type == "textarea") || (q.type == "text") || (q.type == "password") || (q.type == "file") || (typeof(q.options) != "undefined"))) {

            var val = trim(q.value);
            var eFlag = false;

            // проверка на заполнение поля, если оно необходимо для заполнения
            if ((inputItem[i][1]) && (val == "")) { eFlag = 2; }
        

            if ((val != "") && (eFlag == false)) {

                switch(inputItem[i][3]) { // проверки корректности заполненных полей
            
                    case "numP": // проверка на корректность числового поля

                        var re = /\D/;
                        if (re.test(val)) { eFlag = 4; }
                        if (!eFlag && (val <= 0)) { eFlag = 4; }
                        break;
            
                    case "mail", "email": // проверка на корректность e-mail
        
                        var re = /^[-.\w]+?@[-.\w]+?\.[A-Za-z]{2,4}$/;
                        if (!re.test(val)) { eFlag = 4; }
                        break;

                    case "date": // проверка на корректность даты
        
                        var re = /^\d{1,2}([-. /])\d{1,2}\1\d{2,4}$/;
                        if (!re.test(val)) { eFlag = 4; }
                        
                        if (!eFlag) { 
                            
                            var re2 = /(\d+).(\d+).(\d+)/;
                            parts = re2.exec(val);
                            if ((parts[1] <= 0) || (parts[1] > 31) || (parts[2] <= 0) || (parts[2] > 12)) { eFlag = 4; }
                        }

                        break;
                }
            }
        
        
            if (eFlag) { // вывод собщения об ошибке inputItem[i][2] или inputItem[i][4]
            
                alert(inputItem[i][eFlag]);
                q.focus();
                eval(formName+"Typed = 0");
                return false;
            }
        }

    }


    __get(formName).submit();
}


// проверка заполнения полей логина
function performLogin() {

    login = $.trim($("#login").val());

    if (login == "") {

        alert("Введите e-mail");
        $("#login").val('').focus();
        
        return false;
    }

    var re = /^[-.\w]+?@[-.\w]+?\.[A-Za-z]{2,4}$/;
    if (!re.test(login)) {

        alert("Пожалуйста, введите корректный e-mail");
        $("#login").val(login).focus();
        
        return false;
    }

    if ($.trim($("#pass").val()) == "") {

        alert("Введите пароль");
        $("#pass").val('').focus();

        return false;
    }
    
    $("#loginForm").submit();
    return false;
}


