/****************************************************************************/
//	Description: функции для работы с формой логина
// 	Author: Mekor
//  Created: 11.12.2008
// 	Version: 1.0.0
//
// 	Last modified author: -
// 	Last modified: -
/****************************************************************************/

var LoginWaitImageId = "#loginWaitImage";

function LoginStartWait()
{
    $(LoginWaitImageId).css("visibility", "visible");
}

function LoginStopWait()
{
    $(LoginWaitImageId).css("visibility", "hidden");
}

function SetLoginForm(_data)
{
    $("#loginBlock").html(_data);
    AddLoginFormHandlers();
}

function DoLogin(_login, _pass, _remember)
{
    LoginStartWait();
    $.post("index.php", {LoginModule: "1", LoginAction: "DoLogin", Login: _login, Password: _pass, Remember: _remember}, function(data) {
        SetLoginForm(data);
        LoginStopWait();
    });
}

function DoLogout()
{
    LoginStartWait();
    $.post("index.php", {LoginModule: "1", LoginAction: "DoLogout"}, function(data) {
        SetLoginForm(data);
        LoginStopWait();
    });
}

/*
    Напоминание пароля
*/
function RemindPass(_login)
{
    LoginStartWait();
    $.post("index.php", {LoginModule: "1", LoginAction: "RemindPass", Login: _login}, function(data) {
        $("#loginMessage").html(data);
        LoginStopWait();
    });
}

/*
    Вывод формы для изменения данных юзера
*/
function ShowEditUserInfoForm()
{
    $("#popupInner").html("");
    $(PopupWaitImage).css("visibility", "visible");
    $.post("index.php", {EditUserInfoForm: "1", Action: "Show"}, function(data) {
        $(PopupWaitImage).css("visibility", "hidden");
        $("#popupInner").html(data);
        
        /*
            Криво и не красиво, но чот хз куда ее еще впихнуть :)
        */
        $("#saveInfo").click(function(event) {
            event.preventDefault();
            SaveUserInfo(GetDataFromInputs("#registerForm :input"));
        });
    });
}

function AddLoginFormHandlers()
{
    $("#doLogin").click(function() {
        var login = $("#ulogin").val();
        var pass = $("#upassword").val();
        var remember = 0;
        if($("#remember").attr("checked"))
        {
            remember = 1;
        }

        DoLogin(login, pass, remember);
    });
    
    $("#doLogout").click(function(event) {
        event.preventDefault();
        DoLogout();
    });
    
    $("#showRegister").click(function(event) {
        event.preventDefault();
           
        ShowRegisterForm();
    });
    
    $("#editUserInfo").click(function(event) {
        event.preventDefault();
        
        ShowEditUserInfoForm();
    });
    
    /*
        Следующие события используются в форме логина,
        которая возникает при оформлении заказа.
        В связи с этим, основные обработчики этих событий
        лежат в файле shop.js, и без него, разумеется,
        ничего здесь работать не будет :)
        Угу, криво.
    */
    $("#doLoginOrder").click(function() {
        var login = $("#ulogin").val();
        var pass = $("#upassword").val();
        var remember = 0;
        if($("#remember").attr("checked"))
        {
            remember = 1;
        }

        DoLoginOrder(login, pass, remember);
    });
    
    $("#showRegisterOrder").click(function(event) {
        event.preventDefault();
        
        ShowRegisterFormOrder();        
    });
    
    $("#remindPass").click(function(event) {
        event.preventDefault();
        
        var login = $("#ulogin").val();
        if(login != "")
        {
            RemindPass(login);
        }
    });
    
    tb_init('a.thickbox, area.thickbox, input.thickbox');
}

$(document).ready(function() {

    AddLoginFormHandlers();
});
