$(document).ready(function(){	

	// instanciando o dialog
	$("#objeto_dialog").dialog({
		modal:true,
		width:300,
		minHeight:80,
		autoOpen:false
	});
	
	//assinatura da abissal
	$("#assinatura_abissal").hover(function(){
		$(this).animate({ "width": "70" }, {duration:500, queue: false });
	}, function(){
		$(this).animate({ "width": "17" }, {duration:500, queue: false });										
	});
	
	$("#form_busca input[type='text']").focus(function(){
		if($(this).val() == 'Busca'){
			$(this).val('');
		}
	});

	$("#form_busca input[type='text']").blur(function(){
		if($(this).val() == ''){
			$(this).val("Busca");
		}
	});
	
	$("#form_busca").submit(function(){
		var valor = $(this).find("input[type='text']").val();
		if(valor.length > 1){
			return true;
		}else{
			return false;
		}
	});
	
	$(".treinamento_chave").click(function(){		
		$(this).next("ul").slideToggle("normal");
	});
	
	$("#menu_treinamentos").find("li a").each(function(){
		if($(this).hasClass("ativo")){
			$(this).parent().parent().slideToggle("normal");
		}
	});
		
	$("#menu_treinamentos li a, #menu_formacoes li a, a.bt_icone_interno[href!='javascript:void(0)'], p.turmas_data a, table#turmas tr td.datas a").hover(
		function(){
			$(this).fadeTo({duration:300, queue:false}, 0.5);
		},
		function(){
			$(this).fadeTo({duration:300, queue:false}, 1);
		});
	
	$("a.bt_icone_interno[href='javascript:void(0)']").css("cursor", "default");
	
	$(".lista_menu_formacoes li a b").each(function(i){
		if ($(this).height()==30) {
			$(this).removeClass("tres_linhas").addClass("duas_linhas");
		}
	});
	
	//banner do topo
	var flashvars = {};
	var params = {
		menu: "false",
		wmode: "transparent"
	};
	var attributes = {};

	swfobject.embedSWF("recursos/swf/topo.swf", "bannerTopoFlash", "770", "240", "8.0.0", "expressInstall.swf", flashvars, params, attributes);

	// montando o carrinho de solicitar informações
	$("a.bt_solicitar_informacoes").click(function(){
		var registro = $(this).attr("id");		
		registro = registro.split("_");
		
		var id_registro = registro[1];
		var tipo_registro = registro[0];
		
		switch(tipo_registro){
			case 'treinamento':
				var tipo_info = "Treinamento adicionado";
			break;
			
			case 'formacao':
				var tipo_info = "Formação adicionada";
			break;
				
			case 'certificacao':
				var tipo_info = "Certificação adicionada";
			break;
		}
		
		
		/** Cadastrando na session **/
		$("#objeto_dialog")
			.empty()
			.append($("<div />")
					.attr("align","center")
					.attr("style","margin:10px 0 5px 0;")
					.append($("<img />")
							.attr("src","recursos/img/loader_solicitacoes.gif")))			
			.dialog("option", "title", "Adicionando sua solicitação")//modifica o título da caixa
			.dialog("option", "buttons", {})
			.dialog("option","width", 285)//modifica o width
			.dialog("open");//abre a area oculta com o form de cadastro
		
		// grava por ajax
		$.ajax({
			   type: "POST",
			   url: 'solicite',
			   data: "id_registro="+id_registro+"&tipo_registro="+tipo_registro,
			   async: false,
			   dataType: "json",
			   success: function(retorno){	
					$("#objeto_dialog").dialog("close"); //fecha a caixa
					
					if(retorno.erro == '1'){
						
						// mostra a janela de confirmação de ação
						$("#objeto_dialog")
							.empty()
							.append($("<p>").html("<strong>Esta informação já foi adicionada anteriormente.</strong><br />O que deseja fazer agora?"))			
							.dialog("option", "title", "Solicitar informações") //modifica o título da caixa
							.dialog("option", "buttons", { //seta os novos botões											
								"Continuar navegando": function(){ //ação do botão fechar
									$("#objeto_dialog").dialog("close"); //fecha a caixa
								},
								"Visualizar e enviar": function(){ //ação do botão fechar
									location.href = '/enviar-solicitacao';
								}
							})
							.dialog("option","width", 450)//modifica o width
							.dialog("open");//abre a area oculta com o form de cadastro
						
					}else{						
														
						// trocando as informações da caixa de solicite
						$("#solicite")
							.empty()
							.append($("<p />")
										.html("Treinamentos: "+retorno.treinamento))
							.append($("<p />")
										.html("Formações: "+retorno.formacao))
							.append($("<p />")
										.html("Certificações: "+retorno.certificacao))
						
						$("#bt_saiba_como")
							.attr("href","enviar-solicitacao")
							.html("Enviar solicitação");
										
						// mostra a janela de confirmação de ação
						$("#objeto_dialog")
							.empty()
							.append($("<p>").html("<strong>"+tipo_info+" com sucesso na caixa de solicitações.</strong><br />O que deseja fazer agora?"))			
							.dialog("option", "title", "Solicitar informações") //modifica o título da caixa
							.dialog("option", "buttons", { //seta os novos botões											
								"Continuar navegando": function(){ //ação do botão fechar
									$("#objeto_dialog").dialog("close"); //fecha a caixa
								},
								"Visualizar e enviar": function(){ //ação do botão fechar
									window.location.href = 'enviar-solicitacao';
								}
							})
							.dialog("option","width", 450)//modifica o width
							.dialog("open");//abre a area oculta com o form de cadastro
						
					}
			   }
			});
		
	});
	
	$("#solicite").click(function(){
		if ($("#bt_saiba_como").text()=="Enviar solicitação"){
			location.href = "enviar-solicitacao";
		} else {
			location.href = "saiba-como";
		}
	});
	
	// montando o indique
	$("a.bt_indicar").click(function(){
		var url_indicacao = window.location;
		
		$("#objeto_dialog")
			.empty()
			.append($("<div />")
						.attr("align","center")
						.attr("class","hide")
						.attr("id","loading")
						.append($("<img />")
									.attr("src","recursos/img/loader_solicitacoes.gif")))
			.append($("<div />")
						.attr("id","retorno")
						.attr("class","hide")
						.append($("<p />")
									.html("Indicação enviada com sucesso!")))
			.append($("<label />")
						.html("Seu nome:"))
			.append($("<input />")
					.attr("id","seu_nome"))
			.append($("<label />")
						.html("Seu e-mail:"))
			.append($("<input />")
					.attr("id","seu_email"))
			.append($("<label />")
						.html("Nome do destinatário:"))
			.append($("<input />")
					.attr("id","nome_destinatario"))
			.append($("<label />")
					.html("E-mail do destinatário:"))
					.append($("<input />")
							.attr("id","email_destinatario"))	
			.append($("<label />")
					.html("Comentário:"))
					.append($("<textarea />")
							.attr("id","comentario"))	
			.dialog("option", "buttons", { 
				"Enviar": function(){ //ação do botão fechar
					
					// pegando os dados
					var url_indique = window.location;					
					var seu_nome = $("#seu_nome").val();
					var seu_email = $("#seu_email").val();
					var nome_destinatario = $("#nome_destinatario").val();
					var email_destinatario = $("#email_destinatario").val();
					var comentario = $("#comentario").val();
					
					var erro = '';
					// seu nome
					if(seu_nome == ''){
						$("#seu_nome").addClass("error");
						if(erro == ''){
							$("#seu_nome").trigger("focus");
						}
						erro = '1';
					}else{
						$("#seu_nome").removeClass("error");
					}
					
					// seu e-mail
					var regraEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;	
					if(seu_email == ''){
						$("#seu_email").addClass("error");
						if(erro == ''){
							$("#seu_email").trigger("focus");
						}
						erro = '1';
					} else if(!regraEmail.test(seu_email)) {
						$("#seu_email").addClass("error");
						if(erro == ''){
							$("#seu_email").trigger("focus");
						}
						erro = '1';
					}else{
						$("#seu_email").removeClass("error");
					}
					
					// nome destinatario
					if(nome_destinatario == ''){
						$("#nome_destinatario").addClass("error");
						if(erro == ''){
							$("#nome_destinatario").trigger("focus");
						}
						erro = '1';
					}else{
						$("#nome_destinatario").removeClass("error");
					}
					
					if(email_destinatario == ''){
						$("#email_destinatario").addClass("error");
						if(erro == ''){
							$("#email_destinatario").trigger("focus");
						}
						erro = '1';
					} else if(!regraEmail.test(email_destinatario)) {
						$("#email_destinatario").addClass("error");
						if(erro == ''){
							$("#email_destinatario").trigger("focus");
						}
						erro = '1';
					}else{
						$("#email_destinatario").removeClass("error");
					}
					
					// email destinatario
					if(comentario == ''){
						$("#comentario").addClass("error");
						if(erro == ''){
							$("#comentario").trigger("focus");
						}
						erro = '1';
					}else{
						$("#comentario").removeClass("error");
					}
					
					if(erro != ''){
						return false;
					}
					
					// mostrando o loading
					$("#loading").slideDown("normal");					
					
					$.ajax({
					   type: "POST",
					   url: 'indique',
					   data: "url_indique="+url_indique+"&seu_nome="+seu_nome+"&nome_destinatario="+nome_destinatario+"&email_destinatario="+email_destinatario+"&comentario="+comentario+"&seu_email="+seu_email,
					   success: function(retorno){	
						
							$("#loading").slideUp('fast');
							$("#retorno").slideDown("normal");
							$("#objeto_dialog :input").val('');
						
							setTimeout(function(){								
								$("#objeto_dialog").dialog("close"); //fecha a caixa
								$("#objeto_dialog").empty();
							},3500);
							
					   }
					});
					
					
				}
			})
			.dialog("option", "title", "Indicar")//modifica o título da caixa
			.dialog("option", "width", 305)
			.dialog("open");//abre a area oculta com o form de cadastro
	});
	
	//banner Rotativo
	$("#banner_rotativos").before("<div id='navegacao_banners_rotativos'>").cycle({ 		
		speed: 800, //velocidade da transição
		timeout: 5000, //intervalo entre as trocas de imagens
		pager:"#navegacao_banners_rotativos" //informa qual será a div que contém os botões de navegação numérica
	});
	
	//banner do top
	$("#bannerTopoFlash").fadeIn();
	
	//lightbox
	//lightbox
	$("div.galeria_midia a").lightBox({
		overlayBgColor: '#5E7182',
		overlayOpacity: 0.8,
		containerResizeSpeed: 350,
		keyToPrev: 'a',
		keyToNext: 'p',
		txtImage: 'Imagem',
		txtOf: 'de',
		imageBtnClose: 	'recursos/img/lightbox/close.gif',
		imageLoading: 'recursos/img/lightbox/loading.gif',
		imageBtnPrev:'recursos/img/lightbox/prev.gif',
		imageBtnNext: 'recursos/img/lightbox/next.gif'		
	});
	
	//lightbox
	$(".lightbox").lightBox({
		overlayBgColor: '#5E7182',
		overlayOpacity: 0.8,
		containerResizeSpeed: 350,
		keyToPrev: 'a',
		keyToNext: 'p',
		txtImage: 'Imagem',
		txtOf: 'de',
		imageBtnClose: 	'recursos/img/lightbox/close.gif',
		imageLoading: 'recursos/img/lightbox/loading.gif',
		imageBtnPrev:'recursos/img/lightbox/prev.gif',
		imageBtnNext: 'recursos/img/lightbox/next.gif'		
	});
	
	// funcoes para buscas dentro de treinamento, formacoes, etc
	$("select.filtro_select_alfabeto").change(function(){
		$("#filtro_paginacao").val('');
		$("#filtro_letra").val('');
		$("form.form_filtro_alfabeto").trigger("submit");
	});
	$("#ordem_alf_cursos a").click(function(){		
		if(!$(this).hasClass('sem_curso')){
			$("#filtro_paginacao").val('1');
			$("#filtro_letra").val($(this).text());
			$("form.form_filtro_alfabeto").trigger("submit");
			return false;
		}
	});
	$("#paginacao a").click(function(){		
		$("#filtro_paginacao").val($(this).text());
		$("form.form_filtro_alfabeto").trigger("submit");
		return false;
	});
	
	//correção da largura da paginação
	var margem_paginacao = (470-$("#paginacao").width())/2;
	$("#paginacao").css({
		display:"block",
		margin:"0 "+margem_paginacao+"px"
	});
	
	//calendário para os campos data
	$(".data_calendario, .mascara_data").datepicker({
		dateFormat: 'dd/mm/yy'
	}).attr("readonly", "readonly");
	
	$("#data_nascimento").datepicker({
		changeYear:true,
		changeMonth:true,
		minDate:new Date(1900,0,1),
		maxDate:"0",
		yearRange:"-100:100"
	}).attr("readonly", "readonly");
	
	$(".data_calendario_atual").datepicker({
		dateFormat: 'dd/mm/yy',
		minDate: '0'
	}).attr("readonly", "readonly");
	
	// validação formulário
	$("#form_geral[class!='cadastro_vaga']").validate({
		rules:{
			emprego_empresa_cnpj: {verificaCNPJ:true},
			emprego_empresa_senha_conf: {equalTo:"#emprego_empresa_senha"},
			curriculo: {verificaArquivos:true}
		},
		messages:{
			emprego_empresa_senha_conf: {equalTo:"Digite o mesmo valor do campo senha."}
		}
	});
	$("#form_geral.cadastro_vaga").validate({
		submitHandler: function(form){
		
			var filtro	= $(form).find("input,textarea,select").serialize();
			
			var objeto = $(form);									
			// pegando a url onde deve buscar os resultados
			var url_ajax = window.location;
			
			// busca os resultados para a listagem
			$.ajax({
			   type: "POST",
			   url: ''+url_ajax+'',
			   data: "ajax_modo=salvar&"+filtro,
			   async: false,
			   dataType: "json",
			   success: function(retorno){	
					
					$("#retorno").html("<p>Dados cadastrados com sucesso!</p>");
					$("#retorno").slideDown('normal');
					
					setTimeout(function(){
						$("#retorno").slideUp('normal');
						$("#retorno").html('');
					},3500);
				
					$("form .chave_primaria").val('');
					$(form).trigger('reset').find("input[type='text']:first").trigger("focus");
					
					listaVagas(retorno);
					
			   }
			});
			return false;	
		}			
	});
	// botão cancelar das vagas	
	$("#form_cancelar").click(function(){
		$("form .chave_primaria").val('');
		$("#form_geral.cadastro_vaga").trigger('reset').find("input[type='text']:first").trigger("focus");
		return false;
	});
	
	$(".mascara_data").mask("99/99/9999");
	$(".mascara_telefone").mask("(99)9999-9999");
	$(".mascara_cep").mask("99.999-999");
	$(".mascara_cpf").mask("999.999.999-99");
	$(".mascara_cnpj").mask("99.999.999/9999-99");
	
	//ação de focus e blur dos campos
	/*$("#form_geral :input")
		.focus(function(){
			$(this).removeClass("error").addClass("selecionado");
		})
		.blur(function(){
			$(this).removeClass("selecionado");
		});*/
	setaFocus();
	
	acoesGerenciarVagas();
	
	//estilo dos campos file dos formulários
	$("form input[type='file']")
		.css({
			"width": 300,
			"marginLeft": 100,
			"marginBottom": 15,
			"opacity": 0
		})
		.change(function(){
			$(this).prev(".fake_arquivo").val($(this).val());
		})
		.before($("<input class='fake_arquivo' readonly='readonly' />")
			.bind("focus", function(){
				$(this).next().click();
			})
			.css({
				"width":360,
				"marginBottom":-28,
				"background":"url(recursos/img/bg_botao_input_file.png) no-repeat 219px -1px #686F77"
			}));
	
	// excluir um registro da solicitação
	$(".bt_excluir_solicite").click(function(){
		var dados = $(this).attr("id");
		dados = dados.split("_");
		var id_registro = dados[1];
		var tipo_registro = dados[0];
		
		var url_ajax = window.location;
		
		var botao = $(this);
		
		$("#objeto_dialog")
				.empty()
				.append($("<p>").html("Deseja realmente excluir o registro?"))			
				.dialog("option", "title", "Excluir registro") //modifica o título da caixa
				.dialog("option", "buttons", { //seta os novos botões											
					"Cancelar": function(){ //ação do botão fechar
						$("#objeto_dialog").dialog("close"); //fecha a caixa
					},
					"Confirmar": function(){ //ação do botão fechar
						$.ajax({
						   type: "POST",
						   url: ''+url_ajax+'',
						   data: "ajax_modo=excluir&id_registro="+id_registro+"&tipo_registro="+tipo_registro,
						   async: false,
						   dataType: "json",
						   success: function(retorno){	
								var div = $(botao).parent().parent();
								
								$(botao).parent().next("hr").remove(); // remove o hr
								$(botao).parent().next("br").remove();
								$(botao).parent().remove();
								
								if($(div).find("p").length == 0){
									$(div).parent().remove();
								}	
								$("#objeto_dialog").dialog("close"); //fecha a caixa
								
								$("#solicite")
										.empty()
										.append($("<p />")
													.html("Treinamentos: "+retorno.treinamento))
										.append($("<p />")
													.html("Formações: "+retorno.formacao))
										.append($("<p />")
													.html("Certificações: "+retorno.certificacao))
								
						   }
						});
					}
				})
				.dialog("option","width", 300)//modifica o width
				.dialog("open");//abre a area oculta com o form de cadastro
		
		
				
	});
	
});

