var http;

function getHTTPObject() {
  http = null;
  if(window.XMLHttpRequest)
    xmlhttp = new XMLHttpRequest();
  else if(window.ActiveXObject)
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  return xmlhttp;
}

function verificaFormBusca(form){
  var erro = '';
  var focou = false;
  var objFocus = null;

  if(!form.noIdade.checked){
    if(trim(form.idadeStart.value).length == 0 || isNaN(form.idadeStart.value)){
      erro += "  - Preencha a idade inicial\n";
      form.idadeStart.className = 'campo1';
      if(!focou){
        focou = true;
        objFocus = form.idadeStart;
      }
    } else
      form.idadeStart.className = 'campo2';

    if(trim(form.idadeEnd.value).length == 0 || isNaN(form.idadeEnd.value)){
      erro += "  - Preencha a idade final\n";
      form.idadeEnd.className = 'campo1';
      if(!focou){
        focou = true;
        objFocus = form.idadeEnd;
      }
    } else if(Number(form.idadeEnd.value) < Number(form.idadeStart.value)){
      erro += "  - A idade final deve ser maior que a idade inicial\n";
      form.idadeEnd.className = 'campo1';
      if(!focou){
        focou = true;
        objFocus = form.idadeEnd;
      }
    } else
      form.idadeEnd.className = 'campo2';

  }

  if(erro!=''){
    alert("Corrija o(s) seguinte(s) erro(s):\n" + erro);
    objFocus.focus();
    return false;
  } else {
    form.enviar.disabled = true;
    return true;
  }
}

function verificaFormVaga(form){
  var invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
  var erro = '';
  var focou = false;
  var objFocus = null;

  if(trim(form.nome.value).length == 0) {
    erro += "  - Preencha o nome\n";
    form.nome.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.nome;
    }
  } else 
    form.nome.className='campo2';

  if(trim(form.empresa.value).length == 0) {
    erro += "  - Preencha a empresa\n";
    form.empresa.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.empresa;
    }
  } else 
    form.empresa.className='campo2';

  if(trim(form.telefone.value).length < 14) {
    erro += "  - O telefone deve estar no formato: (XX) XXXX-XXXX\n";
    form.telefone.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.telefone;
    }
  } else 
    form.telefone.className='campo2';

  if(invalid.test(form.email.value) == false) {
    erro += "  - Seu endereço de e-mail é inválido\n";
    form.email.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.email;
    }
  } else 
    form.email.className='campo2';

  if(form.cargo.value == "0") {
    erro += "  - Escolha o cargo\n";
    form.cargo.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.cargo;
    }
  } else 
    form.cargo.className='campo2';

  if(erro!=''){
    alert("Corrija o(s) seguinte(s) erro(s):\n" + erro);
    objFocus.focus();
    return false;
  } else {
    form.enviar.disabled = true;
    return true;
  }
}

