﻿var LoginSuccessHref = '';
$(document).ready(function () {
    $(".offerLnk").fancybox({
        'autoScale': true,
        'autoDimensions': true
    });
    $(".detailBox").fancybox({
        'width': 850,
        'height': 600,
        'autoScale': true,
        'autoDimensions': false
    });
    $("SELECT").selectBox();
    $('input:text').magicInput();
    $('input:password').magicInput();
    
    $("#subscriptionBirth").focus( function() {
        $(this).mask("99/99/9999");
    });
});

function ShowSubMenu(objLink) {
    $("#mainMenu > li > .submenu").each(function (obj) {
        $(this).hide();
    });
    $(objLink).next().show();
}

function Login() {
    var dataSend =
    {
        email:$("#login_email").val(),
        password:$("#login_password").val(),
        Remember:false
    };
    $.post('/Login/Login', dataSend, function (data) {
        if (data.STATUS == "OK") {
            if (LoginSuccessHref == '') {
                document.location.href = '/';
            } else {
                document.location.href = LoginSuccessHref;
            }
        } else {
            alert("Email ou senha inválidos.");
        }
    });
}

function NavigateLoggedUrl(url) {
    $.post("/Login/IsLogged", null, function (data) {
        if (data.logged == true) {
            document.location.href = url;
        } else {
            LoginSuccessHref = url;
            alert("Efetue o login pelo site, você será direcionado à página solicitada em seguida.");
        }
    });
}

function CallOnEnter(e,func)
{
    if (e.keyCode == 13)
        func();
}

function ActivateTab(tabId) {
    $(".accessMenu > li > a").each(function (obj) {
        if ($(this).attr("id") == tabId || $(this).attr("id") == tabId + 'Content') {
            if (!$(this).hasClass("active")) {
                $(this).addClass("active");
            }
        } else {
            $(this).removeClass("active");
        }
    });
    $(".dxAccess > .accessBox").each(function (obj) {
        if ($(this).attr("id") == tabId || $(this).attr("id") == tabId + 'Content') {
            if ($(this).css("display")!="block") {
                $(this).show();
            }
        } else {
            $(this).hide();
        }
    });
}

function LoadTab(tabId, url) {
    $($("#" + tabId + "Content").children()[0]).html("Carregando...");
    ActivateTab(tabId);
    
    if (url.indexOf('?') == -1)
        url += '?rfsh=' + (new Date().getTime());
    else
        url += '&rfsh=' + (new Date().getTime());

    $.get(url, null, function (data) {
        $($("#" + tabId + "Content").children()[0]).html(data);
    });
}

function ValidateFieldDeny(objField, denyValues, errorMsg) {
    var value = objField.val();
    var isOk = true;
    for (i = 0; i < denyValues.length; i++) {
        if (value == denyValues[i]) {
            isOk = false;
            AlertFieldError(objField, errorMsg);
        }
    }
    if (isOk) {
        RemoveFieldError(objField);
    }
    return isOk;
}

function ValidateFieldAllow(objField, allowValues, errorMsg) {
    var value = objField.val();
    var isOk = false;
    for (i = 0; i < allowValues.length; i++) {
        if (value == allowValues[i]) {
            isOk = true;
            RemoveFieldError(objField);
        }
    }
    if (!isOk) {
        AlertFieldError(objField,errorMsg);
    }
    return isOk;
}

function ValidateFieldRegEx(objField, exp, errorMsg) {
    var regEx = new RegExp(exp);
    var isOk = true;
    if(!regEx.test(objField.val()))
    {
        isOk = false;
        AlertFieldError(objField,errorMsg);
    }
    if (isOk) { RemoveFieldError(objField); }
    return isOk;
}

function AlertFieldError(objField,message) {
    if (!objField.hasClass("error")) { objField.addClass("error"); }
    alert(message);
}

function RemoveFieldError(objField)
{
    objField.removeClass("error");
}

function SendVerifyPromoCode() {
    if (!ValidateFieldDeny($("#PromoCode"), new Array(""), "Favor informar o código de seu cartão")) { return; };
    var sendData =
    {
        SubscriptionCode: $("#PromoCode").val()
    };
    $.post("/Checkout/VerifyPromoCode", sendData, function (data) {
        if (data.status == "OK") {
            $("#codeRights").html("<strong>Parabéns!</strong> Seu código da direito a: <br />")
            if (data.plans)
            {
                $("#codeRights").append("Plano <strong>" + data.plans + "</strong>,")
            }
            if (data.packs) {
                $("#codeRights").append("Pacote <strong>" + data.packs + "</strong>,")
            }
            $("#codeRights").append("agora complete o cadastro ou faça o login para ativá-lo.")
        } else {
            $("#codeRights").html("<strong>Ooops!!</strong><br />"+data.error);
        }
    });
    //ForceLoadGanhei();
}

