  var objFocus;


  
  function codeHTML(label, text){
    var height = (codeHTML.arguments.length > 2) ? codeHTML.arguments[2] : 25;

    html = "<table cellpadding='0' cellspacing='0' border='0' width='450'>" +
           "  <tr>" +
           "    <td width='1%' style='height:" + height + "' class='texto_form' valign='top' nowrap><b>#label#:<b>&nbsp;&nbsp;</td>" +
           "    <td class='texto_form' valign='top'>#text#</td>" +
           "  </tr>" +
           "</table>";

    return html.replace("#text#",text).replace("#label#",label);
  }
  
  function mostraMensagem(){
    //Mostra a tab de mensagens
    mostraDiv('divConf', false);

    for(var i = 1; i <= totalTab; i++){
      mostraDiv('div' + i, false);
      document.getElementById('tab' + i).className = "aba";
      document.getElementById('Image' + i).src = "/_img/novo/aba0" + i + ".gif";
    }
    numTab--;

    //Monta a tela de confirmação
    mostraDiv('divMsg', true);
    frames['frame_msg'].document.location.reload();
    habilitaTabs(true);
  }

  function validaMinhaEscolha(){
    var f = document.frm;
    var oFrm = new Form(f);

    var txtCamposObrigatorios, txtCamposInvalidos, txtCamposOutros;
    txtCamposObrigatorios = "";
    txtCamposInvalidos = "";
    txtCamposOutros = "";

    var mostrou;
    var encontrou;
    // Valida 1ª combo
    if(oFrm.getField(combos[0].name).value == ""){
      if(!objFocus) {
        objFocus = oFrm.getField(combos[0].name);

        if(combos[0].op != 1 && combos[0].op != opShow)
          mostraOp(combos[0].op);
      }
      txtCamposObrigatorios += " - " + combos[0].label + "\n";
    }

    var oConc = new Concurso(f.slcDtProva.selectedIndex);
    //valida as demais combos
    for(j = 1; j <= oConc.qtd_opcoes; j++){
      mostrou = false;
      encontrou = (j == 1); // inicializa com true na primeira opção
      for(i = (j - 1) * qtdCombosVaga + 1; i <= j * qtdCombosVaga; i++){
        if(!encontrou)
          encontrou = (oFrm.getField(combos[i].name).value != "");

        if(encontrou){
          if(!oFrm.getField(combos[i].name).value){
            if(!mostrou && j != 1) txtCamposObrigatorios += "\n " + j + "ª Opção\n";

            if(!objFocus) {
              objFocus = oFrm.getField(combos[i].name);

              if(combos[i].op != 1 && combos[i].op != opShow)
                mostraOp(combos[i].op);
            }
            txtCamposObrigatorios += " - " + combos[i].label + "\n";
            mostrou = true;
          }
        }
        else {

          break; // se a primeira combo (não da opção 1) não estiver preenchida, eu saio.
        }
      }
    }
    if(mostrou)
      txtCamposObrigatorios += "\n";

    //verifico se as opções são diferentes
    for(j = 1; j <= oConc.qtd_opcoes - 1; j++)
      for(i = j + 1; i <= oConc.qtd_opcoes; i ++){
        if(eCadastroGeral){
          if(oFrm.getField("slcPerAcad" + i).value == oFrm.getField("slcPerAcad" + j).value
          && oFrm.getField("slcCurso" + i).value == oFrm.getField("slcCurso" + j).value
          && oFrm.getField("slcCampus" + i).value == oFrm.getField("slcCampus" + j).value
          && oFrm.getField("slcTurno" + i).value == oFrm.getField("slcTurno" + j).value){
            if(!objFocus) {
              objFocus = oFrm.getField("slcPerAcad" + i);

              if(i != 1 && i != opShow)
                mostraOp(i);
            }
            txtCamposOutros += " - " + j + "ª Opção igual a " + i + "ª Opção.\n  Escolha opções diferentes.\n";
          }
          //Se o concurso exige que a opções sejam para o mesmo período
          if(oFrm.getField("slcPerAcad" + i).value != "" && oFrm.getField("slcPerAcad" + j).value != "")
            if(oConc.mesmo_periodo && oFrm.getField("slcPerAcad" + i).value != oFrm.getField("slcPerAcad" + j).value){
              if(!objFocus) {
                objFocus = oFrm.getField("slcPerAcad" + i);

                if(i != 1 && i != opShow)
                  mostraOp(i);
              }
              txtCamposOutros += " - O período da " + j + "ª Opção deve ser igual ao período " + i + "ª Opção.\n";
            }
          //Se o concurso exige que a opções sejam para o mesmo curso
          if(oFrm.getField("slcCurso" + i).value != "" && oFrm.getField("slcCurso" + j).value != "")
            if(oConc.mesmo_curso && oFrm.getField("slcCurso" + i).value != oFrm.getField("slcCurso" + j).value){
              if(!objFocus) {
                objFocus = oFrm.getField("slcCurso" + i);

                if(i != 1 && i != opShow)
                  mostraOp(i);
              }
              txtCamposOutros += " - O curso da " + j + "ª opção deve ser igual ao curso " + i + "ª opção.\n";
            }
        }
        else {
          if(oFrm.getField("slcCurso" + i).value == oFrm.getField("slcCurso" + j).value
          && oFrm.getField("slcRegiao" + i).value == oFrm.getField("slcRegiao" + j).value
          && oFrm.getField("slcArea" + i).value == oFrm.getField("slcArea" + j).value){
            if(!objFocus) {
              objFocus = oFrm.getField("slcCurso" + i);

              if(i != 1 && i != opShow)
                mostraOp(i);
            }
            txtCamposOutros += " - " + j + "ª Opção igual a " + i + "ª Opção.\n  Escolha opções diferentes.\n";
          }
        }
      }
    if(oConc.tem_prova){
      if(!f.slcLocalProva.value){
        if(!objFocus) objFocus = f.slcLocalProva;
        txtCamposObrigatorios += " - Local de Prova\n";
      }

      if(oConc.tem_lingua)
        if(!f.slcLinguaEstrangeira.value){
          if(!objFocus) objFocus = f.slcLinguaEstrangeira;
          txtCamposObrigatorios += " - Língua Estrangeira\n";
        }

      if(!f.rdbNecesEsp[0].checked && !f.rdbNecesEsp[1].checked){
        if(!objFocus) objFocus = f.rdbNecesEsp[0];
        txtCamposObrigatorios += " - Necessidades Especiais para fazer a prova?\n";
      }
      else
        if(f.rdbNecesEsp[0].checked && !f.txtNomNecesEsp.value){
          if(!objFocus) objFocus = f.txtNomNecesEsp;
          txtCamposObrigatorios += " - Quais?\n";
        }
    }

    if(txtCamposObrigatorios)
      txtCamposObrigatorios = "campos de preenchimento obrigatório:\n\n" + txtCamposObrigatorios + "\n";
      
    if(txtCamposInvalidos)
      txtCamposInvalidos = "campos com conteúdo inválido:\n\n" + txtCamposInvalidos + "\n";
    
    if(txtCamposOutros)
      txtCamposOutros = "outros problemas:\n\n" + txtCamposOutros + "\n";
      
    return txtCamposObrigatorios + txtCamposInvalidos + txtCamposOutros;
  }  
  
  function validaMeusDados(){
    var f = document.frm;
    
    var txtCamposObrigatorios, txtCamposInvalidos, txtCamposOutros;
    txtCamposObrigatorios = "";
    txtCamposInvalidos = "";
    txtCamposOutros = "";
        
    if(!f.txtNomCandidato.value){
      if(!objFocus) objFocus = f.txtNomCandidato;
      txtCamposObrigatorios += " - Nome Completo\n";
    }
    else{
      if(f.txtNomCandidato.value.indexOf(" ") == -1
      ||f.txtNomCandidato.value.length < 5){
        if(!objFocus) objFocus = f.txtNomCandidato;
        txtCamposOutros += " - O Nome Completo deve conter pelo menos 2 palavras\n" +
                           "   e o tamanho mínimo de 5 caracteres\n";
      }
    }
    if(eCadastroGeral){
      if(!f.txtNomMae.value){
        if(!objFocus) objFocus = f.txtNomMae;
        txtCamposObrigatorios += " - Mãe\n";
      }
      else{
        if(f.txtNomMae.value.indexOf(" ") == -1
        ||f.txtNomMae.value.length < 5){
          if(!objFocus) objFocus = f.txtNomMae;
          txtCamposOutros += " - O Nome da Mãe deve conter pelo menos 2 palavras\n" +
                             "   e o tamanho mínimo de 5 caracteres\n";
        }
      }

      if(f.txtNomPai.value){
        if(f.txtNomPai.value.indexOf(" ") == -1
        ||f.txtNomPai.value.length < 5){
          if(!objFocus) objFocus = f.txtNomPai;
          txtCamposOutros += " - O Nome do Pai deve conter pelo menos 2 palavras\n" +
                             "   e o tamanho mínimo de 5 caracteres\n";
        }
      }
    }
    if(f.txtDtNasc.value == "" || f.txtDtNasc.value == "dd/mm/aaaa"){
      if(!objFocus) objFocus = f.txtDtNasc;
      txtCamposObrigatorios += " - Data de Nascimento\n";
    }
    else {
      if(!isValidContent(f.txtDtNasc, "date")){
        if(!objFocus) objFocus = f.txtDtNasc;
        txtCamposInvalidos += " - Data de Nascimento\n";
      }
      else {
//FERNANDO
/*
    alert("parseInt(obj.value.split(/)[2]) = " + parseInt(f.txtDtNasc.value.split("/")[2]));
	alert("parseInt(obj.form.txtDtAtual.value.split(/)[2]) = " + parseInt(f.txtDtAtual.value.split("/")[2]));
	alert("eCadastroGeral = " + eCadastroGeral);
	alert("(eCadastroGeral ? 10 : 15) = " + (eCadastroGeral ? 10 : 15));
*/		
		if(parseInt(f.txtDtNasc.value.split("/")[2]) > parseInt(f.txtDtAtual.value.split("/")[2]) - (eCadastroGeral ? 10 : 15)){
          if(!objFocus) objFocus = f.txtDtNasc;
          txtCamposOutros += " - Ano de Nascimento inválido\n";
        }
      }
    }

    if(!f.rdbSexo[0].checked && !f.rdbSexo[1].checked){
      if(!objFocus) objFocus = f.rdbSexo[0];
      txtCamposObrigatorios += " - Sexo\n";
    }

    if(!f.rdbNasc[0].checked && !f.rdbNasc[1].checked){
      if(!objFocus) objFocus = f.rdbNasc[0];
      txtCamposObrigatorios += " - Nacionalidade\n";
    }

    if(f.rdbNasc[1].checked){ //Estrangeiro

      if(!f.slcPaisNasc.value){
        if(!objFocus) objFocus = f.slcPaisNasc;
        txtCamposObrigatorios += " - País de Origem\n";
      }

      /*if(!f.txtPassaporte.value){
        if(!objFocus) objFocus = f.txtPassaporte;
        txtCamposObrigatorios += " - Passaporte\n";
      }*/
    }
    //else { //Brasileiro
    if(!eCadastroGeral)
      if(!f.txtCPF.value){
        if(!objFocus) objFocus = f.txtCPF;
        txtCamposObrigatorios += " - CPF\n";
      }

    if(f.txtCPF.value && !isValidContent(f.txtCPF, "cpf")){
      if(!objFocus) objFocus = f.txtCPF;
      txtCamposInvalidos += " - CPF\n";
    }

    if(!f.txtIdent.value){
      if(!objFocus) objFocus = f.txtIdent;
      txtCamposObrigatorios += " - Identidade\n";
    }

    if(!f.txtOrgao.value){
      if(!objFocus) objFocus = f.txtOrgao;
      txtCamposObrigatorios += " - Órgão Emissor\n";
    }

    if(f.txtDtEmissao.value == "" || f.txtDtEmissao.value == "dd/mm/aaaa"){
      if(!objFocus) objFocus = f.txtDtEmissao;
      txtCamposObrigatorios += " - Data da Emissão\n";
    }
    else {
      if(!isValidContent(f.txtDtEmissao, "date")){
        if(!objFocus) objFocus = f.txtDtEmissao;
        txtCamposInvalidos += " - Data da Emissão\n";
      }
      else {
        if(f.txtDtNasc.value != "" && f.txtDtNasc.value != "dd/mm/aaaa"){
          dtNasc = new Date();
          dtNasc.setValue(f.txtDtNasc.value);

          dtEmissao = new Date();
          dtEmissao.setValue(f.txtDtEmissao.value);

          dtAtual = new Date();
          dtAtual.setValue(f.txtDtAtual.value);

          if(!between(dtEmissao, dtNasc, dtAtual)){
            if(!objFocus) objFocus = f.txtDtEmissao;
            txtCamposOutros += " - Data da Emissão deve ser igual ou superior a Data de Nascimento\n" +
                               "   e menor ou igual a data de hoje\n";
          }
        }
      }
    }

    if(!f.slcUFIdent.value){
      if(!objFocus) objFocus = f.slcUFIdent;
      txtCamposObrigatorios += " - UF\n";
    }

    if(!eCadastroGeral)
      if(f.txtRegProf.value || f.txtOrgaoRegProf.value || f.slcUFRegProf.value){
        if(!f.txtRegProf.value){
          if(!objFocus) objFocus = f.txtRegProf;
          txtCamposObrigatorios += " - Registro Profissional\n";
        }

        if(!f.txtOrgaoRegProf.value){
          if(!objFocus) objFocus = f.txtOrgaoRegProf;
          txtCamposObrigatorios += " - Órgão Emissor do Registro Profissional\n";
        }

        if(!f.slcUFRegProf.value){
          if(!objFocus) objFocus = f.slcUFRegProf;
          txtCamposObrigatorios += " - UF de emissão do Registro Profissional\n";
        }
      }
    //}

    if(txtCamposObrigatorios)
      txtCamposObrigatorios = "campos de preenchimento obrigatório:\n\n" + txtCamposObrigatorios + "\n";

    if(txtCamposInvalidos)
      txtCamposInvalidos = "campos com conteúdo inválido:\n\n" + txtCamposInvalidos + "\n";

    if(txtCamposOutros)
      txtCamposOutros = "outros problemas:\n\n" + txtCamposOutros + "\n";

    return txtCamposObrigatorios + txtCamposInvalidos + txtCamposOutros;
  }

  function validaMeusContatos(){
    var f = document.frm;

    var txtCamposObrigatorios, txtCamposInvalidos, txtCamposOutros;
    txtCamposObrigatorios = "";
    txtCamposInvalidos = "";
    txtCamposOutros = "";

    if(!f.txtEmail.value){
      if(!objFocus) objFocus = f.txtEmail;
      txtCamposObrigatorios += " - E-mail\n";
    }
    else
      if(!isValidContent(f.txtEmail, "email")){
        if(!objFocus) objFocus = f.txtEmail;
        txtCamposInvalidos += " - E-mail\n";
      }

    if(!f.txtDDDFix.value){
      if(!objFocus) objFocus = f.txtDDDFix;
      txtCamposObrigatorios += " - DDD do Telefone fixo\n";
    }
    else {
      if(!isValidContent(f.txtDDDFix, "unsignedinteger")){
        if(!objFocus) objFocus = f.txtDDDFix;
        txtCamposInvalidos += " - DDD do Telefone fixo\n";
      }
      if(f.txtDDDFix.value.length < 2){
        if(!objFocus) objFocus = f.txtDDDFix;
        txtCamposOutros += " - DDD do Telefone fixo deve conter 2 algarismos\n";
      }
    }

    if(!f.txtTelFix.value){
      if(!objFocus) objFocus = f.txtTelFix;
      txtCamposObrigatorios += " - Número do Telefone fixo\n";
    }
    else {
      if(!isValidContent(f.txtTelFix, "unsignedinteger")){
        if(!objFocus) objFocus = f.txtTelFix;
        txtCamposInvalidos += " - Número do Telefone fixo\n";
      }
      if(!between(f.txtTelFix.value.length, 7, 8)){
        if(!objFocus) objFocus = f.txtTelFix;
        txtCamposOutros += " - Número do Telefone fixo deve conter 7 ou 8 algarismos\n";
      }
    }

    if(!f.txtDDDCel.value && f.txtTelCel.value){
      if(!objFocus) objFocus = f.txtDDDCel;
      txtCamposObrigatorios += " - DDD do Telefone celular\n";
    }
    else {
      if(f.txtTelCel.value && !isValidContent(f.txtDDDCel, "unsignedinteger")){
        if(!objFocus) objFocus = f.txtDDDCel;
        txtCamposInvalidos += " - DDD do Telefone celular\n";
      }
      if(f.txtTelCel.value && f.txtDDDCel.value.length < 2){
        if(!objFocus) objFocus = f.txtDDDCel;
        txtCamposOutros += " - DDD do Telefone fixo deve conter 2 algarismos\n";
      }
    }

    if(!f.txtTelCel.value && f.txtDDDCel.value){
      if(!objFocus) objFocus = f.txtTelCel;
      txtCamposObrigatorios += " - Número do Telefone celular\n";
    }
    else {
      if(f.txtDDDCel.value && !isValidContent(f.txtTelCel, "unsignedinteger")){
        if(!objFocus) objFocus = f.txtTelCel;
        txtCamposInvalidos += " - Número do Telefone celular\n";
      }
      if(f.txtDDDCel.value && !between(f.txtTelCel.value.length, 7, 8)){
        if(!objFocus) objFocus = f.txtTelCel;
        txtCamposOutros += " - Número do Telefone fixo deve conter 7 ou 8 algarismos\n";
      }
    }

		var validCel = false;

 		if(f.chkIndSms)
			validCel = f.chkIndSms.checked;

    if(validCel)
      if(!f.txtTelCel.value || !f.txtDDDCel.value){
	      if(!objFocus) objFocus = f.txtTelCel;
	      txtCamposObrigatorios += " - Número do Telefone celular\n";
    }

    if(!f.txtCepEndereco.value){
      if(!objFocus) objFocus = f.txtCepEndereco;
      txtCamposObrigatorios += " - CEP\n";
    }
    else {
      if(!isValidContent(f.txtCepEndereco, "unsignedinteger")){
        if(!objFocus) objFocus = f.txtCepEndereco;
        txtCamposInvalidos += " - CEP\n";
      }

      if(f.txtCepEndereco.value.length < 8){
        if(!objFocus) objFocus = f.txtCepEndereco;
        txtCamposOutros += " - CEP deve conter 8 algarismos\n";
      }
    }

    if(!f.txtNomLogradouro.value){
      if(!objFocus) objFocus = f.txtNomLogradouro;
      txtCamposObrigatorios += " - Endereço\n";
    }

    if(!f.txtNumEndereco.value){
      if(!objFocus) objFocus = f.txtNumEndereco;
      txtCamposObrigatorios += " - Número\n";
    }

    if(!f.slcSglUf.value){
      if(!objFocus) objFocus = f.slcSglUf;
      txtCamposObrigatorios += " - UF\n";
    }

    if(!f.slcCodMunicipio.value){
      if(!objFocus) objFocus = f.slcCodMunicipio;
      txtCamposObrigatorios += " - Município\n";
    }

    if(!f.slcCodBairro.value){
      if(!objFocus) objFocus = f.slcCodBairro;
      txtCamposObrigatorios += " - Bairro\n";
    }

    if(txtCamposObrigatorios)
      txtCamposObrigatorios = "campos de preenchimento obrigatório:\n\n" + txtCamposObrigatorios + "\n";

    if(txtCamposInvalidos)
      txtCamposInvalidos = "campos com conteúdo inválido:\n\n" + txtCamposInvalidos + "\n";

    if(txtCamposOutros)
      txtCamposOutros = "outros problemas:\n\n" + txtCamposOutros + "\n";

    return txtCamposObrigatorios + txtCamposInvalidos + txtCamposOutros;
  }

  function validaOndeEstudei(){
    var f = document.frm;

    var txtCamposObrigatorios, txtCamposInvalidos, txtCamposOutros;
    txtCamposObrigatorios = "";
    txtCamposInvalidos = "";
    txtCamposOutros = "";
    if(eCadastroGeral){
      if(!f.rdbTipoInstMedio[0].checked
      && !f.rdbTipoInstMedio[1].checked
      && !f.rdbTipoInstMedio[2].checked
      && !f.rdbTipoInstMedio[3].checked){
        if(!objFocus) objFocus = f.rdbTipoInstMedio[0];
        txtCamposObrigatorios += " - Tipo de Instituição\n";
      }

      if(!f.slcUFInstEnsinoMedio.value){
        if(!objFocus) objFocus = f.slcUFInstEnsinoMedio;
        txtCamposObrigatorios += " - UF\n";
      }

      if(!f.slcMunicipioInstEnsinoMedio.value){
        if(!objFocus) objFocus = f.slcMunicipioInstEnsinoMedio;
        txtCamposObrigatorios += " - Município\n";
      }

      if(!f.slcCodInstituicaoEnsMed.value){
        if(!objFocus) objFocus = f.slcCodInstituicaoEnsMed;
        txtCamposObrigatorios += " - Instituição de Ensino\n";
      }
      else
        if(f.slcCodInstituicaoEnsMed.value == "0" && !f.txtNomInstEnsinoMed.value){
          if(!objFocus) objFocus = f.txtNomInstEnsinoMed;
          txtCamposObrigatorios += " - Instituição de Ensino\n";
        }

      if(!f.txtAnoConclusao.value){
        if(!objFocus) objFocus = f.txtAnoConclusao;
        txtCamposObrigatorios += " - Ano de Conclusão\n";
      }
      else {
        if(!isValidContent(f.txtAnoConclusao, "unsignedinteger")){
          if(!objFocus) objFocus = f.txtAnoConclusao;
          txtCamposInvalidos += " - Ano de Conclusão\n";
        }
        else {
          if(f.txtDtAtual.value){
            if(!between(parseInt(f.txtAnoConclusao.value)
			                 ,parseInt(f.txtDtNasc.value.split("/")[2]) + (eCadastroGeral ? 10 : 15)
                       ,parseInt(f.txtDtAtual.value.split("/")[2]) + (eCadastroGeral ? 3 : 0))){
              if(!objFocus) objFocus = f.txtAnoConclusao;
              txtCamposOutros += " - Ano de Conclusão inválido\n";
            }
          }
        }
      }
    }
    else
      if(f.slcPaisInstEns.value || f.slcUFInstEnsino.value || f.slcCodInstEnsino.value || f.txtAnoConclusao.value){
        if(!f.slcPaisInstEns.value){
          if(!objFocus) objFocus = f.slcPaisInstEns;
          txtCamposObrigatorios += " - País\n";
        }

        if(f.slcPaisInstEns.value == '55')
          if(!f.slcUFInstEnsino.value){
            if(!objFocus) objFocus = f.slcUFInstEnsino;
            txtCamposObrigatorios += " - UF\n";
          }

        if(!f.slcCodInstEnsino.value){
          if(!objFocus) objFocus = f.slcCodInstEnsino;
          txtCamposObrigatorios += " - Instituição de Ensino\n";
        }
        else
          if(f.slcCodInstEnsino.value == "0" && !f.txtNomInstEnsino.value){
            if(!objFocus) objFocus = f.txtNomInstEnsino;
            txtCamposObrigatorios += " - Instituição de Ensino\n";
          }

        if(!f.txtAnoConclusao.value){
          if(!objFocus) objFocus = f.txtAnoConclusao;
          txtCamposObrigatorios += " - Ano de Conclusão\n";
        }
        else {
          if(!isValidContent(f.txtAnoConclusao, "unsignedinteger")){
            if(!objFocus) objFocus = f.txtAnoConclusao;
            txtCamposInvalidos += " - Ano de Conclusão\n";
          }
          else {
            if(f.txtDtAtual.value){
              if(!between(parseInt(f.txtAnoConclusao.value)
                         ,parseInt(f.txtDtNasc.value.split("/")[2]) + 15
                         ,parseInt(f.txtDtAtual.value.split("/")[2]))){
                if(!objFocus) objFocus = f.txtAnoConclusao;
                txtCamposOutros += " - Ano de Conclusão inválido\n";
              }
            }
          }
        }
      }

    if(txtCamposObrigatorios)
      txtCamposObrigatorios = "campos de preenchimento obrigatório:\n\n" + txtCamposObrigatorios + "\n";
      
    if(txtCamposInvalidos)
      txtCamposInvalidos = "campos com conteúdo inválido:\n\n" + txtCamposInvalidos + "\n";

    if(txtCamposOutros)
      txtCamposOutros = "outros problemas:\n\n" + txtCamposOutros + "\n";

    return txtCamposObrigatorios + txtCamposInvalidos + txtCamposOutros;
  }
  
  /* verifica se marcou a concordancia na leitura dos termos */
  function validaTermosEdital(){
    var f = document.frm;
    var checkTermos = '';
    if (f.termosEdital.checked == false){
      checkTermos = 'campo de preenchimento obrigatório:\n\n - Termos do edital';
      if(!objFocus) objFocus = f.termosEdital;
    }
    return checkTermos;
  }

  function validaOutrasInformacoes(){
    var f = document.frm;

    var txtCamposObrigatorios, txtCamposInvalidos, txtCamposOutros;
    txtCamposObrigatorios = "";
    txtCamposInvalidos = "";
    txtCamposOutros = "";
    var oConc = new Concurso(f.slcDtProva.selectedIndex);

    if(oConc.tem_aba){
      //ENEM
      if(f.RC20.value == 'S'){
        if(!f.txtInscEnem.value){
          if(!objFocus) objFocus = f.txtInscEnem;
            txtCamposObrigatorios += " - Número de Inscrição no ENEM\n";
        }
        else
          if(!isValidContent(f.txtInscEnem, "unsignedinteger")){
            if(!objFocus) objFocus = f.txtInscEnem;
            txtCamposInvalidos += " - Número de Inscrição no ENEM\n";
          }

        if(!f.slcAnoEnem.value){
          if(!objFocus) objFocus = f.slcAnoEnem;
          txtCamposObrigatorios += " - Ano de Participação no ENEM\n";
        }
      }
      //VOTAÇÃO
      if(f.RC26.value == 'S'){
        if(!f.ind_votou[0].checked && !f.ind_votou[1].checked){
          if(!objFocus) objFocus = f.ind_votou[0];
            txtCamposObrigatorios += " - " + f.msgVotacao.value + "\n";
        }
      }
    }

    if(txtCamposObrigatorios)
      txtCamposObrigatorios = "campos de preenchimento obrigatório:\n\n" + txtCamposObrigatorios + "\n";

    if(txtCamposInvalidos)
      txtCamposInvalidos = "campos com conteúdo inválido:\n\n" + txtCamposInvalidos + "\n";

    if(txtCamposOutros)
      txtCamposOutros = "outros problemas:\n\n" + txtCamposOutros + "\n";

    return txtCamposObrigatorios + txtCamposInvalidos + txtCamposOutros;
  }


