﻿// JavaScript Document

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


function update()
{
	$.post("chat/atualiza", {}, function(data){
		// ATUALIZA CONVERSAS DO CHAT
		//$(".historico").html(data);
		$(".historico").load('chat/atualiza');
		
		// ATUALIZA LISTA DE PESSOAS ONLINE
		$('#dv_usuarios_online').load('chat/usuarios');
		
		// PERMITE A PESSOA USAR O SCROLL DO CHAT
		if($('#autorolagem:checked').val()=='1'){
			$(".historico").animate({ scrollTop: $(".historico").attr("scrollHeight") }, 2000);
		}
		
		
		//$('#message')
	}); 

	setTimeout('update()', 5000);
}


$(function(){
	// SÓ FICA ATUALIZANDO NA HOME
	var control_local = $('#controlador_local').val();
	
	// SE ESTIVER NA INDEX ATUALIZA CHAT
	if(control_local == '' || control_local == 'home'){
		update();
		$('div.dvCarregaVideo').html('<iframe width="320" height="285" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+SITE_URL+'/home/player"></iframe>');
	}

	$("#formChat").validate({
		rules: {
			chat_nick: {required: true },//, diferenteDe:'Seu nome'
			message: {required: true, diferenteDe:'Digite aqui sua mensagem' }
		},
		messages: {
			chat_nick: {required: 'Informe um nick' },//, diferenteDe:'Para enviar uma mensagem é necessário identificar-se'
			message: {required: 'Informe sua mensagem', diferenteDe:'Informe sua mensagem' }
		},
		submitHandler: function(form){
			var nick = $("#chat_nick").val()
			if(nick=='Seu nome'){
				alert('Para enviar uma mensagem é necessário identificar-se');
				$("#chat_nick").focus();
			}else{
				$.post("chat/atualiza", { "nick": nick, "texto": $("#message").val() }, function(data){ 
					$(".historico").html(data);
					// ESVAZIA E FOCALIZA O INPUT DA MENSAGEM
					$("#message").val("").focus();;
				});
			}
			return false;
		}
	});
	
	// 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");
	});
	
	// ABRIR LINKS COM REL BLANK
	$("a[rel=_blank]").click(function(){
		window.open($(this).attr('href'));
		return false;
	})
	
	// PLAYER DE DESTAQUES
	$('.telas').cycle({ 
		next     : '.btRight',
		prev     : '.btLeft',
		timeout  : 5000, 
		pause    : 1
	});
	
	// $controll->params[0]
	var idLocal = $('#id_banner_local').val();
	
	// FAZ CALCULO DA QUANTIDADE DE BANNERS PARA DETERMINAR O TAMANHO DO IFRAME
	$.post('clima/total_banner/'+idLocal, '', getRetorno, "json");
	
	// 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>');
	}
	
	// CHAMA URL PARA ADICIONAR VIEW POR BAIXO DOS PANOS
	$('.videoYoutube').click(function(){
		$.post('videos/adiciona_view/'+$(this).attr('title'));
	});
	
	$('#seta_chat').click(function(){
		$('#clique_aqui').toggleClass('none');
		$(this).toggleClass('mudaSeta');
		$('.w910').toggle();
	});
	
	$('.projetosVideos').change(function(){
		window.location = $(this).val();
	});
	
	// RETIRA CONTEUDO INICIAL DOS INPUTS
	$("#formBusca input[type='text'], #formBuscaTopo input[type='text'], #formChat 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"));
			}
		});
	});
	
	// 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);
	});
	
	// DUPLICA TR PARA INSCREVER MAIS ANIMAIS
	$('input.inscricaoNomeAnimal').blur(function(){
		if($(this).val() != '' && $("tr.trClone:last input:first").val()!=''){
			// DUPLICA A LINHA
			$("tr.trClone:last").clone(true).appendTo("#tbody");
			
			// REMOVE O CONTEÚDO DA LINHA CLONADA
			$("tr.trClone:last input[type='text']").val('');
		}
	});
	

	$("#formInscricao").validate({
		rules: {
			expositor: {required: true},
			endereco: {required: true},
			fazenda: {required: true},
			cidade_fazenda: {required: true},
			uf_fazenda: {required: true},
			cidade: {required: true},
			uf: {required: true},
			telefone: {required: true}
		},
		messages: {
			expositor: {required: 'Informe o nome do expositor'},
			endereco: {required: 'Informe o endereço'},
			fazenda: {required: 'Informe o nome da fazenda'},
			cidade_fazenda: {required: 'Informe a cidade da fazenda'},
			uf_fazenda: {required: 'Informe o estado da fazenda'},
			cidade: {required: 'Informe a cidade'},
			uf: {required: 'Informe o estado'},
			telefone: {required: 'Informe o telefone'}
		},
		submitHandler: function(form){
			$('#retornoInscricao').html('<img src="gfx/loader.gif" alt="" /> Aguarde, enviando...');
			
			// DESABILITA O BOTÃO PARA EVITAR DUPLO CLIQUE E EXIBE MENSAGEM
			$('#formInscricao .btEnvia').attr('disable','disable');
			
			// ENVIA O FORMULARIO
			$.post('inscricoes/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}
		},
		messages: {
			termo: {required: 'Informe um termo', minlength: 'Digite pelo menos 5 caracteres' }
		}
	});


	$("#formBuscaTopo").validate({
		errorPlacement: function(error, element) {
			$('#erroBuscaTopo').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' }
		}
	});
	
});

function ampliaImagem(arquivo,legenda){
	// ATUALIZA LEGENDA
	$('#legenda_galeria').html(legenda);
	
	// 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);
}


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 == 'inscricao'){
		if(data.rs == 'erro_post' || data.rs == 'erro_obrigatorio'){
			msg = 'Os campos de identificação 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 = 'Inscrição enviada com sucesso.';
			$('#formInscricao input').val('');
			
			// AGUARDA UM TEMPO E FECHA A CAIXA
			setTimeout(function(){ $('#retornoInscricao').fadeOut('slow') }, 2000);
		}
		
		$('#retornoInscricao').html(msg).fadeIn();
		$('#formInscricao .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').fadeOut('slow') }, 2000);
		}
		
		$('#retornoContato').html(msg).fadeIn();
		$('#formContato .btEnvia').removeAttr("disabled");
	}
	
}



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","");
	}
}

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