/*
 * Script para realizar calculos de simulação e tratar detalhes do Midia Kit
 * Autor: Henrique Moreira
 */
var carregado = false; //indica se a página já foi totalmente carregada
var exibMinima = 200000; //exibição máxima
var exibMaxima = 2000000; //exibição mínima
var exibicao = 1500000; //exibição padrão
var variancia = 20000; //variação entre os resultados selecionados
var varianciaMax = (exibMaxima - exibMinima) / variancia; //calculo da variancia real
var escolha = (exibicao - exibMinima) / variancia; // calculo da escolha real
var valor; //valor do investimento
var meses = 6; //quantidade de meses padrão
var piso = 5000; //valor minimo de exibicoes mensais
var teto = 6000000; //valor maximo de exibicoes mensais
var incremento = 10000; //valor de incremento
var minimoMensal = 500; //valor de investimento minimo por mes
var exibicao_mensal = 0; //valor da exibicao mensal
var slider1;
var slider2;

//------------------------------------------------------------------------------

//funcao para tratar valores do slider de investimento
function exibicoes(obj) {
	escolha = obj.getValue();
	
	exibicoesCalc();
	duracaoCalc();
	calculoDistribuicoes();
}

//------------------------------------------------------------------------------

//calculo das exibições
function exibicoesCalc() {
	exibicao = ( ( (exibMaxima - exibMinima) * escolha ) / varianciaMax ) + exibMinima;
	var desconto = "0%";
	
	var cpm; 
	
	//intervalos de desconto
	if(exibicao <= 499999) {
		desconto = "0%";
		cpm = 10;
	}
	else if(exibicao >= 500000 && exibicao <= 999999) {
		desconto = "20%";
		cpm = 8;
	}
	else if(exibicao >= 1000000 && exibicao <= 1999999) {
		desconto = "40%";
		cpm = 6;
	}
	else if(exibicao >= 2000000) {
		desconto = "50%";
		cpm = 5;
	}
	
	valor = exibicao / 1000 * cpm;
	
	document.getElementById("exibicoes_valor").innerHTML = formata(exibicao, false);
	document.getElementById("exibicoes_desconto").innerHTML = desconto + " de desconto";
	document.getElementById("exibicoes_investimento").innerHTML = "R$ " + formata(valor, true);
}

//------------------------------------------------------------------------------

//funcao para calcular valores de acordo com o periodo (meses) selecionado
function duracao(obj) {
	meses = obj.getValue();
	duracaoCalc();
	calculoDistribuicoes();
}

//------------------------------------------------------------------------------

//calculo da duração
function duracaoCalc() {
	var mes_txt = "";
	if(meses == 1)
		mes_txt = " mês";
	else
		mes_txt = " meses";
		
	document.getElementById("duracao_tempo").innerHTML = meses + mes_txt;
	
	if (valor / meses >= minimoMensal) 
		document.getElementById("duracao_preco").innerHTML = "R$ " + formata(valor / meses, true);
	else {
		//alert("O valor mensal está abaixo do mínimo.");
		document.getElementById("duracao_preco").innerHTML = "<font color='red'>R$ " + formata(valor / meses, true) + "</font>";
	}
}

//------------------------------------------------------------------------------

