/****************************************************************************/
//	Description: функции для работы с магазином
// 	Author: Mekor
//  Created: 09.12.2008
// 	Version: 1.0.0
//
// 	Last modified author: -
// 	Last modified: -
/****************************************************************************/

var WaitingImageId = "#waitingImage";
var CartBlockId = "#popupBlock";
var CartWaitImage = "#waitingImageCart";

function StartWait()
{
    $(WaitingImageId).css("visibility", "visible");
}

function StopWait()
{
    $(WaitingImageId).css("visibility", "hidden");
}

//Получение ID товара из ссылки типа адрес_сайта/действие(_action)/id
function GetItemIdFromHref(_href, _action)
{
    var action_pos = _href.indexOf(_action);
    var id_pos = action_pos + _action.length + 1;
    var id = _href.substring(id_pos, _href.length);
    return id;
}

/*
    Получение информации из инпутов и запись ее в одну строку для отправки в пхп-скрипт
    _inputs - объект JQuery, содержащий инпуты, информацию из которых нужно сохранить
*/
function GetDataFromInputs(_inputs)
{
    var data = "";
    _inputs.each(function() {
        var name = $(this).attr("name");
        var value = $(this).val();
        var type = $(this).attr("type");
        
        if(type == "checkbox")
        {
            if($(this).attr("checked"))
            {
                value = "1";
            }
            else
            {
                value = "0";
            }
        }
        
        if(data != "")
        {
            data += "||";
        }
        
        data += name + "=>" + value;
    });
    
    return data;
}

/*
    Добавление в корзину товара с указанным _id
*/
function AddToBasket(_id, _size)
{
    StartWait();
    $.post("index.php", {ShopModule: "1", BasketModule: "1", baction: "addtobasket", tID: _id, pSize: _size}, function() {
        StopWait();   
    });
}

/*
    Назначение обработчиков событий для корзины
*/
function AddCartHandlers()
{
    $(".delFromCart").click(function(event) {
        event.preventDefault();
        
        var id = GetItemIdFromHref($(this).attr("href"), "delfromcart");
        DelFromCart(id);
    });
    
    $("#doOrder").click(function(event) {
        event.preventDefault();
        DoOrder();
    });
    
    $("#changePrCount").click(function(event) {
        event.preventDefault();
        
        UpdatePrCount(GetDataFromInputs($("#popupBlock :input")));
    });
}

/*
    Обновление кол-ва товаров корзины
*/
function UpdatePrCount(_inputsData)
{
    $(CartWaitImage).css("visibility", "visible");
    $.post("index.php", {ShopModule: "1", BasketModule: "1", Action: "changePrCount", inputData: _inputsData}, function(data) {
        $(CartWaitImage).css("visibility", "hidden");
        $(CartBlockId).html(data);
        AddCartHandlers();
    });
}

/*
    Удаление из корзины товара с указанным _id
*/
function DelFromCart(_id)
{
    $(CartWaitImage).css("visibility", "visible");
    $.post("index.php", {ShopModule: "1", BasketModule: "1", baction: "delfrombasket", tID: _id}, function(data) {
        $(CartWaitImage).css("visibility", "hidden");
        $(CartBlockId).html(data);
        AddCartHandlers();
    });
}

/*
    Отображает корзину
*/
function ShowCart()
{
    $(CartBlockId).html("");
    SetPopupWindowTitle("Корзина");
    $(CartWaitImage).css("visibility", "visible");
    $.post("index.php", {ShopModule: "1", BasketModule: "1", baction: "show"}, function(data) {
        $(CartWaitImage).css("visibility", "hidden");
        $(CartBlockId).html(data);
        AddCartHandlers();
    });
}

/*
    Установка заголовка всплывающего окошка
*/
function SetPopupWindowTitle(_title)
{
    $("#TB_ajaxWindowTitle").text(_title);
}

/*
    Пытаемся оформить заказ
*/
function DoOrder()
{
    SetPopupWindowTitle("Оформление заказа");
    $(CartWaitImage).css("visibility", "visible");
    $.post("index.php", {DoOrderModule: "1"}, function(data) {
        $(CartWaitImage).css("visibility", "hidden");
        $(CartBlockId).html(data);
        AddLoginFormHandlers();
    });
}

/*
    Авторизация и оформление заказа при удачном исходе
*/
function DoLoginOrder(_login, _pass, _remember)
{
    $(CartWaitImage).css("visibility", "visible");
    $.post("index.php", {DoOrderModule: "1", DoOrderAction: "login", Login: _login, Password: _pass, Remember: _remember}, function(data) {
        $(CartWaitImage).css("visibility", "hidden");
        $(CartBlockId).html(data);
        AddLoginFormHandlers();
    });
}

/*
    Вывод формы регистрации
*/
function ShowRegisterFormOrder()
{
    SetPopupWindowTitle("Регистрация");
    $(CartWaitImage).css("visibility", "visible");
    $.post("index.php", {RegistrationForm: "1"}, function(data) {
        $(CartWaitImage).css("visibility", "hidden");
        $(CartBlockId).html(data);
        AddRegisterFormHandlers();
    });
}
