function pula_campo(campo_atual, proximo) {
     form = campo_atual.getAttribute('form');
     maxl = campo_atual.getAttribute('maxlength');
     if(campo_atual.value.length==maxl){
        form[proximo].focus();
        return false;
     }
     return true;
}

function pula_combo(campo_atual, proximo) {
     form = campo_atual.getAttribute('form');
     if(campo_atual.selectedIndex==0)campo_atual.focus();
     else form[proximo].focus();
}

function tc_enter(campo_atual, proximo, evtKeyPress) {
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
     form = campo_atual.getAttribute('form');
     if(document.all) { // Internet Explorer
        nTecla = evtKeyPress.keyCode; }
     else if(document.layers) { // Nestcape
        nTecla = evtKeyPress.which;
     }
     if(nTecla==13){ //teclou enter
        form[proximo].focus();
        return false;
     }
     return true;
}

function formata_campo(campo_atual, proximo, sMask, evtKeyPress) {
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
     form = campo_atual.getAttribute('form');
     if(document.all) { // Internet Explorer
        nTecla = evtKeyPress.keyCode; }
     else if(document.layers) { // Nestcape
        nTecla = evtKeyPress.which;
     }
     if(nTecla==13){ //teclou enter
        form[proximo].focus();
        return false;
     }else{
        if(sMask.length==0){
            return true;
        }else{
             sValue = campo_atual.value;
             // Limpa todos os caracteres de formatação que
             // já estiverem no campo.
             while(sValue.indexOf("-")>-1)sValue = sValue.replace( "-", "" );
             while(sValue.indexOf(".")>-1)sValue = sValue.replace( ".", "" );
             while(sValue.indexOf("/")>-1)sValue = sValue.replace( "/", "" );
             while(sValue.indexOf("(")>-1)sValue = sValue.replace( "(", "" );
             while(sValue.indexOf(")")>-1)sValue = sValue.replace( ")", "" );
             while(sValue.indexOf(" ")>-1)sValue = sValue.replace( " ", "" );
             fldLen = sValue.length;
             mskLen = sMask.length;
             i = 0;
             nCount = 0;
             sCod = "";
             mskLen = fldLen;
             while (i <= mskLen) {
                bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
                bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
        
                if (bolMask) {
                   sCod += sMask.charAt(i);
                   mskLen++; 
                }else {
                   sCod += sValue.charAt(nCount);
                   nCount++;
                }
     
                i++;
             }//fim while
     
             campo_atual.value = sCod;
     
             if (nTecla != 8) { // backspace
                if (sMask.charAt(i-1) == "9") { // apenas números...
                   return ((nTecla > 47) && (nTecla < 58));  // números de 0 a 9
                } else { // qualquer caracter...
                   return true;
                }
             } else {
                return true;
             }
        }//fim mask
     }//fim enter
}
