  var isNN = (navigator.appName.indexOf("Netscape")!=-1);
  function autoTab(input,len, e) {
    var keyCode = (isNN) ? e.which : e.keyCode; 
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode)) {
      input.value = input.value.slice(0, len);
      input.form[(getIndex(input)+1) % input.form.length].focus();
  }
function containsElement(arr, ele) {
  var found = false, index = 0;
  while(!found && index < arr.length)
    if(arr[index] == ele)
      found = true;
    else
      index++;
    return found;
 }
function getIndex(input) {
  var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
      return index;
    }
    return true;
  }

/****************************************
*****************************************
************* Valida extensão ***********
*****************************************
*****************************************/
function pega_extensao(arq){
	var s, extensao, posicao;
	extensao = "";
	s = arq;
	for (i = s.length; i > 0; i--){
		if (s.charAt(i) == "."){
			posicao = i;
			i = 0;
		}
	}
	for (i = posicao; i < s.length; i++)
		extensao = extensao + s.charAt(i);
	return(extensao.toLowerCase());
}

//funcao de valida numero
    function numerop (x)
    {
        s = new String(x);
        ___ok = 1;
        for (i = 0; i < s.length; i++)
        {
        r = (s.charAt(i) == "0"
            || s.charAt(i) == "1" 
            || s.charAt(i) == "2" 
            || s.charAt(i) == "3" 
            || s.charAt(i) == "4" 
            || s.charAt(i) == "5" 
            || s.charAt(i) == "6"  
            || s.charAt(i) == "7" 
            || s.charAt(i) == "8" 
            || s.charAt(i) == "9" 
            || s.charAt(i) == "." 
            || s.charAt(i) == "-" );
        ___ok = ___ok & r;
        }
        return ___ok;
    }

//valida campos em branco
function CampoVazio(s){ return ((s == null) || (s.length == 0))}

//funcao de validacao de email
function EmailValidate(emailToValidate){
	if(emailToValidate == "" || emailToValidate.indexOf("@") == -1 || emailToValidate.indexOf("@") == 0 || emailToValidate.indexOf(".") == -1 || emailToValidate.indexOf(".") == (emailToValidate.indexOf("@")+1) || emailToValidate.indexOf(".") == emailToValidate.length -1){ return true;}
  else{ return false};
 }

// login
function vLogin(){
  f = document.log;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (CampoVazio(f.login.value)) { ook = false; msg = msg + " Login\n"; }
  if (CampoVazio(f.senha.value)) { ook = false; msg = msg + " Senha\n"; }

  // testa valicao e envia alerta ou formulario
  if (! ook){ alert (msg);}
  else{ f.submit();}
}

// cadastro de usuarios
function vUser(){
  f = document.frm_inc;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (CampoVazio(f.txtNome.value)) { ook = false; msg = msg + " Nome Completo\n"; }
  if (EmailValidate(f.txtEmail.value)) { ook = false; msg = msg + " E-mail inválido\n"; }
  if (CampoVazio(f.selTipoUsu.value)) { ook = false; msg = msg + " Tipo Usuário\n"; }
  if (CampoVazio(f.txtLogin.value)) { ook = false; msg = msg + " Login\n"; }
  if (CampoVazio(f.txtSenha.value)) { ook = false; msg = msg + " Senha\n"; }
  else
    if (f.txtSenha.value.length < 4) { ook = false; msg = msg + " Senha (deve ter mais de 4 caracteres)\n"; }

  // testa valicao e envia alerta ou formulario
  if (! ook){ alert (msg);}
  else{ f.submit();}
}

//
function testa_tam(a,b,c,d){
	var f = eval('document.'+a+'.'+b);
	var t_min = c
	var t_max = d
		if ((f.value > 100)|| (f.value < 0)){
			return false;
		}else{
			return true;
		}
}

