﻿// JavaScript Document

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

function hideMenu() {
	$("#sub-menu li").fadeOut(speed);
}


// FUNÇÕES QUE PRECISAM DO DOCUMENTO PRONTO
$(document).ready(function(){
	
	$("#menuProd").mouseover(function () {
		$("#sub-menu li").fadeIn();
		clearTimeout(menuTimer);
	});

	$("#menuProd").mouseout(function () {
		//menuTimer = setTimeout("hideMenu()", 500);
	});
	
	$("#sub-menu").mouseover(function () {
		clearTimeout(menuTimer);
	});

	$("#sub-menu").mouseout(function () {
		menuTimer = setTimeout("hideMenu()", 500);
	});
});

$(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("999.999.999-99");
	});
	
	// ABRIR LINKS COM REL BLANK
	$("a[rel=_blank]").click(function(){
		window.open($(this).attr('href'));
		return false;
	})
	
	// REDEFINE A FUNÇÃO updateActivePagerLink DO PLUGIN CYCLE
	$.fn.cycle.updateActivePagerLink = function(pager, currSlideIndex) { 
		 $(pager).find('a').removeClass('current_cor') 
			  .filter('a:eq('+currSlideIndex+')').addClass('current_cor'); 
	}; 
	// PLAYER DA HOME
	if($('.destHome').css('display')){
		$('.destHome').cycle({ 
			fx       : 'scrollHorz',
			pager    : '#cycleNav', 
			timeout  : 7000, 
			pause    : 2
		});
	}
	// PLAYER DE DESTAQUES
	if($('.showsList').css('display')){
		$('.showsList').cycle({ 
			fx       : 'scrollHorz',
			prev     : '.showRight',
			next     : '.showLeft',
			timeout  : 7000, 
			pause    : 2
		});
	}
	// SLIDESHOW DAS FOTOS DA NOTICIA
	if($('.showsList2').css('display')){
		$('.showsList2').cycle({ 
			timeout  : 5000, 
			pause    : 1
		});
	}
	
	// URL DO MAPA
	var googleMap = $('#url_mapa').text();
	
	if(googleMap!=''){
		//http://maps.google.com.br/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=R.+Am%C3%A9rico+Carlos+da+Costa,+320+-+Am%C3%A9rica+Campo+Grande+-+MS,+79080-170,+Brasil&amp;sll=-20.456519,-54.599389&amp;sspn=0.008142,0.009645&amp;ie=UTF8&amp;ll=-20.475507,-54.616041&amp;spn=0.024846,0.080338&amp;z=14&amp;iwloc=A&amp;output=embed
		// MAPA DE CONTATO
		$('div.mapa').html('<iframe id="teste123" width="936" height="309" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+googleMap+'"></iframe>');
	}
	
	// RETIRA CONTEUDO INICIAL DOS INPUTS
	$("#formBusca input[type='text'], #formNewsletter input[type='text']").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"));
			}
		});
	});
	
	// REMOVE O LAYER
	$('.layer_banner').click(function(){
		$(this).remove();
	});
	
	// 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('fotos/miniaturas/'+id+'/'+ini, false, hidePreloader);
	});
	
	
	$(".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("associe/cep", {'cep':cep}, retornEndereco, "json");
		} else {
			$(".logradouro").val("");
			$(".bairro").val("");
			$(".cidade").val("");
			$(".id_cidade").val("");
			$(".uf").val("");
		}
	});
	
	$("#formCadastro").validate({
		rules: {
			nome: {required: true},
			data_nascimento: {required: true},
			sexo: {required: true},
			email: {required: true, email:true},
			atividade: {required: true},
			telefone: {required: true},
			cpf: {required: true},
			rg: {required: true},
			estado_civil: {required: true},
			cep: {required: true},
			logradouro: {required: true},
			numero: {required: true},
			cidade: {required: true},
			uf: {required: true},
			concordo: {required: true}
		},
		messages: {
			nome: {required: 'Informe o nome'},
			data_nascimento: {required: 'Informe a data de nascimento'},
			sexo: {required: 'Informe o sexo'},
			email: {required: 'Informe o e-mail', email:'Informe um e-mail válido'},
			atividade: {required: 'Informe a atividade principal'},
			telefone: {required: 'Informe o telefone'},
			cpf: {required: 'Informe o CPF'},
			rg: {required: 'Informe o RG'},
			estado_civil: {required: 'Informe o estado civil'},
			cep: {required: 'Informe o CEP'},
			logradouro: {required: 'Informe o logradouro'},
			numero: {required: 'Informe o número'},
			cidade: {required: 'Informe a cidade'},
			uf: {required: 'Informe o estado'},
			concordo: {required: 'É necessário estar de acordo com as normas estabelecidas'}
		},
		submitHandler: function(form){
			$('#retornoCadastro').html('Aguarde, processando informações...');
			
			// DESABILITA O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#formCadastro .btEnvia').attr('disabled','disabled');
			
			// ENVIA O FORMULARIO
			$.post('associe/envia', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});


	$("#formContato").validate({
		rules: {
			nome: {required: true},
			email: {required: true, email:true},
			texto: {required: true}
		},
		messages: {
			nome: {required: 'Informe seu nome'},
			email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			texto: {required: 'Informe a 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('contato/envia', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});


	$("#formBusca").validate({
		errorPlacement: function(error, element) {
			$('#erroBusca').html(error);
		},
		rules: {
			termo: {required: true, minlength: 5, diferenteDe:'palavra-chave' }
		},
		messages: {
			termo: {required: 'Informe um termo', minlength: 'Digite pelo menos 5 caracteres', diferenteDe:'Informe um termo' }
		}
	});


	$("#formNewsletter").validate({
		errorPlacement: function(error, element) {
			$('#erroNewsletter').html(error);
		},
		rules: {
			email: {required: true, email:true}
		},
		messages: {
			email: {required: 'Informe o e-mail', email:'Informe um e-mail válido'}
		},
		submitHandler: function(form){
			// DESABILITA O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#formContato .btEnvia').attr('disable','disable');
			$('#erroNewsletter').html('Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post('newsletter', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});
	
});


function getRetorno(data){
	
	var msg = '';
	
	if(data.tipo == 'clima_tempo'){
		$('#qtde_banner').val();
		// CLIMA TEMPO
		$('div.clima_tempo').html('<iframe width="140" height="'+data.altura+'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+SITE_URL+'/clima/index/'+data.id_local+'"></iframe>');
	}
	
	if(data.tipo == 'newsletter'){
		if(data.rs == 'erro_post' || data.rs == 'erro_obrigatorio'){
			msg = 'Informe seu e-mail';
		}
		if(data.rs == 'ja_cadastrado'){
			msg = 'O e-mail já foi cadastrado';
		}
		if(data.rs == 'erro_db'){
			msg = 'Erro ao gravar e-mail, tente mais tarde';
		}
		if(data.rs == 'ok'){
			msg = 'E-mail cadastrado com sucesso.';
			$("#formNewsletter input[type='text']").val('');
			
			// AGUARDA UM TEMPO E FECHA A CAIXA
			setTimeout(function(){ $('#erroNewsletter').html(''); }, 2000);
		}
		
		$('#erroNewsletter').html(msg);
		$('#formNewsletter .btEnvia').removeAttr("disabled");
	}
	
	if(data.tipo == 'cadastro-usuario'){
		if(data.rs == 'erro_post' || data.rs == 'erro_obrigatorio'){
			msg = 'Informe os campos obrigatórios.';
		}
		if(data.rs == 'ja_cadastrado'){
			msg = 'E-mail já cadastrado.';
		}
		if(data.rs == 'ok_cadastro'){
			msg = '';
			$("#formCadastro input[type='text']").val('');
			
			// AGUARDA UM TEMPO E FECHA A CAIXA
			setTimeout(function(){ $('#retornoCadastro').html('Cadastro enviado com sucesso.'); }, 2000);
		}
		
		$('#retornoCadastro').html(msg);
		$('#formCadastro .btEnvia').removeAttr("disabled");
	}
	
	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('');
			
			// AGUARDA UM TEMPO E FECHA A CAIXA
			setTimeout(function(){ $('#retornoContato').html(''); }, 2000);
		}
		
		$('#retornoContato').html(msg);
		$('#formContato .btEnvia').removeAttr("disabled");
	}
	
}



function retornEndereco(rs){
	$('.loaderCep').fadeOut();
	// VALIDA O RESULTADO
	if(rs.resultado == "ok"){
		$(".logradouro").val(rs.endereco);
		$(".bairro").val(rs.bairro);
		$(".cidade").val(rs.cidade);
		$(".id_cidade").val(rs.id_cidade);
		$(".uf").val(rs.uf);
	}else{
		$(".cep").val("Inválido");
		$(".logradouro").val("");
		$(".bairro").val("");
		$(".cidade").val("");
		$(".id_cidade").val("");
		$(".uf").val("");
	}
}

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

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

function carregaCotacao(n){
	// EXIBE PRELOADER
	$('#listaCotacoes').html('<img src="gfx/loader.gif" class="gifPreloader" />');
	
	// LISTA OUTRA PAGINA
	$('#listaCotacoes').load(SITE_URL+'/cotacoes/listar/'+n,null,hidePreloader);
}

// 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);
}

