$(document).ready(function(){
	
    $("#carrinho-reiniciar").click(function(){
        reset();
        return false;
    });
	
    $(".remove_item").click(function(){
        produto_id = $(this).attr("rel").replace(/[^0-9]/g, "");
        removerItem(produto_id);
        return false;
    });
	
    $('.quantidade-produto').change(function(){
        quantidade = $(this).val();
        produto_id = retornIdFromRel(this);
        alterarQuantidade(produto_id, quantidade);
    });

    $('#calcular-cupom').click(function(){
        $(".cupom-loading").ajaxStart(function(){
            $(this).css("visibility", "visible");
        });
        $(".cupom-loading").ajaxComplete(function(event,request, settings){
            $(this).css("visibility", "hidden");
        });

        $.post(PATH.basename + "/carrinho/setCupomDesconto", {
            "cod_cupom":  $("#cod_cupom").val()
        }, function(response){
            if(response.status=='success'){
                window.location = PATH.basename + "/carrinho/meus_pedidos";
            }else{
                $(".cupom .msg").html(response[0]).css("color","red");
            }
        }, "json");
        return false;
    });
	
});

function retornIdFromRel(element){
    return $(element).attr("rel").replace(/[^0-9]/g, "");
}

function adicionarItem(produtoid){
    $.post(PATH.basename + "/carrinho/adiciona_item", {
        "produtoid":  produtoid
    }, function(response){
        if(response.status){
            $("li#meus-pedidos-quantidade h3").text(response.data['quantidade_produtos'] + " produtos");
            $("li#meus-pedidos-frete small").text("R$ " + response.data['frete']);
            $("li#meus-pedidos-subtotal small").text("R$ " + response.data['subtotal']);
            $("li#meus-pedidos-total small").text("R$ " + response.data['total']);
            $("div.total-pagamento span.total").text("R$ " + response.data['total']);
            $("div.total-pagamento span.valor-frete").text("R$ " + response.data['frete']);
        }else{
			
    }
    }, "json");
}

function alterarQuantidade(produtoid, quantidade){
    $.post(PATH.basename + "/carrinho/ajax_alterar_quantidade", {
        "produtoid":  produtoid,
        "quantidade": quantidade
    }, function(response){
        if(response.status){
            $("li#meus-pedidos-quantidade h3").text(response.data['quantidade_produtos'] + " produtos");
            $("li#meus-pedidos-frete small").text("R$ " + response.data['frete']);
            $("li#meus-pedidos-subtotal small").text("R$ " + response.data['subtotal']);
            $("li#meus-pedidos-total small").text("R$ " + response.data['total']);
            $("div.total-pagamento span.total").text("R$ " + response.data['total']);
            $("div.total-pagamento span.valor-frete").text("R$ " + response.data['frete']);
            $("#produto-total-" + produto_id).text("R$ " + response.item['total']);

            $("div.total-pagamento span.total-cupom").text("R$ " + response.data['valor_total_com_desconto']);
            $("#produto-total-cupom-" + produto_id).text("R$ " + response.item['total_com_desconto']);
            

            if($(".opcoes-frete").length > 0){
                calculaPrecoOpcoesFrete();
            }
			
        }else{
            $("#quantidade-produto-"+produtoid).val(response.data['quantidade']);
        }
    }, "json");
}

function removerItem(produtoid){
    $.post(PATH.basename + "/carrinho/remover_item", {
        "produtoid":  produtoid
    }, function(response){
        if(response.status){
            $("li#meus-pedidos-quantidade h3").text(response.data['quantidade_produtos'] + " produtos");
            $("li#meus-pedidos-frete small").text("R$ " + response.data['frete']);
            $("li#meus-pedidos-subtotal small").text("R$ " + response.data['subtotal']);
            $("li#meus-pedidos-total small").text("R$ " + response.data['total']);
            $("div.total-pagamento span.total").text("R$ " + response.data['total']);
            //$("div.total-pagamento span.total-cupom").text("R$ " + response.data['valor_total_com_desconto']);
            $("div.total-pagamento span.valor-frete").text("R$ " + response.data['frete']);
            $("tr.produto-"+produtoid).remove();
            if($(".opcoes-frete").length > 0){
                calculaPrecoOpcoesFrete();
            }
			
        }else{
    }
    }, "json");
}