// cadastro de clientes
function vClientes(){
  f = document.frm_inc;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  if (CampoVazio(f.txtNome.value)) { ook = false; msg = msg + " Nome do Cliente\n"; }
  if (isNaN(f.txtCEP.value)) { ook = false; msg = msg + " CEP apenas números\n"; }
  if (isNaN(f.txtDDDTel.value)) { ook = false; msg = msg + " DDD Telefone apenas números\n"; }
  if (isNaN(f.txtTel.value)) { ook = false; msg = msg + " Telefone apenas números\n"; }
  if ((!CampoVazio(f.txtDDDTel.value)) && (CampoVazio(f.txtTel.value))) { ook = false; msg = msg + " Preencha o número do Telefone\n"; }
  if (CampoVazio(f.selMercado.value)) { ook = false; msg = msg + " Mercado de Atuação\n"; }
  if (isNaN(f.txtShare.value)) { ook = false; msg = msg + " Share - Apenas números\n"; }
  if (!testa_tam('frm_inc','txtShare','0','100')) { ook = false; msg = msg + " Share - Valor mínimo 0 (zero), Valor Máximo 100(cem))\n"; }

  // testa valicao e envia alerta ou formulario
  if (! ook){ alert (msg);}
  else{ f.submit();}
}

// cadastro de candidatos
function vCandCad(){
  f = document.f_cand;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (CampoVazio(f.txtNome.value)) { ook = false; msg = msg + " Nome\n"; }
  if (!CampoVazio(f.txtDiaNasc.value) || !CampoVazio(f.txtMesNasc.value) || !CampoVazio(f.txtAnoNasc.value))
  {
    data = f.txtMesNasc.value + '/' + f.txtDiaNasc.value + '/' + f.txtAnoNasc.value;
    if (CampoVazio(f.txtDiaNasc.value) || CampoVazio(f.txtMesNasc.value) || CampoVazio(f.txtAnoNasc.value) || !isDate(data)) { ook = false; msg = msg + " Data de Nascimento está Inválida!\n"; }
  }
//  if (CampoVazio(f.txtIdade.value)) { ook = false; msg = msg + " Idade\n"; }
  if (isNaN(f.txtIdade.value)) { ook = false; msg = msg + " Idade apenas números\n"; }
  if (EmailValidate(f.txtEmail.value)) { ook = false; msg = msg + " E-mail Inválido\n"; }
  if (CampoVazio(f.txtCpf.value)) { ook = false; msg = msg + " CPF\n"; }
  if (Verifica_CPF(f.txtCpf.value,'f_cand','txtCpf')) { ook = false; msg = msg + " CPF Inválido\n"; }
  if (CampoVazio(f.selSexo.value)) { ook = false; msg = msg + " Sexo\n"; }
  
  if ((CampoVazio(f.txtDDDTelefone.value)) && (CampoVazio(f.txtTelefone.value)) && (CampoVazio(f.txtDDDCelular.value)) && (CampoVazio(f.txtCelular.value)))  { ook = false; msg = msg + " Preencha Telefone ou Celular \n"; }
  if (isNaN(f.txtDDDTelefone.value)) { ook = false; msg = msg + " DDD Telefone apenas números\n"; }
  if (isNaN(f.txtTelefone.value)) { ook = false; msg = msg + " Telefone apenas números\n"; }
  if (isNaN(f.txtDDDCelular.value)) { ook = false; msg = msg + " DDD Celular apenas números\n"; }
  if (isNaN(f.txtCelular.value)) { ook = false; msg = msg + " Celular apenas números\n"; }
  if ((!CampoVazio(f.txtDDDTelefone.value)) && (CampoVazio(f.txtTelefone.value))) { ook = false; msg = msg + " Preencha o número do Telefone\n"; }
  if ((!CampoVazio(f.txtDDDCelular.value)) && (CampoVazio(f.txtCelular.value))) { ook = false; msg = msg + " Preencha o número do Celular\n"; }
  
  if (!CampoVazio(f.txtNomeIndicado.value) ^ !CampoVazio(f.txtEmpresaIndicado.value)) { ook = false; msg = msg + " Indicações (nome e empresa)\n"; }
  if (CampoVazio(f.id_cargo.value)) { ook = false; msg = msg + " Cargo Pretendido\n"; }
  if (CampoVazio(f.id_area_atuacao.value)) { ook = false; msg = msg + " Departamento Pretendido\n"; }
  if (CampoVazio(f.id_segmento.value)) { ook = false; msg = msg + " Segmento de Atuação\n"; }
  if (CampoVazio(f.selLocalidade.value)) { ook = false; msg = msg + " Localidade\n"; }
  if (CampoVazio(f.rdoCapInt.value)) { ook = false; msg = msg + " Selecione Capital ou Interior\n"; } //select
  if (CampoVazio(f.selEscolaridade.value)) { ook = false; msg = msg + " Escolaridade\n"; }
  if (f.chkIngles.checked==true && CampoVazio(f.selIng.value)) { ook = false; msg = msg + " Selecione o nível do Inglês\n"; }
  if (f.chkEspanhol.checked==true && CampoVazio(f.selEsp.value)) { ook = false; msg = msg + " Selecione o nível do Espanhol\n"; }
	if (CampoVazio(f.txtCurriculo.value)) { ook = false; msg = msg + " Arquivo obrigatório\n"; }
  if (pega_extensao(f.txtCurriculo.value) !='.pdf' && pega_extensao(f.txtCurriculo.value) !='.doc') { ook = false; msg = msg + " Arquivo somente de extensões (.doc) e (.pdf)\n"; }

//  if (CampoVazio(f.txtObs.value)) { ook = false; msg = msg + " Observações\n"; }

  // testa valicao e envia alerta ou formulario
  if (! ook){ alert (msg);}
  else{ f.submit();}
}

