﻿$(function(){
	carrosselProjetos();
	manipularBoxLogin();
	validarFormulariosHome();
	alternarBotoes();
	ativarLightBox();
	exibirStatus();
	verificarAtalhos();
	recuperarSenha();
	atualizarAltura();
});

// Carrossel de Projetos da Home
function carrosselProjetos() {
	var $carrossel = $('#projetos');
	if ( $carrossel.length ){
		$carrossel.cycle({
			fx: 'scrollHorz',
			timeout: 15000,
			prev: '#carrossel-projetos a.anterior',
			next: '#carrossel-projetos a.proximo',
			activePagerClass: 'ativo',
			pager: '#carrossel-projetos #paginacao',
			pagerAnchorBuilder: function(idx, slide) {
				return '#carrossel-projetos #paginacao li:eq(' + idx + ') a';
			} 
		});
	}
}

// Exibe/Esconde o box de login da area restrita
function manipularBoxLogin() {
	$("#area-restrita-botao").click(function(){
		if ( $("#formulario-area-restrita").is(":visible") ) {
			$("#formulario-area-restrita").fadeOut("fast",function(){
				$("#formulario-area-restrita input").each(function(){
					$(this).removeClass("erro");
				});
				$("#formulario-area-restrita span.erro").remove();
			});
			$("#formulario-senha").fadeOut("fast");
			$("#formulario-senha p.mensagem").fadeOut("fast");
			$("#menu-navegacao li[title=ativo]").addClass("ativo").removeAttr("title");
			$(this).parent("li").removeClass("ativo");
		} else {
			$("#formulario-area-restrita").fadeIn("fast");
			$("#formulario-senha").fadeOut("fast");
			$("#formulario-senha p.mensagem").fadeOut("fast");
			$("#menu-navegacao li.ativo").removeClass("ativo").attr("title","ativo");
			$(this).parent("li").addClass("ativo");
		}
		return false;
	});
}

