﻿//Funções para calcular as Simulações de Financiamento

function fctCalcular1(TxCambioID, TotalVendaID, EntradaID, FinanceiroID, hdnCoeficiente, hdnValor, hdnTotalVenda, hdnParcelas)
{
	var moneyValVendaDolar, moneyTaxaCambio, moneytValorEntrada, moneyValorVendaReal;
	var moneyValorEntradaReal;
	
	moneyValVendaDolar = fctAspNumberToJsNumber(document.getElementById('txtSimValorVenda').value, 2);
	moneyTaxaCambio = fctAspNumberToJsNumber(document.getElementById(TxCambioID).innerHTML, 2);
	moneyValorEntrada = fctAspNumberToJsNumber(document.getElementById('txtSimEntrada').value, 2);

	if (isNaN(moneyValVendaDolar) || moneyValVendaDolar == 0.00)
	{
		moneyValVendaDolar = 0;
		document.getElementById('txtSimValorVenda').value = '0,00';
		return;
	}
	else
	{
		document.getElementById('txtSimValorVenda').value = fctJsNumberToAspNumber(moneyValVendaDolar, 2, true);
	}
	
	if (isNaN(moneyTaxaCambio) || moneyTaxaCambio == 0.00)
	{
		moneyTaxaCambio = 1.00;
		document.getElementById(TxCambioID).value = '0,00';
	}
	
	moneyValorVendaReal = moneyValVendaDolar * moneyTaxaCambio;
	
	document.getElementById(TotalVendaID).innerHTML = fctJsNumberToAspNumber(moneyValorVendaReal, 2, true);
	
	if (moneyValorEntrada > moneyValorVendaReal || isNaN(moneyValorEntrada))
	{
		moneyValorEntrada = 0;
	}
	
	if (moneyValorEntrada == 0 || isNaN(moneyValorEntrada))
	{
		document.getElementById(FinanceiroID).innerHTML = fctJsNumberToAspNumber(moneyValorVendaReal, 2, true);
		document.getElementById('txtSimEntrada').value = "0,00";
		document.getElementById(EntradaID).innerHTML = "0";
	}
	else
	{
		document.getElementById('txtSimEntrada').value = fctJsNumberToAspNumber(moneyValorEntrada, 2, true);
		document.getElementById(FinanceiroID).innerHTML = fctJsNumberToAspNumber(Arredonda((moneyValorVendaReal - moneyValorEntrada), 2), 2, true);
		document.getElementById(EntradaID).innerHTML = fctJsNumberToAspNumber(Arredonda((moneyValorEntrada * 100)/moneyValorVendaReal, 2), 2, true);
	}
	
	Valor = fctAspNumberToJsNumber(document.getElementById(FinanceiroID).innerHTML, 2);
	vetorParcelas = document.getElementById(hdnParcelas).value.split(',');
	vetorCoeficiente = document.getElementById(hdnCoeficiente).value.split(',');
	vetorValor = document.getElementById(hdnValor).value.split(',');
	vetorValorVenda = document.getElementById(hdnTotalVenda).value.split(',');
	for(index=0; index<vetorValor.length; index++)
	{
	    document.getElementById(vetorValor[index]).innerHTML = fctJsNumberToAspNumber(Arredonda((Valor * fctAspNumberToJsNumber(document.getElementById(vetorCoeficiente[index]).innerHTML,'8')), 2),2,true);
	    document.getElementById(vetorValorVenda[index]).innerHTML = fctJsNumberToAspNumber(Arredonda((Valor * fctAspNumberToJsNumber(document.getElementById(vetorCoeficiente[index]).innerHTML,'8') * document.getElementById(vetorParcelas[index]).innerHTML), 2),2,true);
	}
}

