function Trim(str){
	return str.replace(/^\s+|\s+$/g,"");
}

/*============================================================================================*/
function MaxCaracter(Campo, tamanho)
{
	var sTemp = "";
	texto = Campo.value;		

	for ( i = 0; i < tamanho; i++) 
	{
		sTemp += texto.charAt(i);
    }

	Campo.value = sTemp;	
}

/*============================================================================================*/
function ValidaData(Campo, Detalhe)
{
	var sCampo = Campo.value
	
	var Dia = sCampo.substring(0,2)
	var Mes = sCampo.substring(3,5)
	var Ano = sCampo.substring(6,10)

	var bReturn = true
		
	if (sCampo != "")
	{
		if (sCampo.length > 10 || sCampo.length < 10)
		{
			window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente com 10 (dez) dígitos.\nFormato DD/MM/AAAA")
			Campo.value = ""
			Campo.focus()
			bReturn = false
		}
		else
		if (sCampo.charAt(2) != "/" || sCampo.charAt(5) != "/")
		{
			window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente no formato DD/MM/AAAA")
			Campo.value = ""
			Campo.focus()
			bReturn = false
		}
		else 
		{
			if (Dia < "01" || Dia > "31")
			{
				window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente no formato DD/MM/AAAA")
				Campo.value = ""
				Campo.focus()
				bReturn = false
			}
			else
			if (Mes < "01" || Mes > "12")
			{
				window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente no formato DD/MM/AAAA")
				Campo.value = ""
				Campo.focus()
				bReturn = false
			}
			else
			if (Ano < "1900" || Ano > "9999")
			{
				window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente no formato DD/MM/AAAA\n\nANO tem que ser maior que 1900!")
				Campo.value = ""
				Campo.focus()
				bReturn = false
			}
			else
			if ((Mes == "04" || Mes == "06" || Mes == "09" || Mes == "11") && (Dia > "30"))
			{
				window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente.")
				Campo.value = ""
				Campo.focus()
				bReturn = false
			}
			else
			if (Mes == "02" && Dia > "29")
			{
				window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente.")
				Campo.value = ""
				Campo.focus()
				bReturn = false
			}
			else
			{	
				var Bis = 0
				if (Ano |= "0001")
				{
					Bis = Ano / 4
				}
				if ((Bis |= 0) && (Mes == "02") && (Dia > "28"))
				{
					window.alert("A " + Detalhe + " esta invalida.\n\nInforme corretamente.")
					Campo.value = ""
					Campo.focus()
					bReturn = false
				}
			}
		}
	}
	return bReturn
}

/*============================================================================================*/
function DigitaNumero(campo) {

    var data = new String( campo.value );
    var wData = '';
	var cont = 0;
	
	for (i=0; i< data.length ; i++) {
	  if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' )	{
			  	wData += data.charAt(i);
  	  }
	  else
	  		cont++;
    }
	
	if (cont > 0 )
	{  
    	// Atualiza o campo 
    	campo.value = wData;
	}

}

/*============================================================================================*/
function DigitaValor(campo) {

    var data = new String( campo.value );
    var wData = '';
	var cont_neg = 0;
	var cont = 0;
	
	for (i=0; i< data.length ; i++) {
	  if (i == 0) {	  
		  if ( data.charAt(i) == '-' )	{
			  	wData += data.charAt(i);
				cont_neg ++;
	  	  }
		  else {
		  	if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' ){
				wData += data.charAt(i);
			}
			else {
				if ( data.charAt(i) == '.'  || data.charAt(i) == ',' ) {
					wData += '0,';
				}
				cont++;
			}
		  }
	  }
	  else {
		  if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' )	{
				  	wData += data.charAt(i);
	  	  }
		  else {
	  		if ( data.charAt(i) == ',' )	
			{
				if ( wData.indexOf(',') == -1 )
				{
				  	wData += data.charAt(i);
				}
				else
				{
					cont ++;
				}
			}	  
			else if ( data.charAt(i) == '.' )
			{
				if ( wData.indexOf(',') == -1 )
				{
				  	wData += ',';
					cont ++;
				}
				else
				{
					cont ++;
				}
			}

			else
				cont ++;	 
		  }	
	  }
	}

	if ( cont > 0 ) 
	{	  
    	// Atualiza o campo 
	    campo.value = wData;
	}

}