//funcao para formatar casas de milesimos, podendo ou não formatar casas decimais
function formata(val, marcaDecimal) {
	//valor a ser tratado
	var valor = "" + val;
	//tamanho do string do valor
	var tamanho = valor.length;
	//apontador de caracteres
	var restante = tamanho - 1;
	//resultado da formatacao (nao decimal)
	var resultado = "";
	//resultado da formatacao decimal
	var decimal = "";
	
	//caso seja nescessario tratar decimais...
	if(valor.lastIndexOf(".") != -1) {
		if(marcaDecimal) {
			var arredonda = 0; //variavel que insere arredondamento
			var num; //variavel para calculo do numero parcial
			
			//loop para capturar todo o decimal
			while(valor.charAt(restante) != ".") {
				//caso esteja na faixa de arredondamento
				if(restante - valor.lastIndexOf(".") > 2) {
					//obtem numero atual com possivel arredondamento
				   	num = parseInt(valor.charAt(restante)) + arredonda;
				   	//verifica se ira arredondar
					if(num >= 5)
						arredonda = 1;
					else
						arredonda = 0;
				} else {
					//controla parte que não sera arredondada
					
					num = parseInt(valor.charAt(restante)) + arredonda;	
					arredonda = 0;			
					decimal = num + decimal;
				}
				//move ponteiro para proximo caractere
				restante--;
			}
		
			//verifica se houve apenas um decimal, para inserir 0
			if(decimal.length == 1)
				decimal += "0";
		}
		else {
			restante = valor.lastIndexOf(".");
		}
			
		//aponta para o proximo caractere antes do ponto
		restante--;
	}
	
	//marcação dos pontos de milésimos
	while(restante >= 3) {
		resultado = "." + valor.charAt(restante - 2) + valor.charAt(restante - 1) + valor.charAt(restante) + resultado;
		restante -= 3;
	}
	
	//inserção dos números restantes a esquerda
	while(restante >= 0) {
			resultado = valor.charAt(restante) + resultado;
			restante--;
	}
	
	//exibe resultado com decimal
	if(marcaDecimal) {
		if(decimal == "")
			return resultado + ",00";
		else
			return resultado + "," + decimal;
	}
	//exibe resultado sem decimal
	else
		return resultado;
}

/*
 * Relação de marcadores por conteudo
 *  
 * 1 - Cifra Club
 * 2 - Letras.mus.br
 * 3 - Fórum Cifra Club
 * 4 - Palco MP3
 * 5 - Guitar Battle
 * 6 - Audioware
 * 7 - Forme Sua Banda
 * 8 - Flog Brasil
 * 9 - FotoFlog
 * 10 - Floguxo
 * 11 - Brasil Flog
 * 12 - Minha Música
 * 13 - Eu sou! App futebol
 */

var numCampos = 13; //numero total de campos
var camposAtuais = new Array(); //campos que se encontram marcados
var valAtuais = new Array(); //exibições dos campos marcados
var marcados = new Array(); //campos que deve ser revisados no calculo

//var distribuicoes = [0,40500000,91000000,5000000,4200000,225000,750000,270000,170000,4800000,330000,225000];
var distribuicoes = [0,4000000,6000000,1000000,1000000,220000,740000,280000,1000000,800000,500000,700000,1000000,1000000];

//direciona a acao do click de check do campo
function clickCampo(campo) {
	if(document.getElementById("s" + campo).checked)
		marcarCampo(campo,true);
	else
		desmarcarCampo(campo,true);
}

//------------------------------------------------------------------------------

//marca um campo
function marcarCampo(campo, calculo) {
	document.getElementById("tr"+campo).className = "on";
	document.getElementById("s"+campo).checked = true;
	
	//habilitando campos de check
	try{ document.getElementById("cf"+campo).disabled = false; }
	catch(e) { }
	try{ document.getElementById("csk"+campo).disabled = false; }
	catch(e) { }
	try{ document.getElementById("csb"+campo).disabled = false; }
	catch(e) { }
	try{ document.getElementById("css"+campo).disabled = false; }
	catch(e) { }
	try{ document.getElementById("cl"+campo).disabled = false; }
	catch(e) { }
	
	//verifica se encontra no camposAtuais, senao insere
	if(verificaArray(camposAtuais,campo) == -1)
		camposAtuais.push(campo);
	
	if(calculo)
		calculoDistribuicoes();
}

//------------------------------------------------------------------------------

//marca campos que estão no array
function defineCampos(arranjo) {
	var novoArranjo = new Array();
	
	for(var cont = 0;cont < arranjo.length;cont++) {
		for(var cont2 = 0;cont2 < camposAtuais.length;cont2++) {
			if(camposAtuais[cont2] == arranjo[cont]) {
				novoArranjo.push(camposAtuais[cont2]);
				break;
			}
		}
	}
	
	camposAtuais = novoArranjo;
}

//------------------------------------------------------------------------------

