function $(id) {
	return document.getElementById(id);
}

function $N(name) {
	return document.getElementsByName(name);
}

function debug(texto) {
	$("debug").style.display = "block";
	$("debug").value = texto;
}

function enter(evt) {
	var r = false;
	var key_code = evt.keyCode ? evt.keyCode : evt.charCode ? evt.charCode : evt.which ? evt.which : void 0;	
	if (key_code == 13) {
		r = true;
	}
	return r;
}

function Aguarde(sim) {
	var div1 = $('div_aguarde');
	var div2 = $('div_resultado');
	var bt1 = $('bt_simula_ind');
	
	if (sim) {
		if (bt1 != undefined) {bt1.disabled = true;}
		if (div2 != undefined) {div2.innerHTML = '';}
		if (div1 != undefined) {div1.style.display = 'block';}
		
	} else {
		if (bt1 != undefined) {bt1.disabled = false;}
		if (div1 != undefined) {div1.style.display = 'none';}
	}
}

function ExibePlano(plano) {
	var a1 = $('a_plan_1');
	var a2 = $('a_plan_2');
	var div1 = $('div_form_individual');
	var div2 = $('div_form_empresarial');	
	$('div_resultado').innerHTML = ''; // limpa resultado
	if (plano == 1) { // individual
		a1.className = 'plano-sel';
		a2.className = 'plano';
		div2.style.display = 'none';
		div1.style.display = 'block';
	} else { // empresarial
		a1.className = 'plano';
		a2.className = 'plano-sel';	
		div1.style.display = 'none';
		div2.style.display = 'block';	
	}
}

// exibe os dependentes
function ExibeDependentes(qtd) {
	var disp;
	var total_dep = 4;
	if (qtd == 0) {
		for (i = 0; i < total_dep; i++) {						
			$N('txt_nome_dep_ind')[i].style.display = 'none';
			$N('txt_nasc_dep_ind')[i].style.display = 'none';
		}	
		$('p_dependentes').style.display = 'none';
	} else {
		$('p_dependentes').style.display = 'block';
		for (i = 0; i < total_dep; i++) {
			disp = 'block';
			if (i >= qtd) {disp = 'none';}			
			$N('txt_nome_dep_ind')[i].style.display = disp;
			$N('txt_nasc_dep_ind')[i].style.display = disp;			
		}
	}
}

function ExibeDependentes2(qtd) {
	var disp;
	var total_dep = 4;
	if (qtd == 0) {
		for (i = 0; i < total_dep; i++) {			
			$N('txt_nome_dep_ind')[i].style.display = 'none';
			$N('txt_nasc_dep_ind')[i].style.display = 'none';
		}	
		$('fset_dependentes').style.display = 'none';
	} else {
		$('fset_dependentes').style.display = 'block';
		for (i = 0; i < total_dep; i++) {
			disp = 'inline';
			if (i >= qtd) {disp = 'none';}			
			$N('txt_nome_dep_ind')[i].style.display = disp;
			$N('txt_nasc_dep_ind')[i].style.display = disp;
		}
	}
}

