/*** 
* Descrição.: formata um campo do formulário de acordo com a máscara informada... 
* Parâmetros: 
* - objForm (o Objeto Form) 
* - strField (string contendo o nome do textbox) 
* - sMask (mascara que define o formato que o dado será apresentado, usando o algarismo "9" para definir números e o símbolo "!" para qualquer caracter...) 
* - evtKeyPress (evento)  
* Observação: As máscaras podem ser representadas como os exemplos abaixo: 
* CEP -> 99.999-999 
* CPF -> 999.999.999-99 
* CNPJ -> 99.999.999/9999-99 
* Data -> 99/99/9999 
* Tel Resid -> (99) 999-9999 
* Tel Cel -> (99) 9999-9999 
* Processo -> 99.999999999/999-99 
* C/C -> 999999-! 
* Uso.......: dentro do campo input adicionar os comandos:
* onKeyUp="return txtBoxFormat(this.form, this.name, '(99) 9999-9999', event);"
* Este arquivo deve ser vinculado da seguinte forma:
* <script src="SystemValidaHora.js" language="javascript"></script>
***/
function txtBoxFormat(objForm, strField, sMask, evtKeyPress) 
{
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(document.all)
		nTecla = evtKeyPress.keyCode;
	else if(document.layers)
		nTecla = evtKeyPress.which;
	else 
	{
		nTecla = evtKeyPress.which;
		if (nTecla == 8)
		return true;
	}


	if (nTecla == 37 || nTecla == 39 || nTecla == 8 || nTecla == 46)
		return true;
	
	sValue = objForm[strField].value;
	
	// Limpa todos os caracteres de formatação quejá estiverem no campo.
	if (nTecla > 47 || nTecla < 58)
	{
		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( " ", "" );
		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++;
		}
	
		objForm[strField].value = sCod;
		return objForm[strField].value;
	}	
}