//marca os campos indicados pela array camposAtuais
function marcarVetorCampos() {
	for(var cont = 0;cont < camposAtuais.length;cont++) {
		marcarCampo(camposAtuais[cont],false);
	}	
	
	calculoDistribuicoes();
}

//------------------------------------------------------------------------------

//calcula distribuicoes e porcentagens de cada campo
function calculoDistribuicoes() {
	restos = 0;
	var maxDistribuicoes = 0;
	var mensal = exibicao / meses;
	valAtuais = new Array(); //zerando valores
	marcados = new Array(); //zerando marcadores
	//calculando distribuicoes maxima que não cifra e letras 
	for (var cont = 0; cont < camposAtuais.length; cont++) {
		maxDistribuicoes += calcTeto(distribuicoes[camposAtuais[cont]]);
	}
	
	//redefinindo mensal de acordo com a demanda
	if(mensal > maxDistribuicoes)
		mensal = maxDistribuicoes
	
	var resto = 0;
	var calc;
	
	//obtem o valor proporcional para cada campo
	for (var cont = 0; cont < camposAtuais.length; cont++) {
		var porc = calcTeto(distribuicoes[camposAtuais[cont]]) / maxDistribuicoes;
		var parte = mensal * porc;
		
		valAtuais[cont] = parte;
		
		//verifica se o valor está abaixo do piso, caso sim, marcar
		if (parte < piso) 
			marcados.push(cont);
		else {
			calc = valAtuais[cont] / 1000;
			calc = valAtuais[cont] - (Math.floor(calc) * 1000);
			valAtuais[cont] = valAtuais[cont] - calc;
			resto += calc;
		}
	}
	
	var maior = maiorDistribuicao();
	
	//arredondando o resto
	resto = Math.round(resto / 1000) * 1000;
	
	//adiciona todo o resto ao que possui mais distribuicoes
	valAtuais[maior] += resto;
	
	var partes = 0;
	for (var cont = 0; cont < marcados.length; cont++) {
		partes += piso - valAtuais[marcados[cont]];
		if (maior != marcados[cont]) {
			valAtuais[marcados[cont]] = piso;
		}
	}
	
	//distribuindo perdas de 1000 em 1000
	for (var cont = 0; cont < Math.ceil(partes / 1000); cont++) {
		valAtuais[maiorDistribuicao()] -= 1000;
	}
	
	calculoPorcentagens();
}

//------------------------------------------------------------------------------

//funcao para efetuar o calculo das porcentagens dos campos e exibir
function calculoPorcentagens() {	
	var mensal = exibicao / meses;
	exibicao_mensal = 0;

	var porcentagem;
	for(var cont = 0;cont < camposAtuais.length;cont++) {
		exibicao_mensal += valAtuais[cont];
		
		document.getElementById("dist"+camposAtuais[cont]).innerHTML = formata(valAtuais[cont],false);
		porcentagem = (valAtuais[cont] / mensal) * 100;
		porcentagem = (porcentagem <= 100) ? porcentagem : 100;
		
		document.getElementById("porc"+camposAtuais[cont]).innerHTML = formata(porcentagem,true) + "% <a href='javascript:aumentaDistribuicao("+camposAtuais[cont]+")'>&#9650</a><a href='javascript:diminuiDistribuicao("+camposAtuais[cont]+")'>&#9660</a>";
		
	}
	document.getElementById("exibicao_mensal").innerHTML = formata(exibicao_mensal, false);
}

//------------------------------------------------------------------------------

//encontra o campo que possui a maior distribuição
function maiorDistribuicao() {
	var maxVal = 0;
	var maxPos = 0;
	
	for(var cont = 0;cont < camposAtuais.length;cont++) {
		if(valAtuais[cont] > maxVal)
		{
			maxVal = valAtuais[cont];
			maxPos = cont;
		}
	}
	
	return maxPos;
}

//------------------------------------------------------------------------------

