// PROGRAMADOR: ALESSANDRO MENEZES DA SILVA
// SCRIPT ENCERRADO EM 15/09/2009 AS 01:44
// SCRIPT PARA SIMULAÇÃO DE CRÉDITO DO SITE LOJISTAS COOP-CRÉ-RJ

// função que faz a chamada das funções para calculo das simulações a partir do produto selecionado
function Simulacao_Credito( form1 )
{
	if( form1.produto.value == 1 )
	{
		// função para simular o crédito pessoal  
		Credito_Pessoal( form1 );
	}
	else if( form1.produto.value == 2 )
	{
		// função para simular o cheque especial 
		Cheque_Especial( form1 );
	}
	else
	{
		// função para simular o desconto de cheques
		Desconto_Cheques( form1 );
	}
}
	
// função para simular o crédito pessoal 
function Credito_Pessoal( form1 )
{
	// SIMULAÇÃO DE CRÉDITO PESSOAL 
	
	// vetor com as taxas de juros para parcelas de 1 a 24 do crédito pessoal
	// 1,9% - 2,9% - 3,9% : var juros = [ 1.9, 2.86, 3.82, 4.79, 8.87, 10.39, 11.93, 13.48, 15.05, 16.63, 18.23, 19.84, 29.38, 31.66, 33.97, 36.30, 38.66, 41.03, 43.44, 45.86, 48.31, 50.79, 53.28, 55.80 ];
	var juros = [ 2.5, 3.77, 5.04, 6.33, 8.87, 10.39, 11.93, 13.48, 15.05, 16.63, 18.23, 19.84, 29.38, 31.66, 33.97, 36.30, 38.66, 41.03, 43.44, 45.86, 48.31, 50.79, 53.28, 55.80 ];
	
	// variavel para identificar os possiveis erros
	var erros = [];
	
	// validando o formulário
	if( form1.montante.value == "" )
	{
		erros[erros.length] = "O Valor Financiado deve ser preenchido.";
	}
	if (!(/^[0-9]*$/.test(form1.montante.value.replace(",","").replace(".",""))))
	{
		erros[erros.length] = "Preencha corretamente o Valor Financiado.";
	}
	
	// se não houve erro no preenchimento do formulário realizaremos a simulação
	if( erros.length == 0 )
	{
		// atribuindo a variavel valor_solicitado o valor do crédito solicitado
		var valor_solicitado = form1.montante.value.replace(",",".");
		// atribuindo a variavel qt_parcelas a quantidade de parcelas solicitado
		var qt_parcelas = form1.periodo.value;
		// variavel para receber o valor total pago pelo crédito
		var valor_total = 0.0;
		// variavel para receber o valor das parcelas
		var parcelas = 0.0;
		
		// calculando o valor total que sera pago com juros pelo crédito
		valor_total = ( valor_solicitado*1.0 ) + (( juros[(qt_parcelas-1)]*valor_solicitado )/100);
		// calculando o valor das parcelas
		parcelas = ( valor_total/qt_parcelas );
		
		// exibindo o valor das parcelas no formulário
		form1.resultado.value = "R$ " +  parcelas.toFixed(2).replace(".",",");
	}
	else
	{
		alert( erros.join("\n") );
		errors.lenght = 0;
	}	
}

// função para simular o cheque especial
function Cheque_Especial( form1 )
{
	// SIMULAÇÃO DE CHEQUE ESPECIAL
	
	// variavel para identificar os possiveis erros
	var erros = [];
	
	// validando o formulário	
	if( form1.dias.value == "" )
	{
		erros[erros.length] = "Informe os Dias para o Desconto do Cheque.";
	}
	else if(!(/^[0-9]*$/.test(form1.dias.value)))
	{
		erros[erros.length] = "Preencha corretamente os Dias.";
	}
	if( form1.juros.value == "" )
	{
		erros[erros.length] = "Informe os Juros para o Desconto do Cheque.";
	}
	else if(!(/^[0-9]*$/.test(form1.juros.value.replace(",","").replace(".","").replace("%","").replace(" ",""))))
	{
		erros[erros.length] = "Preencha corretamente os Juros.";
	}
	if( form1.montante.value == "" )
	{
		erros[erros.length] = "O Valor do Cheque deve ser preenchido.";
	}
	else if(!(/^[0-9]*$/.test(form1.montante.value.replace(",","").replace(".",""))))
	{
		erros[erros.length] = "Preencha corretamente o Valor do Cheque.";
	}
	
	// se não houve erro no preenchimento do formulário realizaremos a simulação
	if( erros.length == 0 )
	{
		// atribuindo a variavel dias o valor do campo dias informado
		var dias = form1.dias.value;
		// atribuindo a variavel juros os juros informado
		var juros = form1.juros.value.replace(",",".").replace("%","").replace(" ","");
		// atribuindo a variavel valor_cheque o valor do cheque informado
		var valor_cheque = form1.montante.value.replace(",",".");
		// variavel para receber o valor descontado do Cheque
		var juros_adcionados = 0.0;
		// variavel para receber o valor liquido
		var valor_total = 0.0;
		
		// calculando o valor descontado do Cheque
		juros_adcionados = ( (( valor_cheque*1.0 )*( dias*1.0 )*( ( juros*1.0 )/100 ))/ 30 );
		// calculando o valor total
		valor_total = ( valor_cheque*1.0 ) + ( juros_adcionados*1.0 );
		
		// exibindo o valor liquido
		form1.resultado.value = "R$ " +  valor_total.toFixed(2).replace(".",",");
	}
	else
	{
		alert( erros.join("\n") );
	}	
}