function listaVagas(json){

	$("#vagas_cadastradas").empty();
	
	$.each(json.dados, function(i,dado){
		
		$("#vagas_cadastradas")				
				.append($("<div />")
						.attr("class","espaco_vagas")
						.attr("id","vaga_"+dado.emprego_vaga_id)
						.append($("<p />")
								.attr("class","cad_vaga")
								.html(dado.emprego_vaga_titulo+"<br />")
								.append($("<i />")
										.html("Status: "+dado.emprego_vaga_status)))
						.append($("<div />")
								.attr("class","botoes_gerais vagas")
								.append($("<a />")
										.attr("href","javascript:void(0)")
										.attr("class","bt_vaga_editar")
										.html("<span>Editar</span>"))
								.append($("<a />")
										.attr("href","javascript:void(0)")
										.attr("class","bt_vaga_excluir")
										.html("<span>Excluir</span>"))
								)
						.append("<br clear='all' />"))
				
	});
	
	acoesGerenciarVagas();

}

function acoesGerenciarVagas(){
	
	$(".bt_vaga_editar").click(function(){
		var id = $(this).parent().parent().attr("id").replace("vaga_","");
		
		var url_ajax = window.location;
		
		$.ajax({
		   type: "POST",
		   url: ''+url_ajax+'',
		   data: "ajax_modo=editar&id="+id,
		   async: false,
		   dataType: "json",
		   success: function(retorno){		
			
				$("#form_geral .chave_primaria").val(retorno.emprego_vaga_id);
				$("#emprego_vaga_titulo").val(retorno.emprego_vaga_titulo);
				$("#emprego_area_id").val(retorno.emprego_area_id);
				$("#emprego_vaga_descricao").val(retorno.emprego_vaga_descricao);				
				
		   }
		});
	});
	
	$(".bt_vaga_excluir").click(function(){
		
		var id = $(this).parent().parent().attr("id").replace("vaga_","");
			
		var url_ajax = window.location;
		
		var botao = $(this);
		
		$("#objeto_dialog")
		.empty()
		.append($("<p>").html("Deseja realmente excluir esta vaga?"))			
		.dialog("option", "title", "Excluir vaga") //modifica o título da caixa
		.dialog("option", "buttons", { //seta os novos botões											
			"Cancelar": function(){ //ação do botão fechar
				$("#objeto_dialog").dialog("close"); //fecha a caixa
			},
			"Confirmar": function(){ //ação do botão fechar
				$.ajax({
				   type: "POST",
				   url: ''+url_ajax+'',
				   data: "ajax_modo=excluir&id="+id,		   
				   async: false,
				   success: function(retorno){
						if(retorno == 'fim'){
							$("#vagas_cadastradas")				
								.empty()
								.append($("<p />").html("Nenhuma vaga cadastrada"));
						}	
						// remove a div
						$(botao).parent().parent().remove();
						 //fecha a caixa
						$("#objeto_dialog").dialog("close");
					}
				});
				
			}
		})
		.dialog("option","width", 300)//modifica o width
		.dialog("open");//abre a area oculta com o form de cadastro
		
	});
	
	/** Limpa o formulário dos forms que utilizam o input reset com a id form_reset **/
	$("#form_reset").click(function(){
		$(this).parent().parent().find("input[type='text'],select").val('');
		return false;
	});
}
//função que colocar o focus e blur dos campos dos formulários
function setaFocus(){
	//ação de focus e blur dos campos
	$("form :input, #objeto_dialog :input")
		.focus(function(){
			$(this).removeClass("error").addClass("selecionado");
		})
		.blur(function(){
			$(this).removeClass("selecionado");
		});	
}