/* Faz a validação do CPF */
function validaCPF(campo) {
    var CPF = campo.value;
    var POSICAO, I, SOMA, DV, DV_INFORMADO;
    var DIGITO = new Array(10);
    DV_INFORMADO = CPF.substr(9, 2);
    for (I=0; I<=8; I++) {
        DIGITO[I] = CPF.substr( I, 1);
    }
    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];
    }
    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];
    }
    DV = DIGITO[9] * 10 + DIGITO[10];
    if (DV != DV_INFORMADO) {
        alert('ATENÇÃO:\r\n\r\nNúmero do CPF inválido!');
        campo.value = "";
        campo.focus();
        return false;
    }
}

/* Faz a validação de CNPJ */
function validaCNPJ(campo) {
    var CNPJ = campo.value;
    erro = new String;
    var a = [];
    var b = new Number;
    var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
    for (i=0; i<12; i++) {
        a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]);
	}
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		erro +="ATENÇÃO:\r\n\r\nNúmero do CNPJ inválido!\r\n\r\n* Digite novamente.";
	}
	if (erro.length > 0) {
		alert(erro);
		campo.value = "";
		campo.focus();
		return false;
	}
    else { }
    	return true;
}

/* Limpa valor para formatar */
function Limpar(valor, validos) {
   var result = "";
   var aux;
   for (var i=0; i < valor.length; i++) {
      aux = validos.indexOf(valor.substring(i, i+1));
   if (aux>=0) {
      result += aux;
   }
   }
   return result;
}
/* Formata número tipo moeda usando o evento onKeyDown */
function FormataVlr(campo,tammax,teclapres,decimal) {
var tecla = teclapres.keyCode;
vr = Limpar(campo.value,"0123456789");
tam = vr.length;
dec=decimal
if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }
if (tecla == 8 )
{ tam = tam - 1 ; }
if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
{
if ( tam <= dec )
{ campo.value = vr ; }
if ( (tam > dec) && (tam <= 5) ){
campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; }
if ( (tam >= 6) && (tam <= 8) ){
campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ;
}
if ( (tam >= 9) && (tam <= 10) ){
campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
if ( (tam >= 12) && (tam <= 14) ){
campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
if ( (tam >= 15) && (tam <= 17) ){
campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;}
}
}

/* Desabilita botão ao enviar formulário para evitar duplicidade */
function submitonce(theform) {
    if (document.all || document.getElementById) {
        theform.prosseguir.value='Aguarde...';
        for (i = 0; i < theform.length; i++) {
           var tempobj = theform.elements[i];
           if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
              tempobj.disabled = true;
        }
    }
}

/* Troca o ENTER por TAB para mudar de campo */
function handleEnter (field, event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
			if (field == field.form.elements[i])
			break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		}
	else
		return true;
}

/* Gerador de máscaras para os campos */
function MaskEdit(src, mask, objEvent){
    var Code;
	if (navigator.appName == 'Microsoft Internet Explorer') {
	   Code = objEvent.keyCode;
	} else if (navigator.appName == 'Netscape') {
	   Code = objEvent.which;
	}
	if(Code != 8){
        if(Code < 48 || Code > 57){
			if (navigator.appName == 'Microsoft Internet Explorer') {
				objEvent.returnValue = false;
			} else if (navigator.appName == 'Netscape') {
				objEvent.preventDefault();
			};
        };
		var saida = mask.substring( 0,1 );
		var texto = mask.substring( src.value.length );
		if( texto.substring( 0,1 ) != saida ) src.value += texto.substring( 0,1 );
		  if(src.createTextRange) {
		      var range = src.createTextRange();
              range.collapse(false);
			  range.select();
		  }else if (src.setSelectionRange) {
		      src.focus();
              var length = src.value.length;
			  src.setSelectionRange(length, length);
		};
	};
}

/* Abre janela popup com atributos */
function AbreJanela(pagina,largura,altura){
    atributos= eval("'scrollbars=1,resizable=no,toolbar=NO,width=" + largura + ",height=" + altura + ",top=5,left=5'");
    window.open(pagina,'tabela',atributos);
    return;
}