// Verifica os dados dos formularios da home
function validarFormulariosHome() {

	// Formulario de login da area restrita
	$("#formulario-area-restrita").submit(function(){

		var erro = false;
		$("#formulario-area-restrita input").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-area-restrita span.erro").remove();

		$("#formulario-area-restrita input").each(function(){
			if ( $(this).val() == "" ) {
				$(this).addClass("erro");
				erro = true;
			}
		});

		if ( erro == true ) {
			$(this).append("<span class='erro'>Usuário ou senha inválidos</span>");
		}

		return !erro;
	});

	// Apaga o aviso ao clicar no campo
	$("#formulario-area-restrita .area-restrita-usuario,#formulario-area-restrita .area-restrita-senha").focus(function(){
		$("#formulario-area-restrita input").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-area-restrita span.erro").remove();
	});

	// Formulario de envio de email da area restrita
	$("#formulario-senha").submit(function(){

		var erro = false;
		$("#formulario-senha .senha-email").removeClass("erro");
		$("#formulario-senha span.erro").remove();

		if ( ($("#formulario-senha .senha-email").val() == "") || (!isEmail($("#formulario-senha .senha-email").val())) ) { 
			$("#formulario-senha .senha-email").addClass("erro");
			erro = true;
		}

		// Em caso de sucesso, exibe a mensagem de sucesso de envio do email. Apagar esse trecho depois, pois e apenas para demonstracao
		if ( erro == true ) {
			$(this).append("<span class='erro'>Usuário ou senha inválidos</span>");
		} else {
			$("#formulario-senha .senha-email").val("");
			$("#formulario-senha .linha").fadeOut(200,function(){
				$("#formulario-senha p.mensagem").fadeIn(200);
			});
			return false;
		}

		return !erro;
	});

	// Apaga o aviso ao clicar no campo
	$("#formulario-senha .senha-email").focus(function(){
		$("#formulario-senha .senha-email").removeClass("erro");
		$("#formulario-senha span.erro").remove();
	});

	// Formulario de cadastro do RSS
	$("#formulario-novidades").submit(function(){

		var erro = false;
		var mensagem = "<span class='erro'>";
		$("#formulario-novidades input").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-novidades span.erro").remove();

		if ( $("#formulario-novidades .novidades-nome").val() == "" ) {
			$("#formulario-novidades .novidades-nome").addClass("erro");
			mensagem += "Digite um nome<br />";
			erro = true;
		}

		if ( ($("#formulario-novidades .novidades-email").val() == "") || (!isEmail($("#formulario-novidades .novidades-email").val())) ) { 
			$("#formulario-novidades .novidades-email").addClass("erro");
			mensagem += "Digite um email válido";
			erro = true;
		}

		if ( erro == true ) {
			mensagem += "</span>";
			$(".novidades-assinar").before(mensagem);
		}

		return !erro;
	});

	// Apaga o aviso ao clicar no campo
	$("#formulario-novidades .novidades-nome,#formulario-novidades .novidades-email").focus(function(){
		$("#formulario-novidades input").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-novidades span.erro").remove();
	});

	// Formulario de login da area de clientes
	$("#formulario-clientes").submit(function(){

		var erro = false;
		$("#formulario-clientes input").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-clientes span.erro").remove();

		$("#formulario-clientes input").each(function(){
			if ( $(this).val() == "" ) {
				$(this).addClass("erro");
				erro = true;
			}
		});

		if ( erro == true ) {
			$(".clientes-entrar").before("<span class='erro'>Usuário ou senha inválidos</span>");
		}

		return !erro;
	});

	// Apaga o aviso ao clicar no campo
	$("#formulario-clientes .clientes-usuario,#formulario-clientes .clientes-senha").focus(function(){
		$("#formulario-clientes input").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-clientes span.erro").remove();
	});

	// Formulario de envio de email da area de clientes
	$("#formulario-senha-b").submit(function(){

		var erro = false;
		$("#formulario-senha-b .senha-b-email").removeClass("erro");
		$("#formulario-senha-b span.erro").remove();

		if ( ($("#formulario-senha-b .senha-b-email").val() == "") || (!isEmail($("#formulario-senha-b .senha-b-email").val())) ) { 
			$("#formulario-senha-b .senha-b-email").addClass("erro");
			erro = true;
		}

		// Em caso de sucesso, exibe a mensagem de sucesso de envio do email. Apagar esse trecho depois, pois e apenas para demonstracao
		if ( erro == true ) {
			$("#formulario-senha-b p.mensagem").fadeOut(200);
			$(this).append("<span class='erro'>Usuário ou senha inválidos</span>");
		} else {
			$("#formulario-senha-b .senha-b-email").val("");
			$("#formulario-senha-b p.mensagem").fadeIn(200);
			return false;
		}

		return !erro;
	});

	// Apaga o aviso ao clicar no campo
	$("#formulario-senha .senha-email").focus(function(){
		$("#formulario-senha .senha-email").removeClass("erro");
		$("#formulario-senha span.erro").remove();
	});

	// Formulario de contato - FALE CONOSCO
	$("#formulario-contato").submit(function(){

		var erro = false;
		$("#formulario-contato input").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-contato span.erro").remove();

		if ( $("#formulario-contato .contato-nome").val() == "" ) {
			$("#formulario-contato .contato-nome").addClass("erro");
			erro = true;
		}

		if ( ($("#formulario-contato .contato-email").val() == "") || (!isEmail($("#formulario-contato .contato-email").val())) ) { 
			$("#formulario-contato .contato-email").addClass("erro");
			erro = true;
		}

		if ( $("#formulario-contato .contato-assunto").val() == "" ) {
			$("#formulario-contato .contato-assunto").addClass("erro");
			erro = true;
		}

		if ( $("#formulario-contato .contato-mensagem").val() == "" ) {
			$("#formulario-contato .contato-mensagem").addClass("erro");
			erro = true;
		}

		if ( erro == true ) {
			$("#formulario-contato").prepend("<span class='erro'>Todos os campos são de preenchimento obrigatório</span>");
		}

		return !erro;
	});

	// Apaga o aviso ao clicar no campo
	$("#formulario-contato input,#formulario-contato textarea").focus(function(){
		$("#formulario-contato input,#formulario-contato textarea").each(function(){
			$(this).removeClass("erro");
		});
		$("#formulario-contato span.erro").remove();
	});
}