function SendCodeSubscription(mode) {
    if (!ValidateFieldDeny($("#PromoCode"), new Array(""), "Favor informar o código de seu cartão")) { return; };
    if (!ValidateFieldDeny($("#subscriptionName"), new Array("", "Nome *"), "Favor informar o nome corretamente")) { return; };
    //if (!ValidateFieldDeny($("#subscriptionEmail"), new Array("", "Email *"), "Favor informar o email", "")) { return; };
    if (!ValidateFieldRegEx($("#subscriptionEmail"),"^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$","Favor informar um email válido")){return;};
    if (!ValidateFieldAllow($("#subscriptionEmailConfirmation"), new Array($("#subscriptionEmail").val()), "Favor confirmar o email", "")) { return; };
    if (!ValidateFieldDeny($("#subscriptionPassword"), new Array("","******"), "Favor informar a senha", "")) { return; };
    if (!ValidateFieldAllow($("#subscriptionPasswordConfirmation"), new Array($("#subscriptionPassword").val()), "Favor confirmar a senha", "")) { return; };
    //if (!ValidateFieldDeny($("#subscriptionBirth"), new Array("", "Data de nascimento *"), "Favor informar a data de nascimento", "")) { return; };
    if (!ValidateFieldRegEx($("#subscriptionBirth"), "^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$","Favor informar a data de nascimento no formato indicado (DD/MM/YYYY)")){return;};
    if (!ValidateFieldAllow($("#subscriptionGender"), new Array("M", "F"), "Favor informar o sexo corretamente (M ou F)", "")) { return; };
    //if (!ValidateFieldRegEx($("#subscriptionCep"), "^(([0-9]{5}-[0-9]{3})|[0-9]{8})$", "Favor informar um CEP válido")) { return; };

    var sendData = 0;
    
    if (mode == 4) 
    {
        if (!ValidateFieldRegEx($("#subscriptionCpf"), "^(([0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2})|[0-9]{11})$", "Favor informar um CPF válido")) { return; };

        sendData =
        {
            SubscriptionCode: $("#PromoCode").val(),
            SubscriptionName: $("#subscriptionName").val(),
            SubscriptionEmail: $("#subscriptionEmail").val(),
            SubscriptionPassword: $("#subscriptionPassword").val(),
            SubscriptionBirth: $("#subscriptionBirth").val(),
            SubscriptionGender: $("#subscriptionGender").val(),
            SubscriptionCpf: $("#subscriptionCpf").val(),
        SubscriptionOptin: $("#subscriptionOptin")[0].checked,
        SubscriptionTrialOptin: $("#subscriptionTrialOptin")[0].checked
        };
    }
    else 
    {
        sendData =
        {
            SubscriptionCode: $("#PromoCode").val(),
            SubscriptionName: $("#subscriptionName").val(),
            SubscriptionEmail: $("#subscriptionEmail").val(),
            SubscriptionPassword: $("#subscriptionPassword").val(),
            SubscriptionBirth: $("#subscriptionBirth").val(),
            SubscriptionGender: $("#subscriptionGender").val(),
            SubscriptionOptin: $("#subscriptionOptin")[0].checked,
            SubscriptionTrialOptin: $("#subscriptionTrialOptin")[0].checked
        };
    }

    
    $.post("/Checkout/CodeSubscription", sendData, function (data) {
        if (data.status == "OK") {
            //alert("Cadastro efetuado com sucesso! Você será direcionado para o aplicativo");
            LoadTab('Subscription', "/Control/ThankYou?Ac=CodeSubscription")
        } else {
            alert(data.error);
        }
    });
}

