﻿$(document).ready(function()
{
  if(document.getElementById('camarote_home'))
	{
	  $('#camarote_home').jCarouselLite({
          btnPrev: 'a.anterior',
          btnNext: 'a.proximo',
          circular: false,
          vertical: false,
          visible: 1,
          scroll: 1,
          speed: 500/*,
          ulClass: "nav",
          liClass: "nav"*/
      });
  }
  
  
    var pagina = window.location;

    if(document.getElementById('contHorarioAula'))
    {
        $('#contHorarioAula').width(221);
	    $('#contHorarioAula iframe').css({ height: $('#contHorarioAula').height()+245, width: 221 });
	    $('#contHorarioAula iframe').css({opacity:0.8});
    }

	if(document.getElementById('datepicker'))
	{
		$.datepicker.regional['pt-BR'] = {
			closeText: 'Fechar',
			prevText: '<<',
			nextText: '>>',
			currentText: 'Hoje',
			monthNames: ['Janeiro', 'Fevereiro', 'Mar&ccedil;o', 'Abril', 'Maio', 'Junho',
			'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
			monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun',
			'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
			dayNames: ['Domingo', 'Segunda-feira', 'Ter&ccedil;a-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sabado'],
			dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
			dayNamesMin: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
			dateFormat: 'dd/mm/yy', firstDay: 0,
			isRTL: false
		};

		$.datepicker.regional['pt-BR_plus'] = {
			closeText: 'Fechar',
			prevText: '<<',
			nextText: '>>',
			currentText: 'Hoje',
			monthNames: ['Janeiro', 'Fevereiro', 'Mar&ccedil;o', 'Abril', 'Maio', 'Junho',
			'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
			monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun',
			'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
			dayNames: ['Domingo', 'Segunda-feira', 'Ter&ccedil;a-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sabado'],
			dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
			dayNamesMin: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
			dateFormat: 'dd/mm/yy', firstDay: 0,
			isRTL: false,
			onSelect: function(dateText, inst) {
				if(!jQuery.browser.msie) //only IE
					return false;

				var evt;
				var visivel = false;

				if(typeof event != 'undefined')
					evt = event;
				else
					evt = window.event;

				var myDate = $('#datepicker').datepicker('getDate');
				var myDay = myDate.getDate() < 10 ? "0" + myDate.getDate() : myDate.getDate();
				var myMonth = (myDate.getMonth()+1) < 10 ? "0" + (myDate.getMonth()+1) : myDate.getMonth()+1;
				var id = "evt" + myDay + "" + myMonth + "" + myDate.getYear();

				visivel = $('#'+id).is(':visible');
				$('#datepicker .tooltip_evento').hide();
				if(visivel) $('#'+id).show();
				$('#'+id)
					.css({
						top: ((evt.clientY + $(document).scrollTop()) - ($(this).offset().top - 15)) + 'px',
						left: ((evt.clientX + $(document).scrollLeft()) - $(this).offset().left) + 'px'
					})
					.toggle();

				setTimeout(function(){ $('.tooltip_evento').each(destacaEventosCalendario); },1);

				return false;
			},
			onChangeMonthYear: function(year, month, inst) {
				$('#datepicker .tooltip_evento').hide();
				setTimeout(function(){ $('.tooltip_evento').each(destacaEventosCalendario); },1);
			}
		};

		$.datepicker.setDefaults($.datepicker.regional['pt-BR']);
	}

    //HACK: Substituição de '---------' por 'Selecione'
    var array = $(this).find('option');
    for (i = 0 ; i < array.length; i++){
        if(array[i].text == '---------'){
            array[i].text = 'Selecione'
        }
    }

	//FCT: Retrair e expandir o rodapé.
	$('#rodape h5 a').click(function(e){ $('#rodape ul').toggle('slow'); $('#rodape .rodape_logo').toggle('slow'); });

	//HACK: Calcula a altura do div .cont_esq para fazer com que o rodapé alcance o final da página
	setTimeout('calcContEsqHeight();', 1000);
	//HACK: Calcula altura do div .cont_dir_mid para que acompanhe o .cont_esq
	calcContDirMidHeight();
	$(window).resize(function(){ calcContEsqHeight(); calcContDirMidHeight(); });

	//EXCEPTION: para o IE6.
	if(jQuery.browser.msie && jQuery.browser.version == "6.0" && navigator.appVersion.indexOf("MSIE 7.0") == -1)
	{
		supersleight.init();
		$('.divProximasAulas').hide();

		$('body').prepend("<div id=\"asn-warning\"><span>Você está usando <strong>Internet Explorer 6</strong>, um navegador antigo e com falhas de segurança. Este site não é compatível com este navegador, por favor <a href=\"http://www.updateyourbrowser.net/\" style=\"color: #4F4D3B\">atualize-o</a>. <a href=\"javascript://\" id=\"asn-close\">[x]</a></span></div>");
		$('#asn-warning').fadeIn(600);
		$('#asn-close').click(function(){ $('#asn-warning').fadeOut(100); });
	}

	if ((screen.width<=1024) && (screen.height<=768)) {
		$('#galeria .imagem img').css({left:-56});
	}

	$("#lnkProximasAulas").toggle(
		function() { $(".divProximasAulas").animate({right: 0}, 1000); },
		function() { $(".divProximasAulas").animate({right: -224}, 1000); }
	);

	function findValue(li) {
		if( li == null ) return alert("No match!");

		// if coming from an AJAX call, let's use the CityId as the value
		if( !!li.extra ) var sValue = li.extra[0];

		// otherwise, let's just display the value in the text box
		else var sValue = li.selectValue;

		//alert("The value you selected was: " + sValue);
	}
	function selectItem(li) { findValue(li); }
	function formatItem(row) { return row[0] + " (id: " + row[1] + ")"; }

	//FCT: Autocomplete no input de busca.
	$("#id_termo").autocomplete("/busca-suggestion/", {
		scrollHeight: 72,
		maxItemsToShow: 10,
		formatItem: function(data,i,max,value,term){
			return '<a href="/tags/'+value+'" onclick="window.location=\'/tags/'+value.toLowerCase()+'\'">[Tag] '+value+'<\/a>';
		},
		parse: function(data){
			var array = new Array();
			o = eval('('+data+')');
			for(var i=0;i<o.length;i++)
			{
				array[array.length] = { data: o[i].fields['name'], value: o[i].fields['name'], result: o[i].fields['name'] };
			}
			return array;
		}
	});

	$('#cadastrar1').click(function() {
		$("#newsletterForm").validate();
	});

    //Realiza a busca ao pressionar o enter
    var qtdeEnter = 0;
    $('#id_termo').keypress(function(e){
        var termo = jQuery.trim($('#id_termo').val());
        if(e.which == 13){
            qtdeEnter += 1;
            if(qtdeEnter == 2 || (qtdeEnter == 1 && jQuery.browser.msie)){
                if(termo != null && termo != ''){
                    window.location='/busca/'+$('#id_termo').val();
                    bloquearBusca();
                }
                qtdeEnter = 0;
            }
            $('#id_termo').val(termo);
        }
    });

    $('.lnkBuscar').click(function(e){
        var termo = jQuery.trim($('#id_termo').val());
        $('#id_termo').val(termo);
        if(termo != null && termo != ''){
            window.location='/busca/'+$('#id_termo').val();
            bloquearBusca();
        }
    });

    if($('#frmMatricula').size() > 0){
		jQuery.validator.addMethod("minWords", function(value, element, params) {
		    return this.optional(element) || value.match(/\b\w+\b/g).length >= params;
		}, jQuery.validator.format("Por favor informe no mínimo {0} palavras."));

		jQuery.validator.addMethod("phone", function(value, element, params) {
		    return this.optional(element) || (parseInt(value.substr(0,1),10) > 2);
		}, jQuery.validator.format("O número de telefone deve começar com um valor maior que 2."));

		jQuery.validator.messages.required = "";
		jQuery.validator.messages.digits = "";
		$('#frmMatricula').validate({
			debug: true,
			rules: {
				carteirinha: "required",
				nome: {
					required:true,
					minWords:2
				},
				email: {
					required: true,
					email: true
				},
				ddd: {
					required: true,
					digits: true
				},
				tel: {
					required: true,
					digits: true,
					minlength: 7,
					phone: true
				},
				cep: {
					required: true,
					digits: true
				},
				endereco: "required",
				num: "required",
				bairro: "required",
				cidade: "required",
				estado: "required",
				contrato: "required"
			},
			messages: {
				email:{
					email: "Por favor informe um e-mail válido."
				},
				contrato:{
					required: " "
				},
				tel:{
					minlength: "por favor entre com o mínimo de 7 caracteres."
				}
			},
			invalidHandler: function(e, validator) {
				var errors = validator.numberOfInvalids();
				if (errors) {
					var message = errors == 1
						? 'Falta preencher 1 campo. O campo está em destaque abaixo'
						: 'Falta preencher ' + errors + ' campos. Os campos estão em destaque abaixo';
					$("div.error span").html(message);
					$("div.error").show();
				} else {
					$("div.error").hide();
				}
			},
			submitHandler: function(form) {
	            url = $(form).attr('action');
	            $.post(url, $(form).serialize(), null, 'script')
			}
		});
    }

	if($(".m_b_unidade_estadio-morumbi").size() > 0){
		$(".m_b_unidade_estadio-morumbi").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/spfc.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")

		//swfobject.embedSWF("/media/layout/swf/spfc.swf", "flash_spfc", "841", "318", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}

	if($("#genAcademiaQuerida").size() > 0){
		swfobject.embedSWF("/media/layout/swf/academia_querida.swf", "genAcademiaQuerida", "245", "463", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}

	//TODO: VOLTAR BANNER DA UNIDADE DE SJC
	if($(".m_b_unidade_sjcampos").size() > 0){
		$(".m_b_unidade_sjcampos").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/sjc.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")

		//swfobject.embedSWF("/media/layout/swf/sjc.swf", "flash_sjc", "841", "318", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}
	
	if($(".m_b_unidade_morumbi").size() > 0){
		$(".m_b_unidade_morumbi").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/morumbi.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
	
	if($(".m_b_unidade_curitiba").size() > 0){
		$(".m_b_unidade_curitiba").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/curitiba.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
	
	if($(".m_b_unidade_porto-alegre").size() > 0){
		$(".m_b_unidade_porto-alegre").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/poa.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
	
	if($(".m_b_unidade_kansas").size() > 0){
		$(".m_b_unidade_kansas").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/kansas.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
	
	if($(".m_b_unidade_belo-horizonte").size() > 0){
		$(".m_b_unidade_belo-horizonte").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/bh.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
	
	if($(".m_b_unidade_granja-vianna").size() > 0){
		$(".m_b_unidade_granja-vianna").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/granja_vianna.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
		
	if($(".m_b_unidade_analia-franco").size() > 0){
		$(".m_b_unidade_analia-franco").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/analia_franco.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
	
	if($(".m_b_unidade_campinas").size() > 0){
		$(".m_b_unidade_campinas").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/campinas.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")

		//swfobject.embedSWF("/media/layout/swf/sjc.swf", "flash_sjc", "841", "318", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}
	
	if($(".m_b_unidade_rio-de-janeiro").size() > 0){
		$(".m_b_unidade_rio-de-janeiro").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/rj.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")

		//swfobject.embedSWF("/media/layout/swf/sjc.swf", "flash_sjc", "841", "318", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}
		
	if($(".m_b_unidade_ribeirao-preto").size() > 0){
		$(".m_b_unidade_ribeirao-preto").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/ribeirao_preto.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")

		//swfobject.embedSWF("/media/layout/swf/sjc.swf", "flash_sjc", "841", "318", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}
		
	if($(".m_b_unidade_belem").size() > 0){
		$(".m_b_unidade_belem").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/belem.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")

		//swfobject.embedSWF("/media/layout/swf/sjc.swf", "flash_sjc", "841", "318", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}
		
	if($(".m_b_unidade_brasilia").size() > 0){
		$(".m_b_unidade_brasilia").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/brasilia.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")

		//swfobject.embedSWF("/media/layout/swf/sjc.swf", "flash_sjc", "841", "318", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}
		
	if($(".m_b_unidade_studio-5").size() > 0){
		$(".m_b_unidade_studio-5").html("<div class='media_box_flash_container'><embed height='318' width='841' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='/media/layout/swf/studio_5_manaus.swf' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}
		
	if($(".m_b_institucional2").size() > 0){
		$(".m_b_institucional2").html("<div class='media_box_flash_container'><embed height='278' width='1081' pluginspage='http://www.macromedia.com/go/getflashplayer' scale='noscale' wmode='transparent' mediawrapchecked='true' src='http://www.companhiaathletica.com.br/media/linhavida/timeline-home.swf?v=1.04' type='application/x-shockwave-flash' id='flash_sjc' splayername='SWF' tplayername='SWF'></div>")
	}

	/*if($("#genAnimacaoNatal").size() > 0){
		swfobject.embedSWF("/media/layout/swf/flash.swf", "genAnimacaoNatal", "400", "300", "9.0.0", "expressInstall.swf", null, null, { wmode:"transparent" } );
	}*/

});


/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Calcula a altura correta do conteúdo esquerdo para fixar o rodapé.															|
| Criado: 04/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function calcContEsqHeight(){
	var neededHeight = $(document).height() - ($('.cont_esq').offset().top + $('#rodape').height() + $('.rodape_bot').height() + parseInt($('.area_cont').css('padding-bottom')));

	if($('.cont_esq').height() < neededHeight)
		$('.cont_esq').height(neededHeight);
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Calcula a altura correta do conteúdo direito para acompanhar o conteúdo esquerdo.											|
| Criado: 04/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function calcContDirMidHeight(){
	var _height = ($('.cont_esq').height() - $('.cont_dir_top').height())-20;

	if(_height > $('.cont_dir').height())
		$('.cont_dir_mid').height(_height);
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Abre o quadro de próximos eventos no canto direto da página.																|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fctProximasAulas(tipo) {
	$("#lnkProximasAulas").toggle(
		function() { $(".divProximasAulas").animate({right: 0}, 1000); },
		function() { $(".divProximasAulas").animate({right: -224}, 1000); }
	);
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Abre um Drop Down com as unidades cadastradas.																				|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
var _temp = true;
function fctDropUnidades(_display){
	if(_temp){
		if($('.lista_drop_unidade').height()==0)
		{
			$('.bg_menu_drop').height($('.lista_drop_unidade').height() + 230);
			_temp = false;
		}
		else
		{
			$('.bg_menu_drop').height($('.lista_drop_unidade').height() + 20);
		_temp = false;
		}
	}

	$('.bg_menu_drop').css({display:_display, opacity:"0.85"});
	$('.lista_drop_unidade').css({display:_display});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz o efeito de slide na lista de itens de Programas da Home.																|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
var anterior = 0;
var proximo = 3;
var posUL = 0;
var qtd;
function fctSlideProgramas(tipo){
	qtd = $("#lista_programas > li").length;
	if(!tipo){
		if(anterior > 0){
			anterior = anterior - 1;
			proximo = proximo -1;
			posUL = posUL - 153;

			$('.programas_home .lnkProximo').removeClass('lnk_fade');
			$("#lista_programas").animate({left:-posUL},500);
		}
	}else{
		if(proximo < qtd){
			anterior = anterior + 1;
			proximo = proximo + 1;
			posUL = anterior * 153;

			$('.programas_home .lnkAnterior').removeClass('lnk_fade');
			$("#lista_programas").animate({left:-posUL},500);

			if(proximo == qtd)
				$('.programas_home .lnkProximo').addClass('lnk_fade');
		}
	}

	if(anterior == 0)
		$('.programas_home .lnkAnterior').addClass('lnk_fade');
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz o efeito de slide na lista de itens de Últimos Vídeos.																	|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
var anterior2 = 0;
var proximo2 = 3;
var posUL2 = 0;
var qtd2;
function fctSlideVideos(tipo){
	qtd2 = $('#lista_ultimos_videos > li').length;
	if(!tipo){
		if(anterior2 > 0){
			anterior2--;
			proximo2--;
			posUL2 -= 110;

			$('.lista_ultimos_videos .lnkProximo2').removeClass('lnk_fade');
			$('#lista_ultimos_videos').animate({top:-posUL2},500);
		}
	}else{
		if(proximo2 < qtd2){
			anterior2++;
			proximo2++;
			posUL2 = anterior2 * 110;

			$('.lista_ultimos_videos .lnkAnterior2').removeClass('lnk_fade');
			$('#lista_ultimos_videos').animate({top:-posUL2},500);

			if(proximo2 == qtd2)
				$('.lista_ultimos_videos .lnkProximo2').addClass('lnk_fade');
		}
	}

	if(anterior2 == 0)
		$('.lista_ultimos_videos .lnkAnterior2').addClass('lnk_fade');
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz o efeito de slide na lista de itens de Horários.																		|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
var anterior3 = 0;
var proximo3 = 4;
var posUL3 = 0;
var qtd3;
function fctSlideHorarioAula(tipo) {
	var tamLi = parseInt($('#ul_lst_horario_aula > li').height()) + parseInt($('#ul_lst_horario_aula > li').css('margin-top')) + parseInt($('#ul_lst_horario_aula > li').css('margin-bottom'));
	qtd3 = $('#ul_lst_horario_aula > li:not(:hidden)').length;

	if(!tipo) {
		if(anterior3 > 0){
			anterior3--;
			proximo3--;
			posUL3 -= tamLi; //31;

			$('.slide_horario_aula .lnk_proximo').removeClass('lnk_fade');
			$('#ul_lst_horario_aula').animate({top:-posUL3},500);
		}
	}else{
		if(proximo3 < qtd3){
			anterior3++;
			proximo3++;
			posUL3 += tamLi; //31;

			$('.slide_horario_aula .lnk_anterior').removeClass('lnk_fade');
			$('#ul_lst_horario_aula').animate({top:-posUL3},500);

			if(proximo3 == qtd3)
				$('.slide_horario_aula .lnk_proximo').addClass('lnk_fade');
		}
	}

	if(anterior3 == 0)
		$('.slide_horario_aula .lnk_anterior').addClass('lnk_fade');
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz o efeito de slide na lista de itens de Fotos.																			|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
var anterior4 = 0;
var proximo4 = 1;
var posUL4 = 0;
var qtd4;
function fctSlideAlbumFotos(tipo){
	qtd4 = $('#ul_lst_album_fotos > li').length;
	if(!tipo){
		if(anterior4 > 0){
			anterior4 = anterior4 - 1;
			proximo4 = proximo4 -1;
			posUL4 = posUL4 - 166;

			$('.fotos_carrosel .lnk_proximo').removeClass('lnk_fade');
			$('#ul_lst_album_fotos').animate({top:-posUL4},500);
		}
	}else{
		if(proximo4 < qtd4){
			anterior4 = anterior4 + 1;
			proximo4 = proximo4 + 1;
			posUL4 = anterior4 * 166;

			$('.fotos_carrosel .lnk_anterior').removeClass('lnk_fade');
			$('#ul_lst_album_fotos').animate({top:-posUL4},500);

			if(proximo4 == qtd4)
				$('.fotos_carrosel .lnk_proximo').addClass('lnk_fade');
		}
	}

	if(anterior4 == 0)
		$('.fotos_carrosel .lnk_anterior').addClass('lnk_fade');
}


var fctPrint = function(classe, _width) {
	window.open('/media/layout/Print.htm?class=' + classe, 'PrintGraph', 'left=100,top=100,width='+_width+',height=390,location=0,resizable=no,scrollbars=yes');
};

$('.banner_plub').cycle({ fx: 'fade', speed: '2000', timeout: '5000' });

jQuery.fn.Centralize = function() {
	var elementWidth = $(this).outerWidth(true);
	var elementHeight = $(this).outerHeight(true);
	var windowWidth = $('html').outerWidth(true);
	var windowHeight = $('html').outerHeight(true) < $('body').outerHeight(true) ? $('body').outerHeight(true) : $('html').outerHeight(true);

	var left = (windowWidth - elementWidth) / 2;

	$(this).css({left:left});
};
jQuery.fn.center = function() {
	// Always return each...
	return this.each(function() {
			var t = jQuery(this);

			// Set position to other than 'static' so element shrink-wraps and width/height is calculated properly
			t.css({position: 'fixed'});

			// Why are there no jQuery.fn.outerWidth/Height:s?
			var w = t.width(),
					h = t.height(),
					lrPadding = parseInt(t.css('paddingLeft'), 10) + parseInt(t.css('paddingRight'), 10),
					lrBorder = parseInt(t.css('borderLeftWidth'), 10) + parseInt(t.css('borderRightWidth'), 10),
					tbPadding = parseInt(t.css('paddingTop'), 10) + parseInt(t.css('paddingBottom'), 10),
					tbBorder = parseInt(t.css('borderTopWidth'), 10) + parseInt(t.css('borderBottomWidth'), 10),
					leftMargin = (w + lrPadding + lrBorder) / 2;
					topMargin = (h + tbPadding + tbBorder) / 2;

			t.css({
					position: 'fixed',
					left: '50%',
					top: '50%',
					marginLeft: '-' +leftMargin +'px',
					marginTop: '-' +topMargin +'px',
					zIndex: '99'
			});

		if ( $.browser.msie ){
			if( $.browser.version == '6.0'){
				t.css({
						position: 'absolute',
						top:(jQuery(window).height() - jQuery(this).outerHeight()) / 2 + jQuery(window).scrollTop() - 200
				});
			}
		}
	});
};


var abrirCortina = function(open, transparent, index){
	var transparency = transparent ? '0' : '0.6';
	var zindex = index ? index : 4;
	var height = $('html').outerHeight(true) < $('body').outerHeight(true) ? $('body').outerHeight(true) : $('html').outerHeight(true);

	if (!$('#cortina' + zindex + '')[0])
		$('body').append('<div id="cortina' + zindex + '" style="position:absolute;top:0;left:0;width:100%;background:#fff;"></div>');

	if (open)
		$('#cortina' + zindex + '').css({zIndex:zindex,opacity:transparency,height:height,display:'none'}).fadeIn(400);
	else
		$('#cortina' + zindex + '').fadeOut(500);
};

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Exibe a popup de Newsletter e a cortina na tela.																			|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fctNewsletter() {
	centralizaNewsletter();

	abrirCortina(true);
	window.onresize = function(){ centralizaNewsletter(); }
};

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Centraliza e exibe a popup de Newsletter na tela.																			|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function centralizaNewsletter() {
	var _left = ($(window).width()/2) - ($('#popUpNewsLetter').width()/2) + 'px';
	var _top =  ($(window).height()/2) - ($('#popUpNewsLetter').height()/2) + 'px';

	$('#popUpNewsLetter').show(400).css({
		'left':_left,
		'position':'fixed', //BUG: position fixed não funciona no IE6
		'top':_top
	});
}

function buscar(){
	window.location='/busca/'+document.getElementById('termo').value.toLowerCase();
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Bloqueia o campo de busca e envia dados do formulário.																		|
| Criado: ??/??/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function bloquearBusca(){
	$('.loading_busca').show();
	$('#id_termo').attr('disabled','true');
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Fecha a popup de Newsletter e limpa os campos.																				|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fctFecharNewsletter() {
	$('.area_erro').hide();
	$('#msg_sucesso_news').hide();
	$('#id_nomeNews').val('');
	$('#id_nomeNews').removeClass('error_input');
	$('#rfv_nomeNews').hide();

	$('#id_emailNews').val('');
	$('#id_emailNews').removeClass('error_input');
	$('#rfv_emailNews').hide();
	$('#cfv_emailNews').hide();

	$('#id_unidade').val('');
	$('#id_receberInformacoes').attr('checked','');

	$('#popUpNewsLetter').hide();
	abrirCortina(false);

	window.onresize = '';
};

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Checa o e-mail por meio de expressão regular.																				|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function checkMail(mail){
	var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);

	if(typeof(mail) == "string"){
		if(er.test(mail)){ return true; }
	}
	else if(typeof(mail) == "object"){
		if(er.test(mail.value)){ return true; }
	}
	else{ return false; }
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Checa a URL por meio de expressão regular.																					|
| Criado: 26/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function checkUrl(url){
	var er = new RegExp(/^((http(s?))\:\/\/)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|br|jp|tw|cn|it|fr|es|pt)(\:[0-9]+)*(V($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$/);
	if(typeof(url) == "string"){
		if(er.test(url)){ return true; }
	}
	else if(typeof(url) == "object"){
		if(er.test(url.value)){ return true; }
	}
	else{ return false; }
}


/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Checa a data por meio de expressão regular.																				|
| Criado: 17/09/2009 | Por: Rafael F. Silva	(ref. http://www.mhavila.com.br/topicos/web/valform.html)									|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function checkDate(date){
	var er = new RegExp(/^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/);
	if(typeof(date) == "string"){
		if(er.test(date)){ return true; }
	}
	else if(typeof(date) == "object"){
		if(er.test(date.value)){ return true; }
	}
	else{ return false; }
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Habilita/Desabilita menu conforme parâmetros.																				|
| Criado: ??/??/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function altMenu(_class, _on){
	if(_on)
		$('.'+_class+'').show();
	else
		$('.'+_class+'').hide();
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Habilita/Desabilita submenu conforme parâmetros.																			|
| Criado: ??/??/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function altSubMenu(_class, _on){
	if(_on)
		$('.'+_class+'').addClass(_class+'_on');
	else
		$('.'+_class+'').removeClass(_class+'_on');
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação do formulário de Convênio Corporativo.														|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valConvCorp(){
	$('.area_erro_aux').hide();
	$('#formConvenioCorporativo').validateForm({
		form: '#formConvenioCorporativo',
		container: '.area_erro',
		errorClass: 'error_input',
		fields: {
			empresa : {
				id: '#id_empresa',
				required: true
			},
			nome : {
				id: '#id_nome',
				required: true
			},
			telefone : {
				id: '#id_telefone',
				required: function(param){
					return param.length == 14;
				},
				msg: 'Telefone inválido.',
				blankToo: true
			},
			email : {
				id: '#id_email',
				required: function(param) {
					return param == '' ? true : checkMail(param);
				},
				msg: 'E-mail inválido.',
				blankToo: true
			},
			unidade : {
				id: '#id_unidadeConvenio',
				required: true/*,
				msg: 'Selecione uma unidade.'*/
			},
			endereco : {
				id: '#id_endereco',
				required: true
			},
			funcionarios : {
				id: '#id_funcionarios',
				required: true/*,
				msg: 'Selecione uma quantidade de funcionários.'*/
			},
			comentario : {
				id: '#id_comentario',
				required: function(txtVal) {
					return txtVal.length <= 256;
				},
				msg: 'Quantidade de caracteres máxima ultrapassada no comentário.',
				blankToo: true
			}
		},
		onError: function() {
			calcDirMidAreaErro();
		}
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação do formulário de Contato.																	|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valContato(){
	$('#frmContato').validateForm({
		form: '#frmContato',
		container: '.area_erro',
		errorClass: 'error_input',
		fields: {
			nome : {
				id: '#id_nome',
				required: true
			},
			email : {
				id: '#id_email',
				required: function(param) {
					return param == '' ? true : checkMail(param);
				},
				msg: 'E-mail inválido.',
				blankToo: true
			},
			categoria : {
				id: '#id_categoria',
				required: true/*,
				msg: 'Selecione uma categoria.'*/
			},
			assunto : {
				id: '#id_assunto',
				required: true
			},
			descricao : {
				id: '#id_descricao',
				required: function(txtVal) {
					return txtVal.length <= 1024;
				},
				msg: 'Quantidade de caracteres máxima ultrapassada na descrição.',
				blankToo: true
			}
		},
		onError: function() {
			calcDirMidAreaErro();
		}
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação do formulário de Newsletter.																|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valNewsletter(){
	$('#newsletterForm').validateForm({
		form: '#newsletterForm',
		container: '.area_erro_news',
		errorClass: 'error_input',
		fields: {
			nome : {
				id: '#id_nomeNews',
				required: true
			},
			email : {
				id: '#id_emailNews',
				required: function(param) {
					return param == '' ? true : checkMail(param);
				},
				blankToo: true,
				msg: 'E-mail inválido.'
			}
		}
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação do formulário de Comentário de Artigo.														|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valComArtigo(){
	$('#frmComentario').validateForm({
		form: '#frmComentario',
		container: '.area_erro',
		errorClass: 'error_input',
		fields: {
			nome : {
				id: '#id_nome',
				required: true
			},
			email : {
				id: '#id_email',
				required: function(param) {
					return param == '' ? true : checkMail(param);
				},
				msg: 'E-mail inválido.',
				blankToo: true
			},
			comentario : {
				id: '#id_comentario',
				required: true
			},
			site : {
				id: '#id_link',
				required: function(param) {
					return param == '' ? true : checkUrl(param);
				},
				notrequired: true,
				msg: 'Url para site inválida.'
			}
		},
		onError: function() {
			calcDirMidAreaErro();
		}
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação da parte de Dados Pessoais do formulário de Trabalhe Conosco.								|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valCurriculo1(){
	var msgData1 = 'A data de nascimento inserida é inválida.';
	var msgData2 = 'A data de nascimento inserida é inválida. Formato: dd/mm/aaaa';

	$('#frmCurriculo').validateForm({
		container: '.area_erro',
		errorClass: 'error_input',
		fields: {
			nome : {
				id: '#id_nome',
				required: true
			},
			datanasc : {
				id: '#id_nascimento',
				required: function(param){
					if(param == '' ? true : checkDate(param))
					{
						var curDate = new Date();
						var curYear = parseInt(curDate.getFullYear());
						var chkYear = parseInt(param.substr(6));

						if(chkYear > curYear)
						{
							this.msg = msgData1;
							return false;
						}
						else if(chkYear == curYear)
						{
							var curMonth = parseInt(curDate.getMonth()+1);
							var chkMonth = parseInt(param.substr(3, 2));

							if(chkMonth > curMonth)
							{
								this.msg = msgData1;
								return false;
							}
							else if(chkMonth == curMonth)
							{
								var curDay = parseInt(curDate.getDate());
								var chkDay = parseInt(param.substr(0, 2));

								if(chkDay > curDay)
								{
									this.msg = msgData1;
									return false;
								}
							}
						}

						return true;
					}
					else
					{
						this.msg = msgData2;
						return false;
					}
				},
				msg: 'A data de nascimento inserida é inválida.',
				blankToo: true
			},
			endereco : {
				id: '#id_endereco',
				required: true
			},
			telefone : {
				id: '#id_telefone',
				required: function(param){
					return param == '' ? true : param.length == 14;
				},
				notrequired: true,
				msg: 'Telefone inválido.'
			},
			email : {
				id: '#id_email',
				required: function(param) {
					return param == '' ? true : checkMail(param);
				},
				notrequired: true,
				msg: 'E-mail inválido.'
			}
		},
		onSubmit: function() {
			if(valCurriculo1_aux())
				tabs_Move('next');
			else
				calcDirMidAreaErro();
		},
		onError: function() {
			valCurriculo1_aux();
			calcDirMidAreaErro();
		}
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: 	|
| Criado: 18/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function tabs_Move(dir)
{
	if(dir == 'next') dir = true; else if(dir == 'prev') dir = false; else return false; //EXCEPTION
	var abas = new Array('0','0','0','0','0');
	var abaPos = parseInt($('#tabs').tabs('option', 'selected'));
	abaPos = dir ? abaPos+1 : abaPos-1;
	abas[abaPos] = '-27px';

	$('.area_curriculo .ui-tabs a.tab_d_pes').css('background-position','0 '+abas[0]);
	$('.area_curriculo .ui-tabs a.tab_atu').css('background-position','-101px '+abas[1]);
	$('.area_curriculo .ui-tabs a.tab_con').css('background-position','-169px '+abas[2]);
	$('.area_curriculo .ui-tabs a.tab_disp').css('background-position','-262px '+abas[3]);
	$('.area_curriculo .ui-tabs a.tab_a_curr').css('background-position','-361px '+abas[4]);

	$('.area_curriculo .ui-tabs ul li a').css('cursor','default');
	if(abaPos==0)
		$('.area_curriculo .ui-tabs a.tab_d_pes').css('cursor','pointer');
	else if(abaPos==1)
		$('.area_curriculo .ui-tabs a.tab_atu').css('cursor','pointer');
	else if(abaPos==2)
		$('.area_curriculo .ui-tabs a.tab_con').css('cursor','pointer');
	else if(abaPos==3)
		$('.area_curriculo .ui-tabs a.tab_disp').css('cursor','pointer');
	else if(abaPos==4)
		$('.area_curriculo .ui-tabs a.tab_a_curr').css('cursor','pointer');

	$('#tabs').tabs('select', abaPos);
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: 	|
| Criado: 16/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valCurriculo1_aux(){
	var bOk = true;

	$('.area_curriculo #dados-pessoais .f_inicio').each(function (i){
		$(this)
			.find('#id_curso-'+i+'-inicio_month, #id_curso-'+i+'-inicio_year')
			.removeClass('error_input');
		$(this)
			.next()
			.find('#id_curso-'+i+'-termino_month, #id_curso-'+i+'-termino_year')
			.removeClass('error_input');
		var iniMes, iniAno, terMes, terAno;

		iniMes = parseInt($(this).find('#id_curso-'+i+'-inicio_month').val());
		iniAno = parseInt($(this).find('#id_curso-'+i+'-inicio_year').val());
		terMes = parseInt($(this).next().find('#id_curso-'+i+'-termino_month').val());
		terAno = parseInt($(this).next().find('#id_curso-'+i+'-termino_year').val());

		if(iniAno >= terAno)
		{
			if(iniAno == terAno)
			{
				if(iniMes > terMes)
				{
					bOk = false;
					var formacao;
					switch(i)
					{
						case 0: formacao = 'Segundo Grau / Grau Técnico'; break;
						case 1: formacao = 'Graduação'; break;
						case 2: formacao = 'Pós-Graduação'; break;
						default: formacao = 'Outro-Curso'; break;
					}

					if($('.area_erro').is(':visible') == false)
					{
						$('.area_erro ul').prepend('<li>Preencha os campos e os requisitos em destaque.</li>');
						$('.area_erro').show();
					}

					$('.area_erro ul').append('<li>A data de início de '+formacao+' precisa ser menor que a data de término.</li>');
					$(this)
						.find('#id_curso-'+i+'-inicio_month, #id_curso-'+i+'-inicio_year')
						.addClass('error_input')
						.focus(function (){ $(this).removeClass('error_input'); })
						.andSelf()
						.next()
						.find('#id_curso-'+i+'-termino_month, #id_curso-'+i+'-termino_year')
						.addClass('error_input')
						.focus(function (){ $(this).removeClass('error_input'); });
				}
				/*else
					bOk = true;*/
			}
			else
			{
				bOk = false;
				var formacao;
				switch(i)
				{
					case 0: formacao = 'Segundo Grau / Grau Técnico'; break;
					case 1: formacao = 'Graduação'; break;
					case 2: formacao = 'Pós-Graduação'; break;
					default: formacao = 'Outro-Curso'; break;
				}

				if($('.area_erro').is(':visible') == false)
				{
					$('.area_erro ul').prepend('<li>Preencha os campos e os requisitos em destaque.</li>');
					$('.area_erro').show();
				}

				$('.area_erro ul').append('<li>A data de início de '+formacao+' precisa ser menor que a data de término.</li>');
				$(this)
					.find('#id_curso-'+i+'-inicio_month, #id_curso-'+i+'-inicio_year')
					.addClass('error_input')
					.focus(function (){ $(this).removeClass('error_input'); })
					.andSelf()
					.next()
					.find('#id_curso-'+i+'-termino_month, #id_curso-'+i+'-termino_year')
					.addClass('error_input')
					.focus(function (){ $(this).removeClass('error_input'); });
			}
		}
		/*else
			bOk = true;*/
	});

	return bOk;
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação da parte de Atuação do formulário de Trabalhe Conosco.										|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valCurriculo2(){
	$('#frmCurriculo').validateForm({
		container: '.area_erro',
		errorClass: 'error_input',
		fields: {
			cargopretendido : {
				id: '#id_cargoPretendido',
				required: true,
				msg: 'Selecione um cargo pretendido.'
			}
		},
		onSubmit: function() {
			if(valCurriculo2_aux())
				tabs_Move('next');
			else
				calcDirMidAreaErro();
		},
		onError: function() {
			valCurriculo2_aux();
			calcDirMidAreaErro();
		}
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação da parte de Atuação do formulário de Trabalhe Conosco.										|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valCurriculo2_aux(){
	var bOk = true;
	$('.area_curriculo #atuacao .f_inicio').each(function (i){
		$(this).find('#id_empresa-'+i+'-inicio_month').removeClass('error_input');
		$(this).find('#id_empresa-'+i+'-inicio_year').removeClass('error_input');
		var iniMes, iniAno, terMes, terAno;

		iniMes = parseInt($(this).find('#id_empresa-'+i+'-inicio_month').val());
		iniAno = parseInt($(this).find('#id_empresa-'+i+'-inicio_year').val());
		terMes = parseInt($(this).next().find('#id_empresa-'+i+'-termino_month').val());
		terAno = parseInt($(this).next().find('#id_empresa-'+i+'-termino_year').val());

		if(iniAno >= terAno)
		{
			if(iniAno == terAno)
			{
				if(iniMes > terMes)
				{
					bOk = false;
					var formacao;
					switch(i)
					{
						case 0: formacao = 'Empresa Atual / Última Empresa'; break;
						case 1: formacao = 'Empresa Anterior'; break;
						default: formacao = 'Empresa'; break;
					}

					if($('.area_erro').is(':visible') == false)
					{
						$('.area_erro ul').prepend('<li>Preencha os campos e os requisitos em destaque.</li>');
						$('.area_erro').show();
						calcDirMidAreaErro();
					}

					$('.area_erro ul').append('<li>A data de início de '+formacao+' precisa ser menor que a data de término.</li>');
					$(this)
						.find('#id_empresa-'+i+'-inicio_month, #id_empresa-'+i+'-inicio_year')
						.addClass('error_input')
						.focus(function (){ $(this).removeClass('error_input'); })
						.andSelf()
						.next()
						.find('#id_empresa-'+i+'-termino_month, #id_empresa-'+i+'-termino_year')
						.addClass('error_input')
						.focus(function (){ $(this).removeClass('error_input'); });
				}
			}
			else
			{
				bOk = false;
				var formacao;
				switch(i)
				{
					case 0: formacao = 'Empresa Atual / Última Empresa'; break;
					case 1: formacao = 'Empresa Anterior'; break;
					default: formacao = 'Empresa'; break;
				}

				if($('.area_erro').is(':visible') == false)
				{
					$('.area_erro ul').prepend('<li>Preencha os campos e os requisitos em destaque.</li>');
					$('.area_erro').show();
					calcDirMidAreaErro();
				}

				$('.area_erro ul').append('<li>A data de início de '+formacao+' precisa ser menor que a data de término.</li>');
				$(this)
					.find('#id_empresa-'+i+'-inicio_month, #id_empresa-'+i+'-inicio_year')
					.addClass('error_input')
					.focus(function (){ $(this).removeClass('error_input'); })
					.andSelf()
					.next()
					.find('#id_empresa-'+i+'-termino_month, #id_empresa-'+i+'-termino_year')
					.addClass('error_input')
					.focus(function (){ $(this).removeClass('error_input'); });
			}
		}
	});

	var nomeCampo = 'id_areasDeInteresse';
	nomeCampo += $('#id_interesse_check_0').is(':checked') ? 'Adm' : 'Tec';

	if($('#'+nomeCampo).val() == null)
	{
		bOk = false;
		if($('.area_erro').is(':visible') == false)
		{
			$('.area_erro ul').prepend('<li>Preencha os campos e os requisitos em destaque.</li>');
			$('.area_erro').show();
			calcDirMidAreaErro();
		}

		$('#'+nomeCampo).addClass('error_input');
		$('#'+nomeCampo).focus(function (){ $(this).removeClass('error_input'); });
	}

	return bOk;
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz a validação da parte de Conhecimentos do formulário de Trabalhe Conosco.												|
| Criado: 17/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valCurriculo3(){
	var bOk = true;

	$('.area_curriculo fieldset > .idiomas > li > input').each(function(){
		if($(this).is(':checked') && $(this).nextAll().find('ul li label input:checked').length <= 0)
		{
			$(this)
				.click(function(){ $(this).nextAll().find('ul').removeClass('error_input'); })
				.nextAll()
				.find('ul')
				.addClass('error_input')
				.click(function(){ $(this).removeClass('error_input'); });

			bOk = false;
		}
	});

	if(bOk)
		tabs_Move('next');
	else
		calcDirMidAreaErro();
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz configurações de validação da parte de Disponibilidade e Pretensão do formulário de Trabalhe Conosco.					|
| Criado: 17/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function valCurriculo4(){
	$('#frmCurriculo').validateForm({
		container: '.area_erro',
		errorClass: 'error_input',
		fields: {
			horainicio: {
				id: '#id_horaInicio_hour',
				required: function(param) {
					return !(param == '');
				}
			},
			minutoinicio : {
				id: '#id_horaInicio_minute',
				required: function(param) {
					return !(param == '');
				}
			},
			horatermino : {
				id: '#id_horaTermino_hour',
				required: function(param) {
					return !(param == '');
				}
			},
			minutotermino : {
				id: '#id_horaTermino_minute',
				required: function(param) {
					return !(param == '');
				}
			},
			localinteresse : {
				id: '#id_locais',
				required: true
			}
		},
		onSubmit: function() {
			//if(valCurriculo4_aux())
				tabs_Move('next');
			//else
				//calcDirMidAreaErro();
		},
		onError: function() {
			//valCurriculo4_aux();
			calcDirMidAreaErro();
		}
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Movimenta a aba atual de acordo com a direção passada.																		|
| Criado: 18/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function tabs_Move(dir)
{
	if(dir == 'next') dir = true; else if(dir == 'prev') dir = false; else return false; //EXCEPTION
	var abas = new Array('0','0','0','0','0');
	var abaPos = parseInt($('#tabs').tabs('option', 'selected'));
	abaPos = dir ? abaPos+1 : abaPos-1;
	abas[abaPos] = '-27px';

	$('.area_curriculo .ui-tabs a.tab_d_pes').css('background-position','0 '+abas[0]);
	$('.area_curriculo .ui-tabs a.tab_atu').css('background-position','-101px '+abas[1]);
	$('.area_curriculo .ui-tabs a.tab_con').css('background-position','-169px '+abas[2]);
	$('.area_curriculo .ui-tabs a.tab_disp').css('background-position','-262px '+abas[3]);
	$('.area_curriculo .ui-tabs a.tab_a_curr').css('background-position','-361px '+abas[4]);

	$('.area_curriculo .ui-tabs ul li a').css('cursor','default');
	if(abaPos==0)
		$('.area_curriculo .ui-tabs a.tab_d_pes').css('cursor','pointer');
	else if(abaPos==1)
		$('.area_curriculo .ui-tabs a.tab_atu').css('cursor','pointer');
	else if(abaPos==2)
		$('.area_curriculo .ui-tabs a.tab_con').css('cursor','pointer');
	else if(abaPos==3)
		$('.area_curriculo .ui-tabs a.tab_disp').css('cursor','pointer');
	else if(abaPos==4)
		$('.area_curriculo .ui-tabs a.tab_a_curr').css('cursor','pointer');

	$('#tabs').tabs('select', abaPos);
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Faz as validações passadas por parâmetro de um formulário.																	|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
jQuery.fn.validateForm = function(oValidate){
	var bOk = true;

	$(oValidate.container).html('<ul class="f_l w_100"></ul>');
	$.each(oValidate.fields, function(i){
		if($(this.id).is(':visible'))
		{
			var tagName = $(this.id).get(0).tagName;

			if(
				(typeof this.required == "boolean" || this.blankToo)
				&&
				(
					(
						$(this.id).val() == ''
						&& (tagName == "INPUT" || tagName == "TEXTAREA")
					)
					||
					(
						($(this.id+' option:selected').length == 0 || $(this.id+' option:selected').attr('value') == 0)
						&& tagName == "SELECT"
					)
				)
			)
			{
				if(this.notrequired == undefined || this.notrequired == false)
				{
					$(this.id).addClass(oValidate.errorClass);
					$(this.id).focus(function (){ $(this).removeClass('error_input'); });
					bOk = false;
				}

				/*if(tagName == "SELECT")
					$(oValidate.container+' ul').append('<li>'+this.msg+'</li>');*/
			}
			else if(typeof this.required == "function")
			{
				var bTest = this.required($(this.id).val());
				if(bTest == undefined || bTest == false)
				{
					if(this.msg != undefined)
						$(oValidate.container+' ul').append('<li>'+this.msg+'</li>');

					$(this.id).addClass(oValidate.errorClass);
					$(this.id).focus(function (){ $(this).removeClass('error_input'); });
					bOk = false;
				}
			}
			else
			{
				$(this.id).removeClass(oValidate.errorClass);
			}

		}
		else
		{
			bOk = false;
		}
	});

	if(bOk)
	{
		$(oValidate.container).hide();
		if(oValidate.form != undefined && oValidate.form != '')
			$(oValidate.form).submit();

		if(oValidate.onSubmit != undefined && typeof oValidate.onSubmit == "function")
			oValidate.onSubmit();
	}
	else
	{
		$(oValidate.container+' ul').prepend('<li>Preencha os campos e os requisitos em destaque.</li>');
		$(oValidate.container).show();
		window.scrollTo(0, $(oValidate.container).offset().top - 25);

		if(oValidate.onError != undefined && typeof oValidate.onError == "function")
			oValidate.onError();
	}
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Calcula o quanto precisa expandir o menu direito por causa da aparição da validação.										|
| Criado: ??/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function calcDirMidAreaErro(){
	if($('#contDirMidHeight').val() == undefined)
		$('form').prepend('<input type="hidden" id="contDirMidHeight" value="'+$('.cont_dir_mid').height()+'" />');

	$('.cont_dir_mid').height(parseInt($('#contDirMidHeight').val()) + $('.area_erro').height()+15);
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Destaca os dias em que há popup de evento no componente datepicker do jQuery UI.											|
| Criado: 19/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function destacaEventosCalendario(){
	var day = $(this).get(0).id.substr(3,2); if(day.substr(0,1) == '0') day = day.substr(1,1);
	var month = $(this).get(0).id.substr(5,2); if(month.substr(0,1) == '0') month = month.substr(1,1);
	var year = $(this).get(0).id.substr(7,4);

	if($('.ui-datepicker-year').text() == year)
	{
		if($('.ui-datepicker-month').text() == arrMeses[month-1])
		{
			$('.ui-datepicker-calendar tbody tr td a').each(function(){
				if($(this).text() == day.toString())
					$(this).css({background:'#A1A1A1',color:'#FFFFFF',cursor:'pointer'});
			});
		}
	}
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Calcula a altura correta do quadro de horários de aula, conforme a quantidade de itens nele.								|
| Criado: 24/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function calcAltQuadroHorarioAula(){
	var qtdLi = $('#ul_lst_horario_aula > li:not(:hidden)').length;

	if(qtdLi <= 4)
	{
		var tamLi = parseInt($('#ul_lst_horario_aula > li').height()) + parseInt($('#ul_lst_horario_aula > li').css('margin-top')) + parseInt($('#ul_lst_horario_aula > li').css('margin-bottom'));
		var quadroHeight = qtdLi * tamLi;
		$('.lst_horario_aula').height(isNaN(quadroHeight) || quadroHeight <= 0 ? '1px' : quadroHeight);
		$('.slide_horario_aula .lnk_proximo').addClass('lnk_fade');
	}
	else
		$('.lst_horario_aula').height(125);
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Pega o valor real da altura do elemento.																					|
| Criado: 02/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function getRealHeight(obj)
{
	return parseInt($(obj).height()) +
			parseInt($(obj).css('margin-top')) +
			parseInt($(obj).css('margin-bottom')) +
			parseInt($(obj).css('padding-top')) +
			parseInt($(obj).css('padding-bottom')) +
			parseInt($(obj).css('border-top-width')) +
			parseInt($(obj).css('border-bottom-width'));
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Pega o valor real da largura do elemento.																					|
| Criado: 02/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function getRealWidth(obj)
{
	return parseInt($(obj).width()) +
			parseInt($(obj).css('margin-left')) +
			parseInt($(obj).css('margin-right')) +
			parseInt($(obj).css('padding-left')) +
			parseInt($(obj).css('padding-right')) +
			parseInt($(obj).css('border-left-width')) +
			parseInt($(obj).css('border-right-width'));
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Calcula a altura correta do quadro de últimos vídeos, conforme a quantidade de itens nele.									|
| Criado: 24/08/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function calcAltUltimosVideos(){
	var qtdLi = $('#lista_ultimos_videos > li').length;
	if(qtdLi <= 3)
	{
		var tamLi = getRealHeight('#lista_ultimos_videos > li');
		var quadroHeight = qtdLi * tamLi;
		$('.lista_ult_vid_mid').height(isNaN(quadroHeight) ? '1px' : quadroHeight-35);
		$('.lista_ultimos_videos .lnkProximo2').addClass('lnk_fade');
	}
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Valida, na digitação, o valor do campo colocando máscara de data.															|
| Criado: 16/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fct_valData(e){
	var evt = window.event || e;
    var whichCode = evt.keyCode ? evt.keyCode : evt.which;

	if(whichCode != 8 && whichCode != 46)
	{
		if ($(this).val().length == 2) $(this).val($(this).val() + '/');
		if ($(this).val().length == 5) $(this).val($(this).val() + '/');
	}
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Valida, na digitação, o valor do campo colocando máscara de telefone.														|
| Criado: 16/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fct_valTelefone(e){
	var evt = window.event || e;
    var whichCode = evt.keyCode ? evt.keyCode : evt.which;

	if(whichCode != 8 && whichCode != 46)
	{
		if($(this).val().length == 1 && $(this).val().indexOf('(') == -1) $(this).val('(' + $(this).val());
		if($(this).val().length == 3) $(this).val($(this).val() + ') ');
		if($(this).val().length == 9) $(this).val($(this).val() + '-');
	}
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Valida, na digitação, se os valores são numéricos.																			|
| Criado: 16/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fct_valNumber(e){
	var evt = window.event || e;
    var whichCode = evt.keyCode ? evt.keyCode : evt.which;

	if(whichCode == 8 || (whichCode >= 37 || whichCode <= 40) || whichCode == 44 || whichCode == 46 || OnlyNumbers(evt))
		return true;
	else
		return false;
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Valida, na digitação, a limitação de caracteres num textarea.																|
| Criado: 16/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fct_valCarac()
{
	var _maxLength = parseInt($(this).next().find('var').html()); if(isNaN(_maxLength)) _maxLength = 256;
	var caracRest = _maxLength - $(this).val().length;
	if(caracRest < 0) caracRest = 0;

	$(this).next().find('span').html(caracRest.toString());

	if(document.selection == undefined)
		$(this).val($(this).val().substring(0, _maxLength-1));
	else
	{
		var selectedText = document.selection.createRange();
		if($(this).val().length != selectedText.text.length)
			$(this).val($(this).val().substring(0, _maxLength-1));
	}

	$(this).get(0).scrollTop = $(this).height(); //HACK: FF scroll to bottom
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Valida, na digitação, a limitação de caracteres num textarea.																|
| Criado: 12/1/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fct_valCarac()
{
	var _maxLength = parseInt($(this).next().find('var').html()); if(isNaN(_maxLength)) _maxLength = 256;
	var caracRest = _maxLength - $(this).val().length;
	if(caracRest < 0) caracRest = 0;

	$(this).next().find('span').html(caracRest.toString());

	if(document.selection == undefined)
		$(this).val($(this).val().substring(0, _maxLength-1));
	else
	{
		var selectedText = document.selection.createRange();
		if($(this).val().length != selectedText.text.length)
			$(this).val($(this).val().substring(0, _maxLength-1));
	}

	$(this).get(0).scrollTop = $(this).height(); //HACK: FF scroll to bottom
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Valida, na digitação, a limitação de caracteres num textarea.																|
| Criado: 12/11/2010 | Por: Aline Neves																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fctQtdCaracter()
{
	var _maxLength = parseInt($(this).next().find('var').html()); if(isNaN(_maxLength)) _maxLength = 1024;
	var caracRest = _maxLength - $(this).val().length;
	if(caracRest < 0) caracRest = 0;

	$(this).next().find('span').html(caracRest.toString());

	if(document.selection == undefined)
		$(this).val($(this).val().substring(0, _maxLength-1));
	else
	{
		var selectedText = document.selection.createRange();
		if($(this).val().length != selectedText.text.length)
			$(this).val($(this).val().substring(0, _maxLength-1));
	}

	$(this).get(0).scrollTop = $(this).height(); //HACK: FF scroll to bottom
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Permite somente a digitação de números.																					|
| Criado: ??/??/???? | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function OnlyNumbers(oEvent){
    var oRegExp = /[0-9]/;
    var tecla_codigo;
    var tecla_char;

    if (oEvent.keyCode)
        tecla_codigo = oEvent.keyCode;
    else if (oEvent.which)
        tecla_codigo = oEvent.which;

    tecla_char = String.fromCharCode(tecla_codigo);

    if (tecla_codigo == 8 || tecla_codigo == 9 || (tecla_codigo == 39 && tecla_char != "'") || (tecla_codigo == 46 && tecla_char != '.'))
        return true;
    else if (!oRegExp.test(tecla_char))
        return false;
    else
        return true;
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Permite somente a digitação de valores monetários.																			|
| Criado: 17/09/2009 | Por: Rafael F. Silva																								|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function OnlyMoney(oEvent){
    var oRegExp = /[0-9]/;
    var tecla_codigo;
    var tecla_char;

    if (oEvent.keyCode)
        tecla_codigo = oEvent.keyCode;
    else if (oEvent.which)
        tecla_codigo = oEvent.which;

    tecla_char = String.fromCharCode(tecla_codigo);

    if (tecla_codigo == 8 || tecla_codigo == 9 || (tecla_codigo >= 37 && tecla_codigo <= 40) || tecla_char == ",")
        return true;
    else if (!oRegExp.test(tecla_char))
        return false;
    else
        return true;
}



/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Coloca uma máscara determinada por parâmetro no campo.																		|
| Criado: 16/09/2009 | Por: Rafael F. Silva	(ref. http://tinyurl.com/q5npze)															|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function mask(campo, formato, conteudo, event)
{
	valor = campo.value;
	var i, j;
	var caracs = [ '.', '/', '-', ':', '(', ')', ',' ];
	var auxPonto = formato;
	var auxBarra = formato;
	var auxHifen = formato;
	var auxDblPonto = formato;
	var auxAbrePar = formato;
	var auxFechaPar = formato;
	var auxVirgula = formato;
	var tamanho = formato.length;
	var posPonto = new Array(tamanho);
	var posBarra = new Array(tamanho);
	var posHifen = new Array(tamanho);
	var posDblPonto = new Array(tamanho);
	var posAbrePar = new Array(tamanho);
	var posFechaPar = new Array(tamanho);
	var posVirgula = new Array(tamanho);
	var keyPress = event;

	campo.maxLength = tamanho;

	if (event.keyCode != 17) {
		switch (conteudo) {
			case 1: // Verifica se soh podem ser entrados valores numericos
				if (!(event.keyCode >= 48 && (event.keyCode <= 57)))
				event.keyCode = 0;
				break;
			case 2: // Somente Letras
				if (!((event.keyCode >= 97 && event.keyCode <= 122)
					|| event.keyCode >= 65
					&& event.keyCode <= 90))
				event.keyCode = 0;
				break;
			case 3: // Letras e numeros
				if (!((event.keyCode >= 48 && event.keyCode <= 57)
					|| (event.keyCode >= 97 && event.keyCode <= 122)
					|| (event.keyCode >= 65 && event.keyCode <= 90)))
				event.keyCode = 0;
				break;
		}
	}

	// ----------------------------- PEGA A FORMATACAO DA MASCARA ------------------
	for (i = 0; i < tamanho; i++)
	{
		posPonto[i] = auxPonto.indexOf('.');
		posBarra[i] = auxBarra.indexOf('/');
		posHifen[i] = auxHifen.indexOf('-');
		posDblPonto[i] = auxDblPonto.indexOf(':');
		posAbrePar[i] = auxAbrePar.indexOf('(');
		posFechaPar[i] = auxFechaPar.indexOf(')');
		posVirgula[i] = auxVirgula.indexOf(',');

		auxPonto = auxPonto.substring(posPonto[i] + 1, tamanho);
		auxBarra = auxBarra.substring(posBarra[i] + 1, tamanho);
		auxHifen = auxHifen.substring(posHifen[i] + 1, tamanho);
		auxDblPonto = auxDblPonto.substring(posDblPonto[i] + 1, tamanho);
		auxAbrePar = auxAbrePar.substring(posAbrePar[i] + 1, tamanho);
		auxFechaPar = auxFechaPar.substring(posFechaPar[i] + 1, tamanho);
		auxVirgula = auxVirgula.substring(posVirgula[i] + 1, tamanho);

		if (i > 0) {
			posPonto[i] = posPonto[i] + posPonto[i - 1];
			posBarra[i] = posBarra[i] + posBarra[i - 1];
			posHifen[i] = posHifen[i] + posHifen[i - 1];
			posDblPonto[i] = posDblPonto[i] + posDblPonto[i - 1];
			posAbrePar[i] = posAbrePar[i] + posAbrePar[i - 1];
			posFechaPar[i] = posFechaPar[i] + posFechaPar[i - 1];
			posVirgula[i] = posVirgula[i] + posVirgula[i - 1];
			posPonto[i] = posPonto[i] + 1;
			posBarra[i] = posBarra[i] + 1;
			posHifen[i] = posHifen[i] + 1;
			posDblPonto[i] = posDblPonto[i] + 1;
			posAbrePar[i] = posAbrePar[i] + 1;
			posFechaPar[i] = posFechaPar[i] + 1;
			posVirgula[i] = posVirgula[i] + 1;
		}
	}

	// Retirando a máscara
	for (i = 0; i < campo.value.length; i++) {
		valor = valor.replace('-', '');
		valor = valor.replace('(', '');
		valor = valor.replace(')', '');
		valor = valor.replace(':', '');
		valor = valor.replace('/', '');
		valor = valor.replace('.', '');
		valor = valor.replace(',', '');
	}

	// Faz a validação se for apenas número
	// utilizado para fazer a validação de Ctrl+V
	if (conteudo == 1) {
		if (isNaN(valor)) {
			if (isNaN(valor.charAt(valor.length - 2)))
			valor = "";
			else
			valor = valor.substring(0, valor.length - 1);
		}
	}

	indicePonto = 0;
	indiceBarra = 0;
	indiceHifen = 0;
	indiceDblPonto = 0;
	indiceVirgula = 0;
	indiceAbrePar = 0;
	indiceFechaPar = 0;

	// Varre o campo aplicando a máscara
	for (i = 0; i < valor.length; i++)
	{
		if (i == posPonto[indicePonto]) {
			if (valor.charAt(i) != '.') {
				if (i == 0) { valor = '.' + valor; }
				else if (i == valor.length) { valor = valor + '.'; }
				else { valor = valor.substring(0, i) + '.' + valor.substring(i); }
				indicePonto++;
			}
		}
		if (i == posBarra[indiceBarra]) {
			if (valor.charAt(i) != '/') {
				if (i == 0) { valor = '/' + valor; }
				else if (i == valor.length) { valor = valor + '/'; }
				else { valor = valor.substring(0, i) + '/' + valor.substring(i); }
				indiceBarra++;
			}
		}

		if (i == posHifen[indiceHifen]) {
			if (valor.charAt(i) != '-') {
				if (i == 0) { valor = '-' + valor; }
				else if (i == valor.length) { valor = valor + '-'; }
				else { valor = valor.substring(0, i) + '-' + valor.substring(i); }
				indiceHifen++;
			}
		}

		if (i == posDblPonto[indiceDblPonto]) {
			if (valor.charAt(i) != ':') {
				if (i == 0) { valor = ':' + valor; }
				else if (i == valor.length) { valor = valor + ':'; }
				else { valor = valor.substring(0, i) + ':' + valor.substring(i); }
				indiceDblPonto++;
			}
		}

		if (i == posAbrePar[indiceAbrePar]) {
			if (valor.charAt(i) != '(') {
				if (i == 0) { valor = '(' + valor; }
				else if (i == valor.length) { valor = valor + '('; }
				else { valor = valor.substring(0, i) + '(' + valor.substring(i); }
				indiceAbrePar++;
			}
		}

		if (i == posFechaPar[indiceFechaPar]) {
			if (valor.charAt(i) != ')') {
				if (i == 0) { valor = ')' + valor; }
				else if (i == valor.length) { valor = valor + ')'; }
				else { valor = valor.substring(0, i) + ')' + valor.substring(i); }
				indiceFechaPar++;
			}
		}

		if (i == posVirgula[indiceVirgula]) {
			if (valor.charAt(i) != ',') {
				if (i == 0) { valor = ',' + valor; }
				else if (i == valor.length) { valor = valor + ','; }
				else { valor = valor.substring(0, i) + ',' + valor.substring(i); }
				indiceVirgula++;
			}
		}
	}

	if (campo.value.length > tamanho) {
		campo.value = campo.value.substring(0, tamanho);
	}

	campo.value = valor;
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Exibe a popup e a cortina na tela.																			|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fctPopup(id) {
	centralizaPopup(id);

	abrirCortina(true, false, 3);
	window.onresize = function(){ centralizaPopup(); }
};

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Centraliza e exibe a popup de Newsletter na tela.																			|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function centralizaPopup(id) {
	var _left = ($(window).width()/2) - ($(id).width()/2) + 'px';
	var _top =  ($(window).height()/2) - ($(id).height()/2) + 'px';

	$(id).show(400).css({
		'left':_left,
		'position':'fixed', //BUG: position fixed não funciona no IE6
		'top':_top
	});
}

/*
|---------------------------------------------------------------------------------------------------------------------------------------|
| Descrição: Fecha a popup.																				|
| Criado: ??/??/2009 | Por: ???																											|
| Modificado: __/__/____ | Por:																											|
|---------------------------------------------------------------------------------------------------------------------------------------|
*/
function fctFecharPopup(id) {
	$(id).hide();
	abrirCortina(false, false, 3);

	window.onresize = '';
};


