/*
Descricao: formata um campo do formulario de
acordo com a mascara informada...
Parmetros: - objForm (o Objeto Form)
- strField (string contendo o nome do textbox)

* - sMask (mascara que define o
* formato que o dado sera apresentado,
* usando o algarismo "9" para
* definir numeros e o simbolo "!" para
* qualquer caracter...
* - evtKeyPress (evento)
* Uso.......: <input type="textbox"
* name="xxx".....
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">
* Observacao: As mascaras 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-!
* E por ai vai...
***/

function txtBoxFormat(objForm, 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;
		} // if
	} // if
	
	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( " ", "" );
	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++;
		} // else
		i++;
	} // while
	
	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;
		} // if-else
	} else {
		return true;
	} // if-else
} // function





function mascaravalor() {
    var valor          = document.getElementById("texto").value;
    valor = valor.replace (".","");
    valor = valor.replace (",","");
    var tamanho        = valor.length;
    var iniciodecimais = tamanho - 3;
    if(tamanho > 3) { // então deve colocar separador
        var decimais        = valor.substr(iniciodecimais,3);
        var inteiros        = valor.substr(0,iniciodecimais);
        var stringinvertida = "";
        var tamanhoinverte = tamanho - 3;
        while (tamanhoinverte > 0) {
            tamanhoinverte -= 1;
            stringinvertida += valor.substr(tamanhoinverte,1);
        }
        var j = 0;
        var decimaisformatado = "";
        var stringformatado = "";
        for (i = 0; i <= stringinvertida.length; i++) {
            j = j + 1;
            stringformatado = stringformatado + stringinvertida.substr(i,1);
            if (j == 3 && stringformatado != "") {
                if (decimaisformatado == "") {
                    decimaisformatado = stringformatado;
                } else {
                    decimaisformatado +=  '.' + stringformatado;
                }
                stringformatado = "";
                j = 0;
            }
        }
        if (j == 2 && tamanho != 4) {
            decimaisformatado += "." + stringformatado
        } else {
            decimaisformatado += stringformatado;
        }
        
        tamanhoinverte = decimaisformatado.length;
        var stringfinal = "";
        while (tamanhoinverte > 0) {
            tamanhoinverte = tamanhoinverte - 1;
            stringfinal += decimaisformatado.substr(tamanhoinverte,1);
        }
        document.getElementById("texto").value = stringfinal + "," + decimais;
    }
}




