// Menu + e -
function collapseExpand( idSection, title )
{	var section = document.getElementById( idSection );
	var toShow  = section.style.display == 'none';
	var style   = toShow ? '' : 'none';
	section.style.display = style;
	var symbol = toShow ? 'sinalmenos' : 'sinalmais';	
	title.innerHTML = toShow ? title.innerHTML.replace( 'sinalmais', 'sinalmenos' ) : title.innerHTML.replace( 'sinalmenos', 'sinalmais' );
}


<!-- Início da Função FormataReais --> 
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;
}

function formataValorMonetario(campooriginal,decimais)
{	var posicaoPontoDecimal;
  	var campo = '';
  	var resultado = '';
  	var pos,sep,dec;
	//Retira possiveis separadores de milhar
  	for (pos=0; pos < campooriginal.value.length; pos ++)
  	{	if (campooriginal.value.charAt(pos)!='.')
        campo = campo + campooriginal.value.charAt(pos);
  	}
}     

function FormataReais(fld, milSep, decSep, NumDec, 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) return true;  // Enter 
	if (whichCode == 0) return true;   // Delete 
	key = String.fromCharCode(whichCode);// Valor para o código da Chave 
	if ((strCheck.indexOf(key) == -1) && (whichCode != 45)) return false; // Chave inválida 
	len = fld.value.length; 

	//Inicio do tratamento de numeros negativos 
	if (whichCode == 45)
	{	if( fld.value.indexOf("-") != 0) {	vMenos = "-"; } 
		key    = ""; 
	} 
	else
	{	if( fld.value.indexOf("-") == 0)
		{	fld.value = fld.value.substr(1,len); 
			len = fld.value.length; 
			vMenos = "-"; 
		} 
	}
	//Fim do tratamento de numeros negativos 

	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 (NumDec > 0)
	{	if (len == 1) fld.value = '0' + decSep + '0' + aux; 
		if (len == 2) fld.value = '0' + decSep + aux;
		if ((len > 2) && (len < 9))
		{	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); 
		} 
		return false;
	}
	else
	{	if (len == 1) fld.value = '0' + aux; 
		if (len == 2) fld.value = aux;
		if ((len > 2) && (len < 9))
		{	aux2 = ''; 
			for (j = 0, i = len - 3; i >= 0; i--) 
			{	aux2 += aux.charAt(i); 
				j++; 
			} 
			fld.value = ''; 
			len2 = aux2.length; 
			for (i = len2 - 1; i >= 0; i--) 
			fld.value += aux2.charAt(i); 
			fld.value += aux.substr(len - 2, len); 
		} 
		return false;
	}	
} 
//Fim da Função FormataReais --> 


