function LimitaTexto(campo, contador, limite) {
	Rotulo = document.getElementById(contador);
    
	if (campo.value.length > limite) { 
		campo.value = campo.value.substring(0, limite); 
	} 
	else  { 
		Rotulo.innerHTML = '(' + campo.value.length + '/' + limite + ')';
	}         
} 


function ConsisteValor(campo) {
	var VQtd = 0;
	var Validos = ',0123456789';
	var VTecla = campo.value.substring((campo.value.length-1),campo.value.length);

	if (Validos.indexOf(VTecla) == -1)
		campo.value = campo.value.substring(0, (campo.value.length-1));    

	// Apenas uma vírgula pode ser utilizada no campo tipo valor
	if (VTecla == ',') {
		var VStrAux = campo.value;
		var VLocalizar = VStrAux.indexOf(VTecla);

		while (VLocalizar >= 0) {
			VQtd++;
			VStrAux = VStrAux.substring((VLocalizar + 1),campo.value.length)
			VLocalizar = VStrAux.indexOf(VTecla);
		}

		if (VQtd > 1)
			campo.value = campo.value.substring(0, (campo.value.length-1));
	}
}


function ConsisteInteiro(campo) {
    var Validos = '0123456789';
    var VTecla = campo.value.substring((campo.value.length-1),campo.value.length);
    if (Validos.indexOf(VTecla) == -1)
        campo.value = campo.value.substring(0, (campo.value.length-1));    
}

function Formatar2Casas (valor) {
	var aValor = new Array();
	var aNovoValor;

	aValor = valor.split(",");
	if (valor.indexOf(',') < 0)
		aNovoValor = valor + ',00';
	else {
		aNovoValor = aValor[1];
		for (var i=aValor[1].length; i<2 ; i++) {
			aNovoValor+= '0';
		}
		aNovoValor = aValor[0] + ',' + aNovoValor;
	}

return aNovoValor;
}

function Vazio(campo) {
    var val = campo.value;

	if ((val==null) || (val == '00/0000'))
       return true;

	for (var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r"))
		    return false;
	}

	return true;
}




function calcularSimples () {

	//=valor+(valor*(porcentagem/100))

	var nValor = parseFloat(document.forms[0].valor.value.replace(',','.')) +
				 (parseFloat(document.forms[0].valor.value.replace(',','.')) * (parseFloat(document.forms[0].porcentagem.value.replace(',','.')) / 100));

	nValor = Math.round(nValor * 100) / 100; 

	nQtdeJuro = nValor - parseFloat(document.forms[0].valor.value.replace(',','.'));
	nQtdeJuro = Math.round(nQtdeJuro * 100) / 100; 
	nQtdeJuro = nQtdeJuro.toString();
	document.forms[0].qtdeJuro.value = Formatar2Casas(nQtdeJuro.replace ('.',','));
		
	nValor = nValor.toString();
	document.forms[0].resposta.value = Formatar2Casas(nValor.replace ('.',','));
}


function calcularComposta () {

	var nResposta = Math.pow((parseFloat(document.forms[0].valorFinal.value.replace(',','.')) / parseFloat(document.forms[0].valorInicial.value.replace(',','.'))),
							 (1 / parseFloat(document.forms[0].tempo.value))) - 1;
	nResposta = nResposta * 100;
	nResposta = Math.round(nResposta * 100) / 100; 
	nResposta = nResposta.toString();
	document.forms[0].resposta.value = Formatar2Casas(nResposta.replace ('.',','));

	nQtdeJuro = parseFloat(document.forms[0].valorFinal.value.replace(',','.')) - parseFloat(document.forms[0].valorInicial.value.replace(',','.'));
	nQtdeJuro = Math.round(nQtdeJuro * 100) / 100; 
	nQtdeJuro = nQtdeJuro.toString();
	document.forms[0].qtdeJuro.value = Formatar2Casas(nQtdeJuro.replace ('.',','));		
}




function calcularMontante () {

	var nQtdeJuroSimples = parseFloat(document.forms[0].capital.value.replace(',','.')) * 
	                       parseFloat(document.forms[0].tempo.value) * 
						   (parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100);
	nQtdeJuroSimples = Math.round(nQtdeJuroSimples * 100) / 100; 

	var nMontanteSimples = parseFloat(document.forms[0].capital.value.replace(',','.')) + nQtdeJuroSimples;
	nMontanteSimples = nMontanteSimples.toString();
	document.forms[0].montanteSimples.value = Formatar2Casas(nMontanteSimples.replace ('.',','));

	nQtdeJuroSimples = nQtdeJuroSimples.toString();
	document.forms[0].qtdeJuroSimples.value = Formatar2Casas(nQtdeJuroSimples.replace ('.',','));


	var nQtdeJuroComposto = parseFloat(document.forms[0].capital.value.replace(',','.')) * 
	                        (Math.pow(1+(parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100), parseFloat(document.forms[0].tempo.value)) - 1);
	nQtdeJuroComposto = Math.round(nQtdeJuroComposto * 100) / 100; 

	var nMontanteComposto = parseFloat(document.forms[0].capital.value.replace(',','.')) + nQtdeJuroComposto;
	nMontanteComposto = nMontanteComposto.toString();
	document.forms[0].montanteComposto.value = Formatar2Casas(nMontanteComposto.replace ('.',','));

	nQtdeJuroComposto = nQtdeJuroComposto.toString();
	document.forms[0].qtdeJuroComposto.value = Formatar2Casas(nQtdeJuroComposto.replace ('.',','));
}