/*============================================================================================*/
function DigitaData(campo) {
    var data = new String( campo.value );
    var wData = '';
	var cont = 0;
	
    for (i=0; i< data.length ; i++) {

	  if (i <= 1) {
		  if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' )	{
			  	wData += data.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }
	  
	  if (i == 2) {	  
		  if ( data.charAt(i) == '/' )	{
			  	wData += data.charAt(i);
	  	  }	  
		  else {
			  if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' )	{
			  		wData += '/';
				  	wData += data.charAt(i);
					cont ++;
			  }
			  else {
			  		wData += '/';			  
					cont ++;
			  }
	  	  }
	  }

	  if (i > 2 && i <= 4) {
		  if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' )	{
			  	wData += data.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }	  
	  
	  if (i == 5) {	  
		  if ( data.charAt(i) == '/' )	{
			  	wData += data.charAt(i);
	  	  }	  
		  else {
			  if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' )	{
			  		wData += '/';
				  	wData += data.charAt(i);
					cont++;
			  }
			  else {
			  		wData += '/';
					cont++;
			  }
	  	  }
	  }

	  if (i > 5 && i <= 9) {
		  if ( data.charAt(i) >= '0' && data.charAt(i) <= '9' )	{
			  	wData += data.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }
	  
	  if (i > 9 )
	  {
	  		cont++;
	  }	  	  

    }
	
	if ( cont > 0 )
	{
	    // Atualiza o campo 
    	campo.value = wData;
	}
}

/*============================================================================================*/
function DigitaCPF(campo) {
    var CPF = new String(campo.value);
    var wCPF = '';
	var cont = 0;
	
    for (i=0; i< CPF.length ; i++) {

	  if (i <= 2) {
		  if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
			  	wCPF += CPF.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }
	  
	  if (i == 3) {	  
		  if ( CPF.charAt(i) == '.' )	{
			  	wCPF += CPF.charAt(i);
	  	  }	  
		  else {
			  if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
			  		wCPF += '.';
				  	wCPF += CPF.charAt(i);
					cont ++;
			  }
			  else {
			  		wCPF += '.';			  
					cont ++;
			  }
	  	  }
	  }

	  if (i > 3 && i <= 6) {
		  if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
			  	wCPF += CPF.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }	  
	  
	  if (i == 7) {	  
		  if ( CPF.charAt(i) == '.' )	{
			  	wCPF += CPF.charAt(i);
	  	  }	  
		  else {
			  if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
			  		wCPF += '.';
				  	wCPF += CPF.charAt(i);
					cont++;
			  }
			  else {
			  		wCPF += '.';
					cont++;
			  }
	  	  }
	  }

	  if (i > 7 && i <= 10) {
		  if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
			  	wCPF += CPF.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }
	  
	  if (i == 11) {	  
		  if ( CPF.charAt(i) == '-' )	{
			  	wCPF += CPF.charAt(i);
	  	  }	  
		  else {
			  if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
			  		wCPF += '-';
				  	wCPF += CPF.charAt(i);
					cont++;
			  }
			  else {
			  		wCPF += '-';
					cont++;
			  }
	  	  }
	  }
	  
	  if (i > 11) {
		  if ( CPF.charAt(i) >= '0' && CPF.charAt(i) <= '9' )	{
			  	wCPF += CPF.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }
	  
    }
	
	if ( cont > 0 )
	{
	    // Atualiza o campo 
    	campo.value = wCPF;
	}
}	

/*============================================================================================*/
function testa_cpf(campo_cpf)
{

   var campo = campo_cpf.value;
   var digito = campo.toString();


   if (campo_cpf.value == '000.000.000-00')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '111.111.111-11')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '222.222.222-22')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '333.333.333-33')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '444.444.444-44')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '555.555.555-55')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '666.666.666-66')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '777.777.777-777')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '888.888.888-88')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	

   if (campo_cpf.value == '999.999.999-99')
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }	
	

   // DIGITO 1
   var soma1 = 0
       soma1 = soma1 + 10 * digito.charAt(0);
       soma1 = soma1 +  9 * digito.charAt(1);
       soma1 = soma1 +  8 * digito.charAt(2);
       soma1 = soma1 +  7 * digito.charAt(4);
       soma1 = soma1 +  6 * digito.charAt(5);
       soma1 = soma1 +  5 * digito.charAt(6);
       soma1 = soma1 +  4 * digito.charAt(8);
       soma1 = soma1 +  3 * digito.charAt(9);
       soma1 = soma1 +  2 * digito.charAt(10);
   
   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 + 11 * digito.charAt(0);
       soma2 = soma2 + 10 * digito.charAt(1);
       soma2 = soma2 +  9 * digito.charAt(2);
       soma2 = soma2 +  8 * digito.charAt(4);
       soma2 = soma2 +  7 * digito.charAt(5);
       soma2 = soma2 +  6 * digito.charAt(6);
       soma2 = soma2 +  5 * digito.charAt(8);
       soma2 = soma2 +  4 * digito.charAt(9);
       soma2 = soma2 +  3 * digito.charAt(10);
       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(12) == digi1.toString() & digito.charAt(13) == digi2.toString()) 
   {
      return(true)
   } 
   else 
   {
      alert("CPF inválido.");
      campo_cpf.focus();
      return(false)
   }
}