function SimuladorIndividual() {
	var params = "opcao=individual";
	var qtd_dep = $('sel_dependentes_ind').value;
	var redes, nome, data;
	var envia_email = 'S';
	if (!$("chk_cp_email_ind").checked) {envia_email = 'N'};
	
	if ($("txt_nome_ind").value == '') {			
		alert("Informe o nome do titular.");
		$("txt_nome_ind").focus();
		return;
	}
	if ($("txt_nascimento_ind").value == '') {			
		alert("Informe a data de nascimento do titular.");
		$("txt_nascimento_ind").focus();
		return;
	}
	if ($("txt_fone_ind").value == '') {			
		alert("Informe o telefone para contato.");
		$("txt_fone_ind").focus();
		return;
	}	
	if ($("txt_email_ind").value == '') {			
		alert("Informe o email para contato.");
		$("txt_email_ind").focus();
		return;
	}
	params += "&nome=" + escape($("txt_nome_ind").value);
	params += "&nascimento=" + $("txt_nascimento_ind").value;
	params += "&fone=" + $("txt_fone_ind").value;
	params += "&celular=" + $("txt_celular_ind").value;
	params += "&email=" + escape($("txt_email_ind").value);
	params += "&dependentes=" + qtd_dep;
		
	// redes
	redes = $N('rdb_rede_ind');	
	for (i = 0; i < redes.length; i++) {		
		if (redes[i].checked != '') {
			params += "&rede=" + redes[i].value;
		}
	}

	// dependentes
	if (qtd_dep > 0) {
		for (i = 0; i < qtd_dep; i++) {
			nome = $N('txt_nome_dep_ind')[i];
			data = $N('txt_nasc_dep_ind')[i];
			
			if (data.value == '') {
				alert('Informe a data de nascimento do dependente');
				data.focus();
				return;
			}
			
			params += "&nome_dep[]=" + escape(nome.value);
			params += "&data_dep[]=" + data.value;
		}
	}

	Aguarde(true);
	window.scrollBy(0,2000); // rola a tela horiz/vert em px
	var ajax = new AJAX();
	ajax.url = "simulador_trata.php";	
	ajax.metodo = "POST";
	ajax.params = params;
	ajax.retorno = function(r) {
		vet = r.split('|');
		switch (vet[0]) {
			case 'individual':
				AjaxInclude('simulador_resultado.php?tipo=1&id='+vet[1]+'&envia_email='+envia_email, 'div_resultado');
				break;
			default:
				Aguarde(false);
				alert("ERRO - Simulação individual não realizada!");
				break;
		}
	}
	ajax.conectar();
}

function SimuladorEmpresarial() {
	var params = "opcao=empresarial";
	var redes, faixa, qtd, vidas;
	var marcou = false;
	var envia_email = 'S';
	if (!$("chk_cp_email_emp").checked) {envia_email = 'N'};	

	if ($("txt_cnpj_emp").value == '') {			
		alert("Informe o CNPJ da empresa.");
		$("txt_cnpj_emp").focus();
		return;
	}
	if (!ValidaCNPJ($("txt_cnpj_emp"))) {
		$("txt_cnpj_emp").focus();
		return;
	}
	if ($("txt_nome_emp").value == '') {			
		alert("Informe o nome da empresa.");
		$("txt_nome_emp").focus();
		return;
	}
	if ($("txt_fone_emp").value == '') {			
		alert("Informe o telefone para contato.");
		$("txt_fone_emp").focus();
		return;
	}
	if ($("txt_email_emp").value == '') {			
		alert("Informe o email para contato.");
		$("txt_email_emp").focus();
		return;
	}	

	params += "&cnpj=" + $("txt_cnpj_emp").value;
	params += "&nome=" + escape($("txt_nome_emp").value);	
	params += "&fone=" + $("txt_fone_emp").value;
	params += "&fax=" + $("txt_fax_emp").value;
	params += "&endereco=" + escape($("txt_endereco_emp").value);
	params += "&email=" + escape($("txt_email_emp").value);

	// redes
	redes = $N('rdb_rede_emp');	
	for (i = 0; i < redes.length; i++) {		
		if (redes[i].checked != '') {
			params += "&rede=" + redes[i].value;
		}
	}
	
	// faixa etária
	vidas = 0;
	faixa = $N('hdn_faixa_emp');
	qtd = $N('txt_qtd_emp');	
	for (i = 0; i < faixa.length; i++) {		
		if (qtd[i].value != '') {
			params += "&faixa_emp[]=" + faixa[i].value;
			params += "&qtd_emp[]=" + qtd[i].value;
			marcou = true;
			vidas += parseInt(qtd[i].value);
		}
	}	
	if (!marcou) {
		alert('Informe a quantidade de funcionário em suas respectivas faixas etárias.');
		return;
	}
	if (vidas > 49) {
		alert('Este simulador é destinado a planos PME (até 49 vidas), caso sua empresa possua quantidade maior lique para o departamento comercial da VIVA (81)3974-2233.');
		return;
	}

	Aguarde(true);
	window.scrollBy(0,2000); // rola a tela horiz/vert em px
	var ajax = new AJAX();
	ajax.url = "simulador_trata.php";
	ajax.metodo = "POST";
	ajax.params = params;
	ajax.retorno = function(r) {
		vet = r.split('|');
		switch (vet[0]) {
			case 'empresarial':
				AjaxInclude('simulador_resultado.php?tipo=2&id='+vet[1]+'&envia_email='+envia_email, 'div_resultado');
				break;				
			default:
				Aguarde(false);
				alert("ERRO - Simulação empresarial não realizada!");
				break;
		}
	}
	ajax.conectar();
}