//desmarca um campo
function desmarcarCampo(campo, calculo) {
	//desmarcando campo
	if(campo % 2 == 0)
		document.getElementById("tr"+campo).className = "bg2";
	else
		document.getElementById("tr"+campo).className = "";
	document.getElementById("s"+campo).checked = false;
	document.getElementById("dist"+campo).innerHTML = "&nbsp;";
	document.getElementById("porc"+campo).innerHTML = "0% <a href='javascript:aumentaDistribuicao("+campo+")'>&#9650</a>";
	
	//desabilitando campos de check
	//Full Banner
	try{ document.getElementById("cf"+campo).disabled = true; }
	catch(e) { }
	//Skycrapper
	try{ document.getElementById("csk"+campo).disabled = true; }
	catch(e) { }
	//Super Banner
	try{ document.getElementById("csb"+campo).disabled = true; }
	catch(e) { }
	//Subset
	try{ document.getElementById("css"+campo).disabled = true; }
	catch(e) { }
	//Layer CM8
	try{ document.getElementById("cl"+campo).disabled = true; }
	catch(e) { }
	
	//verifica se encontra no camposAtuais para remocao
	var val = verificaArray(camposAtuais,campo);
	if(val != -1)
		camposAtuais.splice(val,1);
	
	if(calculo)
		calculoDistribuicoes();
}

//------------------------------------------------------------------------------

//desmarca todos os campos
function desmarcarTodos() {
	//desmarcando campos
	for(var cont = 1;cont <= numCampos;cont++)
		desmarcarCampo(cont);
}

//------------------------------------------------------------------------------

/*
 * Público Alvo
 */

var paSexo = 1;
var paFaixaEtaria = 0;
var paInteresse = 0;

//Função para efetuar o filtro de uma nova seleção
function selPa() {
	//desmarcando todos os campos
	desmarcarTodos();
	
	for(var cont = 1;cont <= numCampos;cont++)
		camposAtuais[cont - 1] = cont; 
	
	paSexo = parseInt(document.getElementById("sexo").value);
	paFaixaEtaria = parseInt(document.getElementById("faixa_etaria").value);
	paInteresse = parseInt(document.getElementById("interesse").value);
	
	//caso haja algo marcado
	if(paSexo + paFaixaEtaria + paInteresse != 0) {
		//filtrando cada select
		selPaSexo();
		selPaFaixaEtaria();
		selPaInteresse();
		
		marcarVetorCampos();
	}
}

//------------------------------------------------------------------------------

//Filtro de Sexo
function selPaSexo() {
	switch(paSexo) {
		case 1: //Homens
			defineCampos([1,2,3,4,5,6,7,11]);
			break;
		case 2: //Mulheres
			defineCampos([2,4,8,9,10,11]);
			break;
		case 3: //Ambos
			defineCampos([1,2,3,4,5,6,7,8,9,10,11]);
			break;
	}
}

//------------------------------------------------------------------------------

//Filtro de Faixa Etaria
function selPaFaixaEtaria() {
	switch(paFaixaEtaria) {
		case 1: //Infantil
			defineCampos([10]);
			break;
		case 2: //Adolescente
			defineCampos([1,2,4,7,8,9,10]);
			break;
		case 3: //Jovem
			defineCampos([1,2,3,4,5,6,7,8,9,10,11]);
			break;
		case 4: //Adulto
			defineCampos([1,2,3,4,5,6,9,11]);
			break;
		case 5: //Indiferente
			defineCampos([1,2,3,4,5,6,7,8,9,10,11]);
			break;
	}
}

//------------------------------------------------------------------------------

//Filtro de Interesse
function selPaInteresse() {
	switch(paInteresse) {
		case 1: //Música
			defineCampos([1,2,4,3,5]);
			break;
		case 2: //Instrumentos Musicais
			defineCampos([1,3,5,4]);
			break;
		case 3: //Notícias
			defineCampos([1,3,2]);
			break;
		case 4: //Amigos / Comunidades
			defineCampos([3,5,8,9,10,11,4,7]);
			break;
		case 5: //Aprender Música
			defineCampos([1,3,2,7]);
			break;
		case 6: //Música Independente
			defineCampos([4,5,3,7]);
			break;
		case 7: //Softwares
			defineCampos([1,6,3,5,4]);
			break;
		case 8: //Tecnologia
			defineCampos([1,3,4,5,6]);
			break;
		case 9: //Fotografia
			defineCampos([8,9,10,11]);
			break;
		case 10: //Indiferente
			defineCampos([1,2,3,4,5,6,7,8,9,10,11]);
			break;
	}
}

