﻿// JavaScript Document

// VARIAVEIS PARA SUBMENU
var menuTimer = 0;
var speed = 400;

function hideMenu() {
	$(".menu").fadeOut(speed);
}


// FUNÇÕES QUE PRECISAM DO DOCUMENTO PRONTO
$(document).ready(function(){
	// EXIBE MENU
	$(".btMenu").live("mouseover",function () {
		$(".menu").fadeIn();
		clearTimeout(menuTimer);
	}).live("mouseout",function () {
		menuTimer = setTimeout("hideMenu()", 1000);
	});
	
	$(".menu a").live("mouseover",function () {
		clearTimeout(menuTimer);
	}).live("mouseout",function () {
		menuTimer = setTimeout("hideMenu()", 1000);
	});

});


$(function(){
	// MÁSCARAS
	jQuery(function($){
		$(".uf").mask("aa");
		$(".ddd").mask("99");
		$(".fone").mask("(99) 9999.9999");
		$(".telefone").mask("(99) 9999.9999");
		$(".data").mask("99/99/9999");
		$(".hora").mask("99:99");
		$(".cpf").mask("999.999.999-99");
		$(".cnpj").mask("99.999.999/9999-99");
		$("#carrinho_cep").mask("99.999-999");
		$(".inputCaptcha").mask("****");
	});
	
	// ABRIR LINKS COM REL BLANK
	$("a[rel=_blank]").click(function(){
		window.open($(this).attr('href'));
		return false;
	});
	$("a[rel^='shadowbox']").fancybox();
	
	$("a.open_popup").fancybox({
		'hideOnContentClick' : false,
		'frameWidth'			: 470
	});

	
	// RETIRA CONTEUDO INICIAL DOS INPUTS
	$("#formBusca input[type='text'], #formBuscaTopo input[type='text'], #formContato input[type='text'], #formContato textarea, #formTecnico input[type='text'], #formTecnico textarea, #formLogin input[type='text'], .boxPrice input[type='text'], #formSolicitaProduto input[type='text'], #formSolicitaProduto textarea").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"));
			}
		});
	});
	
	// ABRE/FECHA SUBMENU
	/*$('.btMenu').click(function(){
		$('ul.menu').slideToggle();
	});*/
	
	// PAGINAÇÃO DA GALERIA DE FOTOS
	$('a.carregaGaleria').click(function(){
		// EXIBE PRELOADER
		$('.galleryThumbs').html('<img src="gfx/loader.gif" class="gifPreloader" />');
		
		// REMOVE TODAS AS CLASSES CURRENT E ADICIONA AO ITEM CLICADO
		$('.paginacaoFotos a.current').removeClass('current');
		$(this).addClass('current');
		
		// VARIAVEIS
		var ini = $(this).attr('title');
		var id = $(this).attr('rel');
		
		// CARREGA MINIATURAS E ESCONDE O PRELOADER
		$('.galleryThumbs').load('galeria/miniaturas/'+id+'/'+ini, false, hidePreloader);
	});
	
	// PLAYER CYCLE
	if($('.dvVisitados').css('display')){
		$('.dvVisitados').cycle({ 
			fx       : 'scrollHorz',
			next     : '.arrowLeft',
			prev     : '.arrowRight',
			timeout  : 0
		});
	}
	
	// TROCA O FILTRO (NA PÁGINA DE CATEGORIAS)
	$('.filtro').change(function(){
		window.location = $('#base_filtro').val()+$(this).val();
	});
	
	// ATUALIZA A QUANTIDADE DE UM PRODUTO
	$(".updateQtde").blur(function(){
		var key = $(this).attr('alt');
		var novaQtde = $(this).val();
		var maximo = $('#max_'+key).val();
		
		// PROCESSA A EXCLUSÃO
		$.post('produto/atualizar_produto', {"indice":key,"qtde_":novaQtde,"qtde_max":maximo}, getRetorno, "json");
	});
	
	// REMOVE UM PRODUTO DO CARRINHO
	$(".btRemoverProduto").click(function(){
		var key = $(this).attr('rel');
		
		// REMOVE A LINHA (TR) DO CARRINHO
		$('.linha_'+key).slideUp();
		
		// PROCESSA A EXCLUSÃO
		$.post('produto/remover/'+key, false, getRetorno, "json");
	});
	
	// CALCULA FRETE DO CARRINHO
	$('.btCarrinhoCep').click(function(){
		var reDigits = /^\d+$/;// EXPRESSAO REGULAR PARA ACEITAR APENAS NUMEROS INTEIROS
		var cep = $('#carrinho_cep').val();
		var peso = $('#peso_total').val();
		var subtotal = $('#valor_subtotal').val();
		
		cep = remove(cep, ".");
		cep = remove(cep, "-");

		if(cep.length == 8 && reDigits.test(cep)){
			$('.labelCep').html('Processando CEP...');
			$.post("carrinho/cep", {'cep':cep, 'peso':peso, 'subtotal':subtotal}, retornoCarrinhoCep, "json");
		}
	});
	
	//
	$('.spRadioFrete input[type=radio]').click(function(){
		var tipo_escolhido = $(this).val();
		var valor_escolhido = $('#valor_'+tipo_escolhido).val();
		
		if(valor_escolhido != 0){
			$('.labelFrete').html('R$ '+number_format(valor_escolhido,2,',',''));
			$('#valor_frete').val(valor_escolhido);
			atualizaTotal();
		}
	});
	
	//
	$(".btCarrinhoTicket").click(function(){
		// VERIFICA O TICKET
		var codigo = $('#codigoTicket').val();
		
		if(codigo.length == 12){
			$('#rotuloDesconto').html('<img src="gfx/loader_mini.gif" />');
			$.post('ticket/consultar/'+codigo, false, getRetorno, "json");
		}
	});

	// NA ÁREA DO USUÁRIO, EXIBE OS ITENS DE UM PEDIDO
	$('.abrirDetalhe').click(function(){
		var id = $(this).attr('rel');
		$('#detPedido'+id).slideToggle();
	});
	
	// MOSTRA/OCULTA FORMULÁRIO
	$('.abreAvise').click(function(){
		$('.nao_pode_comprar').slideToggle();
	});
	$('.esqueceu').click(function(){
		$('#formLembrar').slideToggle();
	});
	
	//
	$(".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)){
			$('.loaderCep').fadeIn();
			$.post("cliente/cep", {'cep':cep}, retornEndereco, "json");
		} else {
			$(".logradouro").val("");
			$(".bairro").val("");
			$(".id_cidade").val("");
			$(".cidade").val("");
			$(".uf").val("");
			$(".cidade_uf").val("");
		}
	});
	
	
	// VALIDAÇÃO DE FORMULÁRIOS
	$("#formProduto").validate({
		rules: {
			receita: {required: $('#requer_receita').val()!=0 },
			estoque: {required: true }
		},
		messages: {
			receita: {required: 'Marque a opção concordando em enviar a receita ao finalizar a compra.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' },
			estoque: {required: 'Produto sem estoque'}
		},
		submitHandler: function(form){
			// ENVIA O FORMULARIO
			$.post('produto/incluir_no_carrinho', $(form).serializeArray(), getRetorno, "json");
			
			return false;
		}
	});
	
	$('#formAviseme').validate({
		rules: {
			avise_nome: {required: true, diferenteDe:'Informe seu nome'},
			avise_email: {required: true, email:true}
		},
		messages: {
			avise_nome: {required: 'Informe seu nome', diferenteDe:'Digite seu nome'},
			avise_email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'}
		},
		submitHandler: function(form){
			$('#retornoAviseme').html('Aguarde, enviando informações...')
			
			// ENVIA O FORMULARIO
			$.post('produto/avise_me', { 'nome':$('#avise_nome').val(),'email':$('#avise_email').val(),'telefone':$('#avise_telefone').val(),'id_produto':$('#id_produto').val() }, getRetorno, "json");
			return false;
		}
	});
	
	$("#formEntrega").validate({
		errorPlacement: function(error, element) {
			$('#retornoEntrega').html(error);
		},
		rules: {
			tipo_entrega: {required: true, minlength:1 }
		},
		messages: {
			tipo_entrega: {required: 'Nenhuma forma de entrega disponível no momento, tente mais tarde ou entre em contato <a href="contato">clicando aqui</a>.', minlength:'erro' }
		}
	});
	
	$("#formPagamento").validate({
		errorPlacement: function(error, element) {
			$('#retornoPagamento').html(error);
		},
		rules: {
			forma_pgto: {required: true }
		},
		messages: {
			forma_pgto: {required: 'Escolha uma forma de pagamento.' }
		}
	});
	
	$("#formGravarPedido").validate({
		submitHandler: function(form){
			$('#retornoGravarPedido').html('Aguarde, enviando informações...');
			$('#btGravarPedido').attr('disabled','disabled').fadeIn();
			
			// ENVIA O FORMULARIO
			$.post('carrinho/grava_pedido', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
	$("#formVisa").validate({
		rules: {
			ccn: {required: true },
			cvv2: {required: true },
			exp: {required: true }
		},
		messages: {
			ccn: {required: 'Informe o número do cartão' },
			cvv2: {required: 'Informe o código de segurança do cartão' },
			exp: {required: 'Informe a data de vencimento do cartão' }
		},
		submitHandler: function(form){
			$('#retornoVisa').html('<img src="'+SITE_URL+'/gfx/loader.gif" /> Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post(SITE_URL+'/visa', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
	
	$("input[name=tipo_pessoa]").click(function(){
		var tipoDoc = 'CPF';
		// MUDA OS ROTULOS DE PESSOA FISICA E JURIDICA
		if($(this).val()=='fisica'){
			$('#cpf_cnpj').removeClass('cnpj').addClass('cpf');
			$('#dvJuridica').hide();
		}
		if($(this).val()=='juridica'){
			tipoDoc = 'CNPJ';
			$('#cpf_cnpj').removeClass('cpf').addClass('cnpj');
			$('#dvJuridica').show();
		}
		$('#rotuloDocumento').html(tipoDoc);
	});
	$("#formCadastro").validate({
		rules: {
			cad_email: {required: true, email:true},
			cad_senha: {required: "#informar_senha:checked" , minlength: 6},
			cad_senha2: {required: "#informar_senha:checked" , minlength: 6, equalTo: "#cad_senha"},
			cad_nome: {required: true, minlength: 3},
			cpf_cnpj: {required: true, cpf:function(element) {
					if($("#pessoaFisica:checked").length){ return true; }
				}, cnpj:function(element) {
					if($("#pessoaJuridica:checked").length){ return true; }
				}
			},
			cad_razao: {required: "#pessoaJuridica:checked"},
			cad_ie: {required: "#pessoaJuridica:checked"},
			cad_nascimento: {required: true},
			cad_telefone: {required:true},
			cad_cep: {required: "#novo_cadastro:checked"},
			cad_logradouro: {required: "#novo_cadastro:checked"},
			cad_numero: {required: "#novo_cadastro:checked"},
			cad_bairro: {required: "#novo_cadastro:checked"},
			cad_uf: {required: "#novo_cadastro:checked"},
			cad_cidade: {required: "#novo_cadastro:checked"},
			cad_concordo: {required: true},
			cod_captcha: {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 o número do documento', cpf:'Informe um CPF válido', cnpj:'Informe um CNPJ válido'},
			cad_razao: {required: "Informe a razão social"},
			cad_ie: {required: "Informe a inscrição estadual"},
			cad_nascimento: {required: 'Informe sua data de nascimento'},
			cad_telefone: {required: 'Informe seu telefone'},
			cad_cep: {required: 'Informe o CEP'},
			cad_logradouro: {required: 'Informe seu endereço'},
			cad_numero: {required: 'Informe o número'},
			cad_bairro: {required: 'Informe o bairro'},
			cad_uf: {required: 'Informe a UF'},
			cad_cidade: {required: 'Informe sua cidade'},
			cad_concordo: {required: 'É necessário ler e aceitar os termos<br />&nbsp; &nbsp; &nbsp; '},
			cod_captcha: {required: '&nbsp; Informe o código<br />&nbsp; de segurança '}
		},
		submitHandler: function(form){
			$('#retornoCadastro').html('<img src="gfx/loader.gif" /> Aguarde, processando...');
			
			var acao = $('#id_cliente').val() == '' ? 'cliente/cadastrar' : 'cliente/alterar_cadastro';
			
			// ENVIA O FORMULARIO
			$.post(acao, $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	$("#formEndereco").validate({
		rules: {
			titulo: {required: true},
			tipo: {required: true},
			rua: {required: true},
			numero: {required: true},
			bairro: {required: true},
			cep: {required: true},
			cidade: {required: true},
			uf: {required: true},
			telefone: {required: true}
		},
		messages: {
			titulo: {required: 'Informe uma identificação para o endereço'},
			tipo: {required: 'Selecione o tipo do endereço'},
			rua: {required: 'Informe o logradouro'},
			numero: {required: 'Informe o número'},
			bairro: {required: 'Informe o bairro'},
			cep: {required: 'Informe o CEP'},
			cidade: {required: 'Informe a cidade'},
			uf: {required: 'Informe a UF'},
			telefone: {required: 'Informe o telefone'}
		},
		submitHandler: function(form){
			$('#retornoEndereco').html('<img src="gfx/loader.gif" /> Aguarde, processando...');
			
			var acao = $('#id_cliente_endereco').val() == '' ? 'cliente/novo_endereco' : 'cliente/atualizar_endereco';
			
			// ENVIA O FORMULARIO
			$.post(acao, $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
	
	// MARCA O CHECKBOX CORRESPONDENTE
	$("#log_cep, #log_senha").focus(function(){
		var sel = $(this).attr('alt');
		$("#tipo"+sel).click();
	});
	$("#formLogin").validate({
		rules: {
			log_email: {required: true, email:true},
			log_senha: {required: "#tipoLogar:checked"},
			log_cep: {required: "#tipoCadastrar:checked", maxlength:function(element) {
					return $("#tipoCadastrar:checked").val()=='precadastro' ? 8 : 50;
				}
			}
		},
		messages: {
			log_email: {required: '&nbsp; Informe seu e-mail', email:'&nbsp; E-mail inválido'},
			log_senha: {required: '&nbsp; &nbsp; &nbsp; &nbsp; Informe sua senha'},
			log_cep: {required: '&nbsp; &nbsp; &nbsp; &nbsp; Informe o CEP', maxlength:'&nbsp; &nbsp; &nbsp; &nbsp; Informe um CEP válido'}
		},
		submitHandler: function(form){
			// EXIBE IMAGEM PRELOADER
			$('#retornoLogin').html('<img src="gfx/loader.gif" />');
			
			// VERIFICA SE É NOVO USUÁRIO OU NÃO
			var actionForm = $('#formLogin input[type=radio]:checked').val();
			
			// ENVIA O FORMULARIO
			$.post('cliente/'+actionForm, $(form).serializeArray(), getRetorno, "json");
			
			return false;
		}
	});
	$("#formLembrar").validate({
		rules: {
			lembrar_email: {required: true, email:true}
		},
		messages: {
			lembrar_email: {required: '<br />Informe o seu e-mail de cadastro<br />', email:'<br />Informe um e-mail válido<br />'}
		},
		submitHandler: function(form){
			// EXIBE IMAGEM PRELOADER
			$('#retornoLembrar').html('<img src="gfx/loader.gif" />');
			
			// ENVIA O FORMULARIO
			$.post('cliente/lembrar_senha', {'email':$('#lembrar_email').val() }, getRetorno, "json");
			
			return false;
		}
	});

	$("#formSenha").validate({
		rules: {
			senha_atual: {required: true },
			senha_nova: {required: true, minlength: 6, notEqual:"#senha_atual"},
			senha_nova2: {required: true, minlength: 6, equalTo: "#senha_nova"},
			cod_captcha: {required: true }
		},
		messages: {
			senha_atual: {required: 'Informe sua senha atual' },
			senha_nova: {required: 'Informe sua nova senha', minlength: 'Digite pelo menos 6 caracteres', notEqual:"A senha nova e atual precisam ser diferentes"},
			senha_nova2: {required: 'Repita a nova senha', minlength: 'Digite pelo menos 6 caracteres', equalTo: 'Informe a mesma senha'},
			cod_captcha: {required: '&nbsp; Informe o código<br />&nbsp; de segurança '}
		},
		submitHandler: function(form){
			$('#retornoSenha').html('<img src="gfx/loader.gif" /> Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post("cliente/alterasenha", $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
	$("#formSolicitaProduto").validate({
		rules: {
			sol_produto: {required:true},
			sol_nome: {required:true, diferenteDe:'Nome'},
			sol_email: {required:true , email:true}
		},
		messages: {
			sol_produto: {required:'Informe o nome do produto que deseja'},
			sol_nome: {required:'Informe seu nome', diferenteDe:'Informe seu nome'},
			sol_email: {required:'Informe seu e-mail' , email:'Informe um e-mail válido'}
		},
		submitHandler: function(form){
			$('#retornoSolicitaProduto').html('<img src="gfx/loader.gif" /> Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post('produto/solicitacao', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});

	
	$("#formContato").validate({
		rules: {
			nome: {required: true, diferenteDe:'Nome'},
			email: {required: true, email:true},
			texto: {required: true, diferenteDe:'Mensagem'}
		},
		messages: {
			nome: {required: 'Informe seu nome',diferenteDe:'Informe seu nomne'},
			email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			texto: {required: 'Informe a mensagem',diferenteDe:'Informe sua mensagem'}
		},
		submitHandler: function(form){
			// DESABILITA O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#formContato .btEnvia').attr('disable','disable');
			$('#retornoContato').html('Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post('envia_email/contato', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	$("#formTecnico").validate({
		rules: {
			nome: {required: true, diferenteDe:'Nome'},
			email: {required: true, email:true},
			email_tecnico: {required: true},
			texto: {required: true, diferenteDe:'Mensagem'}
		},
		messages: {
			nome: {required: 'Informe seu nome',diferenteDe:'Informe seu nomne'},
			email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			email_tecnico: {required: 'Selecione uma área'},
			texto: {required: 'Informe a mensagem',diferenteDe:'Informe sua mensagem'}
		},
		submitHandler: function(form){
			// DESABILITA O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#formTecnico .btEnvia').attr('disable','disable');
			$('#retornoTecnico').html('Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post('envia_email/tecnico', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	$("#formCurriculo").validate({
		rules: {
			nome: {required: true, diferenteDe:'Nome'},
			email: {required: true, email:true},
			telefone: {required: true},
			escolaridade: {required: true, diferenteDe:'Graduação e cursos'}
		},
		messages: {
			nome: {required: 'Informe seu nome',diferenteDe:'Informe seu nomne'},
			email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			telefone: {required: 'Informe seu telefone'},
			escolaridade: {required: 'Informe sua formação escolar',diferenteDe:'Informe sua formação escolar'}
		},
		submitHandler: function(form){
			// DESABILITA O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#formCurriculo .btEnvia').attr('disable','disable');
			$('#retornoCurriculo').html('Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post('envia_email/curriculo', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
	$('#formCartao').validate({
		rules: {
			nome: {required: true},
			email: {required: true, email:true},
			cpf: {required: true},
			endereco: {required: true},
			bairro: {required: true},
			cep: {required: true},
			telefone: {required: true},
			escolaridade: {required: true}
		},
		messages: {
			nome: {required: 'Informe o nome'},
			email: {required: 'Informe o e-mail', email:'Informe um e-mail válido'},
			cpf: {required: 'Informe o CPF'},
			endereco: {required: 'Informe o endereço'},
			bairro: {required: 'Informe o bairro'},
			cep: {required: 'Informe o CEP'},
			telefone: {required: 'Informe o telefone'},
			escolaridade: {required: 'Informe seu grau de escolaridade'}
		},
		submitHandler: function(form){
			// DESABILITA O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#formCartao .btEnvia').attr('disable','disable');
			$('#retornoCartao').html('Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post('envia_email/cartao_fidelidade', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});

	$("#formBusca").validate({
		errorPlacement: function(error, element) {
			$('#erroBusca').html(error);
		},
		rules: {
			termo: {required: true, minlength: 3, diferenteDe:'Digite aqui o termo para busca...'}
		},
		messages: {
			termo: {required: 'Informe um termo', minlength: 'Digite pelo menos 3 caracteres', diferenteDe:'Informe um termo' }
		}
	});
	$("#formBuscaTopo").validate({
		errorPlacement: function(error, element) {
			$('#erroBuscaTopo').html(error);
		},
		rules: {
			termo: {required: true, minlength: 3, diferenteDe:'Digite aqui o termo para busca...'}
		},
		messages: {
			termo: {required: 'Informe um termo', minlength: 'Digite pelo menos 3 caracteres', diferenteDe:'Informe um termo' }
		}
	});
});

function ampliaImagem(arquivo){
	// EXIBE PRELOADER
	$('#imagemAmpliada').html('<img src="gfx/loader.gif" class="gifPreloader" />')
	
	// CARREGA A IMAGEM AMPLIADA E ESCONDE PRELOADER
	$('#imagemAmpliada').load('galeria/ampliacao/'+arquivo+'/', false, hidePreloader);
}

function hidePreloader(){
	$('.gifPreloader').fadeOut();
}

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 == 'erro_captcha'){
			msg = 'Código de segurança incorreto';
		}
		if(data.rs == 'ja_cadastrado'){
			msg = 'O e-mail informado já foi cadastrado';
		}
		if(data.rs == 'ok'){
			msg = 'Cadastro realizado com sucesso, aguarde você será redirecionado...';//, verifique seu e-mail para ativar sua conta
			setTimeout(function(){ window.top.location = SITE_URL+'/cliente/minha_conta'; }, 2500);
		}
		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/minha_conta'; }, 1000);
		}
		$('#retornoCadastro').html(msg);
	}
	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
		$('#retornoLogin').html(msg);
		$('#formLogin .btEnvia').removeAttr("disabled");
	}
	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
		$('#retornoLogin').html(msg);
		$('#formLogin .btEnvia').removeAttr('disable');
	}
	if(data.tipo == 'alteracao-cadastro'){
		if(data.rs == 'ok'){
			msg = 'Cadastro atualizado com sucesso';
		}
		if(data.rs == 'erro_post'){
			msg = 'Erro ao processar cadastro, por favor tente mais tarde';
		}
		if(data.rs == 'erro_zero'){
			msg = 'Erro: Nenhum dado foi alterado';
		}
		
		$('#retornoCadastro').html(msg);
	}
	if(data.tipo == 'novo-endereco'){
		if(data.rs == 'ok'){
			msg = 'Cadastro inserido com sucesso';
			setTimeout(function(){ window.top.location = SITE_URL+'/cliente/meus_enderecos'; }, 1000);
		}
		if(data.rs == 'erro_db'){
			msg = 'Erro ao gravar endereço, por favor tente mais tarde';
		}
		
		$('#retornoEndereco').html(msg);
	}
	if(data.tipo == 'alteracao-endereco'){
		if(data.rs == 'ok'){
			msg = 'Cadastro atualizado com sucesso';
			setTimeout(function(){ window.top.location = SITE_URL+'/cliente/meus_enderecos'; }, 1000);
		}
		if(data.rs == 'erro_db'){
			msg = 'Erro ao atualizar endereço, por favor tente mais tarde';
		}
		
		$('#retornoEndereco').html(msg);
	}
	if(data.tipo == 'alteracao-senha'){
		if(data.rs == 'erro_post'){
			msg = 'Erro ao processar informações, por favor tente maistarde';
			$('#senha_atual').focus();
		}
		if(data.rs == 'erro_captcha'){
			msg = 'Erro: Código de segurança incorreto';
			$('#senha_atual').focus();
		}
		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';
			$('#formSenha input[type=password], #formSenha input[type=text]').val('');
		}
		$('#retornoSenha').html(msg);
	}
	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 == '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 == 'nao_enviou'){ 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(){
				$('#lembrar_email').val('');
				$('.esqueceu').click();
			}, 2000);
		}
		$('#retornoLembrar').html(msg);
	}
	if(data.tipo == 'avise-me'){
		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);
		}
	}
	if(data.tipo == 'atualiza-carrinho'){
		if(data.msg != undefined && data.msg != ''){
			alert(data.msg);
		}
		window.location = SITE_URL+'/carrinho';
	}
	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;
			
			$('.labelDesconto').html('R$ '+number_format(descontoTotal,2,',',''));
			$('.txt_desconto').html('<a href="javascript:void(0);" onclick="removeTicket('+data.idTicket+');" class="blue">Remover Ticket</a>');
			$('#valor_ticket').val(descontoTotal);
		}else{
			$('.labelDesconto').html('R$ 0,00');
			$('.txt_desconto').html(data.msg);
			$('#valor_ticket').val('0');
		}
		// ATUALIZA O VALOR TOTAL
		atualizaTotal();
	}
	if(data.tipo == 'salva-pedido'){
		if(data.rs == 'ok'){
			$('#retornoGravarPedido').html('Aguarde, redirecionando...');
			
			var baseUrl = document.location.hostname == 'servidor' ? 'http://'+document.location.hostname+'/AGROLINE' : 'https://agroline1.websiteseguro.com';
			
			//window.location = baseUrl+'/carrinho/concluido';
			window.location = SITE_URL+'/carrinho/concluido';
		}else{
			$('#retornoGravarPedido').html('Erro ao processar informações, por favor tente mais tarde.');
		}
	}
	if(data.tipo == 'pagamento_visa'){
		if(data.rs == 'ok'){
			alert('ok');
		}else{
			$('#retornoVisa').html(data.msg_erro);
		}
	}
	if(data.tipo == 'solicitacao-produto'){
		if(data.rs == 'ok'){
			$('#retornoSolicitaProduto').html('Solicitação enviada com sucesso.');
			$("#formSolicitaProduto input[type='text'], #formSolicitaProduto textarea").val('');
			setTimeout(function(){ window.location = SITE_URL }, 2000);
		}else{
			$('#retornoSolicitaProduto').html('Erro ao enviar solicitação, por favor tente mais tarde.');
		}
	}
	if(data.tipo == 'contato'){
		if(data.rs == 'erro_post' || data.rs == 'erro_obrigatorio'){
			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('');
		}
		
		$('#retornoContato').html(msg);
		$('#formContato .btEnvia').removeAttr("disabled");
	}
	if(data.tipo == 'email-tecnico'){
		if(data.rs == 'erro_post' || data.rs == 'erro_obrigatorio'){
			msg = 'Informe os campos 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.';
			$('#formTecnico input, #formTecnico textarea').val('');
		}
		
		$('#retornoTecnico').html(msg);
		$('#formTecnico .btEnvia').removeAttr("disabled");
	}
	if(data.tipo == 'trabalhe-conosco'){
		if(data.rs == 'erro_post' || data.rs == 'erro_obrigatorio'){
			msg = 'Informe os campos obrigatórios';
		}
		if(data.rs == 'erro_envio_email'){
			msg = 'Erro ao enviar e-mail, por favor tente mais tarde';
		}
		if(data.rs == 'ok'){
			msg = 'Currículo enviado com sucesso.';
			$('#formCurriculo input, #formCurriculo textarea').val('');
		}
		
		$('#retornoCurriculo').html(msg);
		$('#formCurriculo .btEnvia').removeAttr("disabled");
	}
	if(data.tipo == 'cartao-fidelidade'){
		if(data.rs == 'erro_post' || data.rs == 'erro_obrigatorio'){
			msg = 'Informe os campos obrigatórios';
		}
		if(data.rs == 'erro_envio_email'){
			msg = 'Erro ao enviar e-mail, por favor tente mais tarde';
		}
		if(data.rs == 'ok'){
			msg = 'Solicitação enviada com sucesso, aguarde contato.';
			$('#formCartao input, #formCartao textarea').val('');
		}
		
		$('#retornoCartao').html(msg);
		$('#formCartao .btEnvia').removeAttr("disabled");
	}
}

function atualizaTotal(){
	var subtotal = parseFloat($('#valor_subtotal').val());
	var ticket = parseFloat($('#valor_ticket').val());
	var desconto_casado = parseFloat($('#valor_desconto_casado').val());
	var frete = parseFloat($('#valor_frete').val());
	
	var novoTotal = subtotal - ticket - desconto_casado + frete;
	
	$('#valor_total').val(novoTotal);
	$('.labelTotal').html('R$ '+number_format(novoTotal,2,',',''));
}

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


function retornEndereco(rs){
	// VALIDA O RESULTADO
	if(rs.resultado == "ok"){
		$(".logradouro").val(rs.endereco);
		$(".bairro").val(rs.bairro);
		$(".id_cidade").val(rs.id_cidade);
		$(".cidade").val(rs.cidade);
		$(".uf").val(rs.uf);
		$(".cidade_uf").val(rs.cidade+'/'+rs.uf);
	}else{
		$(".cep").val("Inválido");
		$(".logradouro").val("");
		$(".bairro").val("");
		$(".id_cidade").val("");
		$(".cidade").val("");
		$(".uf").val("");
		$(".cidade_uf").val("");
	}
	$(".loaderCep").fadeOut();
}
function retornoCarrinhoCep(rs){
	// FRETE GRATIS
	if($('#frete_gratis').val()=='SIM'){
		$('#valor_frete').val(0);
		$('.labelFrete').html('GRÁTIS');
	}else{
		
		// SE NAO FOR FRETE GRATIS
		$('#valor_frete').val(rs.frete);
		$('.labelFrete').html('&laquo; escolha uma forma de entrega');//$('.labelFrete').html('R$ '+number_format(rs.frete,2,',',''));
		$('.spRadioFrete').show();
		if(rs.esedex==0){
			$('.spEsedex').hide();
		}
		
		$('#valor_esedex').val(rs.esedex);
		$('#valor_sedex').val(rs.sedex);
		$('#valor_pac').val(rs.pac);
	}
	$('.labelCep').html('');
	atualizaTotal();
}
function retornoCarrinhoCep_OLD(rs){
	// FRETE GRATIS
	if($('#frete_gratis').val()=='SIM'){
		$('#valor_frete').val(0);
		$('.labelFrete').html('GRÁTIS');
	}else{
		// SE NAO FOR FRETE GRATIS
		$('#valor_frete').val(rs.frete);
		$('.labelFrete').html('R$ '+number_format(rs.frete,2,',',''));
	}
	$('.labelCep').html('');
	atualizaTotal();
}

// funcao javascript equivalente a funcao do php
function number_format (number, decimals, dec_point, thousands_sep) {
    var n = number, prec = decimals;
 
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}

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

function abreFoto(arquivo){
	Shadowbox.open({player:'img', content:'upload/'+arquivo});
	return false;
}

// FUNÇÃO SEMELHANTE A str_replace DO PHP
function remove(str, sub) {
	i = str.indexOf(sub);
	r = "";
	if (i == -1) return str;
	r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
	return r;
}
