﻿/***************************************
  @desenvolvido por ZONAInternet.com
  @responsavel Jadson Moreira, Dellean Santos
  @desde 10/10/2011
  @Funções JavaScript
****************************************/

	$(document).ready(function(){				   
		//abrir box com opções do segmento para selecionar
		$('.fauxSelect').click(function(){
			//status do box, usado para mostrar ou ocultar o box 
			var fs = true;	
			//se a variavel fs é true, mostra o boxSegmentos
			if (fs) {
				$(this).next('.boxSegmentos').fadeIn('fast');
				fs = false;
			}
			//senao oculta o o boxSegmento
			else {
				$(this).next('.boxSegmentos').fadeOut('fast');
				fs = true;
			}
		});
		
		//se o mouse sobre o box de segmentos manter habilitado para evitar ser fechado quando clicado dentro do box
		$('.boxSegmentos').mouseover(function(){
			$(this).addClass('ativo');
		});
	
		$('.boxSegmentos').mouseout(function(){
			$(this).removeClass('ativo');
		});
		
		//menu
	    $('.mainMenu .subMenu').mouseover(function() {
	        //abrir opcoes menu dropdown
	        $(this).children('ul').show();
	    });

	    $('.mainMenu .subMenu').mouseout(function() {
	        //fecha opcoes do menu dropdown
			$(this).children('ul').hide();
	    });	
		
		$('.mainMenu li').mouseover(function(){
			//pegando o id do elemento que será aplicado o hover
			var idMenu = '#'+$(this).attr('id');
			$(idMenu+' span a').addClass('ativo');
		});
		
		$('.mainMenu li').mouseout(function(){
			//pegando o id do elemento que será aplicado o hover
			var idMenu = '#'+$(this).attr('id');
			$(idMenu+' span a').removeClass('ativo');
		});
		
	    //fim menu
			
		
		//abas da home
		$('.boxAba').each(function(index){
			$(this).attr('id','boxAba'+index);		  
		});
		
		//setando um ID para cada item do menu
		$('.menuAba li a').each(function(index){
			$(this).attr('id','menuAba'+index);	
		});
		
		$('.menuAba li a').click(function(index){
			//valor do index da aba atual
			var abaAtual = $(this).parent('li').index();
			//remove classe ativo de todos os li
			$('.menuAba li').removeClass('ativo');
			//adicionando a classe ativo ao li do item clicado
			$(this).parent('li').addClass('ativo');						
			//ocultando todos os boxes
			$('.boxAba').each(function(index){
				if ($(this).attr('id') != 'boxAba'+abaAtual) {
					$(this).addClass('hide');
					$('#menuAba'+index).removeClass('ativo');
				}
				else {
					$('#menuAba'+index).addClass('ativo');
					$(this).removeClass('hide');
				}
			});
		});
		
		//clicando em qualquer lugar da página checo se o box de segmento esta ativo, antes de ocultar
		$(document).click(function(event) {
			//checa se o clique foi disparado de um elemento com a class fauxSelect
			if($(event.target).parents('a:first').hasClass('fauxSelect') || $(event.target).hasClass('fauxSelect'))
				{return false;}
			//caso boxSegmentos esteja ativo não é fechado
			if ($(".boxSegmentos").hasClass("ativo"))
				{return true;}
			//oculta o box de segmentos
			else
			$('.boxSegmentos').removeClass('ativo').fadeOut('fast');
		});
		
		//pegar o valor clicado na seleção de segmentos
		$('.listaSegmentos dd').click(function(){
			//pegar o valor clicado na seleção de segmentos							
			var segmentId = $(this).attr("data-id");
			var textoSegmento = $(this).text();
			//pega o id do box que engloba o elemento clicado
			var boxAtual = '#'+$(this).parents('.boxAba').attr('id');
			//colocar o valor no combo falso de segmento
			$(boxAtual + ' .fauxSelect span').text(textoSegmento);
			//colocar o valor do segmento no campo hidden para ser usado na pesquisa
			$(boxAtual + ' .campoSegmentoLoja').val(";" + segmentId + ";");
			//ativo o evento de change para simular um evento de mudança de valor da combo
			$(boxAtual + ' .campoSegmentoLoja').change();
			//limpa o valor do campoNomeLoja
			$(boxAtual + ' .campoNomeLoja').val('');
			//ocultando o box de segmento
			$(boxAtual + ' .boxSegmentos').removeClass('ativo').fadeOut('fast');
		});
		
		//validacao formulários
		
		//botão limpar
		$('.btLimpar').click(function(){
			//removendo a classe erro e msg de erro quando reseta o formulário
			$('label').removeClass('erro');
			$('ul.erro').html('');
		});
		
		//validação do campo busca
		$('.btBusca').click(function() {
			//remove o campo busca para evitar duplicidade
			$('.erro').remove();
			//se o campo busca estiver vazio
			if (!$('.campoBusca').val()) {
				//caso seja preciso inserir aqui a mensagem de erro, tal como estilização...
				//alert ('campo de busca vazio');
				$('form.busca fieldset').before($('<span/>').addClass('erro').text('campo de busca vazio'));
				return false;	
			}
		});
		
		//removendo a mensagem de erro quando o campo de busca recebe o foco
		$('.campoBusca').focus(function(){
			//remove o campo busca
			$('.erro').remove();
		});
		
		//accordion da seção de cinemas
		$('.boxSecoes .containerTitulo').click(function(e){
			$(this).next('ul').slideToggle('slow', function() {});
			e.preventDefault();
		});
			
		
	// -------- CINEMA ----------- // 
	
	lis = $('.boxHomeFilmes .cartazes').children('li').length;
	cartazWidth = lis*115;
	
	$('.boxHomeFilmes .cartazes').css('width', cartazWidth+'px');
	
	$('.boxHomeFilmes .cartazes li').css('opacity', 0.4);
	$('.boxHomeFilmes .cartazes li:first-child').next().addClass('evidencia').css('opacity',1);
	
	//preenchendo as informacoes do filme
	$('.boxInfoFilme h4').text($('li.evidencia .nomeFilm').html());
	$('.boxInfoFilme .horaFilme').text($('li.evidencia .horaFilm').html());
	$('.boxInfoFilme .linkFilme').attr('href',$('li.evidencia .linkFilm').html());
	
	
	function direita(){
		var cartaz = $('.boxHomeFilmes .cartazes');
		var left = parseInt(cartaz.css('left'));
		
		if(left == 93 ){ return false; } else { 
			
			cartaz.stop().animate({left : '+=93px'},500); 
			$('li.evidencia').removeClass('evidencia').prev().addClass('evidencia');
			$('.boxHomeFilmes .cartazes li').css('opacity', 0.4);
			$('li.evidencia').css('opacity',1);
			
			//preenchendo as informacoes do filme
			$('.boxInfoFilme h4').text($('li.evidencia .nomeFilm').html());
			$('.boxInfoFilme .horaFilme').text($('li.evidencia .horaFilm').html());
			$('.boxInfoFilme .linkFilme').attr('href',$('li.evidencia .linkFilm').html());
		}
	
	}
	
	
	function esquerda(){
		var cartaz = $('.boxHomeFilmes .cartazes');
		var left = parseInt(cartaz.css('left'));
		//alert (cartazWidth*-1);
		if(left-297 <= (cartazWidth*-1)){ return false; } else { 
			
			cartaz.stop().animate({left : '-=93px'},500); 
			$('li.evidencia').removeClass('evidencia').next().addClass('evidencia');
			$('.boxHomeFilmes .cartazes li').css('opacity', 0.4);
			$('li.evidencia').css('opacity',1);
			
			//preenchendo as informacoes do filme
			$('.boxInfoFilme h4').text($('li.evidencia .nomeFilm').html());
			$('.boxInfoFilme .horaFilme').text($('li.evidencia .horaFilm').html());
			$('.boxInfoFilme .linkFilme').attr('href',$('li.evidencia .linkFilm').html());
			
		}
	}
	
		$('.seta.float-left').click(function(){
			direita();		
		});
		
		$('.seta.float-right').click(function(){
			esquerda();		
		});
		
	});
	
	//funcao limpa o label no campo
	function limpar(campo, msg) {
		if (campo.value == msg)campo.value = '';
	}
	
	//funcao mostra o label original no campo
	function mostrar(campo, msg) {
		if (campo.value == '')campo.value = msg;
	}
	
	//campos do formulario		
	//aceitar apenas caracteres		
	$.fn.isCharacterKey = function() {
		$(this).keypress(function(event) {
			var charCode = (event.which) ? event.which : event.keyCode
			var character = String.fromCharCode(charCode);
			if (character.match(/[\D\b\t]/)){ return true; }
			return false;
		});
	}
	