function verificaFormCurriculo(form, verificaEMAIL){
  var invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
  var erro = '';
  var focou = false;
  var objFocus = null;

  if(verificaEMAIL){
    if(invalid.test(form.email.value) == false) {
      erro += "  - Seu endereço de e-mail é inválido\n";
      form.email.className = 'campo1';
      if(!focou){
        focou = true;
        objFocus = form.email;
      }
    } else if(form.disponivel == 'undefined' || form.disponivel == null || form.disponivel.value == 0){
      erro += "  - Este endereço de e-mail já está em uso\n";
      form.email.className = 'campo1';
      if(!focou){
        focou = true;
        objFocus = form.email;
      }
    } else 
      form.email.className='campo2';

    if(trim(form.senha.value).length < 4){
      erro += "  - Digite a senha com no mímino 4 caracteres\n";
      form.senha.className = 'campo1';
      if(!focou){
        focou = true;
        objFocus = form.senha;
      }
    } else
      form.senha.className = 'campo2';
  }

  if(form.csenha.value != form.senha.value){
    erro += "  - Senha não confere\n";
    form.csenha.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.csenha;
    }
  } else
    form.csenha.className = 'campo2';

  if(trim(form.nome.value).length == 0) {
    erro += "  - Preencha o nome\n";
    form.nome.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.nome;
    }
  } else 
    form.nome.className='campo2';

  if(trim(form.dia_nascimento.value).length == 0) {
    erro += "  - Preencha o dia do nascimento\n";
    form.dia_nascimento.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.dia_nascimento;
    }
  } else 
    form.dia_nascimento.className='campo2';

  if(trim(form.mes_nascimento.value).length == 0) {
    erro += "  - Preencha o mês do nascimento\n";
    form.mes_nascimento.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.mes_nascimento;
    }
  } else 
    form.mes_nascimento.className='campo2';

  if(trim(form.ano_nascimento.value).length == 0) {
    erro += "  - Preencha o ano do nascimento\n";
    form.ano_nascimento.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.ano_nascimento;
    }
  } else 
    form.ano_nascimento.className='campo2';

  if(trim(form.naturalidade.value).length == 0) {
    erro += "  - Preencha a naturalidade\n";
    form.naturalidade.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.naturalidade;
    }
  } else 
    form.naturalidade.className='campo2';

  if(trim(form.endereco.value).length == 0) {
    erro += "  - Preencha o endereço\n";
    form.endereco.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.endereco;
    }
  } else 
    form.endereco.className='campo2';

  if(trim(form.numero.value).length == 0) {
    erro += "  - Preencha o número do endereço\n";
    form.numero.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.numero;
    }
  } else 
    form.numero.className='campo2';

  if(trim(form.bairro.value).length == 0) {
    erro += "  - Preencha o bairro do endereço\n";
    form.bairro.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.bairro;
    }
  } else 
    form.bairro.className='campo2';

  if(trim(form.cep.value).length != 9) {
    erro += "  - Preencha o CEP do endereço no formato XXXXX-XXX\n";
    form.cep.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.cep;
    }
  } else 
    form.cep.className='campo2';

  if(trim(form.cidade.value).length == 0) {
    erro += "  - Preencha a cidade\n";
    form.cidade.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.cidade;
    }
  } else 
    form.cidade.className='campo2';

  if(form.estado.value == "0") {
    erro += "  - Escolha o estado\n";
    form.estado.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.estado;
    }
  } else 
    form.estado.className='campo2';

  if(trim(form.telefone_residencial.value).length > 0 && trim(form.telefone_residencial.value).length < 14) {
    erro += "  - O telefone residencial deve estar no formato (XX) XXXX-XXXX\n";
    form.telefone_residencial.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.telefone_residencial;
    }
  } else 
    form.telefone_residencial.className='campo2';

  if(trim(form.telefone_comercial.value).length > 0 && trim(form.telefone_comercial.value).length < 14) {
    erro += "  - O telefone comercial deve estar no formato (XX) XXXX-XXXX\n";
    form.telefone_comercial.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.telefone_comercial;
    }
  } else 
    form.telefone_comercial.className='campo2';

  if(trim(form.celular.value).length > 0 && trim(form.celular.value).length < 14) {
    erro += "  - O telefone celular deve estar no formato (XX) XXXX-XXXX\n";
    form.celular.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.celular;
    }
  } else 
    form.celular.className='campo2';

  if(trim(form.telefone_recados.value).length > 0 && trim(form.telefone_recados.value).length < 14) {
    erro += "  - O telefone de recados deve estar no formato (XX) XXXX-XXXX\n";
    form.telefone_recados.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.telefone_recados;
    }
  } else 
    form.telefone_recados.className='campo2';

  if(form.formacao.value == "1" && trim(form.instituicao.value).length == 0) {
    erro += "  - Preencha a Instituição da formação\n";
    form.instituicao.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.instituicao;
    }
  } else 
    form.instituicao.className='campo2';

  if(form.cargo.value == "0") {
    erro += "  - Escolha o cargo\n";
    form.cargo.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.cargo;
    }
  } else 
    form.cargo.className='campo2';
    
  if(trim(form.rp_entrada1.value).length > 0 && trim(form.rp_entrada1.value).length < 10) {
    erro += "  - Preencha a data de entrada corretamente [Referência Profissional Última ou Atual]\n";
    form.rp_entrada1.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.rp_entrada1;
    }
  } else 
    form.rp_entrada1.className='campo2';
    
  if(trim(form.rp_saida1.value).length > 0 && trim(form.rp_saida1.value).length < 10) {
    erro += "  - Preencha a data de saída corretamente [Referência Profissional Última ou Atual]\n";
    form.rp_saida1.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.rp_saida1;
    }
  } else 
    form.rp_saida1.className='campo2';

  if(trim(form.rp_entrada2.value).length > 0 && trim(form.rp_entrada2.value).length < 10) {
    erro += "  - Preencha a data de entrada corretamente [Referência Profissional Penúltima]\n";
    form.rp_entrada2.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.rp_entrada2;
    }
  } else 
    form.rp_entrada2.className='campo2';
    
  if(trim(form.rp_saida2.value).length > 0 && trim(form.rp_saida2.value).length < 10) {
    erro += "  - Preencha a data de saída corretamente [Referência Profissional Penúltima]\n";
    form.rp_saida2.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.rp_saida2;
    }
  } else 
    form.rp_saida2.className='campo2';

  if(trim(form.rp_entrada3.value).length > 0 && trim(form.rp_entrada3.value).length < 10) {
    erro += "  - Preencha a data de entrada corretamente [Referência Profissional Ante-Penúltima]\n";
    form.rp_entrada3.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.rp_entrada3;
    }
  } else 
    form.rp_entrada3.className='campo2';
    
  if(trim(form.rp_saida3.value).length > 0 && trim(form.rp_saida3.value).length < 10) {
    erro += "  - Preencha a data de saída corretamente [Referência Profissional Ante-Penúltima]\n";
    form.rp_saida3.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.rp_saida3;
    }
  } else 
    form.rp_saida3.className='campo2';

  if(erro!=''){
    alert("Corrija o(s) seguinte(s) erro(s):\n" + erro);
    objFocus.focus();
    return false;
  } else {
    form.enviar.disabled = true;
    return true;
  }
}