// cadastro de candidatos pelo site
function vCandCadSite(){
  f = document.f_cand;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (CampoVazio(f.txtNome.value)) { ook = false; msg = msg + " Nome\n"; }
  data = f.txtMesNasc.value + '/' + f.txtDiaNasc.value + '/' + f.txtAnoNasc.value
  if (data == "//") { ook = false; msg = msg + " Data de Nascimento\n"; }
  if (data != "//" && !isDate(data)) { ook = false; msg = msg + " Data de Nascimento está Inválida!\n"; }
  if (f.selSexo[0].checked==false && f.selSexo[1].checked==false) { ook = false; msg = msg + " Sexo\n"; }
  if (CampoVazio(f.txtCPF_00.value) || CampoVazio(f.txtCPF_01.value) || CampoVazio(f.txtCPF_02.value) || CampoVazio(f.txtCPF_03.value)) { ook = false; msg = msg + " CPF\n"; }
  if (Verifica_NumCPF(f.txtCPF_00.value+f.txtCPF_01.value+f.txtCPF_02.value+f.txtCPF_03.value)) { ook = false; msg = msg + " CPF Inválido\n"; }
  if (CampoVazio(f.txtNacionalidade.value)) { ook = false; msg = msg + " Nacionalidade\n"; }
  if (CampoVazio(f.selEstCivil.value)) { ook = false; msg = msg + " Estado Civil\n"; }
  if (EmailValidate(f.txtEmail.value)) { ook = false; msg = msg + " E-mail Inválido\n"; }
  if (CampoVazio(f.txtDDDTel.value)) { ook = false; msg = msg + " DDD do Telefone\n"; }
  if (CampoVazio(f.txtTelefone.value)) { ook = false; msg = msg + " Telefone\n"; }
  if (CampoVazio(f.txtDDDCel.value)) { ook = false; msg = msg + " DDD do Celular\n"; }
  if (CampoVazio(f.txtCel.value)) { ook = false; msg = msg + " Celular\n"; }
  if (CampoVazio(f.id_cargo.value)) { ook = false; msg = msg + " Cargo Pretendido\n"; }
  if (CampoVazio(f.id_area_atuacao.value)) { ook = false; msg = msg + " Departamento Pretendido\n"; }
  if (CampoVazio(f.id_segmento.value)) { ook = false; msg = msg + " Segmento de Atuação\n"; }
  if (CampoVazio(f.selLocalidade.value)) { ook = false; msg = msg + " Localidade\n"; }
  if (CampoVazio(f.rdoCapInt.value)) { ook = false; msg = msg + " Selecione Capital ou Interior\n"; } //select
//  if (f.rdoCapInt[0].checked==false && f.rdoCapInt[1].checked==false) { ook = false; msg = msg + " Selecione Capital ou Interior\n"; } //select
  if (CampoVazio(f.selEscolaridade.value)) { ook = false; msg = msg + " Escolaridade\n"; }
  if (f.chkIngles.checked==true && CampoVazio(f.selIng.value)) { ook = false; msg = msg + " Selecione o nível do Inglês\n"; }
  if (f.chkEspanhol.checked==true && CampoVazio(f.selEsp.value)) { ook = false; msg = msg + " Selecione o nível do Espanhol\n"; }
  if (CampoVazio(f.txtCurriculo.value)) { ook = false; msg = msg + " Arquivo obrigatório\n"; }
  if (!CampoVazio(f.txtCurriculo.value) && pega_extensao(f.txtCurriculo.value) !=".pdf" && pega_extensao(f.txtCurriculo.value) !=".doc" && pega_extensao(f.txtCurriculo.value) !=".docx") { ook = false; msg = msg + " Arquivo somente de extensões (.doc), (.docx) e (.pdf)\n"; }

  // testa valicao e envia alerta ou formulario
  if (! ook){ alert (msg);}
  else{
		f.submit();
		showLayer('enviados');
		}
}

