﻿var loginDialog;
var dlgparams = { width: 390 };
var loginDialogMode = 'login';
var hideAll = function() {
    $('#user_login_form,#user_register_form,#user_remember_form,#loginForm').hide();
};
//$(document).ready(function() {
//    login = $('#loginForm');
//    hideAll();
//});

var goAuthorize_Click = function() {
    var uidiag = $("#loginForm").closest(".ui-dialog");
    $('#user_register_form,#user_register_form,#user_remember_form', uidiag).hide();
    $('#loginTitle', uidiag).html("Вход");
    $("#loginForm", uidiag).css({ 'height': 'auto' });
    $('#user_login_form', uidiag).show();
    if ($("#txtEmail").val() != '') {
        $('#txtPassword', uidiag).focus();
    }
    else
        $("#txtEmail", uidiag).focus();
    $.validatorsClear("registervalidators");
    $.validatorsClear("remembervalidators");
    $.validator({
        group: 'loginvalidators',
        message: 'Введите e-mail',
        type: 'required',
        targetSelector: $('#txtEmail', uidiag)
    });
    $.validator({
        group: 'loginvalidators',
        message: 'Введите e-mail правильно',
        type: 'email',
        targetSelector: $('#txtEmail', uidiag)
    });
    $.validator({
        group: 'loginvalidators',
        message: 'Введите пароль',
        type: 'required',
        targetSelector: $('#txtPassword', uidiag)
    });


    $(".ui-button-text", uidiag).text("Войти");
    $("#goRemember", uidiag).show();
    $("#goRegister", uidiag).show();
    $("#goAuthorize", uidiag).hide();

    loginDialogMode = 'login';
}
var goRegister_Click = function(container) {
    var uidiag;
    if (container)
        uidiag = $(container).closest(".ui-dialog");
    else
        uidiag = $("#loginForm").closest(".ui-dialog");
    $('#user_login_form,#user_register_form,#user_remember_form', uidiag).hide();
    $('#loginTitle', uidiag).html("Регистрация");
    $("#loginForm", uidiag).css({ 'height': 'auto' });
    $('#user_register_form', uidiag).show();
    if ($("#txtEmailReg").val() != '') {
        $('#txtPassword1Reg', uidiag).focus();
    }
    else
        $('#txtEmailReg', uidiag).focus();
    $.validatorsClear("loginvalidators");
    $.validatorsClear("remembervalidators");
    $.validator({
        group: 'registervalidators',
        message: 'Введите e-mail',
        type: 'required',
        targetSelector: $('#txtEmailReg', uidiag)
    });
    $.validator({
        group: 'registervalidators',
        message: 'Введите e-mail правильно',
        type: 'email',
        targetSelector: $('#txtEmailReg', uidiag)
    });
    $.validator({
        group: 'registervalidators',
        message: 'Введите пароль',
        type: 'required',
        targetSelector: $('#txtPassword1Reg', uidiag)
    });
    $.validator({
        group: 'registervalidators',
        message: 'Введите пароль',
        type: 'required',
        targetSelector: $('#txtPassword2Reg', uidiag)
    });
    $.validator({
        group: 'registervalidators',
        message: 'Повторите ввод пароля',
        type: 'compare',
        compareType: "equal",
        targetSelector: $('#txtPassword2Reg', uidiag),
        targetSelector2: $('#txtPassword1Reg', uidiag)
    });


    $(".ui-button-text", uidiag).text("Зарегистрироваться");
    $("#goRemember", uidiag).show();
    $("#goRegister", uidiag).hide();
    $("#goAuthorize", uidiag).show();
    loginDialogMode = 'register';
}

var goRemember_Click = function() {
    var uidiag = $("#loginForm").closest(".ui-dialog");
    $('#user_register_form,#user_register_form,#user_login_form').hide();
    $('#user_remember_form', uidiag).show();
    $("#txtEmailRemember", uidiag).focus();
    $('#loginTitle', uidiag).html("Восстановление пароля");
    $.validatorsClear("registervalidators");
    $.validatorsClear("loginvalidators");
    $.validator({
        group: 'remembervalidators',
        message: 'Введите e-mail',
        type: 'required',
        targetSelector: $('#txtEmailRemember', uidiag)
    });
    $.validator({
        group: 'remembervalidators',
        message: 'Введите e-mail правильно',
        type: 'email',
        targetSelector: $('#txtEmailRemember', uidiag)
    });

    $(".ui-button-text", uidiag).text("Напомнить");
    $("#goRemember", uidiag).hide();
    $("#goRegister", uidiag).show();
    $("#goAuthorize", uidiag).show();
    $("#loginForm", uidiag).css({ 'height': '89px', 'min-height': '89px' });
    loginDialogMode = 'remember';
    var enteredEmail = $('#txtEmail').attr('value');
    if (enteredEmail != '') {
        $("#txtEmailRemember").val(enteredEmail);
    }
}

