function checaCPF(CPF) 
{
	
	CPF=CPF.replace( ".", "" );
	CPF=CPF.replace( ".", "" );
	CPF=CPF.replace( "-", "" );

	soma = 0;
	for (i=0; i < 9; i ++)
	soma += parseInt(CPF.charAt(i)) * (10 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
	resto = 0;
	if (resto != parseInt(CPF.charAt(9)))
	return false;
	soma = 0;
	for (i = 0; i < 10; i ++)
	soma += parseInt(CPF.charAt(i)) * (11 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
	resto = 0;
	if (resto != parseInt(CPF.charAt(10)))
	return false;
	return true;
}

function FormataCpf(campo,tammax,teclapres) 
{
//não vai digitar nada além de números
	var key;
	var keychar;
	var nada;
	if (window.event)
	key = window.event.keyCode;
	else if (teclapres)
	key = teclapres.which;
	else
	//return true;
	nada = 0
	keychar = String.fromCharCode(key);
	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	(key==9) || (key==13) || (key==27) )
	//return true;
	nada = 0
	// numbers
	else if ((("0123456789").indexOf(keychar) > -1))
	//return true;	
	nada = 0
	else
	return false;
}

function fu_valida_data(dia1,mes1,ano1)
{
		fl_valida = true;
			
		if (dia1.length < 2 || mes1.length < 2 || ano1.length < 4)
		{
			alert("É obrigatório o preenchimento completo da data de nascimento (dd/mm/aaaa)!");
			fl_valida = false;
		}
			
		if (fl_valida == true)
		{
			if (ano1 < 1900)
			{
				fl_valida = false;
			}
			else
			{
				if (mes1 < 1 || mes1 > 12)
				{
					fl_valida = false;
				}
				else
				{
					if (mes1 == 1 || mes1 == 3 || mes1 == 5 || mes1 == 7 || mes1 == 8 || mes1 == 10 || mes1 == 12)
					{
						if (dia1 < 1 || dia1 > 31)
						{
							fl_valida = false;
						}
					}
					else
					{
						if (mes1 == 4 || mes1 == 6 || mes1 == 9 || mes1 == 11)
						{
							if (dia1 < 1 || dia1 > 30)
							{
								fl_valida = false;
							}
						}
						else
						{
							if ((ano1 % 4) ==  0)
							{
								if (dia1 < 1 || dia1 > 29)
								{
									fl_valida = false;
								}
							}
							else
							{
								if (dia1 < 1 || dia1 > 28)
								{
									fl_valida = false;
								}
							}
						}
					}
				}
			}
			if (fl_valida == false)
			{
				alert("A data de nascimento é inválida.");
			}
		}
			
		return fl_valida;
}

/////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

function fu_insc(meuform)
{
	if (meuform.txt_nome.value.length==0)
	{
		alert("O campo 'Nome Completo' é de preenchimento obrigatório.");
		meuform.txt_nome.focus();
		return(false);
	}

	var nomechk = meuform.txt_nome.value;
	var nomelen = meuform.txt_nome.value.length;

	var nomevec = nomechk.split(" ");
	var nomecnt = nomevec.length;
	if (nomecnt < 2)
	{
		alert("O campo 'Nome Completo' não foi preenchido corretamente.");
     		meuform.txt_nome.focus();
		return(false);
   	}

	var nomevec = nomechk.split(",");
	var nomecnt = nomevec.length;
	if (nomecnt > 1)
	{
		alert("O campo 'Nome Completo' não foi preenchido corretamente.");
     		meuform.txt_nome.focus();
		return(false);
   	}

	var nomevec = nomechk.split(";");
	var nomecnt = nomevec.length;
	if (nomecnt > 1)
	{
		alert("O campo 'Nome Completo' não foi preenchido corretamente.");
     		meuform.txt_nome.focus();
		return(false);
   	}
						

//--------------- CPF
//===============

	var cpfchk = meuform.txt_ncpf.value;
	var estchk = meuform.txt_esta.value;
	if (cpfchk.length==0)
	{
		alert("O campo CPF é de preenchimento obrigatório.");
		meuform.txt_ncpf.focus();
		return(false);
	}
	if (checaCPF(cpfchk)==false && estchk!="EX")
	{
		alert("Favor preencher o campo CPF corretamente.");
		meuform.txt_ncpf.focus();
		return(false);
	}

//--------------- Instituição
//=============== É obrigatório o preenchimento para vínculo = instituição, empresa

	if (meuform.txt_empr.value.length == 0 && (meuform.txt_vinc[2].checked || meuform.txt_vinc[1].checked))
	{
		alert("O campo 'Empresa / Instituição' deve ser preenchido.");
		meuform.txt_empr.focus();
		return(false);
	}

//--------------- Ocupação atual
//===============

	if (meuform.txt_carg.value.length == 0 && (meuform.txt_vinc[2].checked || meuform.txt_vinc[1].checked))
	{
		alert("O campo 'Cargo / Ocup' deve ser preenchido.");
		meuform.txt_carg.focus();
		return(false);
	}

//--------------- Sigla Instituição
//=============== É obrigatório o preenchimento para vínculo = instituição

	if (meuform.txt_sgla.value.length == 0 && meuform.txt_vinc[2].checked)
	{
		alert("O campo 'Sigla' deve ser preenchido.");
		meuform.txt_sgla.focus();
		return(false);
	}


//--------------- Endereço
//===============

	if (meuform.txt_ende.value.length == 0)
	{
		alert("O campo 'Endereço' deve ser preenchido.");
		meuform.txt_ende.focus();
		return(false);
	}

//--------------- Cidade
//===============

	if (meuform.txt_city.value.length == 0)
	{
		alert("O campo 'Cidade' deve ser preenchido.");
		meuform.txt_city.focus();
		return(false);
	}

//--------------- Estado
//===============

	if (meuform.txt_esta.value.length == 0)
	{
		alert("O campo 'UF' deve ser preenchido.");
		meuform.txt_esta.focus();
		return(false);
	}

//--------------- CEP
//===============

	if (meuform.txt_ncep.value.length == 0)
	{
		alert("O campo 'CEP' é de preenchimento obrigatório.");
		meuform.txt_ncep.focus();
		return(false);
	}


//--------------- DDD
//===============

	if (meuform.txt_nddd.value.length == 0)
	{
		alert("O campo 'DDD' deve ser preenchido.");
		meuform.txt_nddd.focus();
		return(false);
	}

//--------------- Telefone
//===============

	if (meuform.txt_fone.value.length == 0)
	{
		alert("O campo 'Telefone' deve ser preenchido.");
		meuform.txt_fone.focus();
		return(false);
	}

//--------------- País
//===============

	if (meuform.txt_pais.value.length == 0)
	{
		alert("O campo 'País' deve ser preenchido.");
		meuform.txt_pais.focus();
		return(false);
	}
	if (meuform.txt_pais.value=="Brasil" && meuform.txt_esta.value=="EX")
	{
		alert("Escolha de Estado inválida.");
		meuform.txt_esta.focus();
		return(false);
	}
	if (meuform.txt_pais.value!="Brasil" && meuform.txt_esta.value!="EX")
	{
		alert("Escolha de Estado inválida.");
		meuform.txt_esta.focus();
		return(false);
	}

//--------------- E-mail
//===============

	var emlchk = meuform.txt_mail.value;

	var emlvec = emlchk.split("@");
	var emlcnt = emlvec.length;
	if (meuform.txt_mail.value.length == 0 || emlcnt != 2)
	{
		alert("O campo 'E-mail' não foi preenchido corretamente.");
		meuform.txt_mail.focus();
		return(false);
	}

	var emllen = emlchk.length;
	var schrchk = "";
	var w = 0;
	var schrcount = 0;

	for(w=0; w<emllen; w++)
	{ 
		schrchk = emlchk.charAt(w);
		//schrdom = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		schrdom = " ÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇÑáàãâäéèêëíìîïóòõôöúùûüçñ,;<>()[]{}!?:";
		schrpos = schrdom.indexOf(schrchk);

		if ( schrpos >= 0)
		{ 
			schrcount = schrcount + 1;
		}
	}

	if (schrcount > 0)
	{
		alert("O campo 'E-mail' contém caracteres inválidos.");
		meuform.txt_mail.focus();
		return(false);
	}

}

/////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

//complemento de inscrição
function fu_compl(meuform)
{

//--------------- Crachá
//===============

	if (meuform.txt_cra.value.length==0)
	{
		alert("O campo 'Nome para Crachá' é de preenchimento obrigatório.");
		meuform.txt_cra.focus();
		return(false);
	}

	if (meuform.txt_cra.value.length>30)
	{
		alert("O campo 'Nome para Crachá' não foi preenchido corretamente.");
		meuform.txt_cra.focus();
		return(false);
	}

//--------------- RG
//===============

	if (meuform.txt_nrg.value.length == 0)
	{
		alert("O campo 'RG' deve ser preenchido.");
		meuform.txt_nrg.focus();
		return(false);
	}

//--------------- Profissão
//===============

	if (meuform.txt_pro.value.length == 0)
	{
		alert("O campo 'Profissão' deve ser preenchido.");
		meuform.txt_pro.focus();
		return(false);
	}

//--------------- Ocupação atual
//===============

	if (meuform.txt_ocp.value.length == 0)
	{
		alert("O campo 'Ocupação atual' deve ser preenchido.");
		meuform.txt_ocp.focus();
		return(false);
	}

//--------------- Endereço
//===============

	if (meuform.txt_end.value.length == 0)
	{
		alert("O campo 'Endereço' deve ser preenchido.");
		meuform.txt_end.focus();
		return(false);
	}

//--------------- Endereço -> nº
//===============

	if (meuform.txt_num.value.length == 0)
	{
		alert("O campo 'nº' (número do endereço) deve ser preenchido.");
		meuform.txt_num.focus();
		return(false);
	}

//--------------- CEP
//===============

	if (meuform.txt_cep.value.length != 9)
	{
		alert("O campo 'CEP' não foi preenchido corretamente.\nDeve-se seguir o formato '00000-000'");
		meuform.txt_cep.focus();
		return(false);
	}

//--------------- Tipo de endereço
//===============

	var entcnt = 0;
	var n = 0;
	for (n = 0; n < 2; n++)
	{
		if (meuform.txt_ent[n].checked)
		{
			entcnt = 1; 
		}
	}
	if (entcnt == 0)
	{
		alert("Favor informar o tipo do endereço.");
		return(false);
	}
}

/////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////


function fu_incini(meuform)
{
	if(meuform.txt_cpf.value.length==0)
	{
		alert("O preechimento do campo CPF é obrigatório.");
		meuform.txt_cpf.focus();
		return(false);
	}
	var CPF=meuform.txt_cpf.value;
	if(checaCPF(CPF)==false)
	{
		alert("CPF inválido. Verifique se foi digitado corretamente.");
		meuform.txt_cpf.focus();
		return(false);
	}
}

///////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////

function fu_cadedit(meuform)
{

	if(meuform.txt_cpf.value.length==0 || meuform.txt_pas.value.length==0)
	{
		alert("É necessário informar ambos os campos.")
		return(false);
	}
}

///////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////