emailInscRequired = false;
cpfInscRequired = true;

jQuery().ready(function($){

	

	// ##########################################

	// ## usar minifier antes de entrar em produção         ##

	// ## http://www.refresh-sf.com/yui/                       ##

	// ## http://www.julienlecomte.net/yuicompressor/ ##

	// ##########################################

	// "graceful degradation": não é necessário separar o script

	// por página, se o seletor CSS não retornar nenhum resultado

	// a função interna não é executada

	

	

	// submenus topo

	$('#menu').find('li:has(ul)').each(function(){

		var sub = $('ul', this).hide();

		var h = sub.height();

		sub.height(0);

		$(this).hover(function(){

			sub.stop(true,false).animate({ height: h });

		}, function(){

			sub.stop(true,false).animate({ height: 0 }, function(){ $(this).hide() });

		});

	});

	// rotacao img clientes
	
	$.getJSON('list.php', function( lista ){
		var
			i =0,
			$img = $('#corpo.capa').find('.dir .clientes img').hide(),
			$preload = $('<img/>').insertBefore( $img ).hide();
		
		$preload.load(function(){
			$img.fadeOut(800, function(){
				$(this).attr('src', $preload.attr('src')).fadeIn(800);
			});
		});
	
		function start(){
			$preload.attr('src', lista[i++]);
			if (i == lista.length) i = 0;
			setTimeout( arguments.callee, 4000);
		};
		
		$img.fadeIn(800);
		setTimeout( start, 5000);
		
	});
	

	// efeito menu interno
	//menu interno
	$('.col-1 .menuinterno').find('li[className=""] a').hover(function(){
    	$(this).parent().stop().animate({ backgroundPosition: '(7px 0)' }, 200);
		}, 
	function(){    
		$(this).parent().stop().animate({ backgroundPosition: '(0 0)' }, 200);}
		);


	

	// form inscricao curso

	$('#link_inscricao').click(function(){

		var $f1 = $('#form_inscricao');

		var r = !$f1.is(':visible');

		$f1.slideToggle();

		return r;

	});
	
	// form inscricao curso detalhe

	$('#link_inscricao_detalhe').click(function(){

		var $f1 = $('#form_inscricao_detalhe');

		var r = !$f1.is(':visible');

		$f1.slideToggle();

		return r;

	});	

	// form recomendar

	var $f2 = $('#form_recomendar').hide();

	$('#link_recomendar').click(function(){

		var r = !$f2.is(':visible');

		$f2.slideToggle();

		return r;

	});

	// form inscricao curso
	var $f3 = $('#cadastroEmpresa').hide();
	$('#link_cadastroEmpresa').click(function(){
		var r = !$f3.is(':visible');
		$f3.toggle();
		$f4.hide();
		return r;
	});
	
	// form inscricao curso
	var $f4 = $('#selecionaEmpresa');
	$('#link_selecionaEmpresa').click(function(){
		var r = !$f4.is(':visible');
		$f4.toggle();
		$f3.hide();
		return r;
	});

	// calendario

	var

		$cal = $('#tabela-cursos'),

		cursos = {},

		uid = 0;

	$cal.find('tbody[className*=mes]').each(function(){

		var cursos_do_mes = {};

		$(this).find('tr[className*=data]').each(function(){

			$(this).attr('id', 'curso'+uid++);

			var dias = /data{(\d+)-?(\d+)?}/.exec(this.className);

			if (dias[2]){

				do {

				cursos_do_mes[dias[1]++] = this.id;

				} while ( dias[1] <= dias[2] );

			} else {

				cursos_do_mes[dias[1]] = this.id;

			}

		});

			var n_mes = /mes{(\d+)}/.exec(this.className)[1];

		cursos[ n_mes ] = cursos_do_mes;

	});

	

	var mes_atual;

	$.datepicker.setDefaults({

		beforeShow: function(i){

			alert(111);

		},

		beforeShowDay: function(date){

			var

				mes = date.getMonth()+1,

				dia = date.getDate();

			if (cursos[mes] && cursos[mes][dia])

				return [true, '', $('#'+cursos[mes][dia]).find('th').text()];

			else

				return [false, '', ''];

		},

		onChangeMonthYear: function(ano, mes){

			mes_atual = mes;

		}

	});

	$('#calendario .ui-datepicker-calendar td')

		.live('mouseover', function(){

			var texto = $(this).attr('title');

			$cal.find('tbody').filter(function(){

				return /mes{(\d+)}/.exec(this.className)[1] == mes_atual;

			}).find('tr').filter(function(){

				return $(this).find('th').text() == texto;

			}).addClass('hover').siblings().removeClass('hover');

		})

		.live('mouseout', function(){

			$cal.find('tr').removeClass('hover');

		});

	$('#calendario').datepicker($.extend($.datepicker.regional['pt-BR'], { beforeShow: function(i){ alert('hey') } }));

	

	// checkbox replacement (tire sua febre, calendario de cursos)

	$('#form_febre .questionario :checkbox, #tabela-cursos :checkbox').each(function(){

		$(this).hide();

		var novo = $('<div class="checkbox"></div>').click(function(){

			var t = $(this);

			t.parent().toggleClass('ativo');

			t.next(':checkbox')[0].checked = t.parent().hasClass('ativo');

		});

		$(this).before( novo );

	});

	

	// calendario de cursos - selecao

	$('#form_inscricao').find('option').attr('selected', false);

	

	$('#tabela-cursos').find('.checkbox').each(function(){

		var $cb = $(this).next(':checkbox');

		$(this).click(function(){

			$('#form_inscricao option[value='+$cb.val()+']').attr('selected', $cb.attr('checked'));

		});

	});

	

	$('#tabela-cursos')

		.find('tr.mes:gt(0)').siblings('tr')

			.hide().end().end()

		.find('tr.mes').each(function(i){

			// fade/toggle não funciona em TRs no IE, :visible sempre true

			var $this = $(this), $trs = $this.nextAll('tr');

			var open = i ? false : true;

			$(this).click(function(){

				if ($.browser.msie) //eca

					$trs[ open ? 'hide' : 'show' ]();

				else

					$trs[ open ? 'fadeOut' : 'fadeIn' ]();

				open = !open;

			}).css('cursor', 'pointer');

		});

	

	// loja virtual

	$('table.compras').find('.info').each(function(){

		var $tr = $(this).parent(), $self = $(this);

		$tr.hover(function(){

			$self.slideDown();

		},function(){

			$self.slideUp();

		});

	});

	/* $('#menuloja').each(function(){

	$(this).find('> li:not(.aberto,.carrinho)').hover(function(){

			$(this).animate({ backgroundPosition: '(0 -200px)' }, 300);

		}, function(){

			$(this).animate({ backgroundPosition: '(0 -170px)' }, 200);

		});

	}); */
	
	// FORMS
	function ajaxLoading(form) {
		// feedback para usuario
		// tentar colocar o icone de loader também
		$(form).find(':submit').attr('value', 'Aguarde...');
		$('#mensagem').attr('style','');
		$('#mensagem').html('<img src="img/ico_loading.gif" /> Aguarde...');
	
		return true;
	}
	
	function ajaxSuccess(form) {
		// feedback para usuario
		// retorno da requisiçao ajax
		$(form).find(':submit').attr('value', 'Enviar');
		//$(form).resetForm();
	}
	
	//presentes pra voce forms
	$('#formPresentesLogin,#formPresentesNovo').each(function(){
		var $ul = $(this).find('ul').hide();
		$(this).find('a[href=#'+this.id+']').click(function(){
			$ul.slideToggle();
			return false;
		});
	});
	// Presentes pra voce - novo cadastro 
	$("#formPresentesNovo").validate({
		submitHandler: function(form) {
				ajaxLoading(form);
		
				var options = {
					target: '#mensagem',
					success: ajaxSuccess(form)
				}
		
				// colocar aqui requisição ajax
				$(form).ajaxSubmit(options);
 				  
 				return false;  
 		},  
 		rules: {
 			nome: 'required',  
 			email: {  
  				required: true,  
  				email: true  
  			},  
  			estado: 'required'  
  		},
  		  
  		messages: {  
  			nome: 'Voc&ecirc; precisa preencher seu nome',  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			},  
  			estado: 'Voc&ecirc; precisa escolher um estado'  
  		}  
 	});  
 	
 	// Presentes pra voce - login 
	$("#formPresentesLogin").validate({
		submitHandler: function(form) {
				ajaxLoading(form);
		
				var options = {
					target: '#mensagem',
					success: ajaxSuccess(form)
				}
		
				// colocar aqui requisição ajax
				$(form).ajaxSubmit(options);
 				  
 				return false;  
 		},  
 		rules: {
 			email: {  
  				required: true,  
  				email: true  
  			}  
   		},
  		  
  		messages: {  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			}    
  		}  
 	});
 	
	//PartnerConsultant
	$('#formPartnerC').validate({
		submitHandler: function(form) {
				ajaxLoading(form);
		
				var options = {
					target: '#mensagem',
					success: ajaxSuccess(form)
				}
				$(form).ajaxSubmit(options);
				return false;  
		},  
		rules: {
			nome: 'required',
			email: {  
				required: true,  
				email: true  
			},
			estado: 'required',
			areadeconsultoria: 'required'
		},
		  
		messages: {
			nome: 'Voc&ecirc; precisa preencher seu nome',  
			email: {  
				required: 'Voc&ecirc; precisa preencher um e-mail',  
				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
			},
			estado: 'Voc&ecirc; precisa escolher um estado',
			areadeconsultoria: 'Voc&ecirc; precisa preencher sua área de consultoria'
		}  
	});
	
 	// Contato
	/*$("#formContato").validate({
		submitHandler: function(form) {
				ajaxLoading(form);
		
				var options = {
					//target: '#mensagem',
					//success: ajaxSuccess(form)
					success: function() {
					$(form).find(':submit').attr('value', 'Enviar');
					document.location.href = "contato_ok.php";
					}
				}
		
				// colocar aqui requisição ajax
				$(form).ajaxSubmit(options);
 				  
 				return false;  
 		},  
 		rules: {
 			nome: 'required',
 			email: {  
  				required: true,  
  				email: true  
  			},
  			estado: 'required',
  			mensagem: 'required'
   		},
  		  
  		messages: {
  			nome: 'Voc&ecirc; precisa preencher seu nome',  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			},
  			estado: 'Voc&ecirc; precisa escolher um estado',
  			mensagem: 'Voc&ecirc; precisa preencher com uma mensagem'    
  		}  
 	});*/
	
	// Contato
	$("#formContato").validate({  
 		rules: {
 			nome: 'required',
 			email: {  
  				required: true,  
  				email: true  
  			},
  			estado: 'required',
  			mensagem: 'required'
   		},
  		  
  		messages: {
  			nome: 'Voc&ecirc; precisa preencher seu nome',  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			},
  			estado: 'Voc&ecirc; precisa escolher um estado',
  			mensagem: 'Voc&ecirc; precisa preencher com uma mensagem'    
  		}  
 	});
 	
 	// Especial para clientes - login 
	$("#formEspecialLogin").validate({
		submitHandler: function(form) {
 				$form.submit();  
 		},  
 		rules: {
 			email: {  
  				required: true,  
  				email: true  
  			},
  			senha: 'required' 
   		},
  		  
  		messages: {  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			},
  			senha: 'Voc&ecirc; precisa preencher uma senha'
  		}  
 	});
 	// Especial para clientes - meus dados 
	$("#formEspecialDados").validate({
		submitHandler: function(form) {
 				$form.submit();  
 		},  
 		rules: {
 			repete_senha: {
				required: true,
				equalTo: "#senha"
			}
			,
  			senha: 'required' 
   		},
  		  
  		messages: {  
 			repete_senha: {
				required: 'Voc&ecirc; precisa preencher com uma senha',
				equalTo: "As senhas precisam ser iguais"
			}
			,
  			senha: 'Voc&eacute; precisa preencher com uma senha'
  		}  
 	});
	
	//Formulario Tire sua Febre
	$("#form_febre").validate({
		submitHandler: function(form) {
 				$form.submit();  
 		},  
 		rules: {
			nome: 'required',
 			email: {
				required: true,
				email: true
			}
			,
  			estado: 'required' 
   		},
  		  
  		messages: {  
  			nome: 'Voc&ecirc; precisa preencher seu nome',  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			},
  			estado: 'Voc&ecirc; precisa escolher um estado'
  		}  
 	});
	
	// Formulário de inscriçao em cursos - passo 2
	$("#formIncricaoPasso2").validate({
		submitHandler: function(form) {
 				$form.submit();  
 		},  
 		rules: {
			'_pessoa[nome]': 'required',
			'_pessoa[email1]':{
				required: true,  
  				email: true  
				},
			'_pessoa[cpf]':{
				required: true,
				cpf: true
				},
			'_pessoa[datanascimento]':{
				required: true, 
				date: true
			},
			'_pessoa[rg]': 'required',
  			'_pessoa[idestado1]': 'required',
  			'_pessoa[idcidade1]': 'required',
			'_pessoa[sexo]': 'required',
			'_pessoa[telefone1]': {
				required: function() { return document.getElementById('celular').value ? false : true;},
				minlength: 12
				},
			'_pessoa[celular]': {
				required: function() { return document.getElementById('telefone1').value ? false : true;},
				minlength: 12
				}	
   		},
  		  
  		messages: {  
			'_pessoa[nome]': 'Voc&ecirc; precisa preencher seu nome',
			'_pessoa[email1]': {  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			},
			'_pessoa[cpf]':{
				required: 'Voc&ecirc; precisa preencher um CPF',
				cpf: 'Voc&ecirc; precisa preencher um CPF v&aacute;lido'
			},
			'_pessoa[datanascimento]':{
				required: 'Voc&ecirc; precisa preencher uma data de nascimento',
				date: 'Voc&ecirc; precisa preencher uma data de nascimento válida'
			},
			'_pessoa[rg]': 'Voc&ecirc; precisa preencher um RG',
  			'_pessoa[idestado1]': 'Voc&ecirc; precisa escolher um estado',
  			'_pessoa[idcidade1]': 'Voc&ecirc; precisa escolher uma cidade',
			'_pessoa[sexo]': 'Voc&ecirc; precisa escolher um sexo',
			'_pessoa[telefone1]':{
				required: 'Voc&ecirc; precisa preencher pelo menos um telefone',
				minlength: 'Voc&ecirc; precisa preencher um telefone v&aacute;lido'
			},
			'_pessoa[celular]':{
				required: 'Voc&ecirc; precisa preencher pelo menos um telefone',
				minlength: 'Voc&ecirc; precisa preencher um celular v&aacute;lido'
			}
  		}  
 	});