function SendCodeLogin() {
    if (!ValidateFieldDeny($("#PromoCode"), new Array(""), "Favor informar o código de seu cartão")) { return; };
    if (!ValidateFieldDeny($("#subscriptionLoginEmail"), new Array("", "Email *"), "Favor informar o email", "")) { return; };
    if (!ValidateFieldRegEx($("#subscriptionLoginEmail"),"^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$","Favor informar um email válido")){return;};
    if (!ValidateFieldDeny($("#subscriptionLoginPassword"), new Array("","******"), "Favor informar a senha", "")) { return; };
    var sendData =
    {
        SubscriptionCode: $("#PromoCode").val(),
        SubscriptionEmail: $("#subscriptionLoginEmail").val(),
        SubscriptionPassword: $("#subscriptionLoginPassword").val()
    };

    $.post("/Checkout/CodeLogin", sendData, function (data) {
        if (data.status == "OK") {
            //alert("O código foi vinculado à sua conta com sucesso, você será redirecionado para o aplicativo.");
            LoadTab('Subscription',"/Control/ThankYou?Ac=CodeLogin")
        } else {
            alert(data.error);
        }
    });
}

function SendCheckoutSubscription() {
    if (!ValidateFieldDeny($("#subscriptionName"), new Array("", "Nome *"), "Favor informar o nome corretamente")) { return; };
    //if (!ValidateFieldDeny($("#subscriptionEmail"), new Array("", "Email *"), "Favor informar o email", "")) { return; };
    if (!ValidateFieldRegEx($("#subscriptionEmail"), "^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$", "Favor informar um email válido")) { return; };
    if (!ValidateFieldAllow($("#subscriptionEmailConfirmation"), new Array($("#subscriptionEmail").val()), "Favor confirmar o email", "")) { return; };
    if (!ValidateFieldDeny($("#subscriptionPassword"), new Array("", "******"), "Favor informar a senha", "")) { return; };
    if (!ValidateFieldAllow($("#subscriptionPasswordConfirmation"), new Array($("#subscriptionPassword").val()), "Favor confirmar a senha", "")) { return; };
    //if (!ValidateFieldDeny($("#subscriptionBirth"), new Array("", "Data de nascimento *"), "Favor informar a data de nascimento", "")) { return; };
    if (!ValidateFieldRegEx($("#subscriptionBirth"), "^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$", "Favor informar a data de nascimento no formato indicado (DD/MM/YYYY)")) { return; };
    if (!ValidateFieldAllow($("#subscriptionGender"), new Array("M", "F"), "Favor informar o sexo corretamente (M ou F)", "")) { return; };
    var sendData =
    {
        SubscriptionName: $("#subscriptionName").val(),
        SubscriptionEmail: $("#subscriptionEmail").val(),
        SubscriptionPassword: $("#subscriptionPassword").val(),
        SubscriptionBirth: $("#subscriptionBirth").val(),
        SubscriptionGender: $("#subscriptionGender").val(),
        //SubscriptionActivity: $("#subscriptionActivity").val(),
        SubscriptionOptin: $("#subscriptionOptin")[0].checked,
        SubscriptionTrialOptin: $("#subscriptionTrialOptin")[0].checked
    };

    $.post("/Checkout/CheckoutSubscription", sendData, function (data) {
        if (data.status == "OK") {
            document.location.href = data.msg;
        } else {
            alert(data.error);
        }
    });
}

function SendCheckoutLogin() {
    if (!ValidateFieldRegEx($("#subscriptionLoginEmail"), "^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$", "Favor informar o e-mail")) { return; };
    if (!ValidateFieldDeny($("#subscriptionLoginPassword"), new Array("", "******"), "Favor informar a senha", "")) { return; };
    var sendData =
    {
        SubscriptionEmail: $("#subscriptionLoginEmail").val(),
        SubscriptionPassword: $("#subscriptionLoginPassword").val()
    };
    $.post("/Checkout/CheckoutLogin", sendData, function (data) {
        if (data.status == "OK") {
            document.location.href = data.msg;
        } else {
            alert(data.error);
        }
    });
}

function SendCheckoutLoginSony() {
    if (!ValidateFieldRegEx($("#subscriptionLoginEmail"), "^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$", "Favor informar o e-mail")) { return; };
    if (!ValidateFieldDeny($("#subscriptionLoginPassword"), new Array("", "******"), "Favor informar a senha", "")) { return; };
    var sendData =
    {
        SubscriptionEmail: $("#subscriptionLoginEmail").val(),
        SubscriptionPassword: $("#subscriptionLoginPassword").val()
    };
    $.post("/Checkout/CheckoutLogin", sendData, function (data) {
        if (data.status == "OK") {
            document.location.href = data.msg;
        } else {
            if (data.status == "SAME") {
                LoadTab('Subscription', "/Control/ThankYou?Ac=SonyLogin")
            }
            else {
                alert(data.error);
            }
        }
    });
}

