/**
 * **************************************************************************
 * FUNÇÃO: Muda o foco para outro campo quanto o maxlength deste for atingido
 * **************************************************************************
 */

function autoTab(from, to, e) {
  var whichCode = window.Event ? e.which : e.keyCode;

  if (from.getAttribute && from.value.length == from.getAttribute("maxlength") && whichCode > 50)
    to.focus();
}

/**
 * **************************************************************************
 * FUNÇÃO: Limpa um formulário todo (text, checks e combos)
 * **************************************************************************
 */

function limpar(form) {
    for (i=0; i < form.elements.length; i++) {
        var campo = form.elements[i];
        
        if (!campo.readOnly) {
            if (campo.type == 'text') {
                campo.value = '';
            } else if (campo.type == 'check') {
                campo.checked = false;
            } else if (campo.type == 'select') {
                campo.selectedIndex = 0;
            }
        }
    }
}
 
function cleanLine(form, lineNumber) {
    campos = form.elements;
    var i;
    for (i = 0; i < campos.length; i++) {
        campo = campos[i];
        if (campo.name == 'line_to_clean' && campo.value == lineNumber) {
            break;
        }
    }
    if (i == campos.length) {
        return;
    }
    //achou a linha que tem que apagar.
    for (i++; i < campos.length; i++) {
        campo = campos[i];
        if (campo.type == 'text') {
            campo.value = '';
        } else if (campo.type == 'select') {
            campo.selectedIndex = 0;
        } else if (campo.type == 'check') {
            campo.checked = false;
        } else if (campo.name == 'line_to_clean') {
            //acabou a linha
            return;
        }       
    }
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}