//------------------------------------------------------------------------------

//Marca todos os checks de mesmo tipo
function marcarChecks(tipo, val) {
	if(tipo != "l") {
		for(var cont = 0;cont <= numCampos;cont++) {
			try { document.getElementById("c" + tipo + cont).checked = val; }
			catch(e) { }
		}
	} else {
		alert("Simulação com Layer CM8 está indísponível no momento. Favor consultar por teleforne.");
		document.getElementById("a5").checked = false;
	}
}

//------------------------------------------------------------------------------

//Trata a marcação do Layer CM8
function marcaCM8(elem) {
	alert("Simulação com Layer CM8 está indísponível no momento. Favor consultar por teleforne.");
	elem.checked = false;
}

//------------------------------------------------------------------------------

//Obtem a posição de um campo no camposAtuais
function verificaArray(arranjo, valor) {
	var resp = -1;
	for(var cont = 0;cont < arranjo.length;cont++) {
		if(arranjo[cont] == valor) {
			resp = cont;
			break;
		}
	}
	
	return resp;
}

//------------------------------------------------------------------------------

//encontra o campo referente a posicao
function encontraCampo(val) {
	for(var cont = 0;cont < camposAtuais.length;cont++) {
		if(camposAtuais[cont] == val)
			break;
	}
	return cont;
}

//------------------------------------------------------------------------------

//calcula o teto
function calcTeto(valor) {
	return (valor <= teto) ? valor : teto;
}

//------------------------------------------------------------------------------

//variavel para armazenar as sobras ou faltas no calculo de distribuições
var restos = 0;

//aumenta um incremento na distribuicao do campo
function aumentaDistribuicao(val) {
	
	//caso nao seja um campo marcado, faze-lo
	if(verificaArray(camposAtuais,val) == -1) {
		//verificando se o campo e o primeiro ou nao
		if(camposAtuais.length > 0) {
			marcarCampo(val,false);
			valAtuais.push(0);
		}
		else
			marcarCampo(val,true);
	}

		
	//indicando o valor real de incremento, contando com erros passados
	var incremento_real = incremento + restos;
	
	//verifica se o campo esta marcado e se pode ser incrementado
	if (document.getElementById("s" + val).checked && valAtuais[encontraCampo(val)] + incremento_real < (exibicao / meses)) {
		
		valAtuais[encontraCampo(val)] += incremento;
		
		//obtendo quantidade de elemento que podem ser decrementados
		var quant = 0;
		var alteracao = false;
		var novoQuant = camposAtuais.length - 1; //numero real de campos que irão alterar
		
		do {
			quant = novoQuant;
			novoQuant = 0;
			
			//loop para obter quantidade de campos que podem ser decrementados
			for (var cont = 0; cont < camposAtuais.length; cont++) {
				var valor_tmp = 1000 * Math.round((incremento_real / quant) / 1000);
				if (valAtuais[cont] > valor_tmp && camposAtuais[cont] != val) 
					novoQuant++;
			}		
		} while(quant != novoQuant && novoQuant > 0);
				
		var total_valores = 0;
		if (quant > 0) {
			//decrementando os outros campos
			for (var cont = 0; cont < camposAtuais.length; cont++) {
				var valor_tmp = 1000 * Math.round((incremento_real / quant) / 1000);
				if (camposAtuais[cont] != val && valAtuais[cont] > valor_tmp)  {
					valAtuais[cont] -= valor_tmp;
					total_valores += valor_tmp;
				}
			}
			restos = incremento_real - total_valores;
		} else {
			valAtuais[encontraCampo(val)] -= incremento;
		}
		
		//recalculando porcentagens
		calculoPorcentagens();
	}
}

//------------------------------------------------------------------------------

