//Definicao do arquivo AJAX que recebe a chamada
arquivoAjax = '../../../ajax/carrinho.php';

/**
 * Adiciona um produto ao carrinho via ajax
 * @param prod1_cod
 * @return
 */
function addCarrinho(elBotao, prod1_cod, root_path){

	var dataString = $("#frmDetalhesProduto").serialize();
	dataString += "&fnTarget=add";

	$.ajax({
		url: arquivoAjax,
		data: dataString,
		type: 'POST',
		success: function(){
			$(elBotao).after("<img src='"+root_path+"/images/produtos/bt-jadd.gif' title='Este produto j&aacute; encontra-se no carrinho' class='input' />");
			$(elBotao).remove();
		},
		error: function(){
			alert("Impossível adicionar!");
		}

	});

}

/**
 * Remove um produto do carrinho
 * @param el Elemento Clicado
 * @param prod1_cod Codigo do produto
 * @return
 */
function removeCarrinho(el, prod1_cod){
	//exibe msg de confirmacao
	if(!confirm("Deseja realmente retirar este produto do carrinho?"))
		return false;

	var tr = $(el).parent().parent();
	$.ajax({
		url: '../ajax/carrinho.php',
		data: {
			fnTarget	: 'remove',
			prod1_cod	: prod1_cod
		},
		type: 'POST',
		success: function(){
			$(tr).remove();
			alert("Produto retirado com sucesso!");
		},
		error: function(){
			alert("Impossível retirar!");
		}
	});
}

/**
 * Limpa o carrinho
 * @param el Elemento clicado
 * @return
 */
function limparCarrinho(el){
	$.ajax({
		url: arquivoAjax,
		data: {
			fnTarget: 'limpar'
		},
		type: 'POST',
		success: function(){
			alert("Carrinho limpo com sucesso!");
		},
		error: function(){
			alert("Impossível limpar");
		}

	});

}

/**
 * Mostra o balao de informacoes do produto (o balao só esta oculto)
 * @param elImg Img referencia
 * @param prod1_cod Codigo do produto
 * @return
 */
function showInfoProduto(elImg, prod1_cod){
	var objPosition = $(elImg).position();
	var strHtml = $("#info"+prod1_cod).html();
	var baseInfo = $("#base-info");

	baseInfo.css('left', (objPosition.left - 50)+"px");
	baseInfo.css('top', (objPosition.top + 15 )+"px");
	baseInfo.find('.conteudo').html(strHtml);

	baseInfo.show();

}


/**
 * Esconde as informacoes do produto
 * @param prod1_cod
 * @return
 */
function hideInfoProduto(prod1_cod){
	$("#base-info").hide();
}


/**
 * Retorna os valores para o frete
 * @return
 */
function calculaFrete(){
	var intCep = $("#cepInput").val();
	intCep = intCep.replace("-", "");
	intCep = intCep.replace(".", "");

	var elValorPAC = $("#valorPAC");
	var elValorSEDEX = $("#valorSEDEX");

	//coloca loading
	elValorPAC.html("<img src='../admin/img/common/ajax-loader.gif' alt='Carregando'/>");
	elValorSEDEX.html("<img src='../admin/img/common/ajax-loader.gif' alt='Carregando' />");

	$.ajax({
		url: '../ajax/carrinho.php',
		dataType: "json",
		type: 'POST',
		data: {
			fnTarget: 'doCalculaFrete',
			cep: intCep
		},
		success: function(data, strSuccess){
			elValorPAC.html(data.pac);
			elValorSEDEX.html(data.sedex);

			/*
			 * Ja calcula o valor do frete com base no PAC
			 */
			$("#htmlValorTotal").html("<img src='../admin/img/common/ajax-loader.gif' alt='Carregando' />");
			doCalculaValorFinal($("#inputFretePac"));

		},
		error: function(){
			alert("Impossível calcular frete. Tente Novamente");
			elValorPAC.html("");
			elValorSEDEX.html("");
		}

	});

}




/**
 * Calcula o valor final da compra
 * Valor total da compra + Frete
 * @return
 */
function doCalculaValorFinal(elRadio){
	var doubleValorCompra 	= Number($("#inputValorFinal").val().replace(",","."));
	var strFrete  			= $(elRadio).val();
	var doubleValorFrete = 0;
	if(strFrete == "2"){
        doubleValorFrete = Number( $("#valorPAC").html().replace(",",".") );
	}else if(strFrete == "1"){
        doubleValorFrete = Number( $("#valorSEDEX").html().replace(",",".") );
	}else if(strFrete == "5"){
        doubleValorFrete = 0;
	}else{
		alert("Valor de frete não encontrado!");
	}

    $("#inputValorFrete").val(parseFloat(doubleValorFrete));
    //forma encontrada para obter valores com duas casas decimais apos a virgula
    var num = (Math.round((doubleValorCompra + doubleValorFrete)*Math.pow(10,2))/Math.pow(10,2)).toString().replace('.', ',');
	$("#htmlValorTotal").html(num);
}

$( function () {

	/**
	 * Trata a submissao do formulario Forma de Pagamento "frmFormaPagamento"
	 */
	$("#frmFormaPagamento .passo3_enviar").click( function() {

		var msg = '';
		// Verifica se a forma de pagamento foi selecionada.
		var formaPagamento = 0;
		$("#frmFormaPagamento .forma_pagamento").each( function() {
            if ( $(this).is(":checked") ) formaPagamento = parseInt($(this).val());
        });

        if( formaPagamento > 0 ) {
            /*var valorCartao = 0;
            switch ( formaPagamento ) {
                case 3:
                    valorCartao = parseFloat($("#frmFormaPagamento #parcela_master").val());
                    break;
                case 2:
                    valorCartao = parseFloat($("#frmFormaPagamento #parcela_visa").val());
                    break;
                case 1:
                    valorCartao = parseFloat($("#frmFormaPagamento #parcela_boleto").val());
                    break;
            }
            if ( valorCartao > 0 ) $("#frmFormaPagamento #valorParcela").val(valorCartao);*/
        } else {
            alert("Selecione a forma de pagamento");
            return false;
        }
        $("#frmFormaPagamento").submit();
	});




	/**
	 * Trata a submissao do formulario Forma de Frete "frmFrete"
	 */
	$("#frmFrete a.passo2_enviar").click( function() {

		var msg = '';

		// Verifica se a forma de pagamento foi selecionada.
		var formaEnvio = 0;
		$("#frmFrete .input_radio").each( function() {
            if ( $(this).is(":checked") ) formaEnvio = $(this).val();
        });
        if ( formaEnvio == 0 ) msg += "Selecione a forma de envio \n";


		if ( msg != '' ) {
	        alert(msg);
	        return false;
	    } else {
	        $("#frmFrete").submit();
	    }
	});


    $("#pedido_tabela .carregar").click( function() {
        $("#logindark").show();
        $(this).parent().parent().find('.arquivos').show();
    });

    $("#pedido_tabela .lnkFechar").click( function() {
        var obj = $(this).parent().find('.frmUploadFoto');
        $(obj).submit();
        $(this).parent().parent().find('.arquivos').hide();
        $("#logindark").hide();

    });


    //este script trata a submissao dos formularios
    //de pagamento via boleto ou cartao
    $("#frmPagamento #lnkEnviar").click( function() {
        $(this).parent().parent().find("form").submit();
    });

});