function setErrorInputStyle(tname)
{
    tname.style.borderColor = '#da0000';
    tname.style.color = '#da0000';
}
function setSuccesInputStyle(tname)
{
    tname.style.borderColor = '#3BBA3B';
    tname.style.color = '#3BBA3B';
}
function unsetInputStyle(tname)
{
    tname.style.borderColor = '#5b7582';
    tname.style.color = '#000000';
}

function checkLogin()
{
    var mess = byId('l_message');
    var login = byId('login');
    var pass = byId('password');

    var forms_elms =  new Array();
    forms_elms['login'] = login.value;
    forms_elms['pass'] = pass.value;

    unsetInputStyle(login);
    unsetInputStyle(pass);

    mess.innerHTML = '<span class="load">Проверка <img src="http://i.yarland.ru/l.gif" width="17" height="5" align="bottom" alt="Проверка..."></span>';


    var reg_error = '0';
    var error_text = '';
    if (login.value.length == 0)
    {
        error_text += 'Не введен логин<br>';
        reg_error = '1';
        setErrorInputStyle(login);
    }

    if (pass.value.length == 0)
    {
        error_text += 'Не введен пароль.<br>';
        reg_error = '1';
        setErrorInputStyle(pass);
    }

    if (reg_error == '1')
    {
        mess.innerHTML = error_text;
        return false;
    }
    else
    {
        var req = new JsHttpRequest();
        req.onreadystatechange = function()
        {
            if (req.readyState == 4)
            {
                if(req.responseText) mess.innerHTML = req.responseText;

                if(req.responseJS)
                {
                    if (req.responseJS.status == 'not_register')
                    {
                        setErrorInputStyle(login);
                        reg_error = '1';
                        mess.innerHTML = 'Пользователь с таким логином не зарегистрирован.<br>';
                    }
                    else if (req.responseJS.status == 'incorrect')
                    {
                        setErrorInputStyle(pass);
                        reg_error = '1';
                       mess.innerHTML =  'Введен неправильный пароль.';
                    }
                    else if (req.responseJS.status == 'logged')
                    {
                        ret = byId("return").value;
                        window.location = ret;
                    }
                }
            }
        }

        req.open(null, '/js/reg.php', true);
        req.send({action:'checkLogin', ff:forms_elms});

    }

    return false;
}