function verificaFormCurriculoLogin(form){
  var invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
  var erro = '';
  var focou = false;
  var objFocus = null;

  if(invalid.test(form.email.value) == false) {
    erro += "  - Seu endereço de e-mail é inválido\n";
    form.email.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.email;
    }
  } else 
    form.email.className='campo2';

  if(trim(form.senha.value).length < 4){
    erro += "  - Digite a senha com no mímino 4 caracteres\n";
    form.senha.className = 'campo1';
    if(!focou){
      focou = true;
      objFocus = form.senha;
    }
  } else
    form.senha.className = 'campo2';

  if(erro!=''){
    alert("Corrija o(s) seguinte(s) erro(s):\n" + erro);
    objFocus.focus();
    return false;
  } else {
    form.enviar.disabled = true;
    return true;
  }
}

function handler(){
  if(http.readyState == 1){
    document.getElementById('verificaEMAIL').innerHTML = '<br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="20" height="20"><param name="movie" value="swfs/setas.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><embed src="swfs/setas.swf" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="20" height="20"></embed></object><b>Aguarde, verificando disponibilidade do RG</b>';
  } else if(http.readyState == 4){
    if(http.status == 200){
      document.getElementById('verificaEMAIL').innerHTML = http.responseText;
      ajustarAltura();
    } else
      alert("Houve o seguinte problema ao obter os dados do servidor:\n" + http.statusText);
  }
}

function carrega(value){
  var invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;

  if(invalid.test(value)) {
    document.getElementById('verificaEMAIL').innerHTML = '';
    http = getHTTPObject();
    http.onreadystatechange = handler;
    http.open("GET", "emailVerifica.php?email=" + value, true);
    http.send(null);
  }
}

function setDataAtual(ch, origem, destino){
  var tmp;
  if(ch){
    tmp = destino.value;
    destino.value = origem.value;
    origem.value = tmp;
  } else {
    tmp = destino.value;
    destino.value = origem.value;
    origem.value = tmp;
  }
}