//Valida DDD e Telefone
function validDDD(obj){
  if(!isValidContent(obj, "unsignedinteger") && obj.value != ""){
    alert("Insira somente números.");
    setFocus(obj); // inserido para resolver problema com o mozilla
    return false;
  }

	if(obj.value.length < 2 && obj.value.length > 0){
		alert("DDD do Telefone deve conter 2 algarismos.");
		setFocus(obj); // inserido para resolver problema com o mozilla
	}
}

function validTel(obj){
  if(!isValidContent(obj, "unsignedinteger") && obj.value != ""){
    alert("Insira somente números.");
    setFocus(obj); // inserido para resolver problema com o mozilla
    return false;
  }

	if(!between(obj.value.length, 7, 8) && obj.value.length > 0){
		alert("Número do Telefone deve conter 7 ou 8 algarismos.");
		setFocus(obj); // inserido para resolver problema com o mozilla
	}
}

//Valida se nome tem mais de 5 caracteres ou mais de uma palavra
function validNome(obj, name){
  obj.value = trim(obj.value, true);

  if (obj.value != ""){
		if(obj.value.indexOf(" ") == -1
		|| obj.value.length < 5){
      alert(" O " + name + " deve conter pelo menos 2 palavras e o tamanho mínimo de 5 caracteres.");
      setFocus(obj);
    }
	}
}