// função para simular o desconto de cheques
function Desconto_Cheques( form1 )
{
	// SIMULAÇÃO DE DESCONTO DE CHEQUES 
	
	// variavel para identificar os possiveis erros
	var erros = [];
	
	// validando o formulário	
	if( form1.dias.value == "" )
	{
		erros[erros.length] = "Informe os Dias para o Desconto do Cheque.";
	}
	else if(!(/^[0-9]*$/.test(form1.dias.value)))
	{
		erros[erros.length] = "Preencha corretamente os Dias.";
	}
	if( form1.juros.value == "" )
	{
		erros[erros.length] = "Informe os Juros para o Desconto do Cheque.";
	}
	else if(!(/^[0-9]*$/.test(form1.juros.value.replace(",","").replace(".","").replace("%","").replace(" ",""))))
	{
		erros[erros.length] = "Preencha corretamente os Juros.";
	}
	if( form1.montante.value == "" )
	{
		erros[erros.length] = "O Valor do Cheque deve ser preenchido.";
	}
	else if(!(/^[0-9]*$/.test(form1.montante.value.replace(",","").replace(".",""))))
	{
		erros[erros.length] = "Preencha corretamente o Valor do Cheque.";
	}
	
	// se não houve erro no preenchimento do formulário realizaremos a simulação
	if( erros.length == 0 )
	{
		// atribuindo a variavel dias o valor do campo dias informado
		var dias = form1.dias.value;
		// atribuindo a variavel juros os juros informado
		var juros = form1.juros.value.replace(",",".").replace("%","").replace(" ","");
		// atribuindo a variavel valor_cheque o valor do cheque informado
		var valor_cheque = form1.montante.value.replace(",",".");
		// variavel para receber o valor descontado do Cheque
		var valor_descontado = 0.0;
		// variavel para receber o valor do IOF
		var IOF = 0.0;
		// variavel para receber o valor liquido
		var valor_liquido = 0.0;
		
		// calculando o valor descontado do Cheque
		valor_descontato = ( (( valor_cheque*1.0 )*( dias*1.0 )*( ( juros*1.0 )/100 ))/ 30 );
		// calculando o valor do IOF
		IOF = ( valor_cheque*0.0038 );
		// calculando o valor liquido
		valor_liquido = ( valor_cheque*1.0 ) - ( valor_descontato + IOF );
		
		// exibindo o valor liquido
		form1.resultado.value = "R$ " +  valor_liquido.toFixed(2).replace(".",",");
	}
	else
	{
		alert( erros.join("\n") );
	}	
}

// função para atualizar o formulário de acordo com o produto
function Atualizar_Form( form1 )
{
	if( form1.produto.value == 1 )
	{
		// atualizando o formulário para simulação de crédito pessoal
		document.getElementById('Label1').innerHTML = 'Nº de Parcelas';
		document.getElementById('Input1').style.display = 'block';
		document.getElementById('Input2').style.display = 'none';
		document.form1.juros.value = '1,9';
		document.form1.juros.disabled = true;
		document.getElementById('Label2').innerHTML = 'Valor Financiado';
		document.getElementById('Label3').innerHTML = 'Valor da Prestação';
	}
	else
	{
		// atualizando o formulário para simulação de cheque especial e desconto de cheques
		document.getElementById('Label1').innerHTML = 'Dias';
		document.getElementById('Input1').style.display = 'none';
		document.getElementById('Input2').style.display = 'block';
		document.form1.juros.disabled = false;
		document.getElementById('Label2').innerHTML = 'Valor do cheque';
				
		if( form1.produto.value == 2 ) 
		{
			// dados iniciais da simulação do desconto de cheques
			document.form1.dias.value = '9';
			document.form1.juros.value = '4';
			document.getElementById('Label3').innerHTML = 'Total';
		}
		else
		{
			// dados iniciais da simulação do cheque especial
			document.form1.dias.value = '30';
			document.form1.juros.value = '3';
			document.getElementById('Label3').innerHTML = 'Valor Liquido <i>( IOF 0,38% )</i>';
		}
	}	
	// resetando o campo de resposta
	document.form1.resultado.value = '';
}

// função para exibir os juros quando não editavel
function Atualizar_Juros( form1 )
{
	// atribuindo a variavel parcelas o total de parcelas selecionado
	var parcelas = (form1.periodo.value)*1.0;
	
	// verificando a quantidade de parcelas para exibir os juros referentes
	if( parcelas < 5 )
		form1.juros.value = "2,5";
	else if( parcelas < 13 )
		form1.juros.value = "2,9";
	else
		form1.juros.value = "3,9";	
}