// Funcao que valida o email
function isEmail(email) {
	var expr = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(email.search(expr) == -1) {
		return false;
	}

	return true;
}

// Funcao que alterna os botoes clicados e o seu respectivo conteudo, nas paginas Areas de atuacao e Obras realizadas
function alternarBotoes() {
	$("#areas-atuacao .botao").click(function(){
		$(this).parent("li").siblings("li").removeClass("ativo");
		$(this).parent("li").addClass("ativo");
		
		return false;
	});

	$("#areas-atuacao .info a").not("#areas-atuacao .info .texto a,#areas-atuacao .info .fotos a").click(function(){
		if ( $(this).siblings(".texto").is(":visible") ) {
			$(this).parent("li").parent("ul").children("li").children(".texto").slideUp(function(){
				$(this).parent("li").parent("ul").children("li").removeClass("aberto");
			});
		} else {
			$(this).parent("li").parent("ul").children("li").children(".texto").slideUp(function(){
				$(this).parent("li").parent("ul").children("li").removeClass("aberto");
			});
			$(this).siblings(".texto").slideDown(function(){
				$(this).parent("li").addClass("aberto");
			});
		}

		return false;
	});
}

// Exibe/Esconde as fotos da galeria em tamanho maior
function ativarLightBox() {
	$("#areas-atuacao .fotos").each(function(){
		$(this).find('a').lightBox();
	});
	
}

// Exibe a mensagem de sucesso/falha no envio do email, no fale conosco
function exibirStatus() {
	var variaveis = location.search.split("?");
	if ( variaveis[1] == "r1" ) {
		$("#formulario-contato").prepend("<span class='sucesso'><span>&nbsp;</span>Obrigado! Sua mensagem foi enviada com sucesso</span>");
	} else if ( variaveis[1] == "r0" ) {
		$("#formulario-contato").prepend("<span class='erro'>Falha no envio. Tente novamente.</span>");
	}
}

// Verifica o link que foi clicado na home e abre as paginas Area de atuacao/Obras realizadas com a respectiva sessao ativada
function verificarAtalhos() {
	var atalho = location.search.split("?");
	if ( atalho != "" ) {
		$("#areas-atuacao li").removeClass("ativo");
		$("#areas-atuacao li." + atalho[1]).addClass("ativo");
	}
}

// Esconde o formulario de acesso a area restrita e exibe o formulario de envio de email
function recuperarSenha() {
	$("#esqueci-senha,#esqueci-usuario").click(function(){
		$("#formulario-area-restrita").fadeOut(200,function(){
			$("#formulario-senha,#formulario-senha .linha").fadeIn(200);
		});
		return false;
	});
	$("#esqueci-senha-b,#esqueci-usuario-b").click(function(){
		$("#formulario-clientes").fadeOut(200,function(){
			$("#formulario-senha-b,#formulario-senha-b .linha").fadeIn(200);
		});
		return false;
	});	
}

// Verifica a altura da pagina
function atualizarAltura() {
	if ( $("#wrapper").length ) {
		var alturaHeader = $("#header").height();
		var alturaPagina = $("#wrapper").height() + alturaHeader;
		var alturaJanela = $(window).height();
		if ( alturaJanela > alturaPagina ) {
			if ( $("#wrapper-content").length ) {
				$("#wrapper-content").css("min-height",alturaJanela - alturaHeader);
			} else {
				$("#main").css("min-height",alturaJanela);
			}
		}
	}
}
