﻿
function update()
{
	$.post("chat/atualiza", {}, function(data){
		// ATUALIZA CONVERSAS DO CHAT
		$(".historico").html(data);
		
		// 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);
		}
	}); 

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


// FUNÇÕES QUE PRECISAM DO DOCUMENTO PRONTO
$(document).ready(function() {
	// SÓ FICA ATUALIZANDO NA HOME
	var control_local = $('#controlador_local').val();
	
	// SE ESTIVER NA INDEX ATUALIZA CHAT
	if(control_local == '' || control_local == 'inicio'){
		update();
	}

	$("#formChat").validate({
		rules: {
			//message: {required: true, diferenteDe:'Digite aqui sua mensagem' }
		},
		messages: {
			//message: {required: 'Informe sua mensagem', diferenteDe:'Informe sua mensagem' }
		},
		submitHandler: function(form){
			$.post("chat/atualiza", { "texto": $("#message").val() }, function(data){ 
				$(".historico").html(data);
				$("#message").val("");
			});
			
			return false;
		}
	});
	
	// MAXIMIZA OU MINIMIZA CHAT
	$('.toggle_chat').click(function(){
		$(this).toggleClass("backBottom");
		$('#conteudo_chat').slideToggle();
	});
	
	$('#dvLinks').cycle({ 
		fx:     'fade', 
		speed:  400, 
		timeout: 0, 
		next:   '#next2', 
		prev:   '#prev2' 
	});
	$('#dvFerramentas').cycle({ 
		fx:     'fade', 
		speed:  400, 
		timeout: 0, 
		next:   '#next', 
		prev:   '#prev' 
	});
	$('.telas').cycle({ 
		fx:     'fade', 
		speed:  400, 
		timeout: 8000, 
		pager:   '.controls'
	});
	
	//$('#chat').html('<iframe src="teste.php" id="frameChat" frameborder="0" marginheight="0" marginwidth="0" width="940" height="360" scrolling="no" style="background-color: #000;"></iframe>');
});