function vCandAlt(){
  f = document.f_cand;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (CampoVazio(f.txtNome.value)) { ook = false; msg = msg + " Nome\n"; }
  if (!CampoVazio(f.txtDiaNasc.value) || !CampoVazio(f.txtMesNasc.value) || !CampoVazio(f.txtAnoNasc.value))
  {
    data = f.txtMesNasc.value + '/' + f.txtDiaNasc.value + '/' + f.txtAnoNasc.value;
    if (CampoVazio(f.txtDiaNasc.value) || CampoVazio(f.txtMesNasc.value) || CampoVazio(f.txtAnoNasc.value) || !isDate(data)) { ook = false; msg = msg + " Data de Nascimento está Inválida!\n"; }
  }
  if (CampoVazio(f.txtIdade.value)) { ook = false; msg = msg + " Idade\n"; }
  if (isNaN(f.txtIdade.value)) { ook = false; msg = msg + " Idade apenas números\n"; }
//  if (CampoVazio(f.txtEmail.value)) { ook = false; msg = msg + " E-mail\n"; }
	if (CampoVazio(f.txtNacionalidade.value)) { ook = false; msg = msg + " Nacionalidade\n"; }
	if (CampoVazio(f.selEstCivil.value)) { ook = false; msg = msg + " Estado Civil\n"; }
  if (EmailValidate(f.txtEmail.value)) { ook = false; msg = msg + " E-mail Inválido\n"; }
//  if (CampoVazio(f.txtCpf.value)) { ook = false; msg = msg + " CPF\n"; }
 // if (Verifica_CPF(f.txtCpf.value,'f_cand','txtCpf')) { ook = false; msg = msg + " CPF Inválido\n"; }
  if (CampoVazio(f.txtTelefone.value)) { ook = false; msg = msg + " Telefone\n"; }
  if (CampoVazio(f.selSexo.value)) { ook = false; msg = msg + " Sexo\n"; }
  if (CampoVazio(f.id_cargo.value)) { ook = false; msg = msg + " Cargo Pretendido\n"; }
  if (CampoVazio(f.id_area_atuacao.value)) { ook = false; msg = msg + " Departamento Pretendido\n"; }
  if (CampoVazio(f.id_segmento.value)) { ook = false; msg = msg + " Segmento de Atuação\n"; }
  if (CampoVazio(f.selLocalidade.value)) { ook = false; msg = msg + " Localidade\n"; }
  if (CampoVazio(f.rdoCapInt.value)) { ook = false; msg = msg + " Selecione Capital ou Interior\n"; } //select
//  if (!f.rdoCapInt(0).checked && !f.rdoCapInt(1).checked) { ook = false; msg = msg + " Selecione Capital ou Interior\n"; } //select
  if (CampoVazio(f.selEscolaridade.value)) { ook = false; msg = msg + " Escolaridade\n"; }
  if (f.chkIngles.checked==true && CampoVazio(f.selIng.value)) { ook = false; msg = msg + " Selecione o nível do Inglês\n"; }
  if (f.chkEspanhol.checked==true && CampoVazio(f.selEsp.value)) { ook = false; msg = msg + " Selecione o nível do Espanhol\n"; }
//  if (pega_extensao(f.txtCurriculo.value) !=".pdf" && pega_extensao(f.txtCurriculo.value) !=".doc") { ook = false; msg = msg + " Arquivo somente de extensões (.doc) e (.pdf)\n"; }

//  if (CampoVazio(f.txtCurriculo.value)) { ook = false; msg = msg + " Selecione o Currículo\n"; }
//  if (CampoVazio(f.txtObs.value)) { ook = false; msg = msg + " Observações\n"; }

  // testa valicao e envia alerta ou formulario
  if (! ook){ alert (msg);}
  else{ f.submit();}
}

