/**
 * Класс для анимации и обработки формы поплнения кошелька 
 * @author Mikle Heavy
 * @package trava-3
 */
var Wallet =
{

    init: function()
    {
        // Флаг инициализации
        Wallet.initialize = false;
        
        $("#showDeposit").live('click', function()
        {
            Wallet.fillup();
            return false;
        });
        
                // смена вкладок в оплате
                $("#deposit .types-of-pay li").live('click', function(){
                    Fastbuy.changeItem($(this), "#deposit .types-of-pay li", "#deposit .types-of-content .li-content");
                });
                $("#deposit .types-of-phone li").live('click', function(){
                    Fastbuy.changeItem($(this), "#deposit .types-of-phone li", "#deposit .types-of-phone-content .phone-content");
                });
                
                
        if(Wallet.initialize === false)
            {
             //TConsole.log('set Wallet.fillup() listeners');  
                /**
                 * Отправляем клиента поплнять бумажник с сотового телефона
                 */
                $("#wallet-fillup-c-pay").live('click', function(){
            
                    $("#wallet-fillup-c-error").hide();
            
                    var summ = parseInt($("#wallet-fillup-c-summ").val() * 1);
                    var number = parseInt($("#wallet-fillup-c-number").val() * 1);
                    if(!Wallet.isNum(summ)) $("#wallet-fillup-c-summ").val('');
                    if(!Wallet.isNum(number)) $("#wallet-fillup-c-number").val('');
                    if(number.toString().length !=10) 
                    {
                        $("#wallet-fillup-c-error").html('Длина номера телефона должна быть 10 символов!');
                        $("#wallet-fillup-c-error").show();
                    }
                    else if(summ==0 || isNaN(summ))
                    {
                        $("#wallet-fillup-c-error").html('Укажите сумму');
                        $("#wallet-fillup-c-error").show();
                    }
                    else
                    {
                        Wallet.processing('cell', summ, number);
                    }
                    return false;            
                });

                /**
                 * Отправляем клиента поплнять бумажник с кредитки в Ассист 
                 */
                $("#wallet-fillup-cc-pay").live('click', function(){
                    $("#wallet-fillup-cc-error").hide();
                    var summ = parseInt($("#wallet-fillup-cc").val() * 1);
                    if(Wallet.isNum(summ) === false || summ <=150 || summ > 5000)
                    {
                        //$("#wallet-fillup-cc").val('');
                        $("#wallet-fillup-cc-error").html('Сумма должна быть от 150 до 5000 р.');
                        $("#wallet-fillup-cc-error").show();
                        return false;
                    }
                    else
                    {
                        Wallet.processing('creditcard', summ, null);
                    }
                    return false;            
                });


                /**
                * Отправляем клиента поплнять бумажник с электронных денег в Ассист 
                */    
                $("#wallet-fillup-e-pay").live('click', function(){
                    $("#wallet-fillup-e-error").hide();
                    var summ = parseInt($("#wallet-fillup-e").val() * 1);
                    if(Wallet.isNum(summ) === false  || summ <=0)
                    {
                        //$("#wallet-fillup-e").val('');
                        $("#wallet-fillup-e-error").html('Укажите сумму');
                        $("#wallet-fillup-e-error").show();
                    }
                        
                    else
                    {
                        Wallet.processing('emoney', summ, null);

                    }
                    return false;
                });                
                
                /**
                * Отправляем клиента поплнять бумажник с электронных денег в Ассист 
                */    
                $("#wallet-fillup-netbynet-pay").live('click', function(){
                    $("#wallet-fillup-netbynet-error").hide();
                    var max = $("#wallet-fillup-netbynet-max").text();
                    var summ = parseInt($("#wallet-fillup-netbynet").val() * 1);
                    if(Wallet.isNum(summ) === false  || summ <=0)
                    {
                        $("#wallet-fillup-netbynet-error").html('Укажите сумму');
                        $("#wallet-fillup-netbynet-error").show();
                    }

                    else if(max > 0 && summ > max)
                    {
                        $("#wallet-fillup-netbynet-error").html('Сумма перевода не может превышать сумму на счете NetByNet');
                        $("#wallet-fillup-netbynet-error").show();
                    }


                    else
                    {
                        Wallet.processing('netbynet', summ, null);

                    }
                    return false;
                });                 
                
            Wallet.initialize = true;                
            }
                
    },
        

    /**
     * Бродилка по способам поплнения кошелька
     */

    fillup: function()
    {
        //TConsole.log(Wallet.initialize);
        window.top.$.fancybox({
            href:'/wallet/fillup/format/ajax',
            overlayColor:"black", 
            overlayOpacity:0.65,
            onComplete:function(){
              return false;  
            }
        });
        
    },

    
    /**
     * Кастомная функция проверки аналог intval()
     */
    isNum: function(v) {
        return typeof v === 'number' && isFinite(v);
    },
    
    processing: function(method, summ, number)
    {
        $.ajax({
            type: "POST",
            url: '/wallet/processing/format/ajax',
            dataType : "json",
            data : {
                method: method,
                summ: summ,
                number: number
            },
            success: function(msg)
            {
                if(msg.success == true)
                {
                    window.top.$.fancybox.close();
                    window.top.$.fancybox.hideActivity();
                        
                    if(msg.redirect)
                    {
                        window.top.iframeAdapter.goTo(msg.redirect);
                    }
                    else if(msg.direct)
                    {
                        TConsole.log(msg.direct);
                        if(msg.direct == '/')
                            {
                                window.location.reload();
                            }
                            else
                            {
                                window.location.href = msg.direct;                                
                            }
                    }                    
                }
                else
                {
                    window.top.$.fancybox.close();
                    window.top.$.fancybox.hideActivity();                        
                    alert(msg.error);
                }    
            }
        });   
    }

}