function SendSubscriptionUpdate()
{
    if (!ValidateFieldDeny($("#subscriptionName"), new Array(""), "Favor informar o nome corretamente")) { return; };
    if (!ValidateFieldRegEx($("#subscriptionEmail"),"^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$","Favor informar um email válido")){return;};
    if($("#subscriptionPassword").val()!="******")
    {
        if (!ValidateFieldDeny($("#subscriptionPassword"), new Array("","******"), "Favor informar a senha", "")) { return; };
        if (!ValidateFieldAllow($("#subscriptionPasswordConfirmation"), new Array($("#subscriptionPassword").val()), "Favor confirmar a senha", "")) { return; };
    }
    if (!ValidateFieldRegEx($("#subscriptionBirth"), "^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$","Favor informar a data de nascimento no formato correto (DD/MM/YYYY)")){return;};
    if (!ValidateFieldAllow($("#subscriptionGender"), new Array("M", "F"), "Favor informar o sexo corretamente (M ou F)", "")) { return; };
    var sendData =
    {
        SubscriptionName: $("#subscriptionName").val(),
        SubscriptionEmail: $("#subscriptionEmail").val(),
        SubscriptionPassword: $("#subscriptionPassword").val(),
        SubscriptionBirth: $("#subscriptionBirth").val(),
        SubscriptionGender: $("#subscriptionGender").val(),
        //SubscriptionActivity: $("#subscriptionActivity").val(),
        SubscriptionOptin: $("#subscriptionOptin")[0].checked,
        SubscriptionTrialOptin: $("#subscriptionTrialOptin")[0] != null ? $("#subscriptionTrialOptin")[0].checked : false
    };
    $.post("/MeuDx/SubscriptionUpdate", sendData, function (data) {
        if (data.status == "OK") {
            alert("Cadastro atualizado com sucesso!");
        } else {
            alert(data.error);
        }
    });
}

$('.chekBox').toggle(function () {
    $(this).addClass('checked');
    $(this).find('input').get(0).checked = true;
}, function () {
    $(this).removeClass('checked');
    $(this).find('input').get(0).checked = false;
});

function ActivateGanhei() 
{
    if ($("#GanheiDxContent").find('form').is(':empty')) {
        //$("SELECT").selectBox('destroy');
        $("#GanheiDxContent").html("Carregando...");
        $.get('/Control/Subscription?Mode=1', null, function (data) {
            $("#GanheiDxContent").html(data);
        });
        //$("SELECT").selectBox();
    }
    ActivateTab('GanheiDx');
}

function ProceedSubscription() 
{
    $("SELECT").selectBox('destroy');
    $("#GanheiDxContent").find('form').html("");
    LoadTab('Subscription', '/Control/Subscription?Mode=2');        
}

function AddandShowCart(id) 
{
    ActivateTab('MundoDx');
    AddToCart(id);
}

function AddToCart(id) {
    $.post('Checkout/AddToCart', { idOffer: id }, function (data) {
        if (data.sucess == "Ok") {
            //alert("Adicionado ao carrinho com sucesso");

//            if (mode == 4) {
//                $.post("/Control/Cart?Mode=4", null, function (data) {
//                    $("#cartContainer").html(data);
//                    $.fancybox.close();
//                });
//            }
//            else {
                $.post("/Control/Cart", null, function (data) {
                    $("#cartContainer").html(data);
                    $.fancybox.close();
                });        
//            }
            
        }
        else {
            alert("Erro ao adicionar item no carrinho");
        }
    });
}


function AddToCartSilent(id) {
    $.post('/Checkout/AddToCart', { idOffer: id }, function (data) {
        if (data.sucess == "Ok") {
            //ProceedSubscription();
        }
        else {
            alert("Erro ao adicionar item no carrinho");
        }
    });
}

function RemoveFromCart(id) {
    $.post('/Checkout/RemoveFromCart', { idOffer: id }, function (data) {
        if (data.sucess == "Ok") {
            //alert("Adicionado ao carrinho com sucesso");
            $.post("/Control/Cart", null, function (data) {
                $("#cartContainer").html(data);
                $.fancybox.close();
            });
        }
        else {
            alert("Erro ao remover item no carrinho");
        }
    });
}

function EmptyCart() {
    $.post('/Checkout/EmptyCart', null, function (data) {
        $("#cartContainer").html("");
    });
}