//incluir nos processo no resultado de busca
function vAdProc(qtd_fields,op){
  f = document.frmResBusca;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (!vCand(qtd_fields)){ ook = false; msg = msg + " Selecione algum candidato\n"; }
  if (CampoVazio(f.id_processo.value)) { ook = false; msg = msg + " Selecione o Processo\n"; }

  if (! ook){ alert (msg);}
  else{ f.op.value=op;f.submit();}
}

// valida se tem algum candidato selecionado
function vCand(qtd_cand){
  f = document.frmResBusca;
	//alert(qtd_cand)
	if (qtd_cand == 1){
		if (eval("f.id_curriculo.checked == true")){return true;
		}
	}else
		for (i=0; i < qtd_cand; i++){
				if (eval("f.id_curriculo[" + i + "].checked == true")){
					return true;
			}
  }
  return false;
}

// cadastro de processos
function vProcessos(t_validate){
  f = document.proc;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";

  if (CampoVazio(f.selCliente.value)) { ook = false; msg = msg + " Cliente\n"; }
  if (CampoVazio(f.selCargo.value)) { ook = false; msg = msg + " Cargo\n"; }
  if (f.rdoConfidencial[0].checked==false && f.rdoConfidencial[1].checked==false) { ook = false; msg = msg + " Selecione se é Confidencial\n"; } //select
	
  if (t_validate==1){if (CampoVazio(f.selConsultor.value)) { ook = false; msg = msg + " Consultor\n"; }}
//  if (!CampoVazio(f.selRequisitante.value) && f.selRequisitante.value==f.selInterlocutor.value) { ook = false; msg = msg + " Descrição\n"; }

  data = f.txtMesAbertura.value + '/' + f.txtDiaAbertura.value + '/' + f.txtAnoAbertura.value
  if (!isDate(data)) { ook = false; msg = msg + " Data de Abertura está Inválida!\n"; }
//  if (CampoVazio(f.valHonorarios.value)) { ook = false; msg = msg + " Honorários\n"; }
/*  if (!CampoVazio(f.valHonorarios.value))
  {
      if (f.valHonorarios.value.replace(",",".").indexOf(".") != f.valHonorarios.value.replace(",",".").lastIndexOf("."))
      { ook = false; msg = msg + " Honorário só pode ter uma pontuação\n"; }
      else
      {
        f.valHonorarios.value = f.valHonorarios.value.replace(",",".");
        if (!numerop(f.valHonorarios.value)) { ook = false; msg = msg + " Honorário deve ser numérico\n"; }
      }
  }*/

  
  if (CampoVazio(f.SelNec01.value)) { ook = false; msg = msg + " Necessidade 1\n"; }
  if (CampoVazio(f.SelNec02.value)) { ook = false; msg = msg + " Necessidade 2\n"; }
  if (CampoVazio(f.SelNec03.value)) { ook = false; msg = msg + " Necessidade 3\n"; }

  if ((f.SelNec01.value == f.SelNec02.value) || (f.SelNec01.value == f.SelNec03.value) || (f.SelNec02.value == f.SelNec03.value)) { ook = false; msg = msg + " As necessidades devem ser diferentes\n"; }

  if (isNaN(f.txtHrIni.value)) { ook = false; msg = msg + " Hora Inicial - Apenas números\n"; }
  if (isNaN(f.txtHrFim.value)) { ook = false; msg = msg + " Hora Final - Apenas números\n"; }
  if (isNaN(f.txtFxde.value)) { ook = false; msg = msg + " Faixa Etária inicial - Apenas números\n"; }
  if (isNaN(f.txtFxate.value)) { ook = false; msg = msg + " Faixa Etária final - Apenas números\n"; }
  
  // testa valicao e envia alerta ou formulario
  if (! ook){ alert (msg);}
  else{ f.submit();}
}

