function FormataValor(campo,tammax,teclapres)
{
   
    var tecla = teclapres.keyCode;
    if (tecla == 46){
        teclapres.keyCode = 0;
        "<p style='text-align: right'>"
    }

    vr = campo.value;
    vr = vr.replace( "/", "" );
    vr = vr.replace( "/", "" );
    vr = vr.replace( ",", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    tam = vr.length;
        
    if (tam >= tammax && tecla != 8 && tecla != 9 && tecla != 0){
        return false;
    }

    if (tam < tammax && tecla == 8  && tecla == 9 && tecla == 0){ 
    tam = vr.length + 1;} 
    if (tecla == 8 ){
        tam = tam - 1;

    if ( tecla == 8 || tecla == 0 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 && tammax <= 8 ){
            if ( tam <= 2 ){ 
                if (tam == 2) { campo.value = '0,' + vr; }
                if (tam == 1) { campo.value = '0,0' + vr; }
                 if (tam == 0) { campo.value = '0,00'; }
             }
             if ( (tam > 2) && (tam <= 5) )
             {
                 campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); 
             }
             if ( (tam >= 6) && (tam <= 8) )
             {
                 campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
             }
            
        }
    }        
}

function FormataValorDEC(fld, milSep, decSep, 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 == 0 || whichCode == 8) 
        return true;  // Enter
            
    key = String.fromCharCode(whichCode);  // Get key value from key code
    if (strCheck.indexOf(key) == -1) 
        return false;  // Not a valid key
        
    len = fld.value.length;
    
    if (len >= 14 ){ 
        var MAux;
        MAux = fld.value;
        while (MAux.indexOf('.') != -1) MAux = MAux.replace('.','');
        MAux = MAux.replace(',','');
        MAux = FormataMilhar(MAux);
        fld.value = MAux;
        
        return false;
    }
    
    for(i = 0; i < len; i++)
        if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
            break;
    
    aux = '';    
    for(; i < len; i++)
        if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
        
    aux += key;
    len = aux.length;
    
    if (len == 0) 
        fld.value = '';
    if (len == 1) 
        fld.value = '0'+ decSep + '0' + aux;
    if (len == 2) 
        fld.value = '0'+ decSep + aux;
    if (len > 2) 
    {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) 
        {
            if (j == 3) 
            {
                aux2 += milSep;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        
        }
        fld.value = '';
        len2 = aux2.length;
        
        for (i = len2 - 1; i >= 0; i--)
            fld.value += aux2.charAt(i);
            
        fld.value += decSep + aux.substr(len - 2, len);
            
    }
        
    fld.value = fld.value;
        
    return false;
}

function txtBoxValueFormatar(obj,tammax,teclapres) 
{
    var tecla = teclapres.keyCode;
    vr = obj.value;
    vr = vr.replace( "/", "" );
    vr = vr.replace( "/", "" );
    vr = vr.replace( ",", "" );
    vr = vr.replace( ",", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace( ".", "" );
    tam = vr.length;

    if (tam < tammax && tecla != 8)
        tam = vr.length + 1 ;

    if (tecla == 8 )
        tam = tam - 1 ;

    if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
    {
        if ( tam <= 2 )
            obj.value = vr ; 
        if ( (tam > 2) && (tam <= 5) )
            obj.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; 
        if ( (tam >= 6) && (tam <= 8) )
            obj.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
        if ( (tam >= 9) && (tam <= 11) )
            obj.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
        if ( (tam >= 12) && (tam <= 14) )
            obj.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
        if ( (tam >= 15) && (tam <= 17) )
            obj.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;
    }
}

function txtBoxFormatar(objForm, strField, sMask) {

	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	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) == "/"))
		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;
	
}


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;
	}
	
	sValue = document.getElementById(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) == "/"))
		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++;

	}
	
	document.getElementById(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;
	}
	
}