function FormataIndice(campo,tammax,teclapres,decimal)
{
	var tecla = teclapres.keyCode;
	vr = Limpar(campo.value,"0123456789");
	tam = vr.length;
	dec=decimal
	
	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 <= dec ){ campo.value = vr ; }
			if ( (tam > dec) && (tam <= 7) ){campo.value = vr.substr( 0, tam - dec ) + "," + vr.substr( tam - dec, tam ) ; }
			if ( (tam >= 8) && (tam <= 12) ){campo.value = vr.substr( 0, tam - dec ) + "," + vr.substr( tam - dec, tam ) ; }
		}
}
	
	
function Limpar(valor, validos)
	{ // retira caracteres invalidos da string 
		var result = ""; 
		var aux; 
		for (var i=0; i < valor.length; i++)
			{ 	aux = validos.indexOf(valor.substring(i, i+1)); 
				if (aux>=0) 
					{ 	result += aux; } 
			} 
		return result; 
	} 	

var base64Str;
var base64Count;
var END_OF_INPUT = -1;

var base64Chars = new Array(
	'A','B','C','D','E','F','G','H',
	'I','J','K','L','M','N','O','P',
	'Q','R','S','T','U','V','W','X',
	'Y','Z','a','b','c','d','e','f',
	'g','h','i','j','k','l','m','n',
	'o','p','q','r','s','t','u','v',
	'w','x','y','z','0','1','2','3',
	'4','5','6','7','8','9','+','/'
);
function setBase64Str(str)
	{
		base64Str = str;
		base64Count = 0;
	}
function readBase64()
	{    
		if (!base64Str) return END_OF_INPUT;
		if (base64Count >= base64Str.length) return END_OF_INPUT;
		var c = base64Str.charCodeAt(base64Count) & 0xff;
		base64Count++;
		return c;
	}
function Codificar(str)
	{
		setBase64Str(str);
		var result = '';
		var inBuffer = new Array(3);
		var lineCount = 0;
		var done = false;
		while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){
			inBuffer[1] = readBase64();
			inBuffer[2] = readBase64();
			result += (base64Chars[ inBuffer[0] >> 2 ]);
			if (inBuffer[1] != END_OF_INPUT){
				result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);
				if (inBuffer[2] != END_OF_INPUT){
					result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
					result += (base64Chars [inBuffer[2] & 0x3F]);
				} else {
					result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);
					result += ('=');
					done = true;
				}
			} else {
				result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);
				result += ('=');
				result += ('=');
				done = true;
			}
			lineCount += 4;
			if (lineCount >= 76){
				result += ('\n');
				lineCount = 0;
			}
		}
		return result;
	}