/********************
 *    Funções WKM   *
 ********************/
		
	//iniciando o erro com zero;	
	erroRequerido = 0,
	erroEmail = 0;
	//função campo requerido, recebe como parametro o id do campo e a mensagem
	function requerido(campo,msg){
		if (!msg) {
			msg = 'Campo requerido';	
		}
		//removendo a classe erro para evitar duplicidade e remover marcação
		$(campo).siblings('label').removeClass('erro');
		$('ul.erro').html('');
		//verifica se o campo é nulo
		if (!$(campo).val()) {
			//se for nulo, adiciona a classe erro ao label para marcarção
			$(campo).siblings('label').addClass('erro');	
			//seta o erro em um
			erroRequerido += 1;
		}			
		//retorna o erro para o submit
		return erroRequerido;
	}
	
	function validaEmail(campo,msg) {	
		er = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
		//checa se a expressao irregular é invalida e se o campo de email é diferente de null
		if(!er.exec($(campo).val()) && $(campo).val())
			{	
				//removendo a classe erro para evitar duplicidade e remover marcação
				$(campo).siblings('label').removeClass('erro');
				$('ul.erro').html('');
				//se for nulo, adiciona a classe erro ao label para marcarção
				$(campo).siblings('label').addClass('erro');
				//seta o erro em um
				erroEmail += 1;
			} 
			
		//retorna o erro para o submit
		return erroEmail;
	}
	
	function validaTrabalheConosco(){
		//chama a funçao requerido, passando como parametro o id do campo e a mensagem
		requerido('.campoNome','O campo Nome é requerido.');
		requerido('.campoCpf','O campo CPF é requerido.');
		requerido('.campoDataNasc','O campo Data de Nascimento é requerido.');
		requerido('.campoSexo','O campo Sexo é requerido.');
		requerido('.campoEmail','O campo Email é requerido.');
		requerido('.campoEstadoCivil','O campo Estado Civil é requerido.');
		requerido('.campoTelefone','O campo Telefone é requerido.');
		requerido('.campoCelular','O campo Celular é requerido.');
		requerido('.campoEndereco','O campo Endereço é requerido.');
		requerido('.campoBairro','O campo Bairro é requerido.');
		requerido('.campoCep','O campo CEP é requerido.');
		requerido('.campoCidade','O campo Cidade é requerido.');
		requerido('.campoEstado','O campo Estado é requerido.');
		requerido('.campoCargo','O campo Cargo Pretendido é requerido.');
		requerido('.campoSalario','O campo Salário Pretendido é requerido.');
		requerido('.campoAreaAtuacao','O campo Cidade é requerido.');
		requerido('.campoEscolaridade','O campo Escolaridade é requerido.');
		requerido('.campoWord','O campo Nível de conhecimento de Word é requerido.');
		requerido('.campoExcel','O campo Nível de conhecimento de Excel é requerido.');
		requerido('.campoIngles','O campo Nível de conhecimento de Inglês é requerido.');
		requerido('.campoEspanhol','O campo Nível de conhecimento de Espanhol é requerido.');
		requerido('.campoArquivo','O campo Arquivo do currículo é requerido.');
		validaEmail('.campoEmail','Formato de email inválido.');
		
		//se não possui nenhum erro, return true para o submit
		if (erroRequerido == 0 && erroEmail == 0) {
			//remove todas as mensagens de erro
			$('.formCadastro label').removeClass('erro');
			return true;
		}
		else {
			if (erroRequerido >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Campos requeridos.')).show();
				//setando o erro em zero
				erroRequerido = 0;
			}
			if (erroEmail >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Formato de email inválido.')).show();
				//setando o erro em zero
				erroEmail = 0;
			}
			return false;
		}
	}
	
	function validaCadastro(){
		//chama a funçao requerido, passando como parametro o id do campo e a mensagem			
		requerido('.campoNome','O campo Nome é requerido.');
		requerido('.campoEmail','O campo E-Mail é requerido.');
		requerido('.campoNasc','O campo Data de Nascimento é requerido.');
		requerido('.campoSexo','O campo Sexo é requerido.');
		requerido('.campoCpf','O campo CPF é requerido.');
		requerido('.campoEstadoCivil','O campo Estdo Civil é requerido.');
		requerido('.campoDDD1','O campo DDD é requerido.');
		requerido('.campoFone1','O campo Telefone é requerido.');
		requerido('.campoEndereco','O campo Endereço é requerido.');
		requerido('.campoNumber','O campo Número é requerido.');
		requerido('.campoEstado','O campo Estado é requerido.');
		requerido('.campoCep','O campo CEP é requerido.');
		requerido('.campoTipoLogradouro','O campo Tipo de Logradouro é requerido.');
		requerido('.campoBairro','O campo Bairro é requerido.');
		requerido('.campoCidade','O campo Cidade é requerido.');
		validaEmail('.campoEmail','Formato de email inválido.');
		
		//se não possui nenhum erro, return true para o submit
		if (erroRequerido == 0 && erroEmail == 0) {
			//remove todas as mensagens de erro
			$('.formCadastro label').removeClass('erro');
			return true;
		}
		else {
			if (erroRequerido >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Campos requeridos.')).show();
				//setando o erro em zero
				erroRequerido = 0;
			}
			if (erroEmail >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Formato de email inválido.')).show();
				//setando o erro em zero
				erroEmail = 0;
			}
			return false;
		}
	}
	
	//fale conosco
	function validaContato() {
		//chama a funçao requerido, passando como parametro o id do campo e a mensagem			
		requerido('.campoNome','O campo nome é requerido.');
		requerido('.campoEmail','O campo email é requerido.');
		requerido('.campoMsg','O campo mensagem é requerido.');
		validaEmail ('.campoEmail','Formato de email inválido.');
		//se não possui nenhum erro, return true para o submit
		if (erroRequerido == 0 && erroEmail == 0) {
			//remove todas as mensagens de erro
			$('.formContato label').removeClass('erro');
			return true;
		}
		
		else {
			if (erroRequerido >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Campos requeridos.')).show();
				//setando o erro em zero
				erroRequerido = 0;
			}
			if (erroEmail >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Formato de email inválido.')).show();
				//setando o erro em zero
				erroEmail = 0;
			}
			return false;
		}
	}
	
	function validaComentario() {
		//chama a funçao requerido, passando como parametro o id do campo e a mensagem			
		requerido('.campoNome','O campo nome é requerido.');
		requerido('.campoEmail','O campo email é requerido.');
		requerido('.campoMsg','O campo comentário é requerido.');
		validaEmail ('.campoEmail','Formato de email inválido.');
		//se não possui nenhum erro, return true para o submit
		if (erroRequerido == 0 && erroEmail == 0) {
			//remove todas as mensagens de erro
			$('.formContato label').removeClass('erro');
			return true;
		}
		
		else {
			if (erroRequerido >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Campos requeridos.')).show();
				//setando o erro em zero
				erroRequerido = 0;
			}
			if (erroEmail >= 1) {
				//adicionando a mensagem de erro
				$('ul.erro').append($('<li/>').text('Formato de email inválido.')).show();
				//setando o erro em zero
				erroEmail = 0;
			}
			return false;
		}
	}
	
	function getAconteceCategories(menuItemId) {
		var attrs = {
			pageId : "FF80818133AC8EC20133ADC606B1174C"
		};
		var menuItem = $("#" + menuItemId);
		
		$.get("/wkm/xml/interface.jsp", attrs, function(result) {
			var obj = eval('(' + xml2json(result) + ')');
			
			if(obj.data.itens != null) {
				var items = $.isArray(obj.data.itens.item) ? obj.data.itens.item : [obj.data.itens.item];
				
				for(var i = 0; i < items.length; i++) {
					var item = items[i];
					
					var li = $("<li></li>");
					var a  = $("<a></a>");
					a.attr("title", item.name);
					a.attr("href", "/"+item["@href"]);
					a.text(item.name);
					li.append(a);
					menuItem.append(li);
				}
			}
			//console.log(obj);
		});
		
	}
	
	
	function paginacaoAlfabetica(listId, inputId, submitId, categoryInputId) {
		var list 	 = $("#" + listId);
		var input 	 = $("#" + inputId);
		var submit	 = $("#" + submitId);
		var categoryInput = $("#" + categoryInputId);
		var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
		
		for(i = 0; i < alphabet.length; i++) {
			letter = alphabet[i];
			
			var li = $("<li></li>");
			var a  = $("<a></a>");
			a.attr("title", letter);
			a.attr("href", "javascript:void(0)");
			a.text(letter);
			a.click(function(){
				categoryInput.val("");
				input.val($(this).text() + "*");
				submit.click();
			});
			
			li.append(a);
			list.append(li);
		}
	}
	
	
	