$(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()
	});


	// ABRIR LINKS COM REL BLANK
	$("a[rel=_blank]").click(function(){
		window.open($(this).attr('href'));
		return false;
	});
	
	
	$('#rodape_agenda').click(function(){
		$('#dvContato').slideToggle();
	});
	

	// RETIRA CONTEUDO INICIAL DOS INPUTS
	$("#formLogin input[type='text'], #formLogin input[type='password'], #formLoginChat input[type='text'], #formLoginChat input[type='password'], #email_lembrar, #message").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"));
			}
		});
	});
	
	
	$("#formLogin").validate({
		rules: {
			log_email: {required: true, email:true},
			log_senha: {required: true}
		},
		messages: {
			log_email: {required: 'Informe seu e-mail', email:'Informe o e-mail de cadastro'},
			log_senha: {required: 'Informe sua senha'}
		},
		submitHandler: function(form){
			// ESCONDE BOTÃO E EXIBE IMAGEM LOADER
			$('.enviaLogin').fadeOut();
			$('.loadLogin').fadeIn();
			$('#retornoLogin').html('');
			
			// ENVIA O FORMULARIO
			$.post('cliente/logar', $(form).serializeArray(), getRetorno, "json");
			
			return false;
		}
	});


	$("#formLoginChat").validate({
		rules: {
			log_email_chat: {required: true, email:true},
			log_senha_chat: {required: true}
		},
		messages: {
			log_email_chat: {required: 'Informe seu e-mail', email:'Informe o e-mail de cadastro'},
			log_senha_chat: {required: 'Informe sua senha'}
		},
		submitHandler: function(form){
			// ESCONDE BOTÃO E EXIBE IMAGEM LOADER
			$('.enviaLoginChat').fadeOut();
			$('.loadLoginChat').fadeIn();
			$('#retornoLoginChat').html('');
			
			// ENVIA O FORMULARIO
			$.post('cliente/logar', {'log_email':$('#log_email_chat').val(), 'log_senha':$('#log_senha_chat').val(), 'url_destino':$('#url_destino_chat').val() }, getRetorno, "json");
			
			return false;
		}
	});


	$("#formCadastro").validate({
		rules: {
			nome: {required: true, minlength: 3},
			apelido: {required: true, minlength: 3},
			travaNick: {required: true},
			email: {required: true, email:true},
			senha: {required: "#informar_senha:checked" , minlength: 6},
			
			/*NOVO CADASTRO*/
			senha2: {required: function(element){ return $("#id_cliente").val() == ''; } , minlength: 6, equalTo: "#senha"},
			/*EDIÇÃO DE CADASTRO*/
			senha_nova: {required: function(element){ return $("#id_cliente").val() != ''; } , minlength: 6, notEqual: "#senha"},
			senha_nova2: {required: function(element){ return $("#id_cliente").val() != ''; } , minlength: 6, equalTo: "#senha_nova"},
			
			cpf_cnpj: {required: true},
			nascimento: {required: true},
			telefone: {required: true},
			cep: {required: true},
			logradouro: {required: true},
			numero: {required: true},
			bairro: {required: true},
			uf: {required: true},
			cidade: {required: true}
		},
		messages: {
			nome: {required: 'Informe seu nome', minlength: 'Digite pelo menos 3 caracteres'},
			apelido: {required: 'Informe seu apelido', minlength: 'Digite pelo menos 3 caracteres'},
			travaNick: {required: 'Escolha outro apelido'},
			email: {required: 'Informe seu e-mail', email:'Informe um e-mail válido'},
			senha: {required: 'Informe a senha', minlength: 'Digite pelo menos 6 caracteres'},
			
			senha2: {required: 'Repita a senha', minlength: 'Digite pelo menos 6 caracteres', equalTo: 'Repita a mesma senha'},
			senha_nova: {required: 'Digite a nova senha' , minlength: 'Digite pelo menos 6 caracteres', notEqual: 'Você não vai trocar a senha?'},
			senha_nova2: {required: 'Repita a nova senha' , minlength: 'Digite pelo menos 6 caracteres', equalTo: 'A nova senha não foi digitada'},
			
			cpf_cnpj: {required: 'Informe seu CPF/CNPJ'},
			nascimento: {required: 'Informe sua data de nascimento'},
			telefone: {required: 'Informe seu telefone'},
			cep: {required: 'Informe seu CEP'},
			logradouro: {required: 'Informe seu endereço'},
			numero: {required: 'Número'},
			bairro: {required: 'Informe o bairro'},
			uf: {required: 'UF'},
			cidade: {required: 'Informe sua cidade'}
		},
		submitHandler: function(form){
			$('#formStatus input').fadeOut();
			$('.loadForm').fadeIn();
			
			var acao = $('#id_cliente').val() == '' ? 'cliente/cadastrar' : 'cliente/alterar_cadastro';
			
			// ENVIA O FORMULARIO
			$.post(acao, $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});


	
	$("#formContato").validate({
		errorPlacement: function(error, element) {
			error.appendTo(element.next('span'));
		},
		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
			$('#retornoContato').html('Aguarde, processando...');
			
			// ENVIA O FORMULARIO
			$.post('contato/envia', $(form).serializeArray(), getRetorno, "json");
			return false;
		}
	});

	$(".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)){
			$('.loadCep').fadeIn();
			$.post("cliente/cep", {'cep':cep}, retornEndereco, "json");
		}
		$(".logradouro").val("");
		$(".bairro").val("");
		$(".cidade").val("");
		$(".id_cidade").val("");
		$(".uf").val("");
	});
	
	
	
	$('.btLembrar').click(function(){
		// CARREGANDO
		$('#retornoLembrar').html('<img src="gfx/loader.gif" class="loadLembrar" alt="" />');
		
		// EMAIL INFORMADO
		var email = $('#email_lembrar').val();
		
		// ENVIA
		$.post('cliente/lembrar_senha', {'email':email}, getRetorno, "json");
	});
	$('.lnkEsqueci').click(function(){
		$('#dvLembrar').fadeIn();
	});
	$('.btLembrarFechar').click(function(){
		$('#dvLembrar').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 == '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);
		}
		$("#formCadastro input[type='text']").val();
		$('.formStatus').html(msg);
	}

	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';
		}
		// ESCONDE PRELOADER, EXIBE MENSAGEM E O BOTÃO
		$('#retornoLogin').html(msg);
		$('.enviaLogin').fadeIn();
		$('.loadLogin').fadeOut();
		
		// 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 == 'ja_cadastrado'){
			msg = 'O e-mail informado já foi cadastrado';
		}
		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, por favor tente mais tarde';
		}
		if(data.rs == 'senha_incorreta'){
			msg = 'Para alterar a senha é necessário informar a senha atual';
		}
		
		if(data.rs == 'senha_incorreta' || data.rs == 'ja_cadastrado'){
			$('#retornoCadastro').text(msg);
			$('.loadForm').fadeOut();
		}else{
			$('#retornoCadastro').text('');
			$('.formStatus').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 == 'enviar-contato'){
		if(data.rs == 'erro_post'){
			msg = 'Nome, e-mail e mensagem 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(){
				//$('#rodape_agenda').click();
				$('#dvFormContato').fadeOut();
				
				$('#contato_remetente').html(data.nome);
				$('#contato_hora').html(data.data_hora);
				$('#dvContatoSucesso').fadeIn();
				
			}, 2000);
		}
		$('#retornoContato').html(msg);
	}
	
	
	
	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');
				$('.btLembrarFechar').click();
				$('#retornoLembrar').html('');
			}, 2000);
		}
		
		$('#retornoLembrar').html(msg);
	}
	
}



function retornEndereco(rs){
	$('.loadCep').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{
		$(".verifica_cep").val("Inválido");
		$(".logradouro").val("");
		$(".bairro").val("");
		$(".cidade").val("");
		$(".id_cidade").val("");
		$(".uf").val("");
	}
}

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


function toggleIframe(){
	var h = $('#frameChat').css('height');
	if(h=='360px'){
		$('#frameChat').css('height','50px');
	}else{
		$('#frameChat').css('height','360px');
	}
}

verificaNick = function(nick)
{
	// LOADING
	$('#foo').remove();
	$('#nickStatus').append('<img src="gfx/miniload.gif" id="foo" />');
	// VERIFICA O NICK
	$.post('cadastro/nick', {'nick':nick}, 
		function(rs)
		{
	$('#foo').remove();
			if(rs.resultado == "ok")
			{
				$('#travaNick').val('1');
				$('#nickStatus').append('<label class="nickOk" generated="true" for="apelido" id="foo">Apelido disponível.</label>');
			}
			else
			{
				$('#travaNick').val('');
				$('#nickStatus').append('<label class="nickErro" generated="true" for="apelido" id="foo">Apelido indisponível.</label>');
			}
		}
	, "json");	
	
}