/* Salto automático de campo */
VerifiqueTAB=true;
function Mostra(quem, tammax) {
if ( (quem.value.length == tammax) && (VerifiqueTAB) ) { 
var i=0,j=0, indice=-1;
for (i=0; i<document.forms.length; i++) { 
for (j=0; j<document.forms[i].elements.length; j++) { 
if (document.forms[i].elements[j].name == quem.name) { 
indice=i;
break;
} 
} 
if (indice != -1) break; 
} 
for (i=0; i<=document.forms[indice].elements.length; i++) { 
if (document.forms[indice].elements[i].name == quem.name) { 
while ( (document.forms[indice].elements[(i+1)].type == "hidden") &&
(i < document.forms[indice].elements.length) ) { 
i++;
} 
document.forms[indice].elements[(i+1)].focus();
VerifiqueTAB=false;
break;
} 
} 
} 
} 
function PararTAB(quem) { VerifiqueTAB=false; } 
function ChecarTAB() { VerifiqueTAB=true; } 

/* Bloqueia Teclas na hora da digitacao */
//Uso: OnKeyPres="return doTecla(event,opcao);"
function doTecla(e,op){
 if (op==""){op=3}  //default - A-z a-z 0-9 e espaco
 var evt = (document.all) ? event.keyCode : e.charCode;
 var chr = String.fromCharCode(evt);
  if (op==1){
    var re = /[A-Za-z\s]/; // permite apenas de A-Z a-z e espaço
  }else if(op==2){
    var re = /[A-Za-z0-9]/; // permite apenas de A-z a-z 0-9
  }else if(op==3){
    var re = /[A-Za-z0-9\s]/; // permite apenas de A-z a-z 0-9 e espaco
  }else if(op==4){
     var re = /[0-9\s\/]/; // permite apenas de 0-9 , espaço e barra (/)
  }else if(op==5){
     var re = /[A-Za-z0-9\s\.\,\-]/; // permite apenas de 0-9 A-z a-z , espaço , ponto , virgula e menos
  }else if(op==6){
     var re = /[0-9]/; // permite apenas de 0-9	 
  }else if(op==7){
     var re = /[A-Za-z]/; // permite apenas de A-Z a-z
  }else if(op==8){
     var re = /[A-Ea-e]/; // permite apenas de A-E a-e para carteira habilitação 	 
  }else if(op==9){
	 var re = /[0-9\.\,]/; // permite apenas de 0-9, ponto e vírgula
  }
 return (re.test(chr) || evt<20); // com evt<20 permitimos <ENTER>,<TAB>,<BACKSPACE>
}

