$(function()
{
	// Troca de imagens no conceitual da home
	setInterval( "slideSwitch()", 5000 );

	//-----
	
	// Colorbox para abrir a lista de empresas conveniadas
	$('.lista-conveniadas').colorbox({inline:true, href:"#empresas-conveniadas"});

	// Carousel da index
	$('#carousel').jcarousel();
	// Carousel das imagens dos brinquedos
	$('#carousel2').jcarousel({
        auto : 0
    });
	// Carousel das fotos do parque
	$('#carousel3').jcarousel({
        auto : 0
    });

	//-----
	
	// Adiciona o scroll vertical
	$('.scroll-pane').jScrollPane();

	// Edita os anúncios do adsense
	// $("#aswift_0_anchor").contents().("#google_ads_frame1").contents().find("#ads ul li").css("width", "175px");
	
	// Brinquedos do parque
	$("a[rel='chua_show']").colorbox();
	$("a[rel='dragon_free']").colorbox();
	$("a[rel='boca_da_serpente']").colorbox();
	$("a[rel='arvore_do_tarzan']").colorbox();
	$("a[rel='torre_do_pirata']").colorbox();
	$("a[rel='castelo_sombrio']").colorbox();
	$("a[rel='mundo_amazonico']").colorbox();
	$("a[rel='boca_do_tubarao']").colorbox();
	$("a[rel='mundo_tropical']").colorbox();
	$("a[rel='vale_dos_dinossauros']").colorbox();
	$("a[rel='templo_do_tesouro']").colorbox();
	$("a[rel='corredeira_selvagem']").colorbox();
	$("a[rel='mundo_de_atlantida']").colorbox();
	$("a[rel='lago_dos_cisnes']").colorbox();
	$("a[rel='cascata_do_barco_encalhado']").colorbox();
	$("a[rel='mundo_encantado']").colorbox();
	$("a[rel='tirolesa']").colorbox();
	// Produto da loja virtual
	$("a[rel='produto']").colorbox();
	// Fotos do parque
	$("a[rel='fotos_parque']").colorbox();

	//-----

	// Desabilita o clique nos itens que abrem os menus dropdown
	$('#menu_brinquedos_link, #menu .tabs > li > a').click(function(){return false;});

	//-----

	// Cálculos de valores na tela de ingressos
	if ($('#tabelaCompraIngresso').length)
	{
		$('#qtd_criancas, #qtd_adultos').change(function()
		{
			var crianca_quantidade = $('#qtd_criancas').val();
			var crianca_valor = $('#ingresso_crianca_valor').val();
			var crianca_total = parseInt(crianca_quantidade) * parseFloat(crianca_valor);

			var adulto_quantidade = $('#qtd_adultos').val();
			var adulto_valor = $('#ingresso_adulto_valor').val();
			var adulto_total = parseInt(adulto_quantidade) * parseFloat(adulto_valor);

			var total = crianca_total + adulto_total;

			total = total.toFixed(2).toString().replace('.', ',');
			$('#ingresso_valor_total').html(total);
		});

		// Validação e envio
		$('.botaoComprarIngresso a').click(function()
		{
			if ($('#qtd_criancas').val() > 0 || $('#qtd_adultos').val() > 0)
			{
				$('#compraIngressoForm').submit();
			}
			else
			{
				alert('Para prosseguir com a compra, você precisa selecionar pelo menos 1 ingresso infantil ou 1 ingresso adulto.');
			}
			return false;
		});
	}

	//-----
	
	// Validação do formulário de contato
	if ($('#formularioContato').length)
	{
		$('#formularioContato').submit(function()
		{
			var notificacao = '';

			if ($('#nome').val().length==0 || $('#telefone').val().length==0 || $('#endereco').val().length==0 || $('#cidade').val().length==0 ||
					$('#email').val().length==0 || $('#nascimento').val().length==0 || $('#mensagem').val().length==0  || $('#bairro').val().length==0 ||
					$('#cep').val().length==0)
			{
				notificacao = 'Todos os campos marcados são obrigatórios.';
			}

			if (notificacao.length == 0 && ! is_valid_email_address($('#email').val()))
			{
				notificacao = 'Endereço de e-mail inválido.';
			}			

			if (notificacao.length > 0)
			{
				alert(notificacao);
				return false;
			}
			return true;
		});

	}

	// Validação do formulário de cadastro
	if ($('#formularioCadastro').length)
	{
		$('#formularioCadastro').submit(function()
		{
			var notificacao = '';

			if ($('#nome').val().length==0 || $('#rg').val().length==0 || $('#cpf').val().length==0 || $('#telefone').val().length==0 || $('#endereco').val().length==0 ||
				$('#numero').val().length==0 || $('#bairro').val().length==0 || $('#cidade').val().length==0 || $('#estado').val().length==0 || $('#cep').val().length==0 ||
				$('#email').val().length==0 || $('#senha').val().length==0)
			{
				notificacao = 'Todos os campos marcados são obrigatórios.';
			}

			if (notificacao.length == 0 && ! is_valid_email_address($('#email').val()))
			{
				notificacao = 'Endereço de e-mail inválido.';
			}

			if (notificacao.length == 0 && $('#cpf').val().length < 11)
			{
				notificacao = 'Digite os 11 números do seu CPF.';
				$('#cpf').focus();
			}
			else
			{
				/*if ( ! is_cpf_valido($('#cpf').val()))
				{
					notificacao = 'O CPF digitado não é válido.';
					$('#cpf').focus();
				}*/
			}

			if (notificacao.length == 0 && $('#cep').val().length < 8)
			{
				notificacao = 'Digite os 8 números do seu CEP.';
				$('#cep').focus();
			}

			if (notificacao.length > 0)
			{
				alert(notificacao);
				return false;
			}
			return true;
		});

		// Só números nos campos especificados
		$('#rg, #cpf, #cep, #numero').numeric();

	}

	//-----

	// Validação do formulário de edição dos dados
	if ($('#formularioMeusDados').length)
	{
		$('#formularioMeusDados').submit(function()
		{
			var notificacao = '';

			if ($('#nome').val().length==0 || $('#rg').val().length==0 || $('#cpf').val().length==0 || $('#telefone').val().length==0 || $('#endereco').val().length==0 ||
				$('#numero').val().length==0 || $('#bairro').val().length==0 || $('#cidade').val().length==0 || $('#estado').val().length==0 || $('#cep').val().length==0 ||
				$('#email').val().length==0)
			{
				notificacao = 'Todos os campos marcados são obrigatórios.';
			}

			if (notificacao.length == 0 && ! is_valid_email_address($('#email').val()))
			{
				notificacao = 'Endereço de e-mail inválido.';
			}

			if (notificacao.length == 0 && $('#cpf').val().length < 11)
			{
				notificacao = 'Digite os 11 números do seu CPF.';
				$('#cpf').focus();
			}
			else
			{
				if ( ! is_cpf_valido($('#cpf').val()))
				{
					notificacao = 'O CPF digitado não é válido.';
					$('#cpf').focus();
				}
			}

			if (notificacao.length == 0 && $('#cep').val().length < 8)
			{
				notificacao = 'Digite os 8 números do seu CEP.';
				$('#cep').focus();
			}

			if (notificacao.length > 0)
			{
				alert(notificacao);
				return false;
			}
			return true;
		});

		// Só números nos campos especificados
		$('#rg, #cpf, #cep, #numero').numeric();

	}

});

//----------

function slideSwitch()
{
	var $active = $('#bannerConceitual a.active');

	if ( $active.length == 0 ) $active = $('#bannerConceitual a:last');

	// use this to pull the images in the order they appear in the markup
	var $next =  $active.next().length ? $active.next() : $('#bannerConceitual a:first');

	// uncomment the 3 lines below to pull the images in random order

	// var $sibs  = $active.siblings();
	// var rndNum = Math.floor(Math.random() * $sibs.length );
	// var $next  = $( $sibs[ rndNum ] );

	$active.addClass('last-active');

	$next.css({opacity: 0.0})
		.addClass('active')
		.stop(true, true)
		.animate({opacity: 1.0}, 1000, function() {
			$active.removeClass('active last-active');
		});
}

//-----

function is_valid_email_address(email_address)
{
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(email_address);
}

function is_cpf_valido(value)
{
	value = jQuery.trim(value);
	value = value.replace('.','');
	value = value.replace('.','');
	cpf = value.replace('-','');
	while(cpf.length < 11) cpf = "0"+ cpf;
	var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] * c--);
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }

	var retorno = true;
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg)) retorno = false;

	return retorno;
}