try
		{
	//Formulario calendario de cursos
	$("#form_inscricao").validate({
		submitHandler: function(form) 
		{
			var msg = '';
			var semOk = false;

			var sems = document.getElementById('curso').options;

			for(var i = 0; i < sems.length; i++)
			{
				if(sems[i].selected)
				{
					semOk = true;
					break;
				}
			}

			if(!semOk)
			{
				msg += "\n    - Ao menos um curso";
			}

			if(!document.getElementById('cpf').value && !document.getElementById('email').value)
			{
				msg += "\n    - CPF ou E-mail";
			}

			if(msg == "")
			{
				$form.submit();
			}
			else
			{
				msg = "Os seguintes dados são necessários para prosseguir:" + msg;
				alert(msg);
			}
 		}/*,  
 		rules: {
 			email: {
				required: document.getElementById('cpf').value ? false : emailInscRequired
			}
 			,
 			cpf : {required: document.getElementById('email').value ? false : cpfInscRequired}
			,
  			'sem[]': 'required' 
   		},

  		messages: {  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail ou cpf'
  			},
  			cpf: {required: 'Voc&ecirc; precisa escolher um cpf ou email'}
  			,
  			'sem[]': 'Voc&ecirc; precisa escolher um curso'
  		} */
 	});
	}
	catch(e){}