//****************************************************** mapa de hunting *****************************************************
// valida se tem algum candidato selecionado
function vCandHunt(qtd_cand,frmName){
//  f = document.frmResBusca;

  if (qtd_cand > 1){
    for (i=0;i<qtd_cand;i++){
      if (eval(frmName + ".id_curriculo[" + i + "].checked==true")){return true;}
    }
  }
  else{
    if (eval(frmName + ".id_curriculo.checked==true")){return true;}
  }

  return false;
}

// pendentes
function vHuntProcs(qtd_fields,op,frmName){
  f = eval("document." + frmName);
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (!vCandHunt(qtd_fields,frmName)){ ook = false; msg = msg + " Selecione algum candidato\n"; }
  if (CampoVazio(f.selOptions.value)) { ook = false; msg = msg + " Selecione o Status\n"; }

  if (! ook){ alert (msg);}
  else{ f.op.value=op;f.submit();}
}

function vHuntProcsExc(qtd_fields,op,frmName){
  f = eval("document." + frmName);
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (!vCandHunt(qtd_fields,frmName)){ ook = false; msg = msg + " Selecione algum candidato\n"; }

  if (! ook){ alert (msg);}
  else{ f.op.value=op;f.submit();}
}

  // valida ano bisexto
  function bisexto(ano){
    ano=(ano%4)
    if (ano==0){return true;}
    else{return false;}
  }
  
  // funcao de validar data is date
  function isDate(dateStr) {
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?
    
    if (matchArray == null) {
//    alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
    return false;
    }
    
    month = matchArray[1]; // p@rse date into variables
    day = matchArray[3];
    year = matchArray[5];
    
    if (month < 1 || month > 12) { // check month range
//    alert("Month must be between 1 and 12.");
    return false;
    }
    
    if (day < 1 || day > 31) {
//    alert("Day must be between 1 and 31.");
    return false;
    }
    
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
//    alert("Month "+month+" doesn`t have 31 days!")
    return false;
    }
    
    if (month == 2) { // check for february 29th
    var isleap = (year%4);
    if (day >= 29 && (isleap==1)) {
//    alert("February " + year + " doesn`t have " + day + " days!");
    return false;
    }
    }
    
    return true; // date is valid
  }
// final de is date


