﻿
var swfu;


// FUNÇÕES QUE PRECISAM DO DOCUMENTO PRONTO
$(document).ready(function() {

	// EXIBE OS ROTULOS DOS NOVOS VALORES (carinho)
	// SÓ ESTÁ SENDO FEITO ISTO PARA DEIXAR O CÓDIGO SEMANTICAMENTE CORRETO
	$('#rotuloSubtotal').html('R$'+number_format($('#valor_subtotal').val(),2,',',''));
	$('#rotuloTotal').html('R$'+number_format($('#valor_total').val(),2,',',''));
	
	
	
	// RECOLHE AS CATEGORIAS NA LOJA VIRTUAL
	//$('.ulNeta').slideToggle(200,function(){ $('.ulFilha').slideToggle(1000) });
	$('.ulNeta, .ulFilha').hide();
	
	
	// QUANDO CLICAR NAS SPANS COM ESTAS CLASSES
	$('.openDaughter, .openGranddaughter').click(function(){
		// TROCA O SIMBOLO ATUAL
		var trocaSimbolo = $(this).text() == '+' ? '-' : '+';
		$(this).text(trocaSimbolo);
		
		// ABRE A LISTA QUE TIVER A ID (PROXIMA)
		var id = $(this).attr('title');
		$('.categoria'+id).toggle();
	});
	
	
	// INPUT HIDDEN COM AS IDS DE CATEGORIA SEPARADOS POR VIRGULA
	var abrirCat = $('#ids_categoria').val();
	
	// SE TIVER ID NO INPUT
	if(abrirCat !== undefined){
		// EXPLODE POR VIRGULAS
		var arrCat = abrirCat.split(',');
		
		// VARRE AS IDS
		for(idC in arrCat){
			// ABRE O MENU
			$('.spn'+arrCat[idC]).click();
		}
	}
	
	
	// ZEBRA AS DIVS DA LISTAGEM DE TICKET DO CLIENTE
	
	// REMOVE TODAS AS CLASSES 'par'
	$('.zebrar .cli_lista_tr').removeClass('par');
	
	// ZEBRA NOVAMENTE AS DIVS
	$('.zebrar .cli_lista_tr:odd').addClass('par');
	
	
	// CONFIRMAÇÃO DE PEDIDO
	var testaCEP = $('#pedidoCep') ? $('#pedidoCep').val() : '';
	if(testaCEP){
		fretePedido(testaCEP);
	}
	
	// RECALCULA O TOTAL DO CARRINHO SE TIVER CEP (LISTA DE CASAMENTO)
	var carrinhoCEP = $('#valor_frete') ? $('#valor_frete').val() : '';
	if(carrinhoCEP){
		totalCarrinho();
	}

});



// MENSAGEM PULSANDO
function fadeMessage(){
	setTimeout(function(){
		$(".pulsante").fadeOut('slow').fadeIn('slow',fadeMessage);
	}, 3000);
}
//fadeMessage();

// EXIBE O NOME DO ARQUIVO E O BOTAO PARA EXCLUSAO DO MESMO
fileQueued = function(file){
	$('#divFileInfo').html(file.name+' | <a href="javascript:cancelFile();">Excluir</a> &nbsp;');
}

// LINK PARA CANCELAR
cancelFile = function() {
	swfu.cancelUpload();
	$('#divFileInfo').html("");
}

// REMOVE O ARQUIVO AO ABRIR NOVO DIALOGO - APENAS PARA ARQUIVOS UNICOS -
function fileDialogStart_Unico() {
	$('#divFileInfo').html("");
	swfu.cancelUpload();
}