try
		{
	//Formulario calendario de cursos
	$("#form_inscricao_detalhe").validate({
		submitHandler: function(form) {
			var msg = '';
			var semOk = false;

			var sems = document.getElementById('curso').options;

			for(var i = 0; i < sems.length; i++)
			{
				if(sems[i].selected)
				{
					semOk = true;
					break;
				}
			}

			if(!semOk)
			{
				msg += "\n    - Ao menos um curso";
			}

			if(!document.getElementById('cpf').value && !document.getElementById('email').value)
			{
				msg += "\n    - CPF ou E-mail";
			}

			if(msg == "")
			{
				$form.submit();
			}
			else
			{
				msg = "Os seguintes dados são necessários para prosseguir:" + msg;
				alert(msg);
			}
 		}/*,
 		rules: {
 			email: {
				required: document.getElementById('cpf').value ? false : emailInscRequired
			}
 			,
 			cpf : {required: document.getElementById('email').value ? false : cpfInscRequired}
   		},

  		messages: {  
  			email: {  
  				required: 'Voc&ecirc; precisa preencher um e-mail ou cpf'
  			},
  			cpf: {required: 'Voc&ecirc; precisa escolher um cpf ou email'}
  		} */
		
 	});
	}
	catch(e){}

	
	// Formulário de inscriçao de empresa - passo 3
	$("#formCadastraEmpresa").validate({
		submitHandler: function(form) {
 				$form.submit();  
 		},  
 		rules: {
			'_empresa[nome]': 'required',
  			'_empresa[idestado]': 'required',
  			'_empresa[idcidade]': 'required'
   		},  		  
  		messages: {  
			'_empresa[nome]': 'Voc&ecirc; precisa preencher o nome',
  			'_empresa[idestado]': 'Voc&ecirc; precisa escolher um estado',
  			'_empresa[idcidade]': 'Voc&ecirc; precisa escolher uma cidade'
  		}  
 	});
	
	// Formulário de inscriçao de empresa - passo 3
	$("#formCadastraPessoa").validate({
		submitHandler: function(form) {
 				$form.submit();  
 		},  
 		rules: {
			nome: 'required',
			email:{  
  				required: true,  
  				email: true  
  			},
			cpf:{
				required: true,
				cpf: true
			}
   		},  		  
  		messages: {  
			nome: 'Voc&ecirc; precisa preencher o nome',
			email:{  
  				required: 'Voc&ecirc; precisa preencher um e-mail',  
  				email: 'Endere&ccedil;o de e-mail n&atilde;o v&aacute;lido'  
  			},
			cpf:{
				required: 'Voc&ecirc; precisa preencher um CPF',
				cpf: 'Voc&ecirc; precisa preencher um CPF v&aacute;lido'
			}
  		}  
 	});
	
	// passo 5, radiobuttons, avisos que cada um mostra
	var $insc5a = $('#aviso1').hide();
	var $insc5b = $('#aviso2').hide();
	
	$('#pgto1').click(function(){
		var r = !$insc5a.is(':visible');
		$insc5a.show();
		$insc5b.hide();
		document.getElementById('validacao').innerHTML = '';
		return r;
	});
	
	$('#pgto2').click(function(){
		var r = !$insc5b.is(':visible');
		$insc5b.show();
		$insc5a.hide();
		document.getElementById('validacao').innerHTML = '';
		return r;
	});	
	
	// validacao form do passo 5 de inscricao em curso
	$("#formPagamentoPasso5").validate({
		submitHandler: function(form) {
 				$form.submit();  
 		},  
 		rules: {
 			pagamento: 'required'
   		},
  		  
  		messages: {  
   			pagamento: 'Voc&ecirc; precisa escolher uma forma de pagamento'
  		},
  		errorPlacement: function(error, element) {
			$("#validacao").html(error);
		}  		
 	});
	
	$('.ttimagem').tooltip({ 
	    track: true, 
	    delay: 0, 
	    showURL: false, 
	    showBody: " - "
	});
// end doc.ready
});