//diminui um incremento na distribuicao do campo
function diminuiDistribuicao(val) {
	var incremento_real = incremento - restos;
	
	//verifica se o campo esta marcado e se pode ser decrementado
	if (document.getElementById("s" + val).checked && valAtuais[encontraCampo(val)] >= incremento && camposAtuais.length > 1) {
		valAtuais[encontraCampo(val)] -= incremento;
		
		var total_valores = 0;
		//incrementando os outros campos
		for(var cont = 0; cont < camposAtuais.length;cont++)
		{
			var valor_tmp = 1000 * Math.ceil((incremento_real / (camposAtuais.length - 1)) / 1000);
			if(camposAtuais[cont] != val)
			{
				valAtuais[cont] += valor_tmp;
				total_valores += valor_tmp;
			}
		}
		
		restos = total_valores - incremento_real;
		calculoPorcentagens();
	}
}

//------------------------------------------------------------------------------

//inicia a tela de simulacao
function exibirSimulacao() {
	if(document.getElementById("simule").style.display != "block" && carregado) {
		document.getElementById("simule").style.display = "block";
		
		dadosManipular(1);
		
		slider1 = new Slider(document.getElementById("slider-2"),
		document.getElementById("slider-input-2"), "duracao", 1, 6, 1, meses);
		slider2 = new Slider(document.getElementById("slider-1"),
		document.getElementById("slider-input-1"), "exibicoes", 0, varianciaMax, 5, escolha);
	}
	else if(document.getElementById("simule").style.display != "block" && !carregado) {
		alert("Aguarde a página ser totalmente carregada para executar esta ação.");
	}
}

//------------------------------------------------------------------------------

//criando objeto ajax
var ajax = new Ajax();
//variavel para quardar email do solicitante
var emailEnvio = "";
//variavel que indica se no momento é possivel realizar o envio
var envioHabilitado = true;

//funcao para formatar os dados a serem enviados
function enviarCampanha() {
	if(envioHabilitado) {		
		envioHabilitado = false;
		
		//iniciando variavel de envio
		var strPost = "exibicoes="+exibicao
					 +"&meses="+meses
					 +"&investimento="+valor
					 +"&pa_sexo="+paSexo
					 +"&pa_faixa_etaria="+paFaixaEtaria
					 +"&pa_interesse="+paInteresse
					 +"&exibicao_mensal="+exibicao_mensal;
				
		//btendo dados dos campos marcados	 
		for(var cont = 0;cont < camposAtuais.length;cont++) {
			strPost += "&campo"+camposAtuais[cont]+"=ok"
					  +"&dist"+camposAtuais[cont]+"="+valAtuais[cont];
				
			//obtendo o estado dos formatos disponiveis para o campo
			try {
				var val = (document.getElementById("cf"+camposAtuais[cont]).checked) ? "1" : "0";
				strPost	+= "&cf"+camposAtuais[cont]+"="+val;
			}
			catch(e) { }
			try {
				var val = (document.getElementById("csk"+camposAtuais[cont]).checked) ? "1" : "0";
				strPost	+= "&csk"+camposAtuais[cont]+"="+val;
			}
			catch(e) { }
			try {
				var val = (document.getElementById("csb"+camposAtuais[cont]).checked) ? "1" : "0";
				strPost	+= "&csb"+camposAtuais[cont]+"="+val;
			}
			catch(e) { }
			try {
				var val = (document.getElementById("css"+camposAtuais[cont]).checked) ? "1" : "0";
				strPost	+= "&css"+camposAtuais[cont]+"="+val;
			}
			catch(e) { }
		}
		
		
		//dados do usuario
		strPost += "&nome="+document.getElementById("nome").value
				 + "&email="+document.getElementById("email").value
				 + "&ddd="+document.getElementById("ddd").value
				 + "&tel="+document.getElementById("tel1").value + "-" + document.getElementById("tel2").value;
	
		//quardando email de envio
		emailEnvio = document.getElementById("email").value;
		
		//trocando conteudo da div de dados
		dadosManipular(2);
	
		ajax.chamada("ajax_email.php",strPost,"retornoEnvio");
	}
}

//------------------------------------------------------------------------------