// validacao de CPF
  function Verifica_CPF(formulario,frmName,fldName) {
  var CPF = eval("document."+frmName+"."+fldName+".value;"); 
  return Verifica_NumCPF(CPF);
  }
  
  function Verifica_NumCPF(numcpf) {
  var CPF = numcpf;
  // Recebe o valor digitado no campo
  
  // Verifica se o campo é nulo
  if (CPF == '') {
//    alert('Este campo é de preenchimento obrigatório!');
    return false;
     }
  
  // Aqui começa a checagem do CPF
  var POSICAO, I, SOMA, DV, DV_INFORMADO;
  var DIGITO = new Array(10);
  DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado
  
  // Desemembra o número do CPF na array DIGITO
  for (I=0; I<=8; I++) {
    DIGITO[I] = CPF.substr( I, 1);
  }
  
  // Calcula o valor do 10º dígito da verificação
  POSICAO = 10;
  SOMA = 0;
     for (I=0; I<=8; I++) {
        SOMA = SOMA + DIGITO[I] * POSICAO;
        POSICAO = POSICAO - 1;
     }
  DIGITO[9] = SOMA % 11;
     if (DIGITO[9] < 2) {
          DIGITO[9] = 0;
  }
     else{
         DIGITO[9] = 11 - DIGITO[9];
  }
  
  // Calcula o valor do 11º dígito da verificação
  POSICAO = 11;
  SOMA = 0;
     for (I=0; I<=9; I++) {
        SOMA = SOMA + DIGITO[I] * POSICAO;
        POSICAO = POSICAO - 1;
     }
  DIGITO[10] = SOMA % 11;
     if (DIGITO[10] < 2) {
          DIGITO[10] = 0;
     }
     else {
          DIGITO[10] = 11 - DIGITO[10];
     }
  
  // Verifica se os valores dos dígitos verificadores conferem
  DV = DIGITO[9] * 10 + DIGITO[10];
     if (DV != DV_INFORMADO) {
//        alert('CPF inválido');
//        formulario.CPF.value = '';
//        formulario.CPF.focus();
        return true;
     } 
  }
  
/* incluir nos processo no resultado de busca */
function vAdProc_B(qtd_fields,op){
  f = document.frmResBusca;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (!vCand(qtd_fields)){ ook = false; msg = msg + " Selecione algum candidato\n"; }
  if (CampoVazio(f.id_cliente.value)) { ook = false; msg = msg + " Selecione o Cliente\n"; }
  if (CampoVazio(f.id_processo.value)) { ook = false; msg = msg + " Selecione o Processo\n"; }

  if (! ook){ alert (msg);}
  else
  { 
    f.op.value=op;
    f.action="busca_valida.asp";
    f.submit();
  }
}

/* valida processos de busca */
function BuscaProc(){
  f = document.b_processo;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";

  if (!CampoVazio(f.txtDiaIni.value) || !CampoVazio(f.txtMesIni.value) || !CampoVazio(f.txtAnoIni.value)) {
    data = f.txtMesIni.value + '/' + f.txtDiaIni.value + '/' + f.txtAnoIni.value
    if (!isDate(data)) { ook = false; msg = msg + " Data de Início está Inválida!\n"; }
  }

  if (!CampoVazio(f.txtDiaFim.value) || !CampoVazio(f.txtMesFim.value) || !CampoVazio(f.txtAnoFim.value)) {
    data = f.txtMesFim.value + '/' + f.txtDiaFim.value + '/' + f.txtAnoFim.value
    if (!isDate(data)) { ook = false; msg = msg + " Data Final está Inválida!\n"; }
  }
  
  if (! ook){ alert (msg);}
  else{ f.submit();}}
  
/* colocar como inapto */
function vinapto(){
  f = document.f_inapto;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  if(f.chkJus_01.checked==false && f.chkJus_02.checked==false && f.chkJus_03.checked==false && f.chkJus_04.checked==false){ ook = false; msg = msg + " Selecione alguma justificativa!\n"; }

  if (! ook){ alert (msg);}
  else{ f.submit();}
}

/* contatos */
function vContatos(){
  f = document.frm_inc;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (CampoVazio(f.txtNomeContato.value)) { ook = false; msg = msg + " Nome\n"; }
  if (CampoVazio(f.txtFuncaoContato.value)) { ook = false; msg = msg + " Função\n"; }
  if (CampoVazio(f.txtTelContato.value)) { ook = false; msg = msg + " Telefone\n"; }
//  if (CampoVazio(f.txtCelularContato.value)) { ook = false; msg = msg + " Celular\n"; }
  if (EmailValidate(f.txtEmailContato.value)) { ook = false; msg = msg + " E-mail inválido\n"; }
  if (CampoVazio(f.txtSenhaContato.value)) { ook = false; msg = msg + " Senha\n"; }
  else
    if (f.txtSenhaContato.value.length < 4) { ook = false; msg = msg + " Senha (deve ter mais de 4 caracteres)\n"; }

  if (! ook){ alert (msg);}
  else{f.submit();}
}