$(function(){
	// MÁSCARAS
	jQuery(function($){
		$(".uf").mask("aa");
		$(".ddd").mask("99");
		$(".fone").mask("99999999");
		$(".telefone").mask("(99) 9999.9999");
		$(".data").mask("99/99/9999");
		$(".hora").mask("99:99");
		$(".cpf").mask("99999999999");
		//$("#cep").mask("99999999");// comentado por nao funcionar com a funcao verificaCEP()
	});


	if($('#id_session').val())
	{
		swfu = new SWFUpload({
			upload_url: $('#url_upload').val(),
			post_params: {'PHPSESSID': $('#id_session').val(), 'idRegistro':$('#id_registro').val(), 'tabela':$('#tabela_registro').val() },

			file_size_limit : "2 MB",
			file_types : "*.jpg; *.gif; *.png",
			file_types_description : "Somente Imagens",
			file_upload_limit : "1",
			file_queue_limit : "0",
	
			
			file_queued_handler : fileQueued,
			file_dialog_start_handler: fileDialogStart_Unico,
			file_queue_error_handler : fileQueueError,
			file_dialog_complete_handler : fileDialogComplete,
			
			upload_progress_handler : uploadProgress,
			upload_error_handler : uploadError,
			upload_success_handler : uploadSuccess,
			upload_complete_handler : uploadComplete,
	
			
			button_image_url : "gfx/bt_upload.gif",
			button_placeholder_id : "spanButtonPlaceholder",
			button_width: 90,
			button_height: 25,
			button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
			button_cursor: SWFUpload.CURSOR.HAND,
			
			flash_url : "scripts/fotos/swfupload.swf",
	
			custom_settings : {
				upload_target : "divFileProgressContainer"
			},
			
			debug: false
		});
	}
	
	
	$('.btAviseme').click(function(){
		var id = $(this).attr('rel');
		$('#dvFormAviseme'+id).slideToggle();
	});
	$('#btCadastrarEnvieme').click(function(){
		var nome = $('#avise_nome').val();
		var email = $('#avise_email').val();
		var telefone = $('#avise_telefone').val();
		var idSelecionada = $("#formGrade input:checked").val();
		
		// PROCESSA A EXCLUSÃO
		$.post('loja/aviseme', {'nome':nome,'email':email,'telefone':telefone,'id_produto_grade':idSelecionada}, getRetorno, "json");
	});
	
	
	$('.detalhe_pedido').hide();// SE DEIXAR NO CSS APENAS COM DISPLAY NONE O SELETOR ABAIXO NÃO CONSEGUE MOSTRAR O ELEMENTO
	
	$('.abrirDetalhe').click(function(){
		var id = $(this).attr('rel');
		$('#detPedido'+id).slideToggle();
	});
	
	$("#newCep").keyup(function(){
		// RETORNA OS DADOS A PARTIR DE UM CEP
		var cep = $(this).val();
		var peso = $('#peso_pedido').val();
		var reDigits = /^\d+$/;// EXPRESSAO REGULAR PARA ACEITAR APENAS NUMEROS INTEIROS
	
		if(cep.length == 8 && reDigits.test(cep)){
			$('#retornoPedidoEndereco').append('<img src="gfx/loader_mini.gif" id="loaderTroca"/>');
			$.post("loja/cep", {'cep':cep}, retornoTrocaEndereco, "json");
		} else {
			$('#loaderTroca').remove();
			
			$('#newLogradouro').val('');
			$('#newBairro').val('');
			$('#newCidade').val('');
			$('#newUf').val('');
		}
	});
	
	
	// CLICANDO NOS INPUTS DA DIV COM A CLASSE 'envio'
	$('.envio input').click(function(){
		var tipo = $(this).val();
		var valorFrete = $('#valor_frete').val();
		var valorTransportadora = $('#valor_transportadora').val();
		
		if(tipo == 'retirar'){
			$('#labelFrete').html('R$ 0,00');
			$('#valor_envio').val(0);
		}
		if(tipo == 'sedex'){
			$('#labelFrete').html('R$ '+number_format(valorFrete,2,',',''));
			$('#valor_envio').val(valorFrete);
		}
		if(tipo == 'transportadora'){
			$('#labelFrete').html('R$ '+number_format(valorTransportadora,2,',',''));
			$('#valor_envio').val(valorTransportadora);
		}
		totalCarrinhoConfirmacao();
	});
	
	//
	$('#btAlterarEndereco').click(function(){
		$('#loaderTroca').remove();
		
		// CARREGANDO
		$('#retornoPedidoEndereco').append('<img src="gfx/loader_mini.gif" id="loaderTroca"/>');

		// novo endereço
		var destinatario = $('#newDestinatario').val();
		var cep = $('#newCep').val();
		var logradouro = $('#newLogradouro').val();
		var numero = $('#newNumero').val();
		var complemento = $('#newComplemento').val();
		var bairro = $('#newBairro').val();
		var cidade = $('#newCidade').val();
		var uf = $('#newUf').val();
		var telefone = $('#newTelefone').val();
		
		var reDigits = /^\d+$/;
		var peso = $('#peso_pedido').val();
		var volume = $('#volume_pedido').val();
		var subtotal = $('#valor_subtotal').val();
		
		
		var erro = '';
		if(cep.length != 8) {
			erro += 'Digite um CEP\n';
		}else{
			if(!reDigits.test(cep)){
				erro += 'Digite um CEP válido\n';
			}
		}
		if(logradouro == ''){
			erro += 'Digite um logradouro\n';
		}
		if(numero == ''){
			erro += 'Digite o numero\n';
		}
		if(bairro == ''){
			erro += 'Digite o bairro\n';
		}
		if(cidade == ''){
			erro += 'Digite a cidade\n';
		}
		if(uf == ''){
			erro += 'Digite a UF\n';
		}
		
		if(erro != ''){
			$('#loaderTroca').remove();
			alert(erro);
		}else{
			// ENVIA
			$.post('loja/trocar_endereco', {'destinatario':destinatario,'cep':cep,'logradouro':logradouro,'numero':numero,'complemento':complemento,'bairro':bairro,'cidade':cidade,'uf':uf,'telefone':telefone,'peso':peso,'volume':volume,'subtotal':subtotal}, getRetorno, "json");
		}
	});
	
	//
	$('.lnkAlterarEndereco').click(function(){
		$('.dvOutroEndereco').slideToggle();
	});
	
	// COLOCA A MENSAGEM NO TEXTAREA
	$('.usarMensagem').click(function(){
		var id = $(this).attr('alt');
		var texto = $('.spMensagemTexto'+id).text();
		$('#msgBody').val(texto).focus();
	});

	
	// RETIRA CONTEUDO INICIAL DOS INPUTS
	$("#formMensagem textarea, #formBusca input[type='text'], #email_lembrar").each(function(){
		if($(this).attr("iniVal") == undefined){
			$(this).attr("iniVal", $(this).val());
		}
		$(this).focus(function(){
			if($(this).val() == $(this).attr("iniVal")){
				$(this).val("");
			}
		});
		$(this).blur(function(){
			if($(this).val() == ""){
				$(this).val($(this).attr("iniVal"));
			}
		});
	});
	
	
	$('.btIndique').click(function(){
		$('#dvIndique').slideToggle();
	});
	
	
	
	
	$('.btLembrar').click(function(){
		// CARREGANDO
		$('#retornoLembrar').html('<img src="gfx/loader_mini.gif" />').fadeIn();
		
		// EMAIL INFORMADO
		var email = $('#email_lembrar').val();
		
		// ENVIA
		$.post('cliente/lembrar_senha', {'email':email}, getRetorno, "json");
	});
	$('.lnkEsqueci').click(function(){
		$('#dvLembrar').fadeIn();
	});
	$('.fecharLembrar').click(function(){
		$('#dvLembrar').fadeOut();
	});
	
	
	
	$('.btAdicionaLista').click(function(){
		var n = $("#formGrade input:checked").length;
		if(n > 0){
			$('.relativo').toggle('slow');
		}else{
			alert('Selecione uma das opções do produto');
		}
	});
	
	$('.addLista').click(function(){
		var n = $("#formGrade input:checked").length;
		if(n == 0){
			$('.relativo').hide();
			$('#qtde_desejada').val('1');
			alert('Selecione uma das opções do produto');
		}else{
			// ADICIONA O PRODUTO NA LISTA
			var idSelecionada = $("#formGrade input:checked").val();
			var qtde = $("#qtde_desejada").val();
			var idCasamento = $("#id_casamento").val();
			
			if(qtde > 0){
				if(idCasamento!==undefined && idCasamento!=''){
					$.post('listadecasamento/incluir_na_lista', {'id':idSelecionada,'qtde':qtde,'id_casamento':idCasamento}, getRetorno, "json");
				}else{
					$('#retornoProdutoCasamento').html('Escolha uma das listas de casamento').fadeIn();
				}
			}else{
				$('#retornoProdutoCasamento').html('Informe uma quantidade válida').fadeIn();
			}
		}
	});
	
	
	
	$('.atualizarQuantidade').click(function(){
		var key = $(this).attr('alt');
		$('#qtde_'+key).focus().blur();
	});
	
	$('.update_qtde').blur(function(){
		var qtdeInformada = $(this).val();
		var key = $(this).attr('alt');
		var qtdeEstoque = $('#qtde_estoque_'+key).val();
		var valorProduto = $('#valor_'+key).val();
		var pagina = $('#idPagina').val();
		
		var msg = '';
		
		// VERIFICA SE INFORMOU UMA QUANTIDADE VÁLIDA DENTRO DO ESTOQUE
		if(is_numeric(qtdeInformada)){
			if(qtdeInformada < 1){
				msg = 'Informe um número positivo';
				$(this).val(1);
			}
			if(qtdeInformada > qtdeEstoque){
				msg = 'Quantidade superior ao estoque disponível';
				$(this).val(qtdeEstoque);
			}
		}else{
			msg = 'Informe uma quantidade válida';
			$(this).val(1);
		}
		
		// EXIBE MENSAGEM DE ERRO
		if(msg != ''){
			alert(msg);
		}else{
			if(pagina == 'loja_carrinho')
			{
				//var nomeVar = 'qtde_'+key;
				
				// GUARDAR A NOVA QUANTIDADE NA SESSÃO
				$.post('loja/atualizar_produto', {'qtde_':qtdeInformada}, getRetorno, "json");
				//$.post('loja/atualizar_produto/'+nomeVar+'/'+qtdeInformada, {nomeVar:qtdeInformada}, getRetorno, "json");// desse jeito não envia o nome da variavel pelo objeto
			}
			if(pagina == 'lista_casamento_produtos')
			{
				$('.retornoCarrinhoCasamento'+key).html('Processando, aguarde...').fadeIn();
				var idGrade = $('#id_casamento_grade_'+key).val();
				
				// ATUALIZA QUANTIDADE NO BANCO
				$.post('listadecasamento/atualizar_produto', {'qtde':qtdeInformada,'id_grade':idGrade,'chave':key}, getRetorno, "json");
			}
			
			// VALOR * QTDE
			var novoPreco = parseFloat(qtdeInformada) * parseFloat(valorProduto);
		}
	});
	
	
	$("#com_mensagem").click(function(){
		$('#boxMensagem').toggleClass("semMensagem");
		$('#msgBody').focus();
	});
	
	$(".btRemoverProduto").click(function(){
		var key = $(this).attr('rel');
		var pagina = $('#idPagina').val();
		// URL EXCLUSAO E ID
		var urlExclui = pagina == 'loja_carrinho' ? 'loja' : 'listadecasamento';
		var id = pagina == 'loja_carrinho' ? key : $('#id_casamento_grade_'+key).val();
		
		// EXIBE PRELOADER
		$('#tdBotao'+key).html('<img src="gfx/loader.gif" />');
		$('#rotuloSubtotal').html('<img src="gfx/loader_mini.gif" />');
		$('#rotuloTotal').html('<img src="gfx/loader_mini.gif" />');
		
		// PROCESSA A EXCLUSÃO
		$.post(urlExclui+'/remover_produto/'+id, false, getRetorno, "json");
	});
	
	
	$("#filtroCasamentoGrade").change(function(){
		// PROCESSA O FILTRO
		$.post('listadecasamento/filtraCategoria/'+$(this).val(), false, getRetorno, "json");
	});
	
	$("#filtroCasamentoPreco").change(function(){
		// PROCESSA O FILTRO
		$.post('listadecasamento/filtraPreco/'+$(this).val(), false, getRetorno, "json");
	});
	
	$(".verifica_cep").keyup(function(){
		// RETORNA OS DADOS A PARTIR DE UM CEP
		var cep = $(this).val();
		var reDigits = /^\d+$/;// EXPRESSAO REGULAR PARA ACEITAR APENAS NUMEROS INTEIROS
	
		if(cep.length == 8 && reDigits.test(cep)){
			$('#txtCEP').html('<img src="gfx/loader_mini.gif" /> &nbsp; Processando CEP...');
			$.post("cliente/cep", {'cep':cep}, retornEndereco, "json");
		} else {
			$(".logradouro").attr("value","");
			$(".bairro").attr("value","");
			$(".cidade").attr("value","");
			$(".id_cidade").attr("value","");
			$(".uf").attr("value","");
		}
	});
	
	$("#carrinhoCep").keyup(function(){
		// RETORNA OS DADOS A PARTIR DE UM CEP
		var cep = $(this).val();
		var peso = $('#peso_pedido').val();
		var reDigits = /^\d+$/;// EXPRESSAO REGULAR PARA ACEITAR APENAS NUMEROS INTEIROS
	
		if(cep.length == 8 && reDigits.test(cep)){
			$('#rotuloFrete').html('<img src="gfx/loader_mini.gif" />');
			$.post("loja/cep", {'cep':cep,'peso':peso}, retornEnderecoCarrinho, "json");
		} else {
			$("#rotuloFrete").text("CEP inválido");
			$(".cidade_uf").text('');
			$("#valor_frete").attr("value","0");
		}
	});
	
	$("#marcar_frete_gratis").click(function(){
		var n = $("#marcar_frete_gratis:checked").length;
		if(n > 0){
			$("#carrinhoCep").val("");
			$("#rotuloFrete").text("R$ 0,00");
			$(".cidade_uf").text("");
			$("#valor_frete").attr("value","0");
		}
		totalCarrinho();
	});
	
	$("#codigoTicket").blur(function(){
		// VERIFICA O TICKET
		var codigo = $(this).val();
		
		$('#rotuloDesconto').html('<img src="gfx/loader_mini.gif" />');
		$.post('ticket/consultar/'+codigo, false, getRetorno, "json");
	});
	
	
	$(".tipo_pessoa").click(function(){
		// MUDA OS ROTULOS DE PESSOA FISICA E JURIDICA
		if($(this).val()=='j'){
			$('.rotuloNome').html('Razão Social *');
			$('.rotuloDocumento').html('CNPJ *');
		}else{
			$('.rotuloNome').html('Nome completo *');
			$('.rotuloDocumento').html('CPF *');
		}
	});
	
	$("#formGrade").validate({
		errorPlacement: function(error, element) {
			error.appendTo($('#retornoEscolha'));
		},
		rules: {
			opcao_grade: {required: true }
		},
		messages: {
			opcao_grade: {required:  'Selecione uma das opções acima' }
		},
		submitHandler: function(form){
			// ENVIA O FORMULARIO
			$.post('loja/incluir_produto', $(form).serializeArray(), getRetorno, "json");
			
			return false;
		}
	});



	$("#formLogin").validate({
		rules: {
			log_email: {required: true, email:true},
			log_senha: {required: true}
		},
		messages: {
			log_email: {required: 'Informe seu e-mail', email:'E-mail inválido'},
			log_senha: {required: 'Informe sua senha'}
		},
		submitHandler: function(form){
			// EXPIBE IMAGEM
			$('#retornoLogin').html('<img src="gfx/loader.gif" />').show().css('display','block');
			$('#erroLogin').html('').slideUp();
			$('#btLogar').hide();
			
			// ENVIA O FORMULARIO
			$.post('cliente/logar', $(form).serializeArray(), getRetorno, "json");
			
			return false;
		}
	});


	$("#novoCadastro").validate({
		rules: {
			cad_email: {required: true, email:true},
			cad_cep: {required: true}
		},
		messages: {
			cad_email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			cad_cep: {required: 'Informe seu CEP'}
		},
		submitHandler: function(form){
			// EXPIBE IMAGEM
			$('#retornoNovo').html('<img src="gfx/loader.gif" />').show().css('display','block');
			$('#erroCadastro').html('').slideUp();
			$('#btNovo').hide();
			
			// ENVIA O FORMULARIO
			$.post('cliente/precadastro', $(form).serializeArray(), getRetorno, "json");
			
			return false;
		}
	});


	$("#formCadastro").validate({
		rules: {
			cad_email: {required: true, email:true},
			cad_senha: {required: "#informar_senha:checked" , minlength: 6},
			cad_senha2: {required: function(element){ return $("#cad_senha").val() != ''; } , minlength: 6, equalTo: "#cad_senha"},
			cad_nome: {required: true, minlength: 3},
			/*cpf_cnpj: {required: true},
			cad_nascimento: {required: true},
			cad_ddd: {required: true},
			cad_telefone: {required: true},
			cad_cep: {required: true},
			cad_logradouro: {required: true},
			cad_num: {required: true},
			cad_bairro: {required: true},
			cad_uf: {required: true},
			cad_cidade: {required: true},*/
			cad_concordo: {required: true}
		},
		messages: {
			cad_email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			cad_senha: {required: 'Informe a senha', minlength: 'Digite pelo menos 6 caracteres'},
			cad_senha2: {required: 'Repita a senha', minlength: 'Digite pelo menos 6 caracteres', equalTo: 'Repita as senha'},
			cad_nome: {required: 'Informe seu nome', minlength: 'Digite pelo menos 3 caracteres'},
			/*cpf_cnpj: {required: 'Informe seu CPF'},
			cad_nascimento: {required: 'Informe sua data de nascimento'},
			cad_ddd: {required: 'DDD'},
			cad_telefone: {required: 'Informe seu telefone'},
			cad_cep: {required: 'Informe seu CEP'},
			cad_logradouro: {required: 'Informe seu endereço'},
			cad_num: {required: 'Número'},
			cad_bairro: {required: 'Informe o bairro'},
			cad_uf: {required: 'UF'},
			cad_cidade: {required: 'Informe sua cidade'},*/
			cad_concordo: {required: 'É necessário ler e aceitar os termos<br />'}
		},
		submitHandler: function(form){
			$('#retornoCadastro').html('<img src="gfx/loader.gif" /> Aguarde, processando...').fadeIn().css('display','block');
			
			var acao = $('#id_cliente').val() == '' ? 'cliente/cadastrar' : 'cliente/alterar_cadastro';
			// ENVIA O FORMULARIO
			$.post(acao, $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});


	
	$("#formBuscaCasamento").validate({
		rules: {
			nome_noiva: {required: true, minlength: 2},
			nome_noivo: {required: true, minlength: 2}
			//,data_casamento: {required: true}
		},
		messages: {
			nome_noiva: {required: 'Informe o nome da noiva', minlength: 'Digite pelo menos 2 caracteres' },
			nome_noivo: {required: 'Informe o nome do noivo', minlength: 'Digite pelo menos 2 caracteres'}
			//,data_casamento: {required: 'Informe a data do casamento'}
		},
		submitHandler: function(form){
			$('#btBuscarLista').fadeOut();
			$('#retornoBuscaLista').html('<img src="gfx/loader.gif" /> Aguarde, carregando...');
			
			// ENVIA O FORMULARIO
			$.post("listadecasamento/buscar", $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
	
	$("#formCasamento").validate({
		rules: {
			id_casamento_tipo: {required: true},
			nome_noivo: {required: true},
			nome_noiva: {required: true},
			data_casamento: {required: true},
			wed_cep: {required: true},
			wed_logradouro: {required: true},
			wed_numero: {required: true},
			wed_bairro: {required: true},
			wed_uf: {required: true},
			wed_cidade: {required: true},
			wed_telefone: {required: true},
			data_entrega: {required: true}
		},
		messages: {
			id_casamento_tipo: {required: 'Serviço indisponível'},
			nome_noivo: {required: 'Informe o nome do noivo'},
			nome_noiva: {required: 'Informe o nome da noiva'},
			data_casamento: {required: 'Informe a data do casamento'},
			wed_cep: {required: 'Informe o CEP do endereço de entrega'},
			wed_logradouro: {required: 'Informe o endereço de entrega'},
			wed_numero: {required: 'Informe o número'},
			wed_bairro: {required: 'Informe o bairro'},
			wed_uf: {required: 'Informe a sigla do estado'},
			wed_cidade: {required: 'Informe a cidade'},
			wed_telefone: {required: 'Informe um telefone de contato'},
			data_entrega: {required: 'Informe a data de entrega'}
		},
		submitHandler: function(form){
			$('#retornoCasamento').html(' Aguarde, processando...').fadeIn().css('display','block');
			
			//if (swfu.getStats().files_queued > 0){
				//swfu.startUpload();
			//} else {
				// ENVIA O FORMULARIO
				$.post('listadecasamento/salvar_lista', $(form).serializeArray(), getRetorno, "json");
			//}
			return false;
		}
	});
	
	
	$('#lnkAlterarSenha').click(function(){
		$('.divSenha').slideToggle();
	});
	$("#formSenha").validate({
		rules: {
			senha_atual: {required: true },
			senha_nova: {required: true, minlength: 6},
			senha_nova2: {required: true, minlength: 6, equalTo: "#senha_nova"}
		},
		messages: {
			senha_atual: {required: 'Informe sua senha atual' },
			senha_nova: {required: 'Informe sua nova senha', minlength: 'Digite pelo menos 6 caracteres'},
			senha_nova2: {required: 'Repita a nova senha', minlength: 'Digite pelo menos 6 caracteres', equalTo: 'Informe a mesma senha'}
		},
		submitHandler: function(form){
			// ENVIA O FORMULARIO
			$.post("cliente/alterar_senha", $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});

	
	$("#formContato").validate({
		rules: {
			cont_nome: {required: true},
			cont_email: {required: true, email:true},
			cont_texto: {required: true}
		},
		messages: {
			cont_nome: {required: 'Informe seu nome'},
			cont_email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			cont_texto: {required: 'Informe a mensagem'}
		},
		submitHandler: function(form){
			// ESCONDE O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#btContato').fadeOut('slow',function(){ $('#retornoContato').html('Aguarde, processando...').fadeIn(); });
			
			// ENVIA O FORMULARIO
			$.post('contato/envia', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});


	$("#formBusca").validate({
		errorPlacement: function(error, element) {
			$('#erroBusca').html(error);
		},
		rules: {
			termoBusca: {required: true, minlength: 5}
		},
		messages: {
			termoBusca: {required: 'Informe um termo', minlength: 'Digite pelo menos 5 caracteres' }
		},
		submitHandler: function(form){
			var termoBusca = $('#termoBusca').val();
			if(termoBusca == 'Digite sua busca...'){
				$('#erroBusca').html('<label class="error">Informe um termo</label>');
			}else{
				$('#erroBusca').html('');
				form.submit();
			}
			return false;
		}
	});
	
	$("#formIndicar").validate({
		rules: {
			nome_rementente: {required: true},
			email_remetente: {required: true, email: true},
			nome_destinatario: {required: true},
			email_destinatario: {required: true, email: true}
		},
		messages: {
			nome_rementente: {required: 'Informe seu nome'},
			email_remetente: {required: 'Informe seu e-mail', email: 'Digite um e-mail válido'},
			nome_destinatario: {required: 'Informe o nome do indicado(a)'},
			email_destinatario: {required: 'Informe o e-mail do indicado(a)', email: 'Digite um e-mail válido'}
		},
		submitHandler: function(form){
			$('#retornoIndicacao').html('<img src="gfx/loader_mini.gif" />').fadeIn();
			
			// ENVIA O FORMULARIO
			$.post("loja/indicar", $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
	
	
	$("#formConfirmacao").validate({
		errorPlacement: function(error, element) {
			$('#erroFormaEnvio').html(error);
		},
		rules: {
			envio: {required: true}
		},
		messages: {
			envio: {required: 'Caso não apareça nenhuma forma de envio para ser selecionada, entre em contato para finalizar a compra através do telefone abaixo.'}
		},
		submitHandler: function(form){
			$('#retornoConfirmacaoPedido').html('<img src="gfx/loader_mini.gif" /> Aguarde, processando pedido...').fadeIn();
			
			// ENVIA O FORMULARIO
			$.post("loja/grava_pedido", $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
});



function getRetorno(data){
	
	var msg = '';
	
	if(data.tipo == 'cadastro-usuario'){
		if(data.rs == 'erro_post'){
			msg = 'É necessário preencher todos os campos do formulário';
		}
		if(data.rs == 'ja_cadastrado'){
			msg = 'O e-mail informado já foi cadastrado';
		}
		if(data.rs == 'ok_cadastro'){
			msg = 'Cadastro realizado com sucesso';//, verifique seu e-mail para ativar sua conta
			setTimeout(function(){ window.top.location = SITE_URL+'/cliente/minhaconta'; }, 1000);
		}
		if(data.rs == 'erro_db'){
			msg = 'Erro ao cadastrar novo usuário, por favor tente mais tarde';
		}
		if(data.rs == 'erro_envio_email'){
			msg = 'Erro ao enviar e-mail';
			setTimeout(function(){ window.top.location = SITE_URL+'/cliente/minhaconta'; }, 1000);
		}
		$('#retornoCadastro').html(msg).fadeIn().css('display','block');
	}

	if(data.tipo == 'pre-cadastro-usuario'){
		if(data.rs == 'ok'){
			msg = 'Redirecionando, aguarde...';
			setTimeout(function(){ window.top.location = SITE_URL+'/cliente/cadastro'; }, 1000);
		}
		if(data.rs == 'erro_post'){
			msg = 'Informe seu e-mail e cep';
		}
		if(data.rs == 'ja_cadastrado'){
			msg = 'O e-mail informado já foi cadastrado';
		}
		if(data.rs == 'erro_cep'){
			msg = 'CEP inválido';
		}

		// EXIBE MENSAGEM
		$('#erroCadastro').html(msg).fadeIn('slow');
		$('#retornoNovo').html('').hide();
		
		// AGUARDA UM TEMPO E MOSTRA O BOTÃO NOVAMENTE
		setTimeout(function(){ $('#btNovo').fadeIn(); }, 2000);
	}
	
	if(data.tipo == 'login-usuario'){
		if(data.rs == 'ok' || data.rs == 'nao-liberado'){
			msg = 'Redirecionando, aguarde...';
			setTimeout(function(){ window.top.location = data.url_destino; }, 1000);
		}
		if(data.rs == 'erro_post'){
			msg = 'Informe seu login e senha';
		}
		if(data.rs == 'nao-encontrado'){
			msg = 'Login e/ou senha incorretos';
		}
		// EXIBE MENSAGEM
		$('#erroLogin').html(msg).fadeIn('slow');
		$('#retornoLogin').html('').hide();
		
		// AGUARDA UM TEMPO E MOSTRA O BOTÃO NOVAMENTE
		setTimeout(function(){ $('#btLogar').fadeIn(); }, 2000);
	}
	
	if(data.tipo == 'alteracao-cadastro'){
		if(data.rs == 'ok'){
			msg = 'Cadastro atualizado com sucesso';
		}
		if(data.rs == 'erro_post'){
			msg = 'Erro ao processar cadastro';
		}
		if(data.rs == 'erro_zero'){
			msg = 'Erro: Nenhum dado foi alterado';
		}
		
		$('#retornoCadastro').html(msg).fadeIn();
	}

	if(data.tipo == 'alteracao-senha'){
		if(data.rs == 'erro_atual'){
			msg = 'Erro: Informe a senha antiga';
			$('#senha_atual').focus();
		}
		if(data.rs == 'erro_senha_errada'){
			msg = 'Erro: Informe a senha antiga corretamente';
			$('#senha_atual').focus();
		}
		if(data.rs == 'erro_nova'){
			msg = 'Erro: Informe a nova senha';
			$('#senha_nova').focus();
		}
		if(data.rs == 'erro_repetir'){
			msg = 'Erro: Repita a nova senha novamente';
			$('#senha_nova2').focus();
		}
		if(data.rs == 'erro_diferente'){
			msg = 'Erro: Você precisa repetir as senhas';
			$('#senha_nova2').focus();
		}
		if(data.rs == 'erro_zero'){
			msg = 'Erro: Nenhum dado foi alterado';
		}
		if(data.rs == 'ok'){
			msg = 'Senha alterada com sucesso';
			$('#senha_atual').val('');
			$('#senha_nova').val('');
			$('#senha_nova2').val('');
		}
		$('#retornoSenha').html(msg).fadeIn();
	}
	
	if(data.tipo == 'recuperar-senha'){
		if(data.rs == 'erro_post'){
			msg = 'E-mail inválido';
		}
		if(data.rs == 'nao-encontrado'){
			msg = 'E-mail não encontrado';
		}
		if(data.rs == 'nao-enviou'){
			msg = 'Erro ao enviar e-mail, por favor tente mais tarde';
		}
		if(data.rs == 'erro_db'){
			msg = 'Erro ao gravar nova senha, por favor tente mais tarde';
		}
		if(data.rs == 'ok'){
			msg = 'Senha alterada com sucesso, verifique seu e-mail para maiores detalhes';
			$('#emailRecuperar').val('');
			
			// AGUARDA UM TEMPO E FECHA A CAIXA
			setTimeout(function(){ $('#btRecuperarSenha').click(); $('#retornoRecuperar').fadeOut(); }, 1000);
		}
		$('#retornoRecuperar').html(msg).fadeIn();
	}
	
	
	if(data.tipo == 'enviar-contato'){
		if(data.rs == 'erro_post'){
			msg = 'Todos os campos são obrigatórios';
		}
		if(data.rs == 'erro_envio_email'){
			msg = 'Erro ao enviar e-mail, por favor tente mais tarde';
		}
		if(data.rs == 'ok'){
			msg = 'Mensagem enviada com sucesso.';
			$('#formContato input, #formContato textarea').val('');
			
			// AGUARDA UM TEMPO E FECHA A CAIXA
			setTimeout(function(){ $('#retornoContato').fadeOut('slow', function(){ $('#btContato').fadeIn(); }) }, 2000);
		}
		$('#retornoContato').html(msg).fadeIn();
	}
	
	
	if(data.tipo == 'busca-lista-casamento'){
		// EXIBE NOVAMENTE O BOTÃO
		$('#btBuscarLista').fadeIn();
		
		if(data.total > 0){
			// EXIBE MENSAGEM E REDIRECIONA PARA A BUSCA
			$('#retornoBuscaLista').html('');
			$('.listNoivos').html('').fadeOut();
			
			var liHTML = '';
			for( var i in data.casamentos)
			{
				//alert(data.casamentos[i]['noivo']);
				var classe = i==0 ? ' class="noBorder"' : ''
				liHTML += '<li'+classe+'>';
				liHTML += '<a href="listadecasamento/ver/'+data.casamentos[i]['id']+'/'+data.casamentos[i]['casal_url']+'.html">';
				liHTML += '<img src="gfx/bt_ver_lista.gif" class="verLista" alt="Veja a lista" width="102" height="28" />';
				liHTML += '<img src="'+data.casamentos[i]['src']+'" alt="" width="45" class="imgNoivos" />';
				liHTML += '<span>'+data.casamentos[i]['noiva']+'</span>';
				liHTML += '<span>'+data.casamentos[i]['noivo']+'</span>';
				liHTML += '<small>'+data.casamentos[i]['data_casamento']+' - '+data.casamentos[i]['casamento_tipo']+'</small>';
				liHTML += '</a>';
				liHTML += '</li>';
			}
			
			$('.listNoivos').html(liHTML).fadeIn();

		}else{
			$('#retornoBuscaLista').html('Não foi encontrado nenhum registro com estas informações.');
		}
	}
	
	
	if(data.tipo == 'filtra-categoria'){
		document.location.reload(true);
	}
	
	if(data.tipo == 'atualiza-carrinho'){
		window.location = SITE_URL+'/loja/carrinho';
	}
	
	if(data.tipo == 'remove-produto'){
		if(data.id != ''){
			// GUARDA OS VALORES DOS INPUT HIDDEN
			var valorProd = $('#valor_'+data.id).val();
			var valorSubTotal = $('#valor_subtotal').val();
			var valorTotal = $('#valor_total').val();
			var valorFrete = $('#valor_frete').val();
			var valorDesconto = $('#valor_desconto').val();

			// RETIRA O LOADER DO TD
			$('#tdBotao'+data.id).html('');
			
			// REMOVE A TR INTEIRA
			$('#tr_'+data.id).remove();
			
			// RECALCULA O VALOR (subtotal)
			var novoSub = parseFloat(valorSubTotal) - parseFloat(valorProd);
			
			// REESCREVE OS VALORES DOS INPUT HIDDEN
			$('#valor_subtotal').val(novoSub);
			
			// REMOVEU O ÚLTIMO PRODUTO
			if(novoSub == 0 || valorProd == valorSubTotal){
				window.location = SITE_URL+'/loja';
			}
			
			// EXIBE OS ROTULOS DOS NOVOS VALORES
			$('#rotuloSubtotal').html((novoSub > 0 ? 'R$'+number_format(novoSub,2,',','') : 'Erro'));
			
			// RENOVA O VALOR TOTAL
			totalCarrinho();
			
			// REMOVE TODAS AS CLASSES
			$('.tbZebra tr').removeClass('highlight');
			
			// ZEBRA NOVAMENTE A TABELA
			$('.tbZebra tr:odd').addClass('highlight');
		}
	}
	
	
	if(data.tipo == 'ticket-desconto'){
		if(data.rs == 'ok'){
			var subtotal = $('#valor_subtotal').val();
			
			// VALOR EM PORCENTAGEM OU REAL
			var desc = data.idTipo==1 ? subtotal*(data.desconto/100) : data.desconto;
			
			var descontoTotal = desc > subtotal ? subtotal : desc;
			
			$('#rotuloDesconto').html('R$'+number_format(descontoTotal,2,',',''));
			$('.txt_desconto').html('<a href="javascript:void(0);" onclick="removeTicket('+data.idTicket+');">Remover Ticket</a>');
			$('#valor_desconto').val(descontoTotal);
			$('#id_ticket').val(data.idTicket);
		}else{
			$('#rotuloDesconto').html('R$0,00');
			$('.txt_desconto').html(data.msg);
			$('#valor_desconto').val('0');
			$('#id_ticket').val('');
		}
		// ATUALIZA O VALOR TOTAL
		totalCarrinho();
	}
	
	
	if(data.tipo == 'salvar-casamento'){
		if(data.rs == 'ok'){
			msg = data.msg;
			
			// URL DESTINO INSERÇÃO/EDICAO
			var urlDest = data.acao == 'inserir' ? '/loja' : '/listadecasamento/minhalista'
			
			if (swfu.getStats().files_queued > 0){
				swfu.addPostParam('idRegistro', data.id);
				swfu.startUpload();
				return false;
			}
			// AGUARDA UM TEMPO E REDIRECIONA PARA A LOJA
			//setTimeout(function(){ window.location = SITE_URL+urlDest}, 3000);
		}
		if(data.rs == 'erro_zero'){
			msg = 'Nenhum dado foi alterado.';
		}
		if(data.rs == 'erro_db'){
			msg = 'Erro ao conectar DB, por favor tente mais tarde.';
		}
		
		$('#retornoCasamento').html(msg).fadeIn();
		return false;
	}
	
	if(data.tipo == 'atualizar-casamento-grade'){
		var classDiv = data.chave;
		
		if(data.rs == 'ok')
		{
			msg = 'Quantidade atualizada';
			setTimeout(function(){ $('.retornoCarrinhoCasamento'+classDiv).html('').fadeOut(); }, 2000);
		}
		if(data.rs == 'erro_estoque')
		{
			msg = 'Quantidade informada é superiror ao estoque';
		}
		if(data.rs == 'erro_produto_grade')
		{
			msg = 'Grade do produto não encontrada';
		}
		if(data.rs == 'erro_produto')
		{
			msg = 'Produto não encontrado';
		}
		if(data.rs == 'erro_casamento_grade')
		{
			msg = 'Lista de casamento não encontradaa';
		}
		if(data.rs == 'erro_cliente')
		{
			msg = 'Você não possui permissão para editar este casamento';
		}
		if(data.rs == 'erro_post')
		{
			msg = 'Informe a quantidade desejada';
		}
		$('.retornoCarrinhoCasamento'+classDiv).html(msg).fadeIn();
	}

	if(data.tipo == 'remove-casamento-grade'){
		if(data.idCasamento != ''){
			// REMOVE O ITEM INTEIRO
			$('.li_grade'+data.idCasamento).remove();
		}
		
		var total = $('#listaCasamentoGrade').children().length;
		if(total == 0){
			$('#listaCasamentoGrade').html('<h4>Nenhum Produto Cadastrado</h4><a href="'+SITE_URL+'/loja" title="Ver loja virtual">Acesse a loja e escolha produtos para a lista</a>');
		}
	}
	
	if(data.tipo == 'adiciona-item-casamento'){
		if(data.rs == 'erro_ja_inserido'){ msg = 'Este produto já consta na sua lista de casamento'; }
		if(data.rs == 'ok'){
			msg = 'Produto adicionado com sucesso';
			
			setTimeout(function(){
				$('.relativo').hide();
				$('#qtde_desejada').val('1');
				$('#retornoProdutoCasamento').html('').fadeOut();
			}, 2000);
		}
		if(data.rs == 'erro'){ msg = 'Erro ao adicionar o item, por favor tente mais tarde'; }
		if(data.rs == 'erro_casamento'){ msg = 'Lista de Casamento não encontrada'; }
		if(data.rs == 'erro_post'){ msg = 'Erro ao processar dados, por favor tente mais tarde'; }
		
		$('#retornoProdutoCasamento').html(msg).fadeIn();
	}
	
	if(data.tipo == 'indicacao-produto'){
		if(data.rs == 'erro_post'){ msg = 'Erro ao processar informações.'; }
		if(data.rs == 'erro_envio_email'){ msg = 'Não foi possível enviar a indicação, por favor tente mais tarde'; }
		if(data.rs == 'ok'){
			msg = 'Indicação enviada com sucesso.';
			setTimeout(function(){
				$('#nome_rementente').val('');
				$('#email_remetente').val('');
				$('#nome_destinatario').val('');
				$('#email_destinatario').val('');
				$('#retornoIndicacao').html('').fadeOut();
				$('.btIndique').click();
			}, 2000);
		}
		$('#retornoIndicacao').html(msg).fadeIn();
	}
	
	if(data.tipo == 'lembrar-senha'){
		if(data.rs == 'email_invalido'){ msg = 'E-mail inválido'; }
		if(data.rs == 'email_nao_encontrado'){ msg = 'E-mail não encontrado'; }
		if(data.rs == 'erro_envio_email'){ msg = 'Erro ao enviar e-mail, por favor tente mais tarde'; }
		if(data.rs == 'ok'){
			msg = 'Verifique seu e-mail para confirmar a alteração';
			setTimeout(function(){
				$('#email_lembrar').val('E-mail cadastrado');
				$('.fecharLembrar').click();
				$('#retornoLembrar').fadeOut();
			}, 2000);
		}
		
		$('#retornoLembrar').html(msg).css('display','block');
	}
	
	if(data.tipo == 'grade-na-lista-de-casamento'){
		//$('#retornoProdutoCasamento').html('Finalize aquele pedido ou o remova de seu carrinho seus itens de lista de casamento.').css('display','block');
		// não tá exibindo a div de cima
		//window.location = SITE_URL+'/listadecasamento/verifica_normal';
		$.post('listadecasamento/verifica_normal/', {'id_casamento':data.idCasamento,'opcao_grade':data.idGrade}, getRetorno, "json");
		
		//setTimeout(function(){ window.location = SITE_URL+'/loja/carrinho' }, 3000);
	}
	
	if(data.tipo == 'troca-endereco-pedido'){
		if(data.rs == 'erro_cep'){ alert('CEP inválido'); }
		if(data.rs == 'ok'){
			
			if(data.destinatario!=''){
				$('#pedidoDestinatario').val(data.destinatario);  $('#labelDestinatario').html(data.destinatario);
			}
			if(data.telefone!=''){
				$('#pedidoTelefone').val(data.telefone);          $('#labelTelefone').html(data.telefone);
			}
			if(data.complemento != ''){
				$('#pedidoComplemento').val(data.complemento);    $('#labelComplemento').html('<br /><strong>Complemento:</strong> '+data.complemento);
			}
			
			// VALOR DOS INPUTS                               // VALOR DOS ROTULOS
			$('#pedidoCep').val(data.cep);                    $('#labelCep').html(data.cep);
			$('#pedidoLogradouro').val(data.logradouro);      $('#labeLogradouro').html(data.logradouro);
			$('#pedidoNumero').val(data.numero);              $('#labelNumero').html(data.numero);
			$('#pedidoBairro').val(data.bairro);              $('#labelBairro').html(data.bairro);
			$('#pedidoIdCidade').val(data.id_cidade);
			$('#pedidoCidade').val(data.cidade);              $('#labelCidade').html(data.cidade);
			$('#pedidoUf').val(data.uf);                      $('#labelUf').html(data.uf);

			$('#valor_frete').val(data.frete);               $('#rotuloFrete').html('R$ '+number_format(data.frete,2,',',''));
			$('#valor_transportadora').val(data.transportadora);      $('#rotuloTransportadora').html('R$ '+number_format(data.transportadora,2,',',''));
			
			
			// não pode atualizar o frete, pois na condição, peso > 30 na troca de endereço para entrega
			// o retorno do cep dá erro por causa do peso

			// SE ESTIVER SELECIONADO SEDEX ATUALIZA O VALOR DO FRETE
			var envioSelecionado = $("#formConfirmacao input:checked").val();
			
			if(envioSelecionado=='sedex'){
				$('#labelFrete').html('R$ '+number_format(data.frete,2,',',''));
			}
			if(envioSelecionado=='transportadora'){
				$('#labelFrete').html('R$ '+number_format(data.transportadora,2,',',''));
			}
			totalCarrinhoConfirmacao();

			
			setTimeout(function(){
				$('#loaderTroca').remove();
				$('.dvOutroEndereco').fadeOut();
			}, 2000);
		}
	}
	
	if(data.tipo == 'salva-pedido'){
		if(data.rs == 'erro_bd'){
			$('#retornoConfirmacaoPedido').html('<b class="error">Erro ao processar pedido, por favor tente mais tarde</b>');
		}
		if(data.rs == 'ok'){
			window.location = SITE_URL+'/loja/pagseguro';
		}
	}
	
	if(data.tipo == 'aviseme'){
		if(data.rs == 'erro_post' || data.rs == 'erro_nome_email'){
			$('#retornoAviseme').html('Nome e e-mail são campos obrigatórios');
		}
		if(data.rs == 'erro_bd'){
			$('#retornoAviseme').html('Erro ao processar cadastro, por favor tente mais tarde');
		}
		if(data.rs == 'erro_ja_cadastrado'){
			$('#retornoAviseme').html('Este e-mail já foi cadastrado');
			$('#avise_email').val('').focus();
		}
		
		if(data.rs == 'ok'){
			$('#retornoAviseme').html('E-mail cadastrado com sucesso');
			
			// ESVAZIA OS INPUTS E FECHA O FORM
			$('#avise_nome').val('');
			$('#avise_email').val('');
			$('#avise_telefone').val('');
			
			setTimeout(function(){
				$('.btAviseme').click();
				$('#retornoAviseme').html('');
			}, 1000);
		}
	}
	
}



function retornEndereco(rs){
	// VALIDA O RESULTADO
	if(rs.resultado == "ok"){
		$("#txtCEP").text("");
		$(".logradouro").attr("value",rs.endereco);
		$(".bairro").attr("value",rs.bairro);
		$(".cidade").attr("value",rs.cidade);
		$(".id_cidade").attr("value",rs.id_cidade);
		$(".uf").attr("value",rs.uf);
	}else{
		$("#txtCEP").text("Digite um CEP válido");
		$(".logradouro").attr("value","");
		$(".bairro").attr("value","");
		$(".cidade").attr("value","");
		$(".id_cidade").attr("value","");
		$(".uf").attr("value","");
	}
}

// CALCULA O FRETE DO CEP INFORMADO
function retornEnderecoCarrinho(rs){
	// VALIDA O RESULTADO
	if(rs.resultado == "ok"){
		var n = $("#marcar_frete_gratis:checked").length;
		if(n > 0){
			$("#marcar_frete_gratis").click();
		}
		
		$("#rotuloFrete").text('R$'+number_format(rs.frete,2,',',''));
		$(".cidade_uf").text(rs.cidade+' - '+rs.uf);
		$("#valor_frete").attr("value",rs.frete);
	}else{
		$("#rotuloFrete").text("CEP inválido");
		$(".cidade_uf").text('');
		$("#valor_frete").attr("value","0");
	}
	// ATUALIZA O VALOR TOTAL
	totalCarrinho();
}

// CALCULA O FRETE NA CONFIRMAÇÃO DE PEDIDO
function fretePedido(testaCEP){
	// EXPRESSAO REGULAR PARA ACEITAR APENAS NUMEROS INTEIROS
	var reDigits = /^\d+$/;
	var peso = $('#peso_pedido').val();
	var frete_gratis = $('#pedidoFreteGratis').val();

	if(testaCEP.length == 8 && reDigits.test(testaCEP) && frete_gratis==0) {
		$.post("loja/cep", {'cep':testaCEP,'peso':peso}, retornoFrete, "json");
	} else {
		$("#valor_frete").val("0");
		$("#labelFrete").html("Grátis");
		$("#rotuloFrete").html("Grátis");
	}
}

function retornoFrete(rs){
	if(rs.result != 'erro_cep'){
		$("#valor_frete").attr("value",rs.frete);
		$("#labelFrete").html("R$ "+number_format(rs.frete,2,',',''));
		$("#rotuloFrete").html("R$ "+number_format(rs.frete,2,',',''));
	}
}

// VERIFICA O CEP NA ALTERAÇÃO DO DESTINO
function retornoTrocaEndereco(rs){
	$('#loaderTroca').remove();
	
	if(rs.resultado == 'ok'){
		$('#newLogradouro').val(rs.endereco);
		$('#newBairro').val(rs.bairro);
		$('#newCidade').val(rs.cidade);
		$('#newUf').val(rs.uf);
		
		
	}else{
		alert('CEP inválido');
		$('#newCep').val('');
		$('#newLogradouro').val('');
		$('#newBairro').val('');
		$('#newCidade').val('');
		$('#newUf').val('');
	}
	totalCarrinhoConfirmacao();
}


// ATUALIZA O VALOR TOTAL DO CARRINHO
function totalCarrinho(){
	// PEGA OS VALORES DOS INPUTS
	var pesoPedido = $("#peso_pedido").val();// se = 0, frete gratis
	var valorFrete = $("#valor_frete").val();
	var valorTransportadora = $("#valor_transportadora").val();
	var valorDesconto = $("#valor_desconto").val();
	var valorSub = $("#valor_subtotal").val();
	
	var precoEnvio = valorFrete;
	
	// RECALCULA OS VALORES (subtotal, total), ATENÇÃO PARA O FRETE E DESCONTO CAS JÁ INFORMADO
	var novoTotal = parseFloat(valorSub) - parseFloat(valorDesconto) + parseFloat(precoEnvio);
	// sem o parseFloat o novoTotal estava gerando erro: 1234 - 234 = 2340
	
	// REESCREVE OS VALORES DOS INPUT HIDDEN
	$('#valor_total').val(novoTotal);
	
	// EXIBE OS ROTULOS DOS NOVOS VALORES
	$('#rotuloTotal').html((novoTotal > 0 ? 'R$ '+number_format(novoTotal,2,',','') : 'Erro ao calcular frete'));
}

// ATUALIZA O VALOR TOTAL DO CARRINHO
function totalCarrinhoConfirmacao(){
	// PEGA OS VALORES DOS INPUTS
	var pesoPedido = $("#peso_pedido").val();// se = 0, frete gratis
	var valorFrete = $("#valor_frete").val();
	var valorTransportadora = $("#valor_transportadora").val();
	var valorDesconto = $("#valor_desconto").val();
	var valorSub = $("#valor_subtotal").val();
	
	//
	var precoEnvio =  0;//$("#valor_envio").val();//'erro';
	var envioSelecionado = $("#formConfirmacao input:checked").val();
	
	if(envioSelecionado=='sedex'){
		precoEnvio = valorFrete;
		$('#labelFrete').html('R$ '+number_format(precoEnvio,2,',',''));
	}
	if(envioSelecionado=='transportadora'){
		precoEnvio = valorTransportadora;
		$('#labelFrete').html('R$ '+number_format(precoEnvio,2,',',''));
	}
	if(envioSelecionado=='' && pesoPedido==0){
		precoEnvio = 0;
		$('#labelFrete').html('Frete grátis');
	}
	
	if(precoEnvio=='erro'){
		alert('Erro ao calcular frete, por favor entre em contato para finalizar o pedido');
	}
	
	// RECALCULA OS VALORES (subtotal, total), ATENÇÃO PARA O FRETE E DESCONTO CAS JÁ INFORMADO
	var novoTotal = parseFloat(valorSub) - parseFloat(valorDesconto) + parseFloat(precoEnvio);
	// sem o parseFloat o novoTotal estava gerando erro: 1234 - 234 = 2340
	
	// REESCREVE OS VALORES DOS INPUT HIDDEN
	$('#valor_total').val(novoTotal);
	
	// EXIBE OS ROTULOS DOS NOVOS VALORES
	$('#labelTotal').html((novoTotal > 0 ? 'R$ '+number_format(novoTotal,2,',','') : 'Erro ao calcular frete'));
}

// TORNA O TICKET DISPONIVEL PARA USO
function removeTicket(idTicket){
	$.post('ticket/remover/'+idTicket, false, getRetorno, "json");
	return false;
}

// funcao javascript equivalente a funcao do php
function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "." : dec_point;
    var t = thousands_sep == undefined ? "," : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

function is_numeric( mixed_var ) {
    if (mixed_var === '') {
        return false;
    }
 
    return !isNaN(mixed_var * 1);
}

// CONFIRMA A EXCLUSAO DE REGISTROS
function confirmaExclusao(titulo,url){
	if(confirm('Deseja excluir o registro? '+urldecode(titulo))) 
	{
		window.location = url;
	}
	//return false;
}

/**
 * CONTATO - MAPA EM SHADOWBOX
 */
function showMap(){
	Shadowbox.open({
		player:     'html',
		content:    mapa,
		height:     500,
		width:      700
	});
};