//validador dos campos de dados do solicitante
function verificaCampos() {
	if(envioHabilitado) {
		//Nome
		if(document.getElementById("nome").value == "") {
			alert("Favor preencher o campo de nome.");
			return false;
		} 	
		//Email
		if(document.getElementById("email").value.search(/^([a-z]|[A-Z]|[0-9]|[.]|[_]|[-])+[@]([a-z]|[A-Z])+[.]((([a-z]|[A-Z]){2,})|(([a-z]|[A-Z]){2,}[.]([a-z]|[A-Z]){2,}))$/) == -1) {
			alert("Email inválido.");
			return false;
		}
		//Telefone
		if(document.getElementById("ddd").value.search(/^[0-9]{2}$/) == -1
		|| document.getElementById("tel1").value.search(/^[0-9]{4}$/) == -1 
		|| document.getElementById("tel2").value.search(/^[0-9]{4}$/) == -1) {
			alert("Telefone inválido.");	
			return false;
		}
		return true;
	} else {
		alert("Para enviar uma nova solicitação, você deve reiniciar a anterior.");
		return false;
	}	
}

//------------------------------------------------------------------------------

//trata o retorno do envio da simulação
function retornoEnvio(txt) { 
	//retorno valido 
	if (txt.substr(0, 2) == "OK") {
		dadosManipular(3);
		document.getElementById("dados3").innerHTML = document.getElementById("dados3").innerHTML.replace("###",emailEnvio);
	} 
	//retorno invalido
	else {
		dadosManipular(4);
	}
}

//------------------------------------------------------------------------------

//exibe na tela o formato
function mostrarFormato(campo) {
	esconderFormatos();
	document.getElementById(campo).style.display = "block";
}

//------------------------------------------------------------------------------

//esconde todos os formatos que foram exibidos
function esconderFormatos() {
	var formatos = new Array("form_f","form_sk","form_ss","form_c","form_sb");
	for(var cont = 0;cont < formatos.length;cont++) {
		document.getElementById(formatos[cont]).style.display = "none";
	}
}

//------------------------------------------------------------------------------

//trata o reinicio da simulação
function reiniciarSimulacao(val) {
	envioHabilitado = true;
	document.getElementById('formulario').reset();
	dadosManipular(1);
	desmarcarTodos();
	marcarCampo(val,true);
}

//------------------------------------------------------------------------------

//muda o foco do campo atual para o proximo campo indicado caso o numero de caracteres seja atingido
function mudaCampo(elem,proximo) {
	if(elem.value.length == elem.maxLength) {
		document.getElementById(proximo).focus();
	}
}

//------------------------------------------------------------------------------

//altera o bloco que exibe o texto do processo de simulação
function dadosManipular(num) {
	//Esconde os outros
	document.getElementById("dados1").style.display = "none";
	document.getElementById("dados2").style.display = "none";
	document.getElementById("dados3").style.display = "none";
	document.getElementById("dados4").style.display = "none";
	//Exibe o conteudo desejado	
	document.getElementById("dados"+num).style.display = "block";
}

//------------------------------------------------------------------------------

//ajax
function getXmlHttpRequestObject(){
	//verifica se o browser tem suporte a ajax
	try{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e){
		try{
			return new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex){
			try{
				return new XMLHttpRequest();
			}
			catch(exc){
				alert("Esse browser não tem recursos para uso do Ajax");
				return null;
			}
		}
	}
}

//------------------------------------------------------------------------------

//busca times (App futebol)
function mostraTimes(valor){

	var retorno = document.createElement('div');
	retorno.id = 'times';
	retorno.style.display = 'none';
	document.getElementById('descricao').appendChild(retorno);
	if(valor=='sim'){
		var searchReq1 = getXmlHttpRequestObject();
		searchReq1.open("GET", "/busca_times.php", true);
		searchReq1.onreadystatechange = function(){
			if (searchReq1.readyState == 4){
				retorno.innerHTML=searchReq1.responseText;
			};
		}
		searchReq1.send(null);
	}
	else if(valor=="nao"){
		retorno.innerHTML = "";
	}
}

//------------------------------------------------------------------------------