function fctCalcular2(TxCambioID, TotalVendaID, EntradaID, FinanceiroID, hdnCoeficiente, hdnValor, hdnTotalVenda, hdnParcelas)
{
	var moneyValVendaDolar, moneyTaxaCambio, moneytValorEntrada, moneyValorVendaReal;

	moneyValVendaDolar = document.getElementById('txtSimValorVenda').value;
	moneyTaxaCambio = document.getElementById(TxCambioID).innerHTML;
	
//	if ( objForm.campos.value == '')
//	{
//		alert('Não há coeficientes para realizar a simulação');
//		return;
//	}
	
	if (isNaN(moneyValVendaDolar) || moneyValVendaDolar == 0.00)
	{
		moneyValVendaDolar = 0;
		document.getElementById('txtSimValorVenda').value = '0.00';
		return;
	}
	else
	{
		document.getElementById('txtSimValorVenda').value = moneyValVendaDolar;
	}
	
	if (isNaN(moneyTaxaCambio) || moneyTaxaCambio == 0.00)
	{
		moneyTaxaCambio = 1.00;
		document.getElementById(TxCambioID).value = '0.00';
	}
	
	moneyValorVendaReal = moneyValVendaDolar * moneyTaxaCambio;
	document.getElementById(TotalVendaID).innerHTML = moneyValorVendaReal;
	
	Valor = moneyValorVendaReal;
	vetorParcelas = document.getElementById(hdnParcelas).value.split(',');
	vetorCoeficiente = document.getElementById(hdnCoeficiente).value.split(',');
	vetorValor = document.getElementById(hdnValor).value.split(',');
	vetorValorVenda = document.getElementById(hdnTotalVenda).value.split(',');
	for(index=0; index<vetorValor.length; index++)
	{
	    document.getElementById(vetorValor[index]).innerHTML = Arredonda((Valor * document.getElementById(vetorCoeficiente[index]).innerHTML), 2);
	    document.getElementById(vetorValorVenda[index]).innerHTML = Arredonda((Valor * document.getElementById(vetorCoeficiente[index]).innerHTML * document.getElementById(vetorParcelas[index]).innerHTML), 2);
	}
}
//Calculo para Simulação ABN
function fctCalcular3(TxCambioID, TACID, TotalVendaID, EntradaID, FinanceiroID, hdnCoeficiente, hdnValor, hdnTotalVenda, hdnParcelas)
{
	var moneyValVendaDolar, moneyTaxaCambio, moneytValorEntrada, moneyValorVendaReal;
	var moneyTac;
	var moneyValorEntradaReal;

	moneyValVendaDolar = fctAspNumberToJsNumber(document.getElementById('txtSimValorVenda').value, 2);
	moneyTaxaCambio = fctAspNumberToJsNumber(document.getElementById(TxCambioID).innerHTML, 2);
	moneyValorEntrada = fctAspNumberToJsNumber(document.getElementById('txtSimEntrada').value, 2);
	moneyTac = fctAspNumberToJsNumber(document.getElementById(TACID).innerHTML, 2);
	
	
	if (isNaN(moneyValVendaDolar) || moneyValVendaDolar == 0.00)
	{
		moneyValVendaDolar = 0;
		document.getElementById('txtSimValorVenda').value = '0,00';
		return;
	}
	else
	{
		document.getElementById('txtSimValorVenda').value = fctJsNumberToAspNumber(moneyValVendaDolar, 2, true);
	}

	if (isNaN(moneyTaxaCambio) || moneyTaxaCambio == 0.00)
	{
		moneyTaxaCambio = 1.00;
		document.getElementById(TxCambioID).value = '0,00';
	}
	
	moneyValorVendaReal = moneyValVendaDolar * moneyTaxaCambio + moneyTac;
	document.getElementById(TotalVendaID).innerHTML = fctJsNumberToAspNumber(moneyValorVendaReal, 2, true);
	if (moneyValorEntrada > moneyValorVendaReal || isNaN(moneyValorEntrada))
	{
		moneyValorEntrada = 0;
	}
	
	if (moneyValorEntrada == 0 || isNaN(moneyValorEntrada))
	{
		document.getElementById(FinanceiroID).innerHTML = fctJsNumberToAspNumber(moneyValorVendaReal, 2, true);
		document.getElementById('txtSimEntrada').value = "0,00";
		document.getElementById(EntradaID).innerHTML = "0";
	}
	else
	{
		document.getElementById('txtSimEntrada').value = fctJsNumberToAspNumber(moneyValorEntrada, 2, true);
		document.getElementById(FinanceiroID).innerHTML = fctJsNumberToAspNumber(Arredonda((moneyValorVendaReal - moneyValorEntrada), 2), 2, true);
		document.getElementById(EntradaID).innerHTML = fctJsNumberToAspNumber(Arredonda((moneyValorEntrada * 100)/moneyValorVendaReal, 2), 2, true);
	}
	
	Valor = fctAspNumberToJsNumber(document.getElementById(FinanceiroID).innerHTML, 2);
	vetorParcelas = document.getElementById(hdnParcelas).value.split(',');
	vetorCoeficiente = document.getElementById(hdnCoeficiente).value.split(',');
	vetorValor = document.getElementById(hdnValor).value.split(',');
	vetorValorVenda = document.getElementById(hdnTotalVenda).value.split(',');
	for(index=0; index<vetorValor.length; index++)
	{
	    document.getElementById(vetorValor[index]).innerHTML = fctJsNumberToAspNumber(Arredonda((Valor * fctAspNumberToJsNumber(document.getElementById(vetorCoeficiente[index]).innerHTML,'8')), 2), 2, true);
	    document.getElementById(vetorValorVenda[index]).innerHTML = fctJsNumberToAspNumber(Arredonda((Valor * fctAspNumberToJsNumber(document.getElementById(vetorCoeficiente[index]).innerHTML ,'8')* document.getElementById(vetorParcelas[index]).innerHTML), 2), 2, true);
	}
}