/* laudo */

function vLaudo(){
  f = document.frm_inc;
  ook = true;
  faltaComp = false;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (f.selComp01) if (CampoVazio(f.selComp01.value)) faltaComp = true;
  if (f.selComp02) if (CampoVazio(f.selComp02.value)) faltaComp = true;
  if (f.selComp03) if (CampoVazio(f.selComp03.value)) faltaComp = true;
  if (f.selComp04) if (CampoVazio(f.selComp04.value)) faltaComp = true;
  if (f.selComp05) if (CampoVazio(f.selComp05.value)) faltaComp = true;
  if (f.selComp06) if (CampoVazio(f.selComp06.value)) faltaComp = true;
  if (faltaComp) { ook = false; msg = msg + " Todas as competências devem ser preenchidas\n"; }
  if (CampoVazio(f.txtComents.value)) { ook = false; msg = msg + " Comentários do Consultor\n"; }
  if (! ook){ alert (msg);}
  else{f.submit();}
}

function vBusca(){
  f = document.frm_busca;
  ook = true;
  msg = "Os seguintes campos devem ser preenchidos, ou apresentaram erros\n\n";
  
  if (CampoVazio(f.txtNome.value) && CampoVazio(f.txtFxde.value) && CampoVazio(f.txtFxate.value) && CampoVazio(f.selSexo.value) && CampoVazio(f.txtId.value) && CampoVazio(f.txtEmail.value) && CampoVazio(f.txtCPF.value) && CampoVazio(f.id_cargo.value) && CampoVazio(f.id_area_atuacao.value) && CampoVazio(f.id_segmento.value) && CampoVazio(f.selLocalidade.value) && CampoVazio(f.selIng.value) && CampoVazio(f.selEsp.value) && CampoVazio(f.txtOutroidioma.value) && CampoVazio(f.rdoCapInt.value) && f.disp_mudanca.checked==false) { ook = false; msg = msg + " Por favor, preencha ao menos um campo para compor sua busca.\n"; }
  if (!CampoVazio(f.txtEmail.value) && EmailValidate(f.txtEmail.value)) { ook = false; msg = msg + " E-mail inválido\n"; }
  if (!CampoVazio(f.txtCPF.value)) {if (Verifica_CPF(f.txtCPF.value,'frm_busca','txtCPF')) { ook = false; msg = msg + " CPF Inválido\n"; }}  
  if (!CampoVazio(f.rdoCapInt.value) && CampoVazio(f.selLocalidade.value)) { ook = false; msg = msg + " Por favor, escolha um estado no campo ao lado\n"; }
  if (! ook){ alert (msg);}
  else{f.submit();}
}

function vAlteraSalario(){
    f = document.proc;
    f.txtTotAnual.value = "";
    if (!CampoVazio(f.txtSalFixo.value))
    {
      if (f.txtSalFixo.value.replace(",",".").indexOf(".") == f.txtSalFixo.value.replace(",",".").lastIndexOf("."))
      {
        f.txtSalFixo.value = f.txtSalFixo.value.replace(",",".");
        if (numerop(f.txtSalFixo.value)) { f.txtTotAnual.value = Math.round(f.txtSalFixo.value * 1333)/100; }
      }
    }
}

function vMudaUF(campoUF, campoCapInt)
{
  if (campoUF.options[campoUF.selectedIndex].value == 'SP')
  {
    campoCapInt.options[campoCapInt.length] = new Option( "Litoral", "L" );
  }
  else
  {
    if (campoCapInt.options.length > 3)
    {
      if (campoCapInt.selectedIndex >= 3)
      {
        campoCapInt.selectedIndex = 0;
      }
      campoCapInt.options.length = 3;
    }
  }
}

/*********************************************************/
/* MAXLENGTH PARA CAMPO TEXTAREA */

function imposeMaxLength(Object, MaxLen){
	return (Object.value.length <= MaxLen);
}