//Valida Ano de Conclusão
function validAnoConclusao(obj){
	if (obj.value != ''){
    if(!isValidContent(obj, "unsignedinteger")){
		  alert("Ano de Conclusão inválido.");
		  setFocus(obj); // inserido para resolver problema com o mozilla
    }
    else {
      if(obj.value){
		  	if (obj.form.txtDtNasc.value != "dd/mm/aaaa"){
				  if(!between(parseInt(obj.value)
			               ,parseInt(obj.form.txtDtNasc.value.split("/")[2]) + (eCadastroGeral ? 10 : 15)
                     ,parseInt(obj.form.txtDtAtual.value.split("/")[2]) + (eCadastroGeral ? 3 : 0))){
            alert("Ano de Conclusão inválido.");
            setFocus(obj); // inserido para resolver problema com o mozilla
          }
        }
        else{
          if(obj.value > parseInt(obj.form.txtDtAtual.value.split("/")[2]) + (eCadastroGeral ? 3 : 0)){
            alert("Ano de Conclusão inválido.");
            setFocus(obj); // inserido para resolver problema com o mozilla
          }
        }
      }
    }
  }
}


function validEmail(obj){
  if(!isValidEmail(obj.value) && obj.value != ''){
    alert("E-mail inválido.");
    setFocus(obj); // inserido para resolver problema com o mozilla
  }
}