/**************************************************************************************************************************************************************
--| VALIDAÇÕES
**************************************************************************************************************************************************************/
// Permite apenas digitar numeros
function Numero(evt) {
	var key_code = evt.keyCode ? evt.keyCode : evt.charCode ? evt.charCode : evt.which ? evt.which : void 0;

	// Backspace, Tab, Del
	if (key_code == 8 || key_code == 9) {
		return true;
	}	
	
	if (key_code > 47 && key_code < 58) { // numeros de 0 a 9
		return true;
	} else {
		if (key_code != 8) { // backspace
			return false;
		} else {
			return true;
		}
	}
}

// Permite apenas digitar numeros e uma virgula
function Valor(evt,obj) {
	
	var key_code = evt.keyCode ? evt.keyCode : evt.charCode ? evt.charCode : evt.which ? evt.which : void 0;
	
	// Backspace, Tab, Del, Ponto e Virgula
	if (key_code == 8 || key_code == 9) {
		return true;
	}	

	// Só permite digitar a virgula 1 vez	
	if ((key_code == 44) && (obj.value.indexOf(",") == -1)) {
		return true;
	}
	
	if (key_code > 47 && key_code < 58) { // numeros de 0 a 9
		return true;
	} else {
		if (key_code != 8) { // backspace
			return false;
		} else {
			return true;
		}
	}
}

// formata o campo de data
function Data(evt,obj) {
	var key_code = evt.keyCode ? evt.keyCode : evt.charCode ? evt.charCode : evt.which ? evt.which : void 0;
	if (obj.value.length == 2 || obj.value.length == 5) {
		obj.value += "/";
	}
	if (key_code > 47 && key_code < 58) { // numeros de 0 a 9
		return true;
	} else {
		if ((key_code != 8) && (key_code != 9)) { // backspace e tab
			return false;
		} else {
			return true;
		}
	}
}

// formata o campo de tefefone
function Telefone(Campo) {
	fone = Campo.value;
	tamanho = fone.length;	
	if ( fone == '' ) {
		return;
	}
	for ( i = 0; i <= tamanho; i++ ) {
		if ( i == 0 && fone.charAt(i) != "(" ) {
			fone = "(" + fone;
		}
		if ( i == 3 && fone.charAt(i) != ")" ) {
			fone = fone + ") ";
		}
		if ( i == 9 && fone.charAt(i) != "-" ) {
			fone = fone + "-";
		}
	}
	Campo.value = fone;	
}

