//\\ Funções auxiliarias //\\
// object: byId( id )
byId = function(id) {
  return document.getElementById(id);
}

// array: byName( name )
byName = function(name) {
  return document.getElementsByName(name);
}

// array: byTag( tagName [, parentObj] )
byTag = function(tagName, obj) {
  objParent = (typeof obj != "undefined") ? obj : document;
  return objParent.getElementsByTagName(tagName);
}
//\\//\\//\\//\\//\\//\\//\\//\\

formContato = function() {
  window.open('inc/mail/form.html', 'Contato', 'width=420,height=290,statusbar=yes');
}

checkAll = function(f) {
  for (var i=0; i<f.length; i++)
    if (f[i].type == 'checkbox') 
      if (f[i].checked) 
        f[i].checked = false;
      else
        f[i].checked = true;
}

enterForm = function(tecla, url) {
  var key;
  
  if (navigator.userAgent.indexOf("MSIE") > 0)  key = tecla.keyCode;
  if (navigator.userAgent.indexOf("Gecko") > 0) key = tecla.which;
  if ((key == 13) && (url)) location.href = url;
  else return true;
}

enterFormDUCA = function(tecla, f) {
  var key;
  
  if (navigator.userAgent.indexOf("MSIE") > 0)  key = tecla.keyCode;
  if (navigator.userAgent.indexOf("Gecko") > 0) key = tecla.which;
  if (key == 13) {
    if ((f.PergEstadoID.selectedIndex < 1) && (f.EquipeID.value < 1)) {
      alert('É necessário preencher o campo "Busca" com o número da equipe.');
      return false;
    } else {
      location.href = '?perguntas/pending/' + f.PergEstadoID.value + '/' + f.EquipeID.value;
    }
  } else return true;
}

validaFormNota = function(f) {
  var retorno = true;
  for (var i=0; i<f.length; i++) {
    if ((f[i].type == 'text') && (f[i].value.length > 0) && ((f[i].value < 0) || (f[i].value > 10))) {
      alert('Por favor, preencha a nota corretamente.');
      f[i].focus();
      retorno = false;
      break;
    }
  }

  return retorno;
}
setNotas = function(valor) {
  f = document.fescola;
  for (var i=0; i<f.length; i++)
    if ((f[i].type == 'text') && (f[i].name.substr(0,5) == 'notas'))
      f[i].value = valor;
}

formataCampo = function (tecla, obj, tipo) {
  var key;
  
  if (navigator.userAgent.indexOf("MSIE") > 0)  key = tecla.keyCode;
  if (navigator.userAgent.indexOf("Gecko") > 0) key = tecla.which;
  if ((key == 8) || (key == 0) || (key == 13)) return true;
  key = String.fromCharCode(key);

  if (tipo == 'nota') {
    var erNota = /[0-9,]/i;
    if (erNota.test(key)) {
      return true;
    } else {
      return false;
    }

  } else if (tipo == 'login') {
    var erNum = /[0-9]/i;
    if (erNum.test(obj.value.substr(0,1))) {
      if ((obj.value.length == 2) || (obj.value.length == 6)) { obj.value = obj.value + key + '.'; return false; }
      else if (obj.value.length == 10) { obj.value = obj.value + key + '-'; return false; }
      else if (obj.value.length > 13) { return false }
    } else return true;
  
  } else {
    var erNum = /[0-9]/i;
  
    if (erNum.test(key)) {
      /**** CEP ****/
      if (tipo == 'cep') {
        if (obj.value.length == 1) { obj.value = obj.value + key + '.'; return false; }
        else if (obj.value.length == 5) { obj.value = obj.value + key + '-'; return false; }
        else return true;
  
      /**** CPF ****/
      } else if (tipo == 'cpf') {
        if ((obj.value.length == 2) || (obj.value.length == 6)) { obj.value = obj.value + key + '.'; return false; }
        else if (obj.value.length == 10) { obj.value = obj.value + key + '-'; return false; }
        else if (obj.value.length > 13) { return false }
        else return true;
  
      /**** CNPJ ****/
      } else if (tipo == 'cnpj') {
        if ((obj.value.length == 1) || (obj.value.length == 5)) { obj.value = obj.value + key + '.'; return false; }
        else if (obj.value.length == 9) { obj.value = obj.value + key + '/'; return false; }
        else if (obj.value.length == 14) { obj.value = obj.value + key + '-'; return false; }
        else return true;
  
      /**** DATA ****/
      } else if (tipo == 'data') {
        if ((obj.value.length == 1) || (obj.value.length == 4)) { obj.value = obj.value + key + '/'; return false; }
        else return true;
  
      } else { return false; }
    }
    else return false;
  }
}

/**
 * Seleciona o primeiro campo da página que ESTEJA DENTRO de um FORM
 */
function selectFirstField() {
  if (document.forms.length>0) {
    var input = document.forms[0].getElementsByTagName('*');
    for (var i=0,c=input.length; i<c; i++) {
      if (input[i].disabled || input[i].readOnly) continue;
      // Caso se deseje selecionar também o primeiro select, adicione junto ao TEXTAREA separado por um | (pipe)
      if (/^(?:TEXTAREA)$/.test(input[i].nodeName) || (input[i].nodeName=='INPUT' && (input[i].type == 'text' || input[i].type == 'password' || input[i].type == 'file'))) {
        try {
          input[i].focus();
        } catch(e) {
          return;
        }
        break;
      }
    }
  }
}

// Carrega o script para "focalizar" o primeiro campo de um form.
addEvent(window, 'load', selectFirstField);