﻿
        function txtBoxFormat(strField, sMask, evtKeyPress) {
	        var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
        	
	        if (document.all) { // Internet Explorer
		         nTecla = evtKeyPress.keyCode;
	        } else if (document.layers) { // Nestcape
		         nTecla = evtKeyPress.which;
	        } else {
		         nTecla = evtKeyPress.which;
		         if (nTecla == 8) {
			          return true;
		         }
	        }

	        sValue = strField.value;
	        // Limpa todos os caracteres de formatação que
	        // já estiverem no campo.
	        while (sValue.indexOf("-")>=0){
		        sValue = sValue.toString().replace( "-", "" );
	        }
	        while (sValue.indexOf(".")>=0){
		        sValue = sValue.toString().replace( ".", "" );
	        }
	        while (sValue.indexOf(",")>=0){
		        sValue = sValue.toString().replace( ",", "" );
	        }
	        while (sValue.indexOf("/")>=0){
		        sValue = sValue.toString().replace( "/", "" );
	        }
	        while (sValue.indexOf("(")>=0){
		        sValue = sValue.toString().replace( "(", "" );
	        }
	        while (sValue.indexOf(")")>=0){
		        sValue = sValue.toString().replace( ")", "" );
	        }
	        while (sValue.indexOf(":")>=0){
		        sValue = sValue.toString().replace( ":", "" );
	        }
	        //sValue = sValue.toString().replace( " ", "" );
	        //sValue = sValue.toString().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) == ".") || (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++;
	        }
        	
	        strField.value = sCod;
	        if(sMask.charAt(0) == "C"){
		        return ((nTecla == 8) || (nTecla == 32) || (nTecla > 64) && (nTecla < 91) || (nTecla > 96) && (nTecla < 123) || (nTecla > 191) && (nTecla < 256));// apenas backspace, espaço, letras de a-z e A-Z com e sem acento
	        } else {
		        mask = sMask.charAt(i-1);
		        switch(mask){
			        case "9":
				        return ((nTecla > 47) && (nTecla < 58));// números de 0 a 9
			        break;
        	
			        default:
				        return true;
			        break;
		        }
	        }
        }