// JavaScript Document

// Validações


function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
     var availableChars = '0123456789';

     nTecla = (evtKeyPress.which) ? evtKeyPress.which : evtKeyPress.keyCode;
     sValue = objForm[strField].value;

	 /*
	  * nTecla >= 8 && nTecla <= 46 - teclas correspondentes a tab, enter, ctrl, etc.
	  * nTecla >= 48 && nTecla <= 57 - teclas correspondentes a números
	  */
	 if (!((nTecla >= 8 && nTecla <= 46) || (nTecla >= 48 && nTecla <= 57))) {
		return false;
     }
     // Limpa todos os caracteres de formatação que
     // já estiverem no campo.
     expressao = /[\.\/\-\(\)\,\;\: ]/gi;
     sValue = sValue.toString().replace(expressao, '');
     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) == "/") || (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++;
     }

     objForm[strField].value = sCod;

     if (nTecla != 8 && nTecla != 13)
      { // backspace enter
       if (sMask.charAt(i-1) == "9")
       { // apenas números...
         return ((nTecla > 47) && (nTecla < 58));
       } // números de 0 a 9
       else
       {
            if (sMask.charAt(i-1) == "x")
           { // apenas letras... Sem espaco
             return ((nTecla > 64) && (nTecla < 123));
           } // maiusculas e minusculas de A a z sem acentos
           else
           { // qualquer caracter...
            return true;
          }
       }
      }
     else
     {
       return true;
     }
   }