function calcularPorcentagem () {

	var nResposta = (parseFloat(document.forms[0].valorFinal.value.replace(',','.')) / parseFloat(document.forms[0].valorInicial.value.replace(',','.'))) - 1;
	nResposta = nResposta * 100;
	nResposta = Math.round(nResposta * 100) / 100; 
	nResposta = nResposta.toString();
	document.forms[0].resposta.value = Formatar2Casas(nResposta.replace ('.',','));

	nQtdeJuro = parseFloat(document.forms[0].valorFinal.value.replace(',','.')) - parseFloat(document.forms[0].valorInicial.value.replace(',','.'));
	nQtdeJuro = Math.round(nQtdeJuro * 100) / 100; 
	nQtdeJuro = nQtdeJuro.toString();
	document.forms[0].qtdeJuro.value = Formatar2Casas(nQtdeJuro.replace ('.',','));		
}

function calcularTempoRendimento() {

	var nQtdeJuroSimples = parseFloat(document.forms[0].montante.value.replace(',','.')) - parseFloat(document.forms[0].capital.value.replace(',','.'));
	nQtdeJuroSimples = nQtdeJuroSimples.toString();
	document.forms[0].qtdeJuroSimples.value = Formatar2Casas(nQtdeJuroSimples.replace ('.',','));
	document.forms[0].qtdeJuroComposto.value = document.forms[0].qtdeJuroSimples.value;

	var nTempoPrevistoSimples = parseFloat(document.forms[0].qtdeJuroSimples.value.replace(',','.')) / 
	                            (parseFloat(document.forms[0].capital.value.replace(',','.')) * (parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100));
	nTempoPrevistoSimples = Math.round(nTempoPrevistoSimples * 100) / 100; 

	nTempoPrevistoSimples = nTempoPrevistoSimples.toString();
	document.forms[0].tempoPrevistoSimples.value = Formatar2Casas(nTempoPrevistoSimples.replace ('.',','));
	
	//=(LOG((montante/capital);10))/(LOG((1+taxa);10))
	var nTempoPrevistoComposto = Math.log(parseFloat(document.forms[0].montante.value.replace(',','.')) / parseFloat(document.forms[0].capital.value.replace(',','.'))) / Math.log(1 + (parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100));
	nTempoPrevistoComposto = Math.round(nTempoPrevistoComposto * 100) / 100; 

	nTempoPrevistoComposto = nTempoPrevistoComposto.toString();
	document.forms[0].tempoPrevistoComposto.value = Formatar2Casas(nTempoPrevistoComposto.replace ('.',','));
}

function calcularAplicMensalMontante () {

	var nMontante = parseFloat(document.forms[0].capital.value.replace(',','.')) * 
					(((Math.pow((1 + (parseFloat(document.forms[0].taxa.value.replace(',','.'))/100)),parseFloat(document.forms[0].tempo.value.replace(',','.')))) - 1) / (parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100));
	nMontante = Math.round(nMontante * 100) / 100; 

	nQtdeJuro = nMontante - (parseFloat(document.forms[0].capital.value.replace(',','.')) * parseFloat(document.forms[0].tempo.value.replace(',','.')));
	nQtdeJuro = Math.round(nQtdeJuro * 100) / 100; 
	nQtdeJuro = nQtdeJuro.toString();
	document.forms[0].qtdeJuro.value = Formatar2Casas(nQtdeJuro.replace ('.',','));		

	nMontante = nMontante.toString();
	document.forms[0].montanteComposto.value = Formatar2Casas(nMontante.replace ('.',','));
}

function calcularAplicMensalTempo () {

	//tempoPrevisto =(LOG((((montante*taxa)+mensal)/mensal);10)/(LOG((1+taxa);10)))
	//qtdeJuro =montante-(mensal*tempoPrevisto)

	var nTempoPrevisto = Math.log(((parseFloat(document.forms[0].montante.value.replace(',','.')) * (parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100)) +
								    parseFloat(document.forms[0].mensal.value.replace(',','.'))) / parseFloat(document.forms[0].mensal.value.replace(',','.'))) /
						 Math.log(1 + (parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100));
	nTempoPrevisto = Math.round(nTempoPrevisto * 100) / 100; 

	nQtdeJuro = parseFloat(document.forms[0].montante.value.replace(',','.')) - (parseFloat(document.forms[0].mensal.value.replace(',','.')) * nTempoPrevisto);
	nQtdeJuro = Math.round(nQtdeJuro * 100) / 100; 
	nQtdeJuro = nQtdeJuro.toString();
	document.forms[0].qtdeJuro.value = Formatar2Casas(nQtdeJuro.replace ('.',','));		

	nTempoPrevisto = nTempoPrevisto.toString();
	document.forms[0].tempoPrevisto.value = Formatar2Casas(nTempoPrevisto.replace ('.',','));
}

function calcularAplicMontante () {

	var nMensal = parseFloat(document.forms[0].montante.value.replace(',','.')) /
					(((Math.pow((1 + (parseFloat(document.forms[0].taxa.value.replace(',','.'))/100)),parseFloat(document.forms[0].tempo.value.replace(',','.')))) - 1) / (parseFloat(document.forms[0].taxa.value.replace(',','.')) / 100));
	nMensal = Math.round(nMensal * 100) / 100; 

	nQtdeJuro = parseFloat(document.forms[0].montante.value.replace(',','.')) - (nMensal * parseFloat(document.forms[0].tempo.value.replace(',','.')));
	nQtdeJuro = Math.round(nQtdeJuro * 100) / 100; 
	nQtdeJuro = nQtdeJuro.toString();
	document.forms[0].qtdeJuro.value = Formatar2Casas(nQtdeJuro.replace ('.',','));		

	nMensal = nMensal.toString();
	document.forms[0].aplicacaoMensal.value = Formatar2Casas(nMensal.replace ('.',','));
}