function CNPJ(campo) {
    var CNPJ = new String(campo.value);
    var wCNPJ = '';
	var cont = 0;	
    for (i=0; i< CNPJ.length ; i++) {
	  if (i <= 1) {
		  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  } else {
		  	cont++;
		  }
	  }	  
	  if (i == 2) {	  
		  if ( CNPJ.charAt(i) == '.' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  }	  
		  else {
			  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  		wCNPJ += '.';
				  	wCNPJ += CNPJ.charAt(i);
					cont ++;
			  }
			  else {
			  		wCNPJ += '.';			  
					cont ++;
			  }
	  	  }
	  }
	  if (i > 2 && i <= 5) {
		  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  } else {
			cont++;
		  }
	  }	  
	  if (i == 6) {	  
		  if ( CNPJ.charAt(i) == '.' )	{
				wCNPJ += CNPJ.charAt(i);
	  	  }	else {
				if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  		wCNPJ += '.';
				  	wCNPJ += CNPJ.charAt(i);
					cont++;
			  } else {
			  		wCNPJ += '.';
					cont++;
			  }
	  	  }
	  }

	  if (i > 6 && i <= 9) {
		  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  } else {
		  	    cont++;
		  }
	  }	  
	  if (i == 10) {	  
		  if ( CNPJ.charAt(i) == '/' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  }	else {
			  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  		wCNPJ += '/';
				  	wCNPJ += CNPJ.charAt(i);
					cont++;
			  } else {
			  		wCNPJ += '/';
					cont++;
			  }
	  	  }
	  }	  
	  if (i > 10 && i <= 14) {
		  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  } else {
		  		cont++;
		  }
	  }	  
	  if (i == 15) {	  
		  if ( CNPJ.charAt(i) == '-' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  }	else {
			  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  		wCNPJ += '-';
				  	wCNPJ += CNPJ.charAt(i);
					cont++;
			  } else {
			  		wCNPJ += '-';
					cont++;
			  }
	  	  }
	  }	  
	  if (i > 15) {
		  if ( CNPJ.charAt(i) >= '0' && CNPJ.charAt(i) <= '9' )	{
			  	wCNPJ += CNPJ.charAt(i);
	  	  } else {
		  		cont++;
		  }
	  }
    }	
	if ( cont > 0 ) {
    	campo.value = wCNPJ; // Atualiza o campo
	}
}


function ValidaCNPJ(campo_cnpj) {   
   var campo = campo_cnpj.value;
   var digito = campo.toString();
   if (campo_cnpj.value == '00.000.000/0000-00') {
	  alert("CNPJ inválido.");
	  campo_cnpj.focus();
	  return(false)
   } else {
	   // DIGITO 1
	   var soma1 = 0
	       soma1 = soma1 + 5 * digito.charAt(0)
	       soma1 = soma1 + 4 * digito.charAt(1)
	       soma1 = soma1 + 3 * digito.charAt(3)
	       soma1 = soma1 + 2 * digito.charAt(4)
	       soma1 = soma1 + 9 * digito.charAt(5)
	       soma1 = soma1 + 8 * digito.charAt(7)
	       soma1 = soma1 + 7 * digito.charAt(8)
	       soma1 = soma1 + 6 * digito.charAt(9)
	       soma1 = soma1 + 5 * digito.charAt(11)
	       soma1 = soma1 + 4 * digito.charAt(12)
	       soma1 = soma1 + 3 * digito.charAt(13)
	       soma1 = soma1 + 2 * digito.charAt(14)   
	   
	   var divisao1    = soma1 / 11	   
	   var multiplica1 = parseInt(divisao1,10) * 11   
	   var resto1      = soma1 - multiplica1
   
	   if (resto1 <= 1) {
	      var digi1 = 0
	   } else {
	      var digi1 = 11 - resto1
	   }

	   // DIGITO 2
	   var soma2 = 0
	       soma2 = soma2 + 6 * digito.charAt(0)
	       soma2 = soma2 + 5 * digito.charAt(1)
	       soma2 = soma2 + 4 * digito.charAt(3)
	       soma2 = soma2 + 3 * digito.charAt(4)
	       soma2 = soma2 + 2 * digito.charAt(5)
	       soma2 = soma2 + 9 * digito.charAt(7)
	       soma2 = soma2 + 8 * digito.charAt(8)
	       soma2 = soma2 + 7 * digito.charAt(9)
	       soma2 = soma2 + 6 * digito.charAt(11)
	       soma2 = soma2 + 5 * digito.charAt(12)
	       soma2 = soma2 + 4 * digito.charAt(13)
	       soma2 = soma2 + 3 * digito.charAt(14)
	       soma2 = soma2 + 2 * digi1       
   
	   var divisao2    = soma2 / 11   
	   var multiplica2 = parseInt(divisao2,10) * 11   
	   var resto2      = soma2 - multiplica2

	   if (resto2 <= 1) {
	      var digi2 = 0
	   } else {
	      var digi2 = 11 - resto2
	   }
	   if (digito.charAt(16) == digi1.toString() & digito.charAt(17) == digi2.toString()) {
	      return(true)
	   } else {
	      alert("CNPJ inválido.");
	      campo_cnpj.focus();
	      return(false)
	   }
   }
}