/* Validaçao dos Campos do Formulário de Dados Pessoais */
function valida(theform) {
  d = document.form1;
  if (d.cv_cpf.value == ""){
      alert("ATENÇÃO:\r\n\r\nNúmero do CPF não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cpf.focus();
	  return false;
  }
  if (d.cv_rrg.value == ""){
      alert("ATENÇÃO:\r\n\r\nNúmero do RG não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_rrg.focus();
	  return false;
  }
  if (isNaN(d.cv_rrg.value)){
      alert("ATENÇÃO:\r\n\r\nO RG deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_rrg.focus();
	  return false;
  }
  if (d.cv_nom.value == ""){
	  alert("ATENÇÃO:\r\n\r\nNome não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_nom.focus();
	  return false;
  }
      erro=0;
	  hoje = new Date();
	  anoAtual = hoje.getFullYear();
	  barras = d.cv_nas.value.split("/");
	  if (barras.length == 3){
	  	dia = barras[0];
	    mes = barras[1];
	    ano = barras[2];
	    resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
	    	if (!resultado) {
	        	alert("ATENÇÃO:\r\n\r\nData de nascimento inválida!\r\n\r\n* Digite no formato DD/MM/AAAA\r\n* Favor corrigir para continuar.");
	 		    d.cv_nas.value = "";
	 			d.cv_nas.focus();
	            return false;
	        }
	  } else {
	  		alert("ATENÇÃO:\r\n\r\nData de nascimento não informada!\r\n\r\n* Campo Obrigatório.");
	        d.cv_nas.value = "";
	 		d.cv_nas.focus();
	        return false;
	}
  if (!d.cv_sex[0].checked && !d.cv_sex[1].checked){
	  alert("ATENÇÃO:\r\n\r\nSexo deve ser Masculino ou Feminino!\r\n\r\n* Campo Obrigatório.");
	  return false;
  }
  if (d.cv_est.value == 0){
	  alert("ATENÇÃO:\r\n\r\nEstado civil não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_est.focus();
	  return false;
  }
  if (!d.cv_cnh[0].checked && !d.cv_cnh[1].checked){
	  alert("ATENÇÃO:\r\n\r\nInforme se possui habilitação!\r\n\r\n* Campo Obrigatório.");
	  return false;
  } 
  if (d.cv_cnh[0].checked && d.cv_cat.value == "") {
	  alert("Informe a categoria de sua habilitação!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cat.focus();
	  return false;
  }
  if (d.cv_end.value == ""){
	  alert("ATENÇÃO:\r\n\r\nEndereço não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_end.focus();
	  return false;
  }
  if (d.cv_bai.value == ""){
	  alert("ATENÇÃO:\r\n\r\nBairro não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_bai.focus();
	  return false;
  }
  if (d.cv_cid.value == ""){
	  alert("ATENÇÃO:\r\n\r\nCidade não informada!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cid.focus();
	  return false;
  }
  if (d.cv_cep.value == ""){
	  alert("ATENÇÃO:\r\n\r\nCEP não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cep.focus();
	  return false;
  }
  if (isNaN(d.cv_cep.value)){
	  alert("ATENÇÃO:\r\n\r\nO CEP deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_cep.value=""
	  d.cv_cep.focus();
	  return false;
  }
  if (isNaN(d.cv_dd1.value)){
	  alert("ATENÇÃO:\r\n\r\nO DDD deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_dd1.value = "";
	  d.cv_dd1.focus();
	  return false;
  }
  if (isNaN(d.cv_te1.value)){
	  alert("ATENÇÃO:\r\n\r\nO Telefone deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_te1.value = "";
	  d.cv_te1.focus();
	  return false;
  }
  if (d.cv_dd1.value != "" && d.cv_te1.value == ""){
	  alert("ATENÇÃO:\r\n\r\nTelefone residencial não informado!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_te1.focus();
	  return false;
  }
  if (d.cv_te1.value != "" && d.cv_dd1.value == ""){
	  alert("ATENÇÃO:\r\n\r\nDDD residencial não informado!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_dd1.focus();
	  return false;
  }
  if (isNaN(d.cv_dd2.value)){
	  alert("ATENÇÃO:\r\n\r\nO DDD deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_dd2.value= "";
	  d.cv_dd2.focus();
	  return false;
  }
  if (isNaN(d.cv_te2.value)){
	  alert("ATENÇÃO:\r\n\r\nO Telefone deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_te2.value = "";
	  d.cv_te2.focus();
	  return false;
  }
  if (d.cv_dd2.value != "" && d.cv_te2.value == ""){
	  alert("ATENÇÃO:\r\n\r\nTelefone comercial não informado!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_te2.focus();
	  return false;
  }  
  if (d.cv_te2.value != "" && d.cv_dd2.value == ""){
	  alert("ATENÇÃO:\r\n\r\nDDD comercial não informado!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_dd2.focus();
	  return false;
  }
  if (isNaN(d.cv_dd3.value)){
	  alert("ATENÇÃO:\r\n\r\nO DDD deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_dd3.value = "";
	  d.cv_dd3.focus();
	  return false;
  }
  if (isNaN(d.cv_te3.value)){
	  alert("ATENÇÃO:\r\n\r\nO Telefone deve conter apenas números!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_te3.value = "";
	  d.cv_te3.focus();
	  return false;
  }
  if (d.cv_dd3.value != "" && d.cv_te3.value == ""){
	  alert("ATENÇÃO:\r\n\r\nTelefone para recado não informado!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_te3.focus();
	  return false;
  }   
  if (d.cv_te3.value != "" && d.cv_dd3.value == ""){
	  alert("ATENÇÃO:\r\n\r\nDDD para recado não informado!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_dd3.focus();
	  return false;
  }
  if (d.cv_te1.value == "" && d.cv_te2.value == "" && d.cv_te3.value == ""){
	  alert("ATENÇÃO:\r\n\r\nPelo menos um telefone para recado deve ser informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_dd3.focus();
	  return false;
  } 
  if (d.cv_ema.value != ""){
	  parte1 = d.cv_ema.value.indexOf("@");
  	  parte2 = d.cv_ema.value.indexOf(".");
      parte3 = d.cv_ema.value.length;
	  if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
			alert("ATENÇÃO:\r\n\r\nO endereço de e-mail digitado é inválido!\r\n\r\n* Favor corrigir para continuar.");
			d.cv_ema.focus();
	  return false;
	  }
  }
}

/* Validação especial para CNH NÃO e categoria preenchida */
function valida_cnh() {
  d = document.form1;
  if (d.cv_cnh[0].checked) {
	  d.cv_cat.disabled = false;
	  d.cv_cat.value = "";
	  d.cv_cat.focus();
	  return false;
  }
  if (d.cv_cnh[1].checked) {
	  d.cv_cat.value = "";
	  d.cv_cat.disabled = true;
	  d.cv_end.focus();
	  return false;
  }
}

/* Validação dos Campos do Formulário de Interesses Profissionais */
function valida2(theform) {
  d = document.form2;
  if (d.cv_cgo.value == 0){
      alert("ATENÇÃO:\r\n\r\nCargo de interesse não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cgo.focus();
	  return false;
  }
  if (d.cv_are.value == 0){
	  alert("ATENÇÃO:\r\n\r\nÁrea de interesse não informada!\r\n\r\n* Campo Obrigatório.");
	  d.cv_are.focus();
	  return false;
  }

/* Validação do Campo Pretensão Salarial */
  var reMoeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;
  if (!reMoeda.test(d.cv_pts.value) || d.cv_pts.value == "" || d.cv_pts.value == "0,00"){
	  alert("ATENÇÃO:\r\n\r\nA pretensão salarial informada não é válida!\r\n\r\n* Campo Obrigatório.");
	  d.cv_pts.value = "";
	  d.cv_pts.focus();
	  return false;
  }
  if (!d.cv_vgm[0].checked && !d.cv_vgm[1].checked){
	  alert("ATENÇÃO:\r\n\r\nInforme se tem disponibilidade para viagens!\r\n\r\n* Campo Obrigatório.");
	  return false;
  }
}

/* Validação dos Campos do Formulário de Formação Acadêmica */
function valida3(theform) {
  d = document.form3;
  if (d.cv_nve.value == 0){
      alert("ATENÇÃO:\r\n\r\nNível escolar não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_nve.focus();
	  return false;
  }
  if (d.cv_nve.value > 4 && d.cv_cur.value == ""){
	  alert("ATENÇÃO:\r\n\r\nNome do curso não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cur.focus();
	  return false;
  }
  if (d.cv_ien.value == ""){
	  alert("ATENÇÃO:\r\n\r\nInstituição de ensino não informada!\r\n\r\n* Campo Obrigatório.");
	  d.cv_ien.focus();
	  return false;
  }
  if (d.cv_aco.value != "" && d.cv_aco.value < 1900 || d.cv_aco.value > 2100){
	  alert("ATENÇÃO:\r\n\r\nO ano informado é inválido!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_aco.value = "";
	  d.cv_aco.focus();
	  return false;
  }
  if (isNaN(d.cv_aco.value)){
	  alert("ATENÇÃO:\r\n\r\nO ano deve conter somente números!\r\n\r\n* Favor corrigir para continuar.");
  	  d.cv_aco.value = "";
	  d.cv_aco.focus();
	  return false;
  }
  /* VERIFICA SE O NÍVEL DE CONHECIMENTO DO IDIOMA 1 FOI PREENCHIDO */
  if (d.cv_id1.value > 0 && !d.cv_in1[0].checked && !d.cv_in1[1].checked && !d.cv_in1[2].checked){
	  idi = d.cv_id1.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nSelecione o nível de conhecimento no idioma " + d.cv_id1.options[idi].text + "!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_id1.focus();
      return false;
  }
  /* IDIOMA 1 IGUAL AO 2 */
  if (d.cv_id2.value > 0 && d.cv_id1.value == d.cv_id2.value){
	  idi = d.cv_id2.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nVocê já escolheu o idioma " + d.cv_id2.options[idi].text + " anteriormente!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_in2[0].checked = false;
  	  d.cv_in2[1].checked = false;
	  d.cv_in2[2].checked = false;
	  d.cv_in2[0].disabled = true;
  	  d.cv_in2[1].disabled = true;
	  d.cv_in2[2].disabled = true;
	  d.cv_id2.value = 0;
	  d.cv_id2.focus();
	  d.cv_id3.disabled = true;
	  return false;
  } 
  /* VERIFICA SE O NÍVEL DE CONHECIMENTO DO IDIOMA 2 FOI PREENCHIDO */
  if (d.cv_id2.value > 0 && !d.cv_in2[0].checked && !d.cv_in2[1].checked && !d.cv_in2[2].checked){
	  idi = d.cv_id2.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nSelecione o nível de conhecimento no idioma " + d.cv_id2.options[idi].text + "!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_id2.focus();
      return false;
  }
  /* IDIOMA 1 IGUAL AO 3 */
  if (d.cv_id3.value > 0 && d.cv_id1.value == d.cv_id3.value){
	  idi = d.cv_id3.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nVocê já escolheu o idioma " + d.cv_id3.options[idi].text + " anteriormente!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_in3[0].checked = false;
  	  d.cv_in3[1].checked = false;
	  d.cv_in3[2].checked = false;	
	  d.cv_in3[0].disabled = true;
  	  d.cv_in3[1].disabled = true;
	  d.cv_in3[2].disabled = true;
	  d.cv_id3.value = 0;
	  d.cv_id3.focus();
	  d.cv_id4.disabled = true;	  
	  return false;
  }
  /* IDIOMA 1 IGUAL AO 4 */
  if (d.cv_id4.value > 0 && d.cv_id1.value == d.cv_id4.value){
	  idi = d.cv_id4.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nVocê já escolheu o idioma " + d.cv_id4.options[idi].text + " anteriormente!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_in4[0].checked = false;
  	  d.cv_in4[1].checked = false;
	  d.cv_in4[2].checked = false;	
	  d.cv_in4[0].disabled = true;
  	  d.cv_in4[1].disabled = true;
	  d.cv_in4[2].disabled = true;
	  d.cv_id4.value = 0;
	  d.cv_id4.focus();
	  return false;
  } 
  /* IDIOMA 2 IGUAL AO 3 */
  if (d.cv_id2.value > 0 && d.cv_id2.value == d.cv_id3.value){
	  idi = d.cv_id3.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nVocê já escolheu o idioma " + d.cv_id3.options[idi].text + " anteriormente!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_in3[0].checked = false;
  	  d.cv_in3[1].checked = false;
	  d.cv_in3[2].checked = false;	
	  d.cv_in3[0].disabled = true;
  	  d.cv_in3[1].disabled = true;
	  d.cv_in3[2].disabled = true;
	  d.cv_id3.value = 0;
	  d.cv_id3.focus();
	  d.cv_id4.disabled = true;	  	  
	  return false;
  } 
  /* VERIFICA SE O NÍVEL DE CONHECIMENTO DO IDIOMA 3 FOI PREENCHIDO */
  if (d.cv_id3.value > 0 && !d.cv_in3[0].checked && !d.cv_in3[1].checked && !d.cv_in3[2].checked){
	  idi = d.cv_id3.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nSelecione o nível de conhecimento no idioma " + d.cv_id3.options[idi].text + "!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_id3.focus();
      return false;
  }
  /* IDIOMA 2 IGUAL AO 4 */
  if (d.cv_id2.value > 0 && d.cv_id2.value == d.cv_id4.value){
	  idi = d.cv_id4.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nVocê já escolheu o idioma " + d.cv_id4.options[idi].text + " anteriormente!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_in4[0].checked = false;
  	  d.cv_in4[1].checked = false;
	  d.cv_in4[2].checked = false;	
	  d.cv_in4[0].disabled = true;
  	  d.cv_in4[1].disabled = true;
	  d.cv_in4[2].disabled = true;
	  d.cv_id4.value = 0;
	  d.cv_id4.focus();
	  return false;
  }   
  /* IDIOMA 3 IGUAL AO 4 */
  if (d.cv_id3.value > 0 && d.cv_id3.value == d.cv_id4.value){
	  idi = d.cv_id4.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nVocê já escolheu o idioma " + d.cv_id4.options[idi].text + " anteriormente!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_in4[0].checked = false;
  	  d.cv_in4[1].checked = false;
	  d.cv_in4[2].checked = false;	
	  d.cv_in4[0].disabled = true;
  	  d.cv_in4[1].disabled = true;
	  d.cv_in4[2].disabled = true;
	  d.cv_id4.value = 0;
	  d.cv_id4.focus();
	  return false;
  }
  /* VERIFICA SE O NÍVEL DE CONHECIMENTO DO IDIOMA 4 FOI PREENCHIDO */
  if (d.cv_id4.value > 0 && !d.cv_in4[0].checked && !d.cv_in4[1].checked && !d.cv_in4[2].checked){
	  idi = d.cv_id4.selectedIndex;
	  alert("ATENÇÃO:\r\n\r\nSelecione o nível de conhecimento no idioma " + d.cv_id4.options[idi].text + "!\r\n\r\n* Favor corrigir para continuar.");
	  d.cv_id4.focus();
      return false;
  }
  if (!d.cv_inf[0].checked && !d.cv_inf[1].checked){
	  alert("ATENÇÃO:\r\n\r\nInforme se possui conhecimentos em informática!\r\n\r\n* Campo Obrigatório.");
	  return false;
  }
}

/* Libera RadioGroups por OnChange dos Idiomas */
function libera(campom, campos){
 d = document.getElementById(campom);
 var str = campos.split(",");
 if (d.value == 0){
	 condicao = true;
 }else if (d.value > 0){
	 condicao = false;
 }
 for (i=0;i<str.length;i++){
       document.getElementById(str[i]).disabled = condicao;
	   if (condicao == true){
	       document.getElementById(str[i]).checked = false;
		   /* Idioma 2 sem idioma 1 selecionado antes */
		   if (document.form3.cv_id1.value == 0){
			    document.form3.cv_id2.value = 0;
		   		document.form3.cv_id2.disabled = true;
		        document.form3.cv_in2[i].checked = false;
		        document.form3.cv_in2[i].disabled = true;
		   }
		   /* Idioma 3 sem idioma 2 selecionado antes */
		   if (document.form3.cv_id2.value == 0){
			    document.form3.cv_id3.value = 0;
		   		document.form3.cv_id3.disabled = true;
		        document.form3.cv_in3[i].checked = false;
		        document.form3.cv_in3[i].disabled = true;
		   }
		   /* Idioma 4 sem idioma 3 selecionado antes */
		   if (document.form3.cv_id3.value == 0){
			    document.form3.cv_id4.value = 0;
		   		document.form3.cv_id4.disabled = true;
		        document.form3.cv_in4[i].checked = false;
		        document.form3.cv_in4[i].disabled = true;
		   }   
	   }
  }
}

/* Libera Idioma 2 */
function libera_id2(){
  d = document.form3;
  if (d.cv_in1[0].checked || d.cv_in1[1].checked || d.cv_in1[2].checked){
	  d.cv_id2.disabled = false;
  }
}

/* Libera Idioma 3 */
function libera_id3(){
  d = document.form3;
  if (d.cv_in2[0].checked || d.cv_in2[1].checked || d.cv_in2[2].checked){
	  d.cv_id3.disabled = false;
  }
}

/* Libera Idioma 4 */
function libera_id4(){
  d = document.form3;
  if (d.cv_in3[0].checked || d.cv_in3[1].checked || d.cv_in3[2].checked){
	  d.cv_id4.disabled = false;
  }
}

/* Habilita campos já preenchidos anteriormente */
function habilita_ja(){
	d = document.form3;
	if (d.cv_id1.value > 0) {
		libera('cv_id1','cv_in1b,cv_in1i,cv_in1a');
		libera_id2();		
	}
	if (d.cv_id2.value > 0) {
		libera('cv_id2','cv_in2b,cv_in2i,cv_in2a');
		libera_id3();		
	}
	if (d.cv_id3.value > 0) {
		libera('cv_id3','cv_in3b,cv_in3i,cv_in3a');
		libera_id4();		
	}
	if (d.cv_id4.value > 0) {
		libera('cv_id4','cv_in4b,cv_in4i,cv_in4a');
	}
}

/* Validação dos Campos do Formulário de Experiências Profissionais */
function valida4(theform) {
  d = document.form4;
  if (d.cv_em1.value != "" && d.cv_cg1.value == ""){
      alert("ATENÇÃO:\r\n\r\nCargo ocupado na última empresa não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cg1.focus();
	  return false;
  }
  if (d.cv_em1.value != "" && d.cv_da1.value == ""){
      alert("ATENÇÃO:\r\n\r\nData de admissão na última empresa não informada!\r\n\r\n* Campo Obrigatório.");
	  d.cv_da1.focus();
	  return false;
  }
      erro=0;
	  hoje = new Date();
	  anoAtual = hoje.getFullYear();
	  barras = d.cv_da1.value.split("/");
	  if (barras.length == 3){
	  	dia = barras[0];
	    mes = barras[1];
	    ano = barras[2];
	    resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
	    	if (!resultado) {
	        	alert("ATENÇÃO:\r\n\r\nData de admissão inválida!\r\n\r\n* Digite no formato DD/MM/AAAA\r\n* Favor corrigir para continuar.");
	 		    d.cv_da1.value = "";
	 			d.cv_da1.focus();
	            return false;
	        }
	  }
      erro=0;
	  hoje = new Date();
	  anoAtual = hoje.getFullYear();
	  barras = d.cv_de1.value.split("/");
	  if (barras.length == 3){
	  	dia = barras[0];
	    mes = barras[1];
	    ano = barras[2];
	    resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
	    	if (!resultado) {
	        	alert("ATENÇÃO:\r\n\r\nData de demissão inválida!\r\n\r\n* Digite no formato DD/MM/AAAA\r\n* Favor corrigir para continuar.");
	 		    d.cv_de1.value = "";
	 			d.cv_de1.focus();
	            return false;
	        }
	  }
  if (d.cv_em1.value != "" && d.cv_at1.value == ""){
      alert("ATENÇÃO:\r\n\r\nAtividades exercidas na última empresa não informadas!\r\n\r\n* Campo Obrigatório.");
	  d.cv_at1.focus();
	  return false;
  }
  if (d.cv_em2.value != "" && d.cv_cg2.value == ""){
      alert("ATENÇÃO:\r\n\r\nCargo ocupado na penúltima empresa não informado!\r\n\r\n* Campo Obrigatório.");
	  d.cv_cg2.focus();
	  return false;
  }
  if (d.cv_em2.value != "" && d.cv_da2.value == ""){
      alert("ATENÇÃO:\r\n\r\nData de admissão na penúltima empresa não informada!\r\n\r\n* Campo Obrigatório.");
	  d.cv_da2.focus();
	  return false;
  }
      erro=0;
	  hoje = new Date();
	  anoAtual = hoje.getFullYear();
	  barras = d.cv_da2.value.split("/");
	  if (barras.length == 3){
	  	dia = barras[0];
	    mes = barras[1];
	    ano = barras[2];
	    resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
	    	if (!resultado) {
	        	alert("ATENÇÃO:\r\n\r\nData de admissão inválida!\r\n\r\n* Digite no formato DD/MM/AAAA\r\n* Favor corrigir para continuar.");
	 		    d.cv_da2.value = "";
	 			d.cv_da2.focus();
	            return false;
	        }
	  }
  if (d.cv_em2.value != "" && d.cv_de2.value == ""){
      alert("ATENÇÃO:\r\n\r\nData de demissão na penúltima empresa não informada!\r\n\r\n* Campo Obrigatório.");
	  d.cv_de2.focus();
	  return false;
  }
      erro=0;
	  hoje = new Date();
	  anoAtual = hoje.getFullYear();
	  barras = d.cv_de2.value.split("/");
	  if (barras.length == 3){
	  	dia = barras[0];
	    mes = barras[1];
	    ano = barras[2];
	    resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
	    	if (!resultado) {
	        	alert("ATENÇÃO:\r\n\r\nData de demissão inválida!\r\n\r\n* Digite no formato DD/MM/AAAA\r\n* Favor corrigir para continuar.");
	 		    d.cv_de2.value = "";
	 			d.cv_de2.focus();
	            return false;
	        }
	  }
  if (d.cv_em2.value != "" && d.cv_at2.value == ""){
      alert("ATENÇÃO:\r\n\r\nAtividades exercidas na penúltima empresa não informadas!\r\n\r\n* Campo Obrigatório.");
	  d.cv_at2.focus();
	  return false;
  }
  /* VERIFICA SE PREENCHEU A PENÚLTIMA EMPRESA E NÃO A ÚLTIMA */
  if (d.cv_em2.value !="" && d.cv_em1.value == ""){
      alert("ATENÇÃO:\r\n\r\nPreencha primeiramente a última empresa que trabalhou!\r\n\r\n* Campo Obrigatório.");
	  d.cv_em1.focus();
	  return false;
  }
}