function reset(){
    $.get(PATH.basename + "/carrinho/reiniciar", null, function(response){
        if(response.status){
            $("li#meus-pedidos-quantidade h3").text(response.data['quantidade_produtos'] + " produtos");
            $("li#meus-pedidos-frete small").text("R$ " + response.data['frete']);
            $("li#meus-pedidos-subtotal small").text("R$ " + response.data['subtotal']);
            $("li#meus-pedidos-total small").text("R$ " + response.data['total']);
            $("div.total-pagamento span.total").text("R$ " + response.data['total']);
            $("div.total-pagamento span.valor-frete").text("R$ " + response.data['frete']);
            $("div.total-pagamento span.total-cupom").text("R$ " + response.data['valor_total_com_desconto']);

           if(response.data.cupom=='FRETE'&&response.data['frete']!="0,00"){
                $("div.total-pagamento span.valor-frete").addClass("line");
                $("div.total-pagamento span.valor-frete-cupom").text("R$ " + response.data['valor_frete_com_desconto']);
            }else{
                $("div.total-pagamento span.valor-frete").removeClass("line");
                $("div.total-pagamento span.valor-frete-cupom").html(null)
            }
            $(".opcoes-frete ul").empty();
        }
    }, "json");
}

function calculaPrecoOpcoesFrete(){
    cep = "";
    cep = $("#cep1").val();
    cep += $("#cep2").val();

    $(".cep-loading").ajaxStart(function(){
        $(this).css("visibility", "visible");
    });
    $(".cep-loading").ajaxComplete(function(event,request, settings){
        $(this).css("visibility", "hidden");
    });

    $.post(PATH.basename + "/carrinho/set_cep/", {
        "cep": cep
    }, function(response){
					
        if(response.status){
            $("li#meus-pedidos-quantidade h3").text(response.data['quantidade_produtos'] + " produtos");
            $("li#meus-pedidos-subtotal small").text("R$ " + response.data['subtotal']);
            $("li#meus-pedidos-frete small").text("R$ " + response.data['frete']);
            $("li#meus-pedidos-total small").text("R$ " + response.data['total']);
            $("div.total-pagamento span.total").text("R$ " + response.data['total']);
            $("div.total-pagamento span.total-cupom").text("R$ " + response.data['valor_total_com_desconto']);
            $("div.total-pagamento span.valor-frete").text("R$ " + response.data['frete']);
            if(response.data.cupom=='FRETE'&&response.data['frete']!="0,00"){
                $("div.total-pagamento span.valor-frete").addClass("line");
                $("div.total-pagamento span.valor-frete-cupom").text("R$ " + response.data['valor_frete_com_desconto']);
            }else{
                $("div.total-pagamento span.valor-frete").removeClass("line");
                $("div.total-pagamento span.valor-frete-cupom").html(null)
            }
            $("li#meus-pedidos-frete-cupom small").text("R$ " + response.data['valor_frete_com_desconto']);
            $("li#meus-pedidos-total-cupom small").text("R$ " + response.data['valor_total_com_desconto']);

            $(".opcoes-frete ul").empty();
			
            if(!!response.opcoes){
                $.each(response.opcoes, function(i, op){
                    li = "<li>";
                    li += '<input class="tipo_frete" type="radio" name="data[Frete][tipo_frete]" value="' + op['codigo'] + '" />';
                    if(op['valor_com_desconto']){
                        li += "<span class=\"line\"> <strong>" + op['nome'] + "</strong>";
                        if(op['valor'].match(/^[0-9,\.]+$/g)){
                            li += " - R$ ";
                        }
                        else{
                            li += " - ";
                        }
                        li += op['valor'];
                        li += "</span>";
                        li += "<br/><span class=\"right cep-option-left\"><strong>" + op['nome'] + "</strong>";
                        if(op['valor'].match(/^[0-9,\.]+$/g)){
                            li += " - R$ ";
                        }
                        else{
                            li += " - ";
                        }
                        li += op['valor_com_desconto'];
                        li += "</span>";
                    }else{
                        li += " <strong>" + op['nome'] + "</strong>";
                        if(op['valor'].match(/^[0-9,\.]+$/g)){
                            li += " - R$ ";
                        }
                        else{
                            li += " - ";
                        }
                        li += op['valor'];
                    }
                        li += "</li>";
                    $(".opcoes-frete ul").append(li);
                });
            }
			
            if(!!response.selecionado){
                $(".tipo_frete[value='"+response.selecionado+"']").attr("checked", "checked");
            }
			
            $(".tipo_frete").click(function(){
                trocaMeioEntrega();
            });
        }else{
            $("body").append("<div style='display: none;' id='mensagem-dialog'>" + response.message + "</div>");
            $("#mensagem-dialog")
            .dialog({
                title: "Calculo de Frete",
                modal : true,
                buttons: {
                    "Ok": function() {
                        $(this).dialog("close");
                        $("#mensagem-dialog").remove();
                    }
                }
            })
            .dialog('open');
        }
		
    }, "json");

     

}


