///////////////////////////////////////////////////////////////////////////////////////// 
/*** 
* onkeypress="return Mascara(document.rcfDownload, 'str_cep', '99999-999', event);"
* Observação: As máscaras podem ser representadas 
* como os exemplos abaixo: 
* CEP -> 99999-999 
* CPF -> 999.999.999-99 
* CNPJ -> 99.999.999/9999-99 
* C/C -> 999999-! 
* Tel -> (99) 9999-9999 
* Hora -> 99:99:99 ou 99:99 
* Número -> R$ 15.000,00 
***/ 
function Mascara(form,strField, sMask) { 
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla, form ; 
objForm = document.forms[form]; 

if(document.all) { // Internet Explorer 
nTecla = event.keyCode; } 
else if(document.layers) { // Nestcape 
nTecla = event.which; 
} 

if(nTecla == 39) return false; 

sValue = objForm[strField].value; 

// Limpa todos os caracteres de formatação que 
// já estiverem no campo. 
sValue = sValue.toString().replace( "-", "" ); 
sValue = sValue.toString().replace( "-", "" ); 
sValue = sValue.toString().replace( ".", "" ); 
sValue = sValue.toString().replace( ".", "" ); 
sValue = sValue.toString().replace( "/", "" ); 
sValue = sValue.toString().replace( "/", "" ); 
sValue = sValue.toString().replace( "(", "" ); 
sValue = sValue.toString().replace( "(", "" ); 
sValue = sValue.toString().replace( ")", "" ); 
sValue = sValue.toString().replace( ")", "" ); 
sValue = sValue.toString().replace( " ", "" ); 
sValue = sValue.toString().replace( ":", "" ); 
sValue = sValue.toString().replace( ",", "" ); 
sValue = sValue.toString().replace( "$", "" ); 
sValue = sValue.toString().replace( "R", "" ); 
fldLen = sValue.length; 
mskLen = sMask.length; // = 5 

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) == " ")); 
bolMask = bolMask || ((sMask.charAt(i) == ":") || (sMask.charAt(i) == "$") || (sMask.charAt(i) == "R") || (sMask.charAt(i) == ",")); 

if (bolMask) { 
sCod += sMask.charAt(i); 
mskLen++; } 
else { 
sCod += sValue.charAt(nCount); 
nCount++; 
} 

i++; 
} 

objForm[strField].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; 
} 
} 
