// JavaScript Document



//M�SCARA DE VALORES



//onkeypress="return mascara(this, '99/99/9999', event);" ou # aceitar qq coisa

function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){   
    var sep = 0;   
    var key = '';   
    var i = j = 0;   
    var len = len2 = 0;   
    var strCheck = '0123456789';   
    var aux = aux2 = '';   
    var whichCode = (window.Event) ? e.which : e.keyCode;   
    if (whichCode == 13 || whichCode == 8) return true;    
    key = String.fromCharCode(whichCode); // Valor para o código da Chave   
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida   
    len = objTextBox.value.length;   
    for(i = 0; i < len; i++)   
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;   
    aux = '';   
    for(; i < len; i++)   
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);   
    aux += key;   
    len = aux.length;   
    if (len == 0) objTextBox.value = '';   
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;   
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;   
    if (len > 2) {   
        aux2 = '';   
        for (j = 0, i = len - 3; i >= 0; i--) {   
            if (j == 3) {   
                aux2 += SeparadorMilesimo;   
                j = 0;   
            }   
            aux2 += aux.charAt(i);   
            j++;   
        }   
        objTextBox.value = '';   
        len2 = aux2.length;   
        for (i = len2 - 1; i >= 0; i--)   
        objTextBox.value += aux2.charAt(i);   
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);   
    }   
    return false;   
}   


function mascara(objeto, 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;

}*/

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 = objeto.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( " ", "" );

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++;

}

objeto.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;

}

}