var btnLogin_Click = function(email, loginRegisterCallBack) {
    var container = $('<div id="loginForm" style="display: none;">' +
            '<div id="user_login_form" class="forms" style="padding-top:5px;">' +
                    '<label>' +
                        'Логин (e-mail)<i>*</i>' +
                    '</label>' +
                    '<input type="text" id="txtEmail" value="' + ((typeof (email) != 'undefined') ? email : '') + '"' +
                         'tabindex="1" />' +
                    '<label>' +
                        'Пароль<i>*</i>' +
                    '</label>' +
                    '<input type="password" id="txtPassword" class="mb0"' +
                        'tabindex="2" />' +
                '<label class="rememberlabel">' +
                    '<input type="checkbox" id="cbRememberLogin" tabindex="3" checked="checked" />' +
                    'запомнить меня' +
                '</label>' +
            '</div>' +
            '<div id="user_register_form" class="forms">' +
                    '<label>' +
                      'Логин (e-mail)<i>*</i>' +
                    '</label>' +
    //'<input type="text" id="txtEmailReg" value=""/>' +
                    '<input type="text" id="txtEmailReg" value="' + ((typeof (email) != 'undefined') ? email : '') + '"/>' +
                    '<label>' +
                      'Пароль<i>*</i>' +
                    '</label>' +
                    '<input type="password" id="txtPassword1Reg" />' +
                    '<label>' +
                        'Повтор пароля<i>*</i>' +
                    '</label>' +
                    '<input type="password" id="txtPassword2Reg" class="mb0" />' +
                '<label class="rememberlabel">' +
                    '<input class="nom" type="checkbox" id="cbRememberReg" tabindex="3" checked="checked" />' +
                    'запомнить меня' +
                '</label>' +
            '</div>' +
            '<div id="user_remember_form" class="forms" style="height:89px;">' +
              '<div class="text">Пароль будет выслан на e-mail, который вы указали при регистрации</div>' +
                    '<label>' +
                        'Ваш e-mail<i>*</i>' +
                    '</label>' +
                    '<input type="text" id="txtEmailRemember" class="mb10" />' +
            '</div>' +
        '</div>');
    container = container.clone();
    var loginDialog = CreateTrucksDialog(container, {
        width: 330,
        title: "<span id='loginTitle'>Вход</span>",
        dialogClass: "dialog-dmo",
        close: function() {
            $.validatorsClear("loginvalidators");
            $.validatorsClear("remembervalidators");
            $.validatorsClear("registervalidators");
        },
        footer: '<div><div class="under_btn_links"><span id="goAuthorize" style="display:none;"><a class="fogotten_link" href="javascript:void(0);" onclick="goAuthorize_Click(); return false;">Войти</a><br /></span><span id="goRemember"><a class="fogotten_link" href="javascript:void(0);"  onclick="goRemember_Click(); return false;">Напомнить пароль</a><br/></span><span id="goRegister"><a href="javascript:void(0);" onclick="goRegister_Click(); return false;">Зарегистрироваться</a></span></div><div class="info_box">Используйте один и тот же логин (e-mail) и пароль на всех проектах: <a href="http://dmir.ru" target="_blank">Dmir.ru</a>, <a href="http://Auto.dmir.ru" target="_blank">Auto.dmir.ru</a>, <a href="http://Realty.dmir.ru" target="_blank">Realty.dmir.ru</a>, <a href="http://Travel.dmir.ru" target="_blank">Travel.dmir.ru</a>, <a href="http://Zarplata.ru" target="_blank">Zarplata.ru</a>, <a href="http://Adv.dmir.ru" target="_blank">Adv.dmir.ru</a></div></div>',
        open: function() {
            $('#user_register_form, #user_register_form, #user_remember_form', container).hide();
            $.validator({
                group: 'loginvalidators',
                message: 'Введите e-mail',
                type: 'required',
                targetSelector: $('#txtEmail', container)
            });
            $.validator({
                group: 'loginvalidators',
                message: 'Введите e-mail правильно',
                type: 'email',
                targetSelector: $('#txtEmail', container)
            });
            $.validator({
                group: 'loginvalidators',
                message: 'Введите пароль',
                type: 'required',
                targetSelector: $('#txtPassword', container)
            });

            $("#goAuthorize", container).click();
            $("#user_login_form", container).show();
            if (typeof (email) != 'undefined' && email != '') {
                $.user.exist(email, function(d) {
                    if (d.Code == 0) {
                        $("#user_register_form", container).first().prepend("<span class='text'>Пожалуйста, зарегистрируйтесь. Ваше объявление сохранено и будет доступно после регистрации.</span>");
                        goRegister_Click(container);
                    }
                    else {
                        $("#user_login_form", container).first().prepend("<span class='text'>Здравствуйте, рады видеть вас снова!<br/>Пожалуйста, введите пароль.</span>");
                        setTimeout(function() {
                            $("#txtPassword", container).focus();
                        }, 100);
                    }
                });
            }
            setTimeout(function() {
                $("#txtEmail", container).focus();
            }, 100);


            $(container).keyup(function(e) {
                if (e.keyCode == 13) {
                    container.closest(".ui-dialog").find('button:first').trigger('click');
                }
            });
        },
        buttons:
        {
            "Войти": function() {
                if (loginDialogMode == 'login') {
                    var isValid;
                    isValid = $.validate("loginvalidators");
                    if (isValid) {
                        $("#loginWaitingDiv", container).show();
                        $.user.login(
                            $('#txtEmail', container).val(),
                            $('#txtPassword', container).val(),
                            $('#cbRememberLogin', container).attr('checked'),
                            function(d) {
                                if (d.Code == '1') {
                                    if ($.query.GET("ReturnUrl") != '') {
                                        document.location.href = decodeURI($.query.GET("ReturnUrl"));
                                    }
                                    else {
                                        if (typeof (loginRegisterCallBack) != 'undefined')
                                            loginRegisterCallBack();
                                        else
                                            document.location.href = document.location.href;
                                    }
                                }
                                else if (d.Code == '0') {
                                    $("#loginWaitingDiv", container).hide();
                                    $("#txtPassword", container).showValidatorError(
                                    {
                                        group: 'loginvalidators',
                                        message: 'Введите верный пароль',
                                        type: 'required',
                                        targetSelector: $('#txtPassword', container),
                                        cssClass: "validatorError",
                                        content: "Введите верный пароль"
                                    });
                                    //CreateAlert("Пароль введен неверно");
                                }
                                else if (d.Code == '-1') {
                                    $("#loginWaitingDiv", container).hide();
                                    $("#txtEmail", container).showValidatorError(
                                    {
                                        group: 'loginvalidators',
                                        message: d.Message,
                                        type: 'required',
                                        targetSelector: $('#txtEmail', container),
                                        cssClass: "validatorError",
                                        content: d.Message
                                    });
                                }
                            });
                    }
                }
                else if (loginDialogMode == 'register') {
                    var isValid;
                    isValid = $.validate("registervalidators");
                    if (isValid) {
                        $("#btnRegister", container).attr('disabled', 'disabled');
                        $("#registrationWaitingDiv", container).show();
                        $.user.register(
                            $('#txtEmailReg', container).val(),
                            $('#txtPassword1Reg', container).val(),
                            $('#cbRememberReg', container).attr('checked'),
                            function(d) {
                                if (d.Code == '1') {
                                    if (typeof (loginRegisterCallBack) != 'undefined')
                                        loginRegisterCallBack();
                                    else
                                        document.location.href = "/user/offers/";
                                }
                                else if (d.Code == '0') {
                                    $("#txtEmailReg", container).showValidatorError(
                                    {
                                        group: 'registervalidators',
                                        message: 'Такой email уже зарегистрирован',
                                        type: 'required',
                                        targetSelector: $('#txtEmailReg', container),
                                        cssClass: "validatorError",
                                        content: "Такой email уже зарегистрирован"
                                    });
                                    $("#registrationWaitingDiv", container).hide();
                                    $("#btnRegister", container).removeAttr("disabled");
                                }
                            });
                    }
                }
                else if (loginDialogMode == 'remember') {
                    var isValid;
                    isValid = $.validate("remembervalidators");
                    if (isValid) {
                        $("#btnRemember", container).attr("disabled", "disabled");
                        $("#rememberWaitingDiv", container).show();
                        $.user.remind($('#txtEmailRemember', container).val(), function(d) {
                            if (d.Code == '1') {
                                $(container).dialog("close");
                                CreateAlert("Пароль успешно отправлен на указанный E-Mail");
                                $("#rememberWaitingDiv", container).hide();
                                $("#btnRemember", container).removeAttr("disabled");
                                $("#btnLogInUser", container).click();
                                //                                if (typeof (add3) == 'undefined' || add3 == null)
                                //                                    document.location.href = document.location.href;
                            }
                            else {
                                CreateAlert(d.Message);
                                $("#rememberWaitingDiv", container).hide();
                                $("#btnRemember", container).removeAttr("disabled");
                            }
                        });
                    }
                }
            }
        }
    });
}

//$('#loginForm').dialog('option', 'position', 'center');
//$('#btnLogout').click(function() {
//    $.user.logout(function(d) {
//        document.location.href = "/";
//    });
//});
function checkEnter(e, id) {
    if (!e) e = window.event;
    if (e.keyCode == 13 && id) {
        var btnid = '';
        if (id == 'txtEmailReg' || id == 'txtPassword1Reg' || id == 'txtPassword2Reg') {
            btnid = 'btnRegister';
        }
        if (id == 'txtEmail' || id == 'txtPassword') {
            btnid = 'btnLogin';
        }
        if (btnid == 'txtEmailRemember') {
            btnid = 'btnRemember';
        }
        if (btnid != '')
            $('#' + btnid).click(); return false;
    }
}
$(document).ready(function() {
    if ($.query.GET("ReturnUrl") != '') {
        $("#btnLogInUser").click();
    }
});
