function selTodos (pai, tform){
  for (var i = 1 ; i < tform.elements.length; i++)
          if (tform.elements[i].type == "checkbox") {
                  if (tform.elements[i].disabled == false) {
                   if (tform.elements[i].checked == false) {
                        tform.elements[i].checked = true;
                   } else {
                        tform.elements[i].checked = false;
                   }
                }
          }
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */

function verificaChecked(tform){
  result=0;
  for(var i=1;i<tform.elements.length;i++) if (tform.elements[i].type=="checkbox" && tform.elements[i].checked && tform.elements[i].name!="chkexclusao") result++;
  if(result==0){ alert("Nenhum objeto selecionado para exclusão!"); return false; }
    else result=confirm("Confirma a exclusão de "+result+" registro(s)?");
  return result;
}
/* ------------------------------------------------------------------------------------------------------------------------------------ */

function verificaObjText(obj,desc){
  if (obj.value=="" || obj.value==" " || obj.value==".") {
    alert("Preencha o campo "+desc+"!");
    obj.focus();
  return (false);
  } else return (true);
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */

function verificaObjList(obj,desc){
  if (obj.value=="") {
    alert("Selecione o "+desc+"!");
    obj.focus();
  return (false);
  } else return (true);
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */

function verificaObjEmail(obj,desc) {
  if((obj.value.indexOf("@")<2)||(obj.value.substring(obj.value.indexOf("@")+1,obj.value.length).indexOf(".")<3) ||
     (obj.value.indexOf("@") != obj.value.lastIndexOf("@"))||(obj.value.lastIndexOf(".")>=obj.value.length-2)){
       alert("Preencha corretamente o campo "+desc+"!");
       obj.focus();
       return (false);
  } else return (true);
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */

function verificaObjData(obj,desc) {
  if (obj.value.substr(2,1)!="/" || obj.value.substr(5,1)!="/" || isNaN(obj.value.substr(0,2)) || isNaN(obj.value.substr(3,2)) || isNaN(obj.value.substr(6,4))) {
    alert("Preencha corretamente o campo "+desc+"!");
    obj.focus();
    return false;
  } else return (true);
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */

function verificaObjHora(obj,desc) {
  if (obj.value.substr(2,1)!=":" || isNaN(obj.value.substr(0,2)) || isNaN(obj.value.substr(3,2))) {
    alert("Preencha corretamente o campo "+desc+"!");
    obj.focus();
    return false;
  } else return (true);
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */

function visualizaData() {
        var months=new Array(13);
        months[1]="Janeiro";
        months[2]="Fevereiro";
        months[3]="Março";
        months[4]="Abril";
        months[5]="Maio";
        months[6]="Junho";
        months[7]="Julho";
        months[8]="Agosto";
        months[9]="Setembro";
        months[10]="Outubro";
        months[11]="Novembro";
        months[12]="Dezembro";
        var time=new Date();
        var lmonth=months[time.getMonth() + 1];
        var date=time.getDate();
        var year=time.getYear();
        if (year < 2000)
        year = year + 1900;
        document.write(date);
        document.write(" de " + lmonth + " de " + year + "&nbsp;");

/* ----------------------------------------------------------------------------------------------------------------------------------- */

function numeros(evt) {
        evt = (evt) ? evt : window.event;
        var charCode = (evt.which) ? evt.which : evt.keyCode;
        if (charCode < 31) return true;
        if (charCode >= 48 && charCode <= 57)   return true;
        return false;
}

/* ----------------------------------------------------------------------------------------------------------------------------------- */

function mascaraHora(obj, tecla){
   if (tecla.keyCode == 4)
      return true;
   var continuar = false;
   if ((tecla.keyCode >= 48) && (tecla.keyCode <= 57)) { continuar = true; }
   if ((tecla.keyCode >= 96) && (tecla.keyCode <= 105)) { continuar = true; }
   if ((tecla.keyCode == 46) || (tecla.keyCode == 8)) { continuar = true; }
   if (continuar == false)
     return false;

   vlr = obj.value;
   if (vlr.length == 5) verificaHora(obj);
   vlr2 = "";
   vlr = vlr.replace(":","");
   vlr = vlr.replace(":","");
   vlr2 = vlr2 + vlr.substr(0,2);
   if (vlr.length >= 2)
     vlr2 = vlr2 + ":";
   vlr2 = vlr2 + vlr.substr(2,2);
   obj.value = vlr2;
   return true;
}

/* ----------------------------------------------------------------------------------------------------------------------------------- */

function verificaHora (hora) {
    hr = (hora.value.substring(0,2));
    mn = (hora.value.substring(3,5));

    situacao = "";
    if (hr > 23) situacao = "falsa";
    if (mn > 59 ) situacao = "falsa";
    if (hora.value == "") situacao = "falsa";

    if (situacao == "falsa") {
        alert("Hora invÃ¡lida!");
        hora.focus();
    }
}

/* ----------------------------------------------------------------------------------------------------------------------------------- */

function mascaraCpf(cpf) {
    var mycpf = cpf.value;

    if(mycpf.length==3) {
        mycpf = mycpf + '.';
        cpf.value = mycpf;
    }
    if(mycpf.length==7) {
        mycpf = mycpf + '.';
        cpf.value = mycpf;
    }
    if(mycpf.length==11) {
        mycpf = mycpf + '-';
        cpf.value = mycpf;
    }
}

/* ----------------------------------------------------------------------------------------------------------------------------------- */

function mascaraCnpj(cnpj) {
    var mycnpj = cnpj.value;

    if(mycnpj.length==2) {
        mycnpj = mycnpj + '.';
        cnpj.value = mycnpj;
    }
    if(mycnpj.length==6) {
        mycnpj = mycnpj + '.';
        cnpj.value = mycnpj;
    }
    if(mycnpj.length==10) {
        mycnpj = mycnpj + '/';
        cnpj.value = mycnpj;
    }
    if(mycnpj.length==15) {
        mycnpj = mycnpj + '-';
        cnpj.value = mycnpj;
    }
    if(mycnpj.length==18) {
        form1.fnmie.focus();
    }
}
 }

/* ----------------------------------------------------------------------------------------------------------------------------------- */

function testaVazioArquivoImagem (arquivo, func, tipoteste) {
        if (tipoteste == 1) {
                if (func == "inc" && arquivo.value == "") {
                        alert ("Você não pode incluir uma foto sem especificar um arquivo!");
                        return (false);
                }
        }
        if (arquivo.value != "") {
                tamString = arquivo.value.length;
                ext = arquivo.value.substring (tamString, tamString - 4);
                if (ext == '.gif' || ext == '.bmp' || ext == '.jpg' || ext == '.swf') {
                        return (true);
                } else {
                        alert ("Essa imagem não é válida!");
                        return (false);
                }
        }
}

/* ----------------------------------------------------------------------------------------------------------------------------------- */


function testaVazioArquivo (arquivo, func, tipoteste) {
        if (tipoteste == 1) {
                if (func == "inc" && arquivo.value == "") {
                        alert ("Você não pode incluir esse registro sem especificar um arquivo!");
                        return (false);
                }
        }
        if (arquivo.value != "") {
                tamString = arquivo.value.length;
                ext = arquivo.value.substring (tamString, tamString - 4);
                if (ext == '.pdf' || ext == '.doc' || ext == '.rtf' || ext == '.zip' || ext == '.rar' || ext == '.jpg' || ext == '.gif') {
                        return (true);
                } else {
                        alert ("Esse arquivo não é válida!");
                        return (false);
                }
        }
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */

function testaVazioArquivoImportacao (arquivo, func, tipoteste) {
        if (tipoteste == 1) {
                if (func == "inc" && arquivo.value == "") {
                        alert ("Você deve especificar um arquivo para importação!");
                        return (false);
                }
        }
        if (arquivo.value != "") {
                tamString = arquivo.value.length;
                ext = arquivo.value.substring (tamString, tamString - 4);
                if (ext == '.csv' || ext == '.txt') {
                        return (true);
                } else {
                        alert ("Esse arquivo não é válido!");
                        return (false);
                }
        }
}

/* ------------------------------------------------------------------------------------------------------------------------------------ */
    //Dados das funcoes abaixo
    // Functions in JavaScript to fields edition,
    // like currency, date, integer and number, in the european standard.

    // License: Shareware.
    // Version: Brazil - 2005.
    // TradeMark: amf2005.
    // Author: Arnaldo Machado Filho, Phycisist (USP-1978), wewill@ig.com.br
    // Sílvio D. Júnior - 12/12/2005
    // types
    // currency:
    // onKeyUp='amf2005_BecameCurrency(this,15)'
    // onBlur='amf2005_BecameCurrency(this,15)'
    // size=20 maxsize=15>
    // ===================
    // date:
    // onKeyUp='amf2005_consist_date(this)'
    // onBlur='amf2005_update_date(this)'
    // size=20 maxsize=15>
    // ===================
    // number:
    // onKeyUp='amf2005_BecameNumber(this,15)'
    // onBlur='amf2005_BecameNumber(this,15)'
    // size=20 maxsize=15>
    // ===================
    // integer:
    // onKeyUp='amf2005_BecameInteger(this,15)'
    // onBlur='amf2005_BecameInteger(this,15)'
    // size=20 maxsize=15>



function amf2005_BecameInteger(val,len)
{
    n='__0123456789';
    d=val.value;
    l=d.length;
    s='';
    if (l > 0)
    {
        a=2;
        for (i=0; i<l; i++)
        {
            c=d.charAt(i);
            if (n.indexOf(c) > a)
            {
                a=1;
                s+=c;
            };
        };
        l=s.length;
        t=len-1;
        if (l > t)
        {
            l=t;
            s=s.substr(0,t);
        };
        if (s == '')
        {
            s='0';
        };
    };
    val.value=s;
    return 'ok';
};

function amf2005_BecameCurrency(cur,len)
{
   n='__0123456789';
   d=cur.value;
   l=d.length;
   r='';
   if (l > 0)
   {
    z=d.substr(0,l-1);
    s='';
    a=2;
    for (i=0; i < l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) > a)
        {
            a=1;
            s+=c;
        };
    };
    l=s.length;
    t=len-1;
    if (l > t)
    {
        l=t;
        s=s.substr(0,t);
    };
    if (l > 2)
    {
        r=s.substr(0,l-2)+','+s.substr(l-2,2);
    }
    else
    {
        if (l == 2)
        {
            r='0,'+s;
        }
        else
        {
            if (l == 1)
            {
                r='0,0'+s;
            };
        };
    };
    if (r == '')
    {
        r='0,00';
    }
    else
    {
        l=r.length;
        if (l > 6)
        {
            j=l%3;
            w=r.substr(0,j);
            wa=r.substr(j,l-j-6);
            wb=r.substr(l-6,6);

            k=(l-j)/3-2;
            for (i=0; i < k; i++)
            {
                w+=wa.substr(i*3,3)+'.';
            };
            r=w+wb;
        };
    };
   };
   if (r.length <= len)
   {
    cur.value=r;
   }
   else
   {
    cur.value=z;
   };
   return 'ok';
};

function amf2005_BecameNumber(val,len)
{
    n='__0123456789';
    d=val.value;
    l=d.length;
    s='';
    a=2;
    for (i=0; i<l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) > a)
        {
            a=1;
            s+=c;
        };
    };
    l=s.length;
    t=len-1;
    if (l > t)
    {
        l=t;
        s=s.substr(0,t);
    };
    r='';
    if (l > 2)
    {
        r=s.substr(0,l-2)+','+s.substr(l-2,2);
    }
    else
    {
        if (l == 2)
        {
            r='0,'+s;
        }
        else
        {
            if (l == 1)
            {
                r='0,0'+s;
            };
        };
    };
    if (r == '')
    {
        r='0,00';
    };
    val.value=r;
    return 'ok';
};

function amf2005_valid_date(l,dd,mm,yy)
{
    z='err';
    if (l == 6 || l == 8)
    {
        xx=yy;
        if (dd >= 1 && dd <= 31)
        {
            if (mm == 2 || mm == 4 || mm == 6 || mm == 9 || mm == 11)
            {
                if (dd <= 30)
                {
                    if (mm == 2)
                    {
                        if (dd <= 28)
                        {
                            z='ok';
                        }
                        else
                        {
                            if (dd == 29)
                            {
                                bb=xx%4;    // 4 by 4
                                if (bb == 0)
                                {
                                    cc=xx%100;    // 100 by 100
                                    if (cc == 0)
                                    {
                                        qq=xx%400;    // 400 by 400
                                        if (qq == 0)
                                        {
                                            z='ok';
                                        };
                                    }
                                    else
                                    {
                                        z='ok';
                                    };
                                };
                            };
                        };
                    }
                    else
                    {
                        z='ok';
                    };
                };
            }
            else
            {
                if (mm >= 1 && mm <= 12) { z='ok'; };
            };
        };
    };
    ii=200;        // inner parameter
    if (xx < 1600 || xx > 2400 || xx < 2005 - ii || xx > 2005 + ii) { z='err'; };
    return z;
};

function amf2005_consist_date(dat)
{
    n='0123456789';
    d=dat.value;
    l=d.length;
    s='';
    for (i=0; i<l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) >= 0)
        {
            s+=c;
        };
    };
    l=s.length;
    xx='0000';
    r=s;
    if (l > 8)
    {
        r=s.substr(0,8);
        s=r;
        l=8;
    };
    if (l == 6)
    {
        dd=s.substr(0,2);
        mm=s.substr(2,2);
        yy=s.substr(4,2);
        if (yy < 50)
        {
            xx='20'+yy;
        }
        else
        {
            xx='19'+yy;
        };
        ww=dd+'/'+mm+'/'+yy;
    };
    if (l == 8)
    {
        dd=s.substr(0,2);
        mm=s.substr(2,2);
        yy=s.substr(4,4);
        xx=yy;
        ww=dd+'/'+mm+'/'+yy;
    };
    if (l == 6 || l == 8)
    {
        z=amf2005_valid_date(l,dd,mm,xx);
        if (z == 'ok') { r=ww; };
    };
    dat.value=r;
    return 'ok';
};

function amf2005_update_date(dat)
{
    n='0123456789';
    d=dat.value;
    l=d.length;
    s='';
    for (i=0; i<l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) >= 0)
        {
            s+=c;
        };
    };
    l=s.length;
    if (l == 6)
    {
        dd=s.substr(0,2);
        mm=s.substr(2,2);
        yy=s.substr(4,2);
        if (yy < 50)
        {
            yy='20'+yy;
        }
        else
        {
            yy='19'+yy;
        };
        ww=dd+'/'+mm+'/'+yy;
    };
    if (l == 8)
    {
        dd=s.substr(0,2);
        mm=s.substr(2,2);
        yy=s.substr(4,4);
        ww=dd+'/'+mm+'/'+yy;
    };
    rr='';
    if (l == 6 || l == 8)
    {
        z=amf2005_valid_date(l,dd,mm,yy);
        if (z == 'ok')
        {
            rr=ww;
        };
    };
    dat.value=rr;
    return 'ok';
};