function checkRegForm ()
{
    var mess = byId('message');
    var login = byId('a_login');
    var email = byId('a_email');
    var pass = byId('a_pass');
    var passconf = byId('a_passconf');
    var fname = byId('a_name');
    var lname = byId('a_lname');
    var female = byId('a_female');

    var forms_elms =  new Array();
    forms_elms['login'] = login.value;
    forms_elms['email'] = email.value;
    forms_elms['pass'] = pass.value;
    forms_elms['passconf'] = passconf.value;
    forms_elms['name'] = fname.value;
    forms_elms['lname'] = lname.value;
    if (female.checked == true)
    {
        forms_elms['sex'] = 'f';
    }
    else
    {
        forms_elms['sex'] = 'm';
    }

    unsetInputStyle(login);
    unsetInputStyle(email);
    unsetInputStyle(pass);
    unsetInputStyle(passconf);
    unsetInputStyle(fname);
    unsetInputStyle(lname);

    mess.innerHTML = '<span class="load">Проверка <img src="http://yar-life.ru/i/l.gif" width="17" height="5" align="bottom" alt="Проверка..."></span>';

    var reg_error = '0';
    var error_text = '';
    if (login.value.length < 5 || login.value.length > 16)
    {
        error_text += 'Логин должен содержать не менее 5 символов и не более 16.<br>';
        reg_error = '1';
        setErrorInputStyle(login);
    }

    if (email.value.length < 5)
    {
        error_text += 'Email введен не верно.<br>';
        reg_error = '1';
        setErrorInputStyle(email);
    }

    if (pass.value.length < 6)
    {
        error_text += 'Пароль должен содержать не менее 6 символов.<br>';
        reg_error = '1';
        setErrorInputStyle(pass);
        setErrorInputStyle(passconf);
    }

    if (pass.value != passconf.value)
    {
        error_text += 'Введенные пароли не совпадают.<br>';
        reg_error = '1';
        setErrorInputStyle(pass);
        setErrorInputStyle(passconf);
    }
    if (fname.value.length < 2)
    {
        error_text += 'Поле имя не заполнено.<br>';
        reg_error = '1';
        setErrorInputStyle(fname);
    }
    if (lname.value.length < 2)
    {
        error_text += 'Поле фамилия не заполнено.<br>';
        reg_error = '1';
        setErrorInputStyle(lname);
    }

    if (reg_error == '1')
    {
        mess.innerHTML = error_text;
        return false;
    }
    else
    {
        var req = new JsHttpRequest();
        req.onreadystatechange = function()
        {
            if (req.readyState == 4)
            {
                if(req.responseText) mess.innerHTML = req.responseText;

                if(req.responseJS)
                {
                    if (req.responseJS.status == 'registered')
                    {
                        ret = byId("return").value;
                        byId('reg_form').innerHTML = '<BR><div align="center"><H2 align="center">Регистрация успешно пройдена.</h2><br/><br /><strong>Внимание! На ваш email отправлено письмо со ссылкой для подтверждения регистрации, если в течении 24 часов вы не подтвердите email, ваш аккаунт будет удален.</strong><br /><br /><form action="'+ret+'"><input type="submit" value="Продолжить" class="orange_button" alt="Продолжить" title="Продолжить"></form></div>';
                    }
                    else
                    {
                        /* Рез-т проверки login'a */
                        if (req.responseJS.login['status'] == 'free')
                        {
                            login.value = req.responseJS.login['login'];
                            setSuccesInputStyle(login);
                        }
                        else if (req.responseJS.login['status'] == 'incorrect')
                        {
                            reg_error = '1';
                            setErrorInputStyle(login);
                            error_text += 'Логин содержит не корректные символы. Постарайтесь использовать только английские буквы и цифры.<br>';
                        }

                        else if (req.responseJS.login['status'] == 'busy')
                        {
                            setErrorInputStyle(login);
                            reg_error = '1';
                            error_text += 'Такой логин уже занят. Пожалуйста, выберите другой.<br>';
                        }

                        /* Рез-т проверки email'a */
                        if (req.responseJS.email['status'] == 'free')
                        {
                            setSuccesInputStyle(email);
                        }
                        else if (req.responseJS.email['status'] == 'busy')
                        {
                            setErrorInputStyle(email);
                            reg_error = '1';
                            error_text += 'Такой email адрес уже зарегистрирован. <a href="/u/reminder/" class="enter_link link " id="remind_link">Забыли пароль?</a>.<br>';
                        }
                        else if (req.responseJS.email['status'] == 'incorrect')
                        {
                            setErrorInputStyle(email);
                            reg_error = '1';
                            error_text += 'Некорректный email адрес.<br>';
                        }
                        /* Рез-т проверки пароля */
                        if (req.responseJS.pass['status'] == 'ok')
                        {
                            setSuccesInputStyle(pass);
                            setSuccesInputStyle(passconf);
                        }
                        else if (req.responseJS.pass['status'] == 'conflict')
                        {
                            setErrorInputStyle(pass);
                            setErrorInputStyle(passconf);
                            reg_error = '1';
                            error_text += 'Введенные пароли не совпадают.<br>';;
                        }
                        else if (req.responseJS.pass['status'] == 'incorrect')
                        {
                            setErrorInputStyle(pass);
                            setErrorInputStyle(passconf);
                            reg_error = '1';
                            error_text += 'Пароли содержат недопустимые символы.<br>';;
                        }
                        else if (req.responseJS.pass['status'] == 'empty')
                        {
                            setErrorInputStyle(pass);
                            setErrorInputStyle(passconf);
                            reg_error = '1';
                            error_text += 'Пароль должен содержать не менее 6 символов.<br>';
                        }

                        if (reg_error == '1')
                        {
                            mess.innerHTML = error_text;
                            return false;
                        }
                        else
                        {
                            setSuccesInputStyle(fname);
                            setSuccesInputStyle(lname);
                            mess.innerHTML = '';
                            return false;
                        }
                    }
                }
    		}
        }
        req.open(null, '/js/reg.php', true);
        req.send({action:'checkReg', ff:forms_elms});
    }
    return false;
}