//Calculo para Simulação Aymoré
function fctCalcular4(TxCambioID, TACID, TotalVendaID, FinanceiroID, hdnCoeficiente, hdnValor, hdnTotalVenda, hdnParcelas, hdnTaxas)
{
    
	var moneyValVendaDolar, moneyTaxaCambio, moneytValorEntrada, moneyValorVendaReal;
	var moneyTac;
	var moneyValorEntradaReal;

	moneyValVendaDolar = fctAspNumberToJsNumber(document.getElementById('txtSimValorVenda').value, 2);
	moneyTaxaCambio = fctAspNumberToJsNumber(document.getElementById(TxCambioID).innerHTML, 2);
	moneyTac = fctAspNumberToJsNumber(document.getElementById(TACID).innerHTML, 2);
	
	if (isNaN(moneyValVendaDolar) || moneyValVendaDolar == 0.00)
	{
		moneyValVendaDolar = 0;
		document.getElementById('txtSimValorVenda').value = '0,00';
		return;
	}
	else
		document.getElementById('txtSimValorVenda').value = fctJsNumberToAspNumber(moneyValVendaDolar, 2, true);

	if (isNaN(moneyTaxaCambio) || moneyTaxaCambio == 0.00)
	{
		moneyTaxaCambio = 1.00;
		document.getElementById(TxCambioID).value = '0,00';
	}
	
	moneyValorVendaReal = moneyValVendaDolar * moneyTaxaCambio + moneyTac;
	document.getElementById(TotalVendaID).innerHTML = fctJsNumberToAspNumber(moneyValorVendaReal, 2, true);
    document.getElementById(FinanceiroID).innerHTML = fctJsNumberToAspNumber(Arredonda((moneyValorVendaReal), 2), 2, true);
	
	Valor = fctAspNumberToJsNumber(document.getElementById(FinanceiroID).innerHTML, 2);
	vetorParcelas = document.getElementById(hdnParcelas).value.split(',');
	vetorCoeficiente = document.getElementById(hdnCoeficiente).value.split(',');
	vetorValor = document.getElementById(hdnValor).value.split(',');
	vetorValorVenda = document.getElementById(hdnTotalVenda).value.split(',');
	vetorTaxas = document.getElementById(hdnTaxas).value.split(',');
	
	for(index=0; index<vetorValor.length; index++)
	{
	    var valueTaxa = fctAspNumberToJsNumber(document.getElementById(vetorTaxas[index]).innerHTML,'8');
	    var valueCoef = fctAspNumberToJsNumber(document.getElementById(vetorCoeficiente[index]).innerHTML,'8');
	    var valueParc = fctAspNumberToJsNumber(document.getElementById(vetorParcelas[index]).innerHTML,'8');
	    var valueAux = Valor * valueCoef;
	    
	    
	    //if(valueTaxa == 0)
	        //document.getElementById(vetorValor[index]).innerHTML = fctJsNumberToAspNumber(Arredonda(((valueAux + Valor) / valueParc), 2), 2, true);
	    //else
	        document.getElementById(vetorValor[index]).innerHTML = fctJsNumberToAspNumber(Arredonda(valueAux, 2), 2, true);   
	    
	    
	    //if(valueTaxa == 0)
	        //document.getElementById(vetorValorVenda[index]).innerHTML = fctJsNumberToAspNumber(Arredonda((valueAux), 2), 2, true);
	   //else
	        document.getElementById(vetorValorVenda[index]).innerHTML =  fctJsNumberToAspNumber(Arredonda((valueAux * valueParc), 2), 2, true);
	}
}


function Arredonda(Valor, Casas) {
	if (isNaN(Casas) || Casas == '' || parseInt(Casas, 10) < 0 )
        Casas = 0;
	else
		Casas = parseInt(Casas, 10);

	if (isNaN(Valor) || Valor == '')
		Valor = 0;

	return Math.round(Valor * Math.pow(10, Casas)) / Math.pow(10, Casas);
}

function fctAspNumberToJsNumber(Valor, Casas) {
	if(isNaN(Casas) || Casas == '' || parseInt(Casas, 10) < 0)
		Casas	= 0;
	else
		Casas	= parseInt(Casas, 10);
	Valor = Valor.replace('.','');
	return Arredonda(Valor.replace(',','.'), Casas);
}

function fctJsNumberToAspNumber(Valor, Casas, Exibir) {
	if(Exibir != true && Exibir != false)
		return;
	if(isNaN(Casas) || Casas == '' || parseInt(Casas, 10) < 0)
		Casas	= 0;
	else
		Casas	= parseInt(Casas, 10);

	Valor			= (Arredonda(Valor, Casas).toString()).replace('.', ',');
	Valor			= Valor.split(',');
	LenCasas	= (Valor[1] == null) ? 0  : Valor[1].length;
	Valor[1]	= (Valor[1] == null) ? '' : Valor[1];

	if(Valor[0].length > 3)
		Valor[0] = (Valor[0].slice(0, Valor[0].length - 3)) +'.'+ (Valor[0].slice(Valor[0].length - 3, Valor[0].length));
	
	if(Exibir && Casas > LenCasas)
		for(Indx=LenCasas; Indx < Casas ;Indx++)
			Valor[1]	= Valor[1] +'0';

	if(Valor[1] != '')
		return Valor[0] +','+ Valor[1];
	else
		return Valor[0];
	}