/*============================================================================================*/
function DigitaFone(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 == 4 && fone.charAt(i) != " " )
		{
			fone = " " + fone;
		}
		*/		
		if ( i == 8 && fone.charAt(i) != "." )
		{
			fone = fone + ".";
		}
	}

	Campo.value = fone;	
}

/*============================================================================================*/
function DigitaCNPJ(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 )
	{
	    // Atualiza o campo 
    	campo.value = wCNPJ;
	}
}	


/*============================================================================================*/
function DigitaCEP(campo) {
    var CEP = new String(campo.value);
    var wCEP = '';
	var cont = 0;
	
    for (i=0; i< CEP.length ; i++) {

	  if (i <= 4) {
		  if ( CEP.charAt(i) >= '0' && CEP.charAt(i) <= '9' )	{
			  	wCEP += CEP.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }
	  
	  if (i == 5) {	  
		  if ( CEP.charAt(i) == '-' )	{
			  	wCEP += CEP.charAt(i);
	  	  }	  
		  else {
			  if ( CEP.charAt(i) >= '0' && CEP.charAt(i) <= '9' )	{
			  		wCEP += '-';
				  	wCEP += CEP.charAt(i);
					cont ++;
			  }
			  else {
			  		wCEP += '-';			  
					cont ++;
			  }
	  	  }
	  }

	  if (i > 5) {
		  if ( CEP.charAt(i) >= '0' && CEP.charAt(i) <= '9' )	{
			  	wCEP += CEP.charAt(i);
	  	  }
		  else
		  {
		  		cont++;
		  }
	  }  	  

    }
	
	if ( cont > 0 )
	{
	    // Atualiza o campo 
    	campo.value = wCEP;
	}
}	

/*============================================================================================*/
function ChecaEmail(email)
  {
      size=email.value.length;
      i=1;
      numA=0;
      numP=0;
      lugarA=true;
      while (i<=size)
      {
          if (email.value.charAt(i)!=" ") {
            if (email.value.charAt(i)=="@")	{
        		numA++;
        		if (email.value.charAt(i+1)=="")
          			lugarA=false;
      		}
            if (email.value.charAt(i)==".") {
        		numP++;
        		if (email.value.charAt(i+1)=="")
          			lugarA=false;
        		if ( (email.value.charAt(i+1)=="@")
						|| (email.value.charAt(i-1)=="@") )
          			lugarA=false;
      			}
    		} else lugarA=false;
    		i++;
      	}
      	if ( (lugarA) && (numA==1) && (numP>0) ){
    		return true;
      	}
    	alert ("E-mail inválido.");
    	email.value="";
    	email.focus();
    	return false;
}

/*============================================================================================*/
function validaLogon()
{
	if ($("txtLogin").value == "") {
		alert("Informe o Login.");
		$("txtLogin").focus();
		return;
	}	
	if ($("txtSenha").value == "") {
		alert("Informe a Senha.");
		$("txtSenha").focus();		
		return;
	}
	consultaLogin($("txtLogin").value, $("txtSenha").value);
}

/*============================================================================================*/
function validaLogonSite()
{
	if ($("txtLogin").value == "") {
		alert("Informe o Login.");
		$("txtLogin").focus();
		return;
	}	
	if ($("txtSenha").value == "") {
		alert("Informe a Senha.");
		$("txtSenha").focus();		
		return;
	}
	consultaLoginSite($("txtLogin").value, $("txtSenha").value);
}

/*============================================================================================*/
function validaEsqueciSenha()
{
	var login = $("txtEsqueciLogin").value;
	var cpf = $("txtEsqueciCPF").value;
	
	if (login == "" && cpf == "") {
		alert("Informe o Login ou o CPF.");
		$("txtEsqueciLogin").focus();
		return;
	}
	if (login != "" && cpf != "") {
		alert("Informe apenas uma das opções (Login ou CPF).");
		$("txtEsqueciLogin").focus();
		return;
	}

	enviaEmailSenha(login, cpf);
}

/*============================================================================================*/
// Insere um candidato filtrado a uma determinada vaga
/*============================================================================================*/
function validaCandidatoVaga(login)
{
	var id_vaga = $("selVaga").value;
	var vaga = "";
	var nome = "";
	 
	if (login == "") {
		alert("ERRO - Nenhum candidato foi selecionado!");
		return;
	}
	
	if (id_vaga == "") {
		alert("Você não selecionou a vaga que deseja inserir este candidato!\n\nSelecione a vaga e em seguida clique novamente no candidato.");
		$("selBuscaNome").selectedIndex = -1;
		$("selVaga").focus();
		return;
	}

	vaga = $("selVaga").options[$("selVaga").selectedIndex].text;
	nome = $('selBuscaNome').options[$('selBuscaNome').selectedIndex].text;
	
	if (confirm("Confirma a participação de " + nome + " no processo de seleção descrito abaixo:\n\n" + vaga)) {
		insereCandidatoVaga(login, id_vaga);	
	}
}

/*============================================================================================*/
// Insere o candidato a vaga direto da tela de exibição do curriculo
/*============================================================================================*/
function validaCandidatoVagaCV(login)
{
	var id_vaga = $("selVagaCV").value;
	var vaga = "";
	 
	if (login == "") {
		alert("ERRO - Nenhum candidato foi selecionado!");
		return;
	}
	
	if (id_vaga == "") {
		alert("Você não selecionou a vaga que deseja inserir este candidato!");
		$("selVagaCV").focus();
		return;
	}
	
	vaga = $("selVagaCV").options[$("selVagaCV").selectedIndex].text;
	
	if (confirm("Confirma a participação do candidato no processo de seleção descrito abaixo:\n\n" + vaga)) {
		insereCandidatoVagaCV(login, id_vaga);
	}
}


/*============================================================================================*/
// Valida a inclusão e exclusão de perguntas do formulario
/*============================================================================================*/
function validaPergunta(opcao)
{	 
	var id_quest = $("ID_Quest").value;
	
	if (opcao == "Adicionar") {
		if ($("DS_Perg").value == "") {
			alert("Informe a pergunta!");
			$("DS_Perg").focus();
			return;
		}
		inserePergunta(id_quest);
	}
	
	if (opcao == "Remover") {
		
		var ids_perg = "";
		var marcou = false;
		var inputs = document.getElementsByTagName("input");		
		
		for (var i = 0; i < inputs.length; i++) {
			objCheck = inputs[i];
			if (objCheck.type == "checkbox") {								
				if (objCheck.id.substr(0,7) == "ID_Perg") {
					if (objCheck.checked) {
						marcou = true;
						if (ids_perg != "") {
							ids_perg += ","
						}
						ids_perg += objCheck.value;
					}
				}
			}
		}		
		if (!marcou) {
			alert("Marque no questionário ao lado quais as perguntas que deseja excluir!");
			return;
		}
		if (confirm("Confirma a exclusão das perguntas selecionadas?")) {
			excluiPerguntas(ids_perg);	
		}
	}
}

/*============================================================================================*/
// Valida a gravação e exclusão do questionário do formulario
/*============================================================================================*/
function validaCadastroQuest(opcao)
{	 
	var id_quest = $("ID_Quest").value;
	
	if (opcao == "Gravar") {
		if (id_quest == "") {
			insereQuestionario();
		} else {
			alteraQuestionario(id_quest);
		}
	}
	
	if (opcao == "Excluir") {
		
		if (confirm("Confirma a exclusão do questionário?")) {
			excluiQuestionario(id_quest);	
		}
	}
}

/*============================================================================================*/
// SENAI
/*
function ExibeMatricula(v) {
	disp = 'none';
	if (v == 'S') {disp = 'block';}
	$("p_matricula_senai").style.display = disp;
}
*/

function validaCadastro1(opcao)
{
 	if ( !testa_cpf($("NU_CPFPessoa_CV")) ) {
		$("NU_CPFPessoa_CV").focus();		
		return;	
	}
	if (Trim($("NM_Pessoa_CV").value) == "") {
		alert("Informe o Nome");
		$("NM_Pessoa_CV").focus();
		return;
	}
	if (Trim($("NM_Login_CV").value) == "") {
		alert("Informe o Login");
		$("NM_Login_CV").focus();		
		return;
	}	
	
	if ($("NM_Senha_CV").value == "") {
		alert("Informe a Senha");
		$("NM_Senha_CV").focus();		
		return;
	}
	if ($("txtConfirmaSenha").value == "") {
		alert("Informe a Confirmação de Senha");
		$("txtConfirmaSenha").focus();		
		return;
	}
	if ($("NM_Senha_CV").value != $("txtConfirmaSenha").value) {
		alert("Senha e Confirmação diferentes!");
		$("NM_Senha_CV").focus();		
		return;
	}
	if ($("NM_Email_CV").value == "") {
		alert("Informe o Email");
		$("NM_Email_CV").focus();		
		return;
	}			
	if (!ChecaEmail($("NM_Email_CV"))) {
		$("NM_Email_CV").focus();		
		return;
	}
	
	// SENAI
	/*
	if ($("IN_Senai_CV") != undefined) {
		if ($("IN_Senai_CV").value == 'S') {
			if ($("NU_Senai_CV").value == "") {
				alert("Informe o número da sua matrícula no SENAI.");
				$("NU_Senai_CV").focus();		
				return;
			}
		} else {
			$("NU_Senai_CV").value = "";
		}
	}
	*/
	

    var illegalChars = /[^A-Za-z\d ]/; // allow letters, numbers, and underscores 
	fld = Trim($("NM_Login_CV").value);
	
	if(fld!=='')
	{
		if(illegalChars.test(fld))
		{
			alert('O login deve conter apenas LETRAS e/ou NÚMEROS. Não utilize acentos ou caracteres especiais.');
			return;
    	}
	}
	else
	{
		alert('Digite o Login.');
	}

	
	gravarCadastro1(opcao);
}

/*============================================================================================*/
function validaCadastro2(opcao)
{
	if ($("NM_Pessoa_CV").value == "") {
		alert("Informe o Nome");
		$("NM_Pessoa_CV").focus();		
		return;
	}
	if ($("DT_NascimentoPessoa_CV").value == "") {
		alert("Informe a Data de Nascimento");
		$("DT_NascimentoPessoa_CV").focus();	
		return;
	}
	if ($("NM_CidadePessoa_CV").value == "") {
		alert("Informe a Cidade");
		$("NM_CidadePessoa_CV").focus();		
		return;
	}	
	if ($("NM_EstadoPessoa_CV").value == "") {
		alert("Informe o Estado");
		$("NM_EstadoPessoa_CV").focus();		
		return;
	}
	if ($("NM_PaisPessoa_CV").value == "") {
		alert("Informe o País");
		$("NM_PaisPessoa_CV").focus();		
		return;
	}
	if ($("TP_EstadoCivilPessoa_CV").value == "") {
		alert("Informe o Estado Civil");
		$("TP_EstadoCivilPessoa_CV").focus();		
		return;
	}
	if ($("NM_SexoPessoa_CV").value == "") {
		alert("Informe o Sexo");
		$("NM_SexoPessoa_CV").focus();		
		return;
	}
	if ($("NM_NatPessoa_CV").value == "") {
		alert("Informe a Naturalidade");
		$("NM_NatPessoa_CV").focus();		
		return;
	}
 	if ($("NM_NacionPessoa_CV").value == "") {
		alert("Informe a Nacionalidade");
		$("NM_NacionPessoa_CV").focus();		
		return;
	}

	gravarCadastro2(opcao);
}

/*============================================================================================*/
function validaCadastro3(opcao)
{	
	var h = new Date();
	var now = new Date(h.getFullYear(), h.getMonth()+1, h.getDate());
	var hoje = h.getDate()+'/'+(h.getMonth()+1)+'/'+h.getFullYear();
	var data_ini = $("DT_Ini_ExpCV").value;
	var data_fim = $("DT_Fim_ExpCV").value;	

	if ($("NM_Empresa_ExpCV").value == "") {
		alert("Informe o Nome Empresa");
		$("NM_Empresa_ExpCV").focus();
		return;
	}	
	if ($("NM_AreaAtu_ExpCV").value == "") {
		alert("Informe o Cargo");
		$("NM_AreaAtu_ExpCV").focus();		
		return;
	}
	if ($("DT_Ini_ExpCV").value == "") {
		alert("Informe a Data de Admissão");
		$("DT_Ini_ExpCV").focus();		
		return;
	}
	data_ini = new Date(data_ini.substr(6,4), data_ini.substr(3,2), data_ini.substr(0,2));
	if (data_ini > now) {
		alert("A data de admissão não pode ser maior do que o dia atual ("+hoje+").");
		$("DT_Ini_ExpCV").focus();
		return;		
	}
	if ($("DT_Fim_ExpCV").value != "") {		
		data_fim = new Date(data_fim.substr(6,4), data_fim.substr(3,2), data_fim.substr(0,2));				
		if (data_ini >= data_fim) {
			alert("A data de demissão tem que ser menor que a data de admissão.");
			$("DT_Fim_ExpCV").focus();
			return;
		}
		if (data_fim > now) {
			alert("A data de admissão não pode ser maior do que o dia atual ("+hoje+").");
			$("DT_Fim_ExpCV").focus();
			return;		
		}
	}
	if ($("DS_Responsab_ExpCV").value == "") {
		alert("Mencione algumas realizações e atividades desenvolvidas.");
		$("DS_Responsab_ExpCV").focus();		
		return;
	}
	if (($("DT_Fim_ExpCV").value != "") && ($("DS_Desligamento_ExpCV").value == "")){	
		alert("Informe o motivo do desligamento da empresa.");
		$("DS_Desligamento_ExpCV").focus();		
		return;
	}
	
	gravarCadastro3(opcao);
}

/*============================================================================================*/
function novoCadastro3()
{
	$("hdnIDExpCV").value = "";
	$("NM_Empresa_ExpCV").value = "";
	$("NM_AreaAtu_ExpCV").value = "";
	$("DT_Ini_ExpCV").value = "";
	$("DT_Fim_ExpCV").value = "";
	$("VL_Salario_ExpCV").value = "";
	$("DS_Responsab_ExpCV").value = "";
	exibeElemento("btIncluir", true);
	visualizaElemento("btGravar", false);
	visualizaElemento("btNovo", false);
	$("NM_Empresa_ExpCV").focus();
}

/*============================================================================================*/
function alteraCadastro3(id)
{
	$("hdnIDExpCV").value = id;
	$("NM_Empresa_ExpCV").value = $("lblEmpresa"+id).innerHTML;
	$("NM_AreaAtu_ExpCV").value = $("spanCargo"+id).innerHTML;
	$("DT_Ini_ExpCV").value = $("spanDTini"+id).innerHTML;
	$("DT_Fim_ExpCV").value = $("spanDTfim"+id).innerHTML;
	$("VL_Salario_ExpCV").value = $("spanSalario"+id).innerHTML;
	$("DS_Responsab_ExpCV").value = $("spanDesc"+id).innerHTML.replaceAll("<BR>","\n");
	if ($("spanDesliga"+id) != undefined) {$("DS_Desligamento_ExpCV").value = $("spanDesliga"+id).innerHTML.replaceAll("<BR>","\n");}
	if ($("spanGestor"+id) != undefined) {$("NM_Gestor_ExpCV").value = $("spanGestor"+id).innerHTML;}
	if ($("spanFoneGestor"+id) != undefined) {$("NU_FoneGestor_ExpCV").value = $("spanFoneGestor"+id).innerHTML;}
	if ($("spanReferencia"+id) != undefined) {$("DS_Referencia_ExpCV").value = $("spanReferencia"+id).innerHTML.replaceAll("<BR>","\n");}
	exibeElemento("btIncluir", false);
	visualizaElemento("btGravar", true);
	visualizaElemento("btNovo", true);
	$("btGravar").focus();
}

/*============================================================================================*/
function excluiCadastro3(id)
{
	if (confirm("Confirma a exclusão da experiência?")) {				
		excluirCadastro3(id);
	}
}

/*============================================================================================*/
function validaCadastro4(opcao)
{
	if ($("ID_Formacao_CurriculoFormacao").value == "") {
		alert("Selecione a Formação");
		$("ID_Formacao_CurriculoFormacao").focus();		
		return;
	}
	if ($("NM_Inst_CurriculoFormacao").value == "") {
		alert("Informe o Nome da Instituição");
		$("NM_Inst_CurriculoFormacao").focus();		
		return;
	}	
	if ($("NM_Curso_CurriculoFormacao").value == "") {
		alert("Informe o Curso");
		$("NM_Curso_CurriculoFormacao").focus();
		return;
	}
	if ($("NU_AnoConc_CurriculoFormacao").value == "") {
		alert("Informe o Ano de Conclusão");
		$("NU_AnoConc_CurriculoFormacao").focus();		
		return;
	}
			
	gravarCadastro4(opcao);
}

/*============================================================================================*/
function novoCadastro4()
{
	$("hdnIDFormacao").value = "";
	$("NM_Inst_CurriculoFormacao").value = "";
	$("NM_Curso_CurriculoFormacao").value = "";
	$("NU_AnoConc_CurriculoFormacao").value = "";
	$("DS_Obs_CurriculoFormacao").value = "";
	exibeElemento("btIncluir", true);
	visualizaElemento("btGravar", false);
	visualizaElemento("btNovo", false);
	$("ID_Formacao_CurriculoFormacao").focus();
}

/*============================================================================================*/
function alteraCadastro4(id)
{
	$("hdnIDFormacao").value = id;
	$("NM_Inst_CurriculoFormacao").value = $("lblInstituicao"+id).innerHTML;
	$("NM_Curso_CurriculoFormacao").value = $("spanCurso"+id).innerHTML;
	$("NU_AnoConc_CurriculoFormacao").value = $("spanAno"+id).innerHTML;
	if ($("spanObs"+id) != undefined) {
		$("DS_Obs_CurriculoFormacao").value = $("spanObs"+id).innerHTML.replaceAll("<BR>","\n");
	}
	exibeElemento("btIncluir", false);
	visualizaElemento("btGravar", true);
	visualizaElemento("btNovo", true);
	$("btGravar").focus();
}

/*============================================================================================*/
function excluiCadastro4(id)
{
	if (confirm("Confirma a exclusão da formação?")) {				
		excluirCadastro4(id);
	}
}

/*============================================================================================*/
function validaCadastroCliente(opcao)
{
	if ($("NM_Cliente").value == "") {
		alert("Informe o nome do cliente.");
		$("NM_Cliente").focus();		
		return;
	}
			
	gravarCadastroCliente(opcao);
}

/*============================================================================================*/
function validaCadastroPerfil(opcao)
{
	if ($("NM_Perfil").value == "") {
		alert("Informe a descrição do perfil.");
		$("NM_Perfil").focus();		
		return;
	}
	gravarCadastroPerfil(opcao);
}

/*============================================================================================*/
function validaCadastroArea(opcao)
{
	if ($("NM_Area").value == "") {
		alert("Informe a descrição da área.");
		$("NM_Area").focus();		
		return;
	}
	gravarCadastroArea(opcao);
}

/*============================================================================================*/
function validaCadastroUsuario(opcao)
{
	if ($("NM_Usu").value == "") {
		alert("Informe o nome do usuário.");
		$("NM_Usu").focus();		
		return;
	}
	if ($("NM_Email_Usu").value == "") {
		alert("Informe o email do usuário.");
		$("NM_Email_Usu").focus();		
		return;
	}
	if ($("NM_Login_Usu").value == "") {
		alert("Informe o login do usuário.");
		$("NM_Login_Usu").focus();		
		return;
	}
	if ($("NM_Senha_Usu").value == "") {
		alert("Informe a senha do usuário.");
		$("NM_Senha_Usu").focus();		
		return;
	}

	gravarCadastroUsuario(opcao);
}

/*============================================================================================*/
function validaCadastroVaga(opcao)
{
	if ($("ID_Cliente_Vaga").selectedIndex == 0) {
		alert("Informe o Cliente que está oferecendo essa vaga.");
		$("ID_Cliente_Vaga").focus();		
		return;
	}	
	if ($("NM_Login_Vaga").selectedIndex == 0) {
		alert("Informe o usuário que está responsável por esta vaga.");
		$("NM_Login_Vaga").focus();		
		return;
	}
	if ($("NM_Vaga").value == "") {
		alert("Informe o nome da vaga.");
		$("NM_Vaga").focus();		
		return;
	}
			
	gravarCadastroVaga(opcao);
}

/*============================================================================================*/
// Verifica se o usuário pressionou a tecla 'enter' e submete para a pagina
// Params.: pagina(pagina que deseja ir), paginamax(ultima pagina da paginacao)
/*============================================================================================*/
function digitaPagina(pagina, paginamax) {

	if (event.keyCode == 13) {
		if (pagina == "") {
			alert("Informe o número da página!");
			return;
		}
		if (pagina > paginamax) {
			alert("A listagem só possui " + paginamax + " páginas!");
			return;
		}		
		paginaCurriculos(pagina);
	}
}

/*============================================================================================*/
// Habilita e altera o css e coloca o focus no textarea
/*============================================================================================*/
function habilitaTextarea(id, exibe) {
	
	var css = "textarea-read";
	if (exibe) {
		css = "textarea-read2";
	}
	$(id).readOnly = !exibe;
	$(id).focus();
	$(id).className = css;
}

// Ações dos botões da tela de seleção de candidatos
function ExibeCurriculoNiver(login, indice, exibe) {
	var disp, div;
	var chks = $N('chkLogin');
	if (exibe) { // exibe a div clicada
		for (i = 0; i < chks.length; i++) {
			div = $('div_cv_'+i);
			disp = 'none';
			if (i == indice) {
				disp = 'block';
				msgAguarde(true);
				var pagina = "exibe_curriculo.asp?pagina=niver&login="+login;
				ajaxIncludeDiv(pagina, div.id);
			}
			div.style.display = disp;
		}
	} else {
		for (i = 0; i < chks.length; i++) {
			div = $('div_cv_'+i);
			div.style.display = 'none';
		}
	}

	/*
	exibeElemento("divExibeCurriculo", exibe);
	if (login != "") {
		msgAguarde(true);
		var pagina = "exibe_curriculo.asp?pagina=selecao&login="+login;
		ajaxIncludeDiv(pagina,"divExibeCurriculo");
	}
	*/
}

/*============================================================================================*/
// Ações dos botões da tela de seleção de candidatos
/*============================================================================================*/
function botaoExibeCurriculo(login, exibe) {

	exibeElemento("divExibeCurriculo", exibe);
	if (login != "") {
		msgAguarde(true);
		var pagina = "exibe_curriculo.asp?pagina=selecao&login="+login;
		ajaxIncludeDiv(pagina,"divExibeCurriculo");
	}
}
/*============================================================================================*/

/*============================================================================================*/
// Valida os campos obrigatorios do questionario referente a vaga oferecida
/*============================================================================================*/
function validaQuestionario()
{
	var id;
	var obrigatorio;
	var objPerg;
	var queryString = "";
	
	if ( $("hdnExisteQuestionario").value == "True" ) {
		
		id = $("hdnIDsPerg").value.split(" ");
		obrigatorio = $("hdnObrigatorios").value.split(" ");
		
		for (var i = 0; i < id.length; i++) {
			objPerg = $("ID_Perg" + id[i]);
			if (obrigatorio[i] == "S") {  
				if (objPerg.value == "") {
					alert("A resposta para essa pergunta é obrigatória!");
					objPerg.focus();
					return;
				}
			}
			queryString += "&perg"+(i+1)+"="+id[i]+"&resp"+id[i]+"="+objPerg.value;
		}
	}
	participarVaga($("hdnLogin").value, $("hdnVaga").value, queryString);
}

/*============================================================================================*/
// Valida o combobox de mudança de status da seleção
/*============================================================================================*/
function validaStatusSelecao(id_status, login, id_vaga) {
	
	if ( $("selCandidatos").length == 0 ) {
		alert("Não existem candidatos disponíveis na lista!");
		return;
	}
	if ( $("selCandidatos").value == "" ) {
		alert("Selecione o candidato!");
		$("selCandidatos").focus();
		return;
	}

	// Esconde todas as telas pra evitar que fiquem 2 abertas ao mesmo tempo
	exibeElemento("divTelaEnvioCurriculo", false);
	exibeElemento("divTelaContratado", false);
	exibeElemento("divTelaObservacao", false);
	
	$("selStatusSelecao").selectedIndex = id_status;
	
	switch (parseInt(id_status)) {
	
		case 0:
			alert("Este status só pode ser definido pelo próprio candidato!\nOcorre no momento que ele se candidata a vaga pelo site.");
			$("selStatusSelecao").selectedIndex = $("hdnStatusSelecao").value;
			break;
	
		case 1:
			if (confirm("Confirma a DESCLASSIFICAÇÃO do candidato para esta vaga?")) {
				cadastraSelecao(id_status, login, id_vaga);
			}
			break;
	
		case 2:
			if (confirm("Confirma o RECRUTAMENTO do candidato para esta vaga?")) {
				cadastraSelecao(id_status, login, id_vaga);
			}
			break;
	
		case 3:
			exibeElemento("divTelaEnvioCurriculo", true);			
			$("textEnvioCliente").focus();
			break;
	
		case 4:
			if (confirm("Confirma a RESERVA do candidato para esta vaga?")) {
				cadastraSelecao(id_status, login, id_vaga);
			}
			break;
	
		case 5:
			exibeElemento("divTelaContratado", true);
			$("txtSalario").focus();
			break;
	
		case 6:
			if (confirm("Confirma a PRÉ-SELEÇÃO do candidato para esta vaga?")) {
				cadastraSelecao(id_status, login, id_vaga);
			}
			break;
	}
}

/*============================================================================================*/
function validaEmailCandidato()
{
	if ($("hdnRemetente").value == "") {
		alert("O remetente não possui email definido.");
		return;
	}	
	if ($("hdnDestinatario").value == "") {
		alert("O destinatário não possui email definido.");
		return;
	}
	if ($("txtAssunto").value == "") {
		alert("Informe o assunto.");
		$("txtAssunto").focus();		
		return;
	}
	if ($("textMsg").value == "") {
		alert("Informe a mensagem.");
		$("textMsg").focus();		
		return;
	}
			
	enviaEmail("candidato");
}

/*============================================================================================*/
function validaCadastroNoticia(opcao)
{
	if ($("DT_Cad_Noticia").value == "") {
		alert("Informe a data de publicação do texto.");
		$("DT_Cad_Noticia").focus();		
		return;
	}
	if ($("NM_Titulo_Noticia").value == "") {
		alert("Informe a título do texto.");
		$("NM_Titulo_Noticia").focus();		
		return;
	}
	if ($("DS_Noticia").value == "") {
		alert("Informe a descrição do texto.");
		$("DS_Noticia").focus();		
		return;
	}
	gravarCadastroNoticia(opcao);
}

/*============================================================================================*/
function validaCadastroAtuacao(opcao)
{
	if ($("NM_Atuacao").value == "") {
		alert("Informe o tópico de atuação.");
		$("NM_Atuacao").focus();		
		return;
	}
	/*
	if ($("DS_Atuacao").value == "") {
		alert("Informe a descrição da atuação.");
		$("DS_Atuacao").focus();		
		return;
	}
	*/
	if ($("NU_Ordem_Atuacao").value == "") {
		alert("Informe a ordem que a atuação será exibida no site.");
		$("NU_Ordem_Atuacao").focus();		
		return;
	}
	gravarCadastroAtuacao(opcao);
}

// Valida o envio de imagens no upload
function EnviaFoto() {
	var foto = $("fileImg").value;
	if (foto == '') {
		alert('Clique em [Procurar/Browser] e selecione o arquivo que deseja enviar');
		$("fileImg").focus();
	} else {
		var ext = foto.slice(foto.lastIndexOf(".")).toLowerCase();
		if ((ext != ".jpg") && (ext != ".gif") && (ext != ".bmp") && (ext != ".png")) {
			alert("A sua foto deve possuir uma das seguintes extensões: .jpg .gif .bmp .png");
			return;
		}
/*
var imagem = new Image();
imagem.src = "imagem.jpg";
alert(imagem.fileSize)		
alert($("fileImg").size);
*/
		document.frmUpload.submit();
	}
}

// adiciona ao objeto string a propriedade de substituir todos
String.prototype.replaceAll = function(de, para){
    var str = this;
    var pos = str.indexOf(de);
    while (pos > -1){
		str = str.replace(de, para);
		pos = str.indexOf(de);
	}
    return (str);
}