function validCPF(obj){
  if(!isValidContent(obj, "cpf") && obj.value != ""){
    alert("CPF inválido.");
    setFocus(obj); // inserido para resolver problema com o mozilla
  }
}


//Valida números
function validNumber(obj){
  if(!isValidContent(obj, "unsignedinteger") && obj.value != ""){
    alert("Insira somente números.");
    setFocus(obj); // inserido para resolver problema com o mozilla
  }
}


function validDate(obj){
  if(!isValidDate(obj.value) && obj.value != 'dd/mm/aaaa'){
    alert("Data inválida.");
    setFocus(obj); // inserido para resolver problema com o mozilla
  }
}


function validDtEmissaoRG(obj){
  if (obj.value != 'dd/mm/aaaa' && obj.value != ''){
    if(!isValidDate(obj.value)){
      alert("Data inválida.");
      setFocus(obj); // inserido para resolver problema com o mozilla
      return false;
    }

    var dtEmissao = new Date();
    dtEmissao.setValue(obj.value);

    var dtAtual = new Date();
    dtAtual.setValue(obj.form.txtDtAtual.value);

    if(obj.form.txtDtNasc.value != "" && obj.form.txtDtNasc.value != "dd/mm/aaaa"){
      dtNasc = new Date();
      dtNasc.setValue(obj.form.txtDtNasc.value);

      if(!between(dtEmissao, dtNasc, dtAtual)){
        alert("Data da Emissão deve ser igual ou superior a Data de Nascimento\n" +
              " e menor ou igual a data de hoje");
        setFocus(obj); // inserido para resolver problema com o mozilla
      }
    }
    else {
      if(dtEmissao > dtAtual){
        alert("Data da Emissão deve ser menor ou igual a data de hoje");
        setFocus(obj); // inserido para resolver problema com o mozilla
      }
    }
  }
}

function validDtNascimento(obj){
  if (obj.value != 'dd/mm/aaaa' && obj.value != ''){
    if(!isValidDate(obj.value)){
      alert("Data inválida.");
      setFocus(obj); // inserido para resolver problema com o mozilla
      return false;
    }
    if(parseInt(obj.value.split("/")[2]) > parseInt(obj.form.txtDtAtual.value.split("/")[2]) - (eCadastroGeral ? 10 : 15)){
      alert("Ano de Nascimento inválido");
      setFocus(obj); // inserido para resolver problema com o mozilla
    }
  }
}

function validData(data){
  if (jQuery.trim(data) != ''){
    if(!isValidDate(data)){
      alert("Data inválida.");
      return false;
    }
  }
  return true;
}




