$(document).ready(function() {
    $("#CEP").mask("99999-999",{ 
        completed: function() {
            calcularFrete();
        }
    });
    if($("#CEP").val()!="") {
        calcularFrete();
    }
    
    $("#formaCredito").attr("disabled", true);
    $("#formaDebito").attr("disabled", true);
    $("#parcelas").attr("disabled", true);
    
    $("#formFinalizarCompra").submit(function() {
        if($("input[name=bandeira]:checked").length==0) {
            alert("Você deve selecionar uma bandeira");
            $("#bandeiras").css("border", "4px solid red");
            return false;
        }
        if($("input[name=forma_pagamento]:checked").length==0) {
            alert("Você deve selecionar uma forma de pagamento");
            $("#FormasPagamentos").css("border", "4px solid red");
            return false;
        }
    });
    
    $("input[name=forma_pagamento]").change(function() {
        if($("input[name=forma_pagamento]:checked").length>0) {
            $("#FormasPagamentos").css("border", "0px");
        }
    });
    
    $("#bandeiraElo").click(function() {
        $("#formaCredito").attr("checked", true);
        $("#formaDebito").attr("disabled", true);
        $("#parcelas").attr("disabled", false);
        
        $("#bandeiras").css("border", "0px");
    });
    $("#bandeiraMaster").click(function() {
        $("#formaCredito").attr("checked", true);
        $("#formaCredito").attr("disabled", false);
        $("#parcelas").attr("disabled", false);
        
        $("#formaDebito").attr("checked", false);
        $("#formaDebito").attr("disabled", true);
        
        $("#bandeiras").css("border", "0px");
        
    });
    $("#bandeiraVisa").click(function() {
        $("#formaCredito").attr("checked", false);
        $("#formaCredito").attr("disabled", false);
        $("#formaDebito").attr("checked", false);
        $("#formaDebito").attr("disabled", false);
        $("#parcelas").attr("disabled", true);
        
        $("#bandeiras").css("border", "0px");
    });
    
    $("#linkFinalizarCompra").click(function() {
        valFrete =  $(".optfrete:checked").attr("rel");
        if(valFrete===undefined) {
            alert("Você deve escolher uma das opções de frete");
            return false;
        }
        return true;
    });
});
var txtCep;
function calcularFrete() {
    txtCep = $("#CEP").val();
  
    if(!validaComprar()) return validaComprar();
    
    $("#CEP").unmask();
    $("#CEP").val("aguarde..");
    $("#CEP").attr("disabled", true);
    
    $.ajax({
        url: "/car/calcula-frete",
        data: "cep="+txtCep,
        success: function(htmlPACSedex) {
            $("#formaDeEnvio").html(htmlPACSedex);
            $("#formaDeEnvio").fadeIn();
            $(".optfrete").click(function() {
                $("#linkFinalizarCompra").attr("href", "/car/finalizar-compra?cep="+$(".optfrete:checked").val());
                valFrete =  $(".optfrete:checked").attr("rel");
                valFrete = parseFloat(valFrete);
                txtValFrete = float2moeda(valFrete);
              
                $(".valFrete").html("R$ "+txtValFrete.toString().replace(".",","));
                txtValorTotal = float2moeda(parseInt((valFrete+valorTotal)*100)/100);
                $(".valTotal").html("TOTAL: R$ "+txtValorTotal.toString().replace(".", ","));
                
               
            });
            
                
            $("#CEP").attr('disabled', false);
            $("#CEP").val(txtCep);
            $("#CEP").mask("99999-999",{ 
                completed: function() {
                    calcularFrete();
                }
            });
        }
    });
}

function validaComprar() {
    txtCep = $("#CEP").val();
    if(txtCep=="") {
        alert("Você deve digitar um cep");
        $("#CEP").focus()
        return false;
    }
    return true;
}
function float2moeda(num) {

    x = 0;

    if(num<0) {
        num = Math.abs(num);
        x = 1;
    }
    if(isNaN(num)) num = "0";
    cents = Math.floor((num*100+0.5)%100);

    num = Math.floor((num*100+0.5)/100).toString();

    if(cents < 10) cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+'.'
        +num.substring(num.length-(4*i+3));
    ret = num + ',' + cents;
    if (x == 1) ret = ' - ' + ret;
    return ret;

}
