<!--
  //**************************************************************************************//
  //*** ARQUIVO:     funcoes.js                                                        ***//
  //*** DATA:        16/01/2003                                                        ***//
  //*** AUTOR:       Wellington Nascimento de Oliveira Júnior                          ***//
  //*** E-MAIL:      wjunior@ufba.br                                                   ***//
  //*** DESCRICAO:   funcoes genericas em javascript                                   ***//
  //**************************************************************************************//
  var tab = true;

  function ativarTAB() {
    tab = true;  //deve ser declarada na pagina que usa a funcao
  }

  function desativarTAB() {
    tab = false; //deve ser declarada na pagina que usa a funcao
  }

  function FormataData(campo,teclapres) {
    var tecla = teclapres.keyCode;
    vr = campo.value;
    vr = vr.replace( ".", "" );
    vr = vr.replace( "/", "" );
    vr = vr.replace( "/", "" );
    tam = vr.length + 1;

    if ( tecla != 9 && tecla != 8 ){
      if ( tam > 2 && tam < 5 )
        campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
      if ( tam >= 5 && tam <= 10 )
        campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 
    }
  }

  function replaceAll( str, from, to ) {
      var idx = str.indexOf( from );

      while ( idx > -1 ) {
          str = str.replace( from, to ); 
          idx = str.indexOf( from );
      }

      return str;
  }

  function limpar_imagem(controle) {
    var f = document.forms[0];
    var obj = f.elements[controle];
    if (obj.value=="") {
      alert("Nenhuma imagem para remover!");
      return;
    }
    else if (confirm("Deseja remover esta imagem?")) 
      obj.value="";          
  }

  function validarPesquisa() {
    document.forms[0].pagina.value=1;
    return true;
  }

  function numbersOnly(event)
  {
    var keyCode = event.keyCode;
    if (keyCode==0)
      keyCode = event.which;
    if (keyCode==8 || keyCode==9 || keyCode==13 || (keyCode>=48 && keyCode<=57))
      return true;
    return false;
  }

  function validarCPF(s) {
    var i;
    var c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;
    for (i = 0; i < 9; i++)
      d1 += c.charAt(i)*(10-i);

    if (d1 == 0) 
      return false;
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1)
      return false;


    d1 *= 2;
    for (i = 0; i < 9; i++)
      d1 += c.charAt(i)*(11-i);

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1)
      return false;

    return true;
  }

  function validarCNPJ(s) {
    var i;
    var c = s.substr(0,12);
    var dv = s.substr(12,2);
    var d1 = 0;
    for (i = 0; i < 12; i++)
      d1 += c.charAt(11-i)*(2+(i % 8));

    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1)
      return false;

    d1 *= 2;
    for (i = 0; i < 12; i++)
      d1 += c.charAt(11-i)*(2+((i+1) % 8));

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1)
      return false;
    return true;
  }

  function currencyOnly(event)
  {
    var keyCode = event.keyCode;
    if (keyCode==0)
      keyCode = event.which;
    if (keyCode==8 || keyCode==9 || keyCode==37 || keyCode==39 || keyCode==44 || 
        keyCode==116 || (keyCode>=48 && keyCode<=57))
      return true;
    return false;
  }

  function popup(pid, pwidth, pheight, pleft, ptop, pcenter) {
    var top, left;

    top = ptop;
    left = pleft;
    if (pcenter == 'C') {
      left = ((screen.width - pwidth) / 2);
      top = (((screen.height - pheight) / 2) - 50);
    }
    window.open("exibir_popup.asp?id=" + pid, "Popup" + pid, 
                "left=" + left + ", top=" + top + ", width=" + pwidth + ", height=" + 
                pheight + ", directories=no, location=no, menubar=no, personalbar=no, " + 
                "resizable=no, scrollbars=no, status=no, toolbar=no, titlebar=yes");
  }


  function deps(opcional) {
    var width = 350;
    var height = 380;
    var left = ((screen.width - width) / 2);
    var top = (((screen.height - height) / 2) - 50);

    var flag_opcional = "";
    if (opcional)
      flag_opcional = 1;
    window.open("selecionar_departamento.asp?opcional=" + flag_opcional, "Departamentos", 
                "left=" + left + ", top=" + top + ", width=" + width + ", height=" + 
                height + ", directories=no, location=no, menubar=no, personalbar=no, " + 
                "resizable=yes, scrollbars=yes, status=no, toolbar=no, titlebar=yes");    
  }

  function enableAll() {
    var j=0;
    var f = document.forms[0];
    var max = 0;
    if (f.elements.length)
      max = f.elements.length;
    
    for (; j<max; j++) {
      if ((f[j].disabled==true) && (f[j].type=="text") || (f[j].type=="select-one") || (f[j].type=="password") )
        f[j].disabled=false;
    }
  }

  function ajuda(pagina, ancora) {
    var pos = "";

    if (ancora)
      pos = ancora;
    window.open("../ajuda/" + pagina + ".html" + pos, "Ajuda", 
                "resizable=yes, toolbar=no, status=no, menubar=yes, scrollbars=yes, " +
                "top=70, left=200, width=400, height=380");
  }

  function setStatus(obj, pcontroles) {
    var i=0;
    var str = "";
    var f = document.forms[0];
    var status = obj.checked;
    var controles = pcontroles.split(",");

    for (; i<controles.length; i++) { 
      if (f[controles[i]]) {
        str = "document.forms[0]." + controles[i] + ".disabled=" + (!status);
        eval(str);
      }
    }    
  }

  //exibe ou oculta um bloco (propriedade 'display')
  function mostrarBloco(nome, status) {
    var d=document;

    if (status)
      d.all[nome].style.display='block';
    else
      d.all[nome].style.display='none';
  }

  function deposito() {
    var width = 380;
    var height = 300;
    var left = ((screen.width - width) / 2);
    var top = (((screen.height - height) / 2));

    window.open("deposito.asp", "Deposito", 
                "left=" + left + ", top=" + top + ", width=" + width + 
                ", height=" + height + ",resizable=yes, scrollbars=yes");
  }

  function ativarTAB() {
    tab = true;  //deve ser declarada na pagina que usa a funcao
  }

  function desativarTAB() {
    tab = false; //deve ser declarada na pagina que usa a funcao
  }

  function valorSelecao(controle) {
    if (controle.length) {
      for (var i=0; i<controle.length; i++) 
        if (controle[i].checked) 
        return controle[i].value;
    }
    else if (controle.checked) 
        return controle.value;
    
      return "";
  }

  function selecionado(controle) {
    if (!controle.length)
      return (controle.checked) ? 1 : 0;
    else {
      var cont = 0;
      for (var i=0; i<controle.length; i++) 
        if (controle[i].checked) 
          cont++;
      return cont;
     }
  }

  function clicar(obj, funcao) {
    if (!obj.disabled) {
      obj.checked = (!obj.checked);
      if (funcao)
        eval(funcao);
    }
  }

  function right(str, n) {
    return str.substr(str.length - n);
  }

  function repeat(n, str) {
    var i=0;
    var text = "";
    for (; i<=n; i++)
      text += str;
    return text;
  }

  function extensaoArquivo(nome) {
    var ext = "";
    var pos = nome.lastIndexOf(".");
    if (pos > -1) {
      ext = nome.substr(pos+1);
    }
    return ext;
  }
  
  function mudarPagina(p) {
    document.forms[0].pagina.value = p;
  	document.forms[0].submit();
  }

  function ir() {
    var objmax = document.getElementById('maxpagina');
    if (objmax) {
      var max = objmax.value;
      var p = parseInt(document.getElementById('indice').value);
      if ((p > max) || (p<=0)) {
        alert('Página inválida!');
        return;
      }
      mudarPagina(p);
    }
  }

  //descricao: verifica se um valor e numerico
  //parametros: v - string
  //retorno: true - numerico
  //         false - nao numerico
  function isNumber(v){
    var num="01213456789";
    
    if (v == "")  
      return false;  
     
    for(i=0; i<v.length; i++) {
      if (num.indexOf(v.substr(i, 1)) < 0)
        return false;
    }
    return true; 
  }

  //descricao: verifica se a sintaxe de um endereco de e-mail
  //parametros: obj - objeto do tipo text
  //            mesn - mensagem de error, caso o endereco nao esteja correto
  //retorno: true - correto
  //         false - incorreto
  function isMail(obj, mens){ 
    var arroba = "@";
    var mail = obj.value;
    if (mail == "") {
      alert(mens);
      return false;
    }
     
    var A1 = mail.indexOf(arroba);
    if (A1 < 0) {
       alert(mens);
       return false;  
    }
     
    var cliente = mail.substring(0,A1);
    var provedor = mail.substring(A1+1,mail.length);
    var P1 = provedor.indexOf(".");
           
    if (P1 < 0) {
      alert(mens);
      return false;
    }
    return true;
  }


  //descricao: verifica a se uma data e valida
  //parametros: d - dia, m - mes, a ano (string)
  //retorno: true - valida
  //         false - invalida
  function isDate(d, m, a) {
    if ((isNaN(parseInt(d)) || isNaN(parseInt(m)) || 
        isNaN(parseInt(a))) ||
        ((a < 1500) || (a > 9999)) ||
        ((m < 1) || (m > 12)) ||
        ((d < 1) || (d > 31)) ||
        ((m == 2) && (d > 28) && (a % 4 != 0)) ||
        ((m == 2) && (d > 29) && (a % 4 == 0)) ||
        ((d > 30) && (m == 4) || (d > 30) && (m == 6) ||
         (d > 30) && (m == 9) || (d > 30) && (m == 11)))
      return false;

    return true;
  }


  //descricao: obtem a posicao de um objeto no vetor de elementos ao qual ele pertence
  //parametros: o - qualquer objeto de um formulario
  //retorno: -1 - nao encontrado
  //          n - posicao do objeto
  function getElementIndex(o) {
    var i = 0;
    for (; i < o.form.length; i++) {
      if (o.form.elements[i].name == o.name)
        return i;
    }
    return -1;
  }


  //descricao: passa o focus para o proximo objeto
  //parametros: sender - objeto em questao
  //            size - numero de caracteres necessarios para a mudanca
  //            nextObject - proximo objeto (null - pula para o proximo objeto no vetor de elementos
  function nextElement(sender, size, nextObject) {
    var index;
    if ((sender.value.length == size) && (tab==true)) {    
      if (!nextObject) {
        index = getElementIndex(sender) + 1;
        sender.form.elements[index].focus();
      }
      else
        nextObject.focus();
    }
  }

  function formatCurrency(valor) {
    var v = valor.toString();

    pos = v.indexOf(".");
    if (pos == -1) 
      v += ",00"; 
     else {
      v += "0";
      v = v.substr(0, pos + 3);
      v = v.replace(".", ",");
    }
    count = 0;
    for (i = v.length - 1; i >= 1; i--) {
      if (v.charAt(i) == ",")
        count = 0;
      else
        if (((count % 2) == 0) && (count > 0)) {
          count = 0;
          v = v.substr(0, i) + "." + v.substr(i);
        }
      else
        count++;
    }
    return v;
  }
-->
