/* author: IBERBULEI, Lda */
/* Creation date: 07-03-2006 */

//****************************************************************
/*Campos para o ficheiro de parametros do Simulador*/
//****************************************************************
//------------------------------------------------------------------------
//	Taxas e etc
//------------------------------------------------------------------------
/* Valor do Euribor 3 meses*/
function getEuriborValue(ValEuribor){
  var strReturn = "";
	//alteração das novas taxas: Segunda-feira 23 de Outubro de 2006
	if(eval(ValEuribor)=='0'){
	//taxa euribor a 3 meses
	  	strReturn = "'"+GetArrayTaxaNominal(3)+"'";
	}else if(eval(ValEuribor)=='1'){
	//taxa euribor a 6 meses
  		strReturn = "'"+GetArrayTaxaNominal(6)+"'";
	}else if(eval(ValEuribor)=='2'){
	//taxa euribor a 12 meses	
		strReturn = "'"+GetArrayTaxaNominal(12)+"'";
	}
  return strReturn;
} 
/* Taxa de juros variável*/
function getTaxaVariavel(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(1)+"'";
  return strReturn;
} 
/* Seguro MultiRiscos */
function getSeguroMultiRiscos(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(2)+"'";
  return strReturn;
}
/* Taxa do INEM */
function getTaxaINEM(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(3)+"'";
  return strReturn;
} 
/* Valor das despesas de manutenção no banco por mês*/
function getDespesasManutencaoDB(){
  var strReturn = "";
  strReturn = GetArrayTaxaGeral(4);
  return strReturn;
}
/* Nas transferencias o banco reembolsa até X% de despesas do capital em dívida*/
function getPercCapitalDivida(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(5)+"'";
  return strReturn;
} 
/* O Seguro Multiriscos encontra-se calculado sobre X% do valor de avaliação(imóvel)*/
function getPercSegMult(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(6)+"'";
  return strReturn;
} 
/* O Seguro de Protecção ao Crédito encontra-se calculado a X% do valor total de financiamento*/
function getPercSegPCred(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(7)+"'";
  return strReturn;
}  
/* Valor do Spread fixo para o Sinal*/
function getSpreadSinal(){
  var strReturn = "";
  strReturn = GetArraySpreadsG(3);   
  return strReturn;
}

/* Tabela de Spread */
function getSpread(ValImovel,ValLTV,ValLoc){
	//alert(ValLTV);
	//alert(ValLoc);
	ValValImovelSTD = new Array(6);
	ValLTVSTD = new Array(9);	
	ValSTD = new Array(21);		
	if(ValLoc=='LX'){
		//LOCALIZAÇÃO: DENTRO DE LISBOA	E ARREDORES
		ValValImovelSTD[0] = GetArraySpreadsVI(1);
		ValValImovelSTD[1] = GetArraySpreadsVI(2);
		ValValImovelSTD[2] = GetArraySpreadsVI(3);
		ValValImovelSTD[3] = GetArraySpreadsVI(4);
		ValValImovelSTD[4] = GetArraySpreadsVI(5);
		ValValImovelSTD[5] = GetArraySpreadsVI(6);
		ValValImovelSTD[6] = '0';
		ValLTVSTD[0] = GetArraySpreadsLTV(1);
		ValLTVSTD[1] = GetArraySpreadsLTV(2);
		ValLTVSTD[2] = GetArraySpreadsLTV(3);		
		ValLTVSTD[3] = GetArraySpreadsLTV(4);
		ValLTVSTD[4] = GetArraySpreadsLTV(5);
		ValLTVSTD[5] = GetArraySpreadsLTV(6);		
		ValLTVSTD[6] = GetArraySpreadsLTV(7);
		ValLTVSTD[7] = GetArraySpreadsLTV(8);
		ValLTVSTD[8] = '0';			
		ValSTD[0] = GetArraySpreads(1);
		ValSTD[1] = GetArraySpreads(2);
		ValSTD[2] = GetArraySpreads(3);
		ValSTD[3] = GetArraySpreads(4);
		ValSTD[4] = GetArraySpreads(5);
		ValSTD[5] = GetArraySpreads(6);
		ValSTD[6] = GetArraySpreads(7);	
		ValSTD[7] = GetArraySpreads(8);	
		ValSTD[8] = GetArraySpreads(9);	
		ValSTD[9] = GetArraySpreads(10);	
		ValSTD[10] = GetArraySpreads(11);	
		ValSTD[11] = GetArraySpreads(12);	
		ValSTD[12] = GetArraySpreads(13);	
		ValSTD[13] = GetArraySpreads(14);
		ValSTD[14] = GetArraySpreads(15);
		ValSTD[15] = GetArraySpreads(16);
		ValSTD[16] = GetArraySpreads(17);
		ValSTD[17] = GetArraySpreads(18);
		ValSTD[18] = GetArraySpreads(19);						
		ValSTD[19] = GetArraySpreads(20);			
		ValSTD[20] = '0'; 		
	}else{
		//LOCALIZAÇÃO: OUTRAS LOCALIDADES
		ValValImovelSTD[0] = GetArraySpreadsVI(7);
		ValValImovelSTD[1] = GetArraySpreadsVI(8);
		ValValImovelSTD[2] = GetArraySpreadsVI(9);
		ValValImovelSTD[3] = GetArraySpreadsVI(10);
		ValValImovelSTD[4] = GetArraySpreadsVI(11);
		ValValImovelSTD[5] = GetArraySpreadsVI(12);
		ValValImovelSTD[6] = '0';
		ValLTVSTD[0] = GetArraySpreadsLTV(9);
		ValLTVSTD[1] = GetArraySpreadsLTV(10);
		ValLTVSTD[2] = GetArraySpreadsLTV(11);		
		ValLTVSTD[3] = GetArraySpreadsLTV(12);
		ValLTVSTD[4] = GetArraySpreadsLTV(13);
		ValLTVSTD[5] = GetArraySpreadsLTV(14);		
		ValLTVSTD[6] = GetArraySpreadsLTV(15);
		ValLTVSTD[7] = GetArraySpreadsLTV(16);
		ValLTVSTD[8] = '0';			
		ValSTD[0] = GetArraySpreads(21);
		ValSTD[1] = GetArraySpreads(22);
		ValSTD[2] = GetArraySpreads(23);
		ValSTD[3] = GetArraySpreads(24);
		ValSTD[4] = GetArraySpreads(25);
		ValSTD[5] = GetArraySpreads(26);
		ValSTD[6] = GetArraySpreads(27);	
		ValSTD[7] = GetArraySpreads(28);	
		ValSTD[8] = GetArraySpreads(29);	
		ValSTD[9] = GetArraySpreads(30);	
		ValSTD[10] = GetArraySpreads(31);	
		ValSTD[11] = GetArraySpreads(32);	
		ValSTD[12] = GetArraySpreads(33);	
		ValSTD[13] = GetArraySpreads(34);
		ValSTD[14] = GetArraySpreads(35);
		ValSTD[15] = GetArraySpreads(36);
		ValSTD[16] = GetArraySpreads(37);
		ValSTD[17] = GetArraySpreads(38);
		ValSTD[18] = GetArraySpreads(39);						
		ValSTD[19] = GetArraySpreads(40);			
		ValSTD[20] = '0'; 		
	}
	GetArraySpreadsVI
	//****************************
	//1ª Linha do Quadro ------ LTV > 80 
	//****************************
	//Valor de Imovel < 150 mil - Coluna 1
	if((eval(ValLTV)>eval(ValLTVSTD[0]))&&(eval(ValImovel)<eval(ValValImovelSTD[0]))){
		strReturn = ValSTD[0];
	//Valor de Imovel >= 150 mil < 250 mil - Coluna 2		
	}else if ((eval(ValLTV) > eval(ValLTVSTD[0]))&&(eval(ValImovel) >= eval(ValValImovelSTD[1])) && (eval(ValImovel)< eval(ValValImovelSTD[2]))){
		strReturn = ValSTD[1];		
	//Valor de Imovel >= 150 mil < 350 mil - Coluna 3		
	}else if ((eval(ValLTV) > eval(ValLTVSTD[0]))&&(eval(ValImovel) >= eval(ValValImovelSTD[3])) && (eval(ValImovel)< eval(ValValImovelSTD[4]))){
		strReturn = ValSTD[2];			
	//Valor de Imovel 350 mil - Coluna 4
	}else if((eval(ValLTV) > eval(ValLTVSTD[0]))&&(eval(ValImovel) >= eval(ValValImovelSTD[5]))){
		strReturn = ValSTD[3];			
	//****************************
	//2ª Linha do Quadro ------ LTV (ltv > 65 <= 80)
	//****************************
	//Valor de Imovel < 150 mil - Coluna 1
	}else if((eval(ValLTV) > eval(ValLTVSTD[1]))&&(eval(ValLTV) <= eval(ValLTVSTD[2]))&&(eval(ValImovel) < eval(ValValImovelSTD[0]))){
		strReturn = ValSTD[4];
	//Valor de Imovel entre 150 mil e 250 mil - Coluna 2
	}else if((eval(ValLTV) > eval(ValLTVSTD[1]))&&(eval(ValLTV) <= eval(ValLTVSTD[2]))&&(eval(ValImovel) >= eval(ValValImovelSTD[1])) && (eval(ValImovel)< eval(ValValImovelSTD[2]))){
		strReturn = ValSTD[5];		
	//Valor de Imovel entre 250 mil e 350 mil - Coluna 3		
	}else if((eval(ValLTV) > eval(ValLTVSTD[1]))&&(eval(ValLTV) <= eval(ValLTVSTD[2]))&&(eval(ValImovel) >= eval(ValValImovelSTD[3])) && (eval(ValImovel)< eval(ValValImovelSTD[4]))){
		strReturn = ValSTD[6];			
	//Valor de Imovel 350 mil - Coluna 4
	}else if((eval(ValLTV) > eval(ValLTVSTD[1]))&&(eval(ValLTV) <= eval(ValLTVSTD[2]))&&(eval(ValImovel) >= eval(ValValImovelSTD[5]))){
		strReturn = ValSTD[7];
	//****************************
	//3ª Linha do Quadro ------ LTV (ltv > 50 <= 65)
	//****************************
	//Valor de Imovel < 150 mil - Coluna 1
	}else 	if((eval(ValLTV) > eval(ValLTVSTD[3]))&&(eval(ValLTV) <= eval(ValLTVSTD[4]))&&(eval(ValImovel) < eval(ValValImovelSTD[0]))){
		strReturn = ValSTD[8];
	//Valor de Imovel entre 150 mil e 250 mil - Coluna 2
	}else if((eval(ValLTV) > eval(ValLTVSTD[3]))&&(eval(ValLTV) <= eval(ValLTVSTD[4]))&&(eval(ValImovel) >= eval(ValValImovelSTD[1])) && (eval(ValImovel)< eval(ValValImovelSTD[2]))){
		strReturn = ValSTD[9];		
	//Valor de Imovel entre 250 mil e 350 mil - Coluna 3		
	}else if((eval(ValLTV) > eval(ValLTVSTD[3]))&&(eval(ValLTV) <= eval(ValLTVSTD[4]))&&(eval(ValImovel) >= eval(ValValImovelSTD[3])) && (eval(ValImovel)< eval(ValValImovelSTD[4]))){
		strReturn = ValSTD[10];			
	//Valor de Imovel 350 mil - Coluna 4
	}else if((eval(ValLTV) > eval(ValLTVSTD[3]))&&(eval(ValLTV) <= eval(ValLTVSTD[4]))&&(eval(ValImovel) >= eval(ValValImovelSTD[5]))){
		strReturn = ValSTD[11];
	//****************************
	//4ª Linha do Quadro ------ LTV (ltv > 40 <= 50)
	//****************************
	//Valor de Imovel < 150 mil - Coluna 1
	}else 	if((eval(ValLTV) > eval(ValLTVSTD[5]))&&(eval(ValLTV) <= eval(ValLTVSTD[6]))&&(eval(ValImovel) < eval(ValValImovelSTD[0]))){
		strReturn = ValSTD[12];
	//Valor de Imovel entre 150 mil e 250 mil - Coluna 2
	}else if((eval(ValLTV) > eval(ValLTVSTD[5]))&&(eval(ValLTV) <= eval(ValLTVSTD[6]))&&(eval(ValImovel) >= eval(ValValImovelSTD[1])) && (eval(ValImovel)< eval(ValValImovelSTD[2]))){
		strReturn = ValSTD[13];		
	//Valor de Imovel entre 250 mil e 350 mil - Coluna 3		
	}else if((eval(ValLTV) > eval(ValLTVSTD[5]))&&(eval(ValLTV) <= eval(ValLTVSTD[6]))&&(eval(ValImovel) >= eval(ValValImovelSTD[3])) && (eval(ValImovel)< eval(ValValImovelSTD[4]))){
		strReturn = ValSTD[14];			
	//Valor de Imovel 350 mil - Coluna 4
	}else if((eval(ValLTV) > eval(ValLTVSTD[5]))&&(eval(ValLTV) <= eval(ValLTVSTD[6]))&&(eval(ValImovel) >= eval(ValValImovelSTD[5]))){
		strReturn = ValSTD[15];
	//****************************
	//5ª Linha do Quadro ------ LTV (ltv <= 40)
	//****************************
	//Valor de Imovel  150 mil - Coluna 1
	}else if((eval(ValLTV) <= eval(ValLTVSTD[7]))&&(eval(ValImovel) < eval(ValValImovelSTD[0]))){
		strReturn = ValSTD[16];
	//Valor de Imovel entre 150 mil e 250 mil - Coluna 2	
	}else if ((eval(ValLTV) <= eval(ValLTVSTD[7]))&&(eval(ValImovel) >= eval(ValValImovelSTD[1])) && (eval(ValImovel)< eval(ValValImovelSTD[2]))){
		strReturn = ValSTD[17];		
	//Valor de Imovel entre 250 mil e 350 mil - Coluna 3	
	}else if ((eval(ValLTV) <= eval(ValLTVSTD[7]))&&(eval(ValImovel) >= eval(ValValImovelSTD[3])) && (eval(ValImovel)< eval(ValValImovelSTD[4]))){
		strReturn = ValSTD[18];			
	//Valor de Imovel 350 mil - Coluna 4
	}else if((eval(ValLTV) <= eval(ValLTVSTD[7]))&&(eval(ValImovel) >= eval(ValValImovelSTD[5]))){
		strReturn = ValSTD[19];		
	}
	//alert(strReturn);	
	return strReturn;	
}

/* Tabela 1 de IMT - Habitação Permanente */ 
function getValIMT_T1(ValAquisicao){
  var strReturn, Porcentagem, ParcelaAbater;
	strReturn = new Array(2);
	ValAquisicaoSTD = new Array(9);
	ValAquisicaoSTD[0] = GetArrayEncargosIMTVA_T1(1);
	ValAquisicaoSTD[1] = GetArrayEncargosIMTVA_T1(1);
	ValAquisicaoSTD[2] = GetArrayEncargosIMTVA_T1(2);
	ValAquisicaoSTD[3] = GetArrayEncargosIMTVA_T1(2);
	ValAquisicaoSTD[4] = GetArrayEncargosIMTVA_T1(3);
	ValAquisicaoSTD[5] = GetArrayEncargosIMTVA_T1(3);
	ValAquisicaoSTD[6] = GetArrayEncargosIMTVA_T1(4);
	ValAquisicaoSTD[7] = GetArrayEncargosIMTVA_T1(4);
	ValAquisicaoSTD[8] = GetArrayEncargosIMTVA_T1(5);
	ValAquisicaoSTD[9] = GetArrayEncargosIMTVA_T1(5);
	ValPercentagemSTD = new Array(9);
	ValPercentagemSTD[0] = GetArrayEncargosIMTPI_T1(1);
	ValPercentagemSTD[1] = GetArrayEncargosIMTPI_T1(2);
	ValPercentagemSTD[2] = GetArrayEncargosIMTPI_T1(3);
	ValPercentagemSTD[3] = GetArrayEncargosIMTPI_T1(4);
	ValPercentagemSTD[4] = GetArrayEncargosIMTPI_T1(5);
	ValPercentagemSTD[5] = GetArrayEncargosIMTPI_T1(6);
	ValPercentagemSTD[6] = '0';		
	ValPercentagemSTD[7] = '0';		
	ValPercentagemSTD[8] = '0';		
	ParcelaAbaterSTD = new Array(9);
	ParcelaAbaterSTD[0] = GetArrayEncargosIMTPA_T1(1);
	ParcelaAbaterSTD[1] = GetArrayEncargosIMTPA_T1(2);
	ParcelaAbaterSTD[2] = GetArrayEncargosIMTPA_T1(3);
	ParcelaAbaterSTD[3] = GetArrayEncargosIMTPA_T1(4);
	ParcelaAbaterSTD[4] = GetArrayEncargosIMTPA_T1(5);
	ParcelaAbaterSTD[5] = GetArrayEncargosIMTPA_T1(6);
	ParcelaAbaterSTD[6] = '0';		
	ParcelaAbaterSTD[7] = '0';		
	ParcelaAbaterSTD[8] = '0';			
	if(eval(ValAquisicao) <= eval(ValAquisicaoSTD[0])){
		Porcentagem = ValPercentagemSTD[0];
		ParcelaAbater = ParcelaAbaterSTD[0];
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[1]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[2])){
		Porcentagem = ValPercentagemSTD[1];
		ParcelaAbater = ParcelaAbaterSTD[1];
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[3]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[4])){
		Porcentagem = ValPercentagemSTD[2];
		ParcelaAbater = ParcelaAbaterSTD[2];
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[5]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[6])){
		Porcentagem = ValPercentagemSTD[3];
		ParcelaAbater = ParcelaAbaterSTD[3];	
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[7]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[8])){
		Porcentagem = ValPercentagemSTD[4];
		ParcelaAbater = ParcelaAbaterSTD[4];	
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[9])){
		Porcentagem = ValPercentagemSTD[5];
		ParcelaAbater = ParcelaAbaterSTD[5];	
	}
	strReturn[0] = Porcentagem;
	strReturn[1] = ParcelaAbater;
    return strReturn;	
}
/* Tabela 2 de IMT - Habitação Secundaria & Arrendamento */ 
function getValIMT_T2(ValAquisicao){
  var strReturn, Porcentagem, ParcelaAbater;
	strReturn = new Array(2);
	ValAquisicaoSTD = new Array(9);
	ValAquisicaoSTD[0] = GetArrayEncargosIMTVA_T2(1);
	ValAquisicaoSTD[1] = GetArrayEncargosIMTVA_T2(1);
	ValAquisicaoSTD[2] = GetArrayEncargosIMTVA_T2(2);
	ValAquisicaoSTD[3] = GetArrayEncargosIMTVA_T2(2);
	ValAquisicaoSTD[4] = GetArrayEncargosIMTVA_T2(3);
	ValAquisicaoSTD[5] = GetArrayEncargosIMTVA_T2(3);
	ValAquisicaoSTD[6] = GetArrayEncargosIMTVA_T2(4);
	ValAquisicaoSTD[7] = GetArrayEncargosIMTVA_T2(4);
	ValAquisicaoSTD[8] = GetArrayEncargosIMTVA_T2(5);
	ValAquisicaoSTD[9] = GetArrayEncargosIMTVA_T2(5);
	ValPercentagemSTD = new Array(9);
	ValPercentagemSTD[0] = GetArrayEncargosIMTPI_T2(1);
	ValPercentagemSTD[1] = GetArrayEncargosIMTPI_T2(2);
	ValPercentagemSTD[2] = GetArrayEncargosIMTPI_T2(3);
	ValPercentagemSTD[3] = GetArrayEncargosIMTPI_T2(4);
	ValPercentagemSTD[4] = GetArrayEncargosIMTPI_T2(5);
	ValPercentagemSTD[5] = GetArrayEncargosIMTPI_T2(6);
	ValPercentagemSTD[6] = '0';		
	ValPercentagemSTD[7] = '0';		
	ValPercentagemSTD[8] = '0';		
	ParcelaAbaterSTD = new Array(9);
	ParcelaAbaterSTD[0] = GetArrayEncargosIMTPA_T2(1);
	ParcelaAbaterSTD[1] = GetArrayEncargosIMTPA_T2(2);
	ParcelaAbaterSTD[2] = GetArrayEncargosIMTPA_T2(3);
	ParcelaAbaterSTD[3] = GetArrayEncargosIMTPA_T2(4);
	ParcelaAbaterSTD[4] = GetArrayEncargosIMTPA_T2(5);
	ParcelaAbaterSTD[5] = GetArrayEncargosIMTPA_T2(6);
	ParcelaAbaterSTD[6] = '0';		
	ParcelaAbaterSTD[7] = '0';		
	ParcelaAbaterSTD[8] = '0';			
	if(eval(ValAquisicao) <= eval(ValAquisicaoSTD[0])){
		Porcentagem = ValPercentagemSTD[0];
		ParcelaAbater = ParcelaAbaterSTD[0];
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[1]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[2])){
		Porcentagem = ValPercentagemSTD[1];
		ParcelaAbater = ParcelaAbaterSTD[1];
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[3]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[4])){
		Porcentagem = ValPercentagemSTD[2];
		ParcelaAbater = ParcelaAbaterSTD[2];
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[5]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[6])){
		Porcentagem = ValPercentagemSTD[3];
		ParcelaAbater = ParcelaAbaterSTD[3];	
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[7]) && eval(ValAquisicao) <= eval(ValAquisicaoSTD[8])){
		Porcentagem = ValPercentagemSTD[4];
		ParcelaAbater = ParcelaAbaterSTD[4];	
	}else if (eval(ValAquisicao) >= eval(ValAquisicaoSTD[9])){
		Porcentagem = ValPercentagemSTD[5];
		ParcelaAbater = ParcelaAbaterSTD[5];	
	}
	strReturn[0] = Porcentagem;
	strReturn[1] = ParcelaAbater;
    return strReturn;	
}
//------------------------------------------------------------------------
//	Comissoes,Custos,Impostos,Registos,Despesas,etc
//------------------------------------------------------------------------
/* Apanha o Registo de Conversão de Registos */
function getRegComissaoConversaoRegistos(p_fin){
  var strReturn = "";
	//Só nao aparece no sinal
	if(p_fin =='3'){	
		strReturn= 'Não Aplicável';
	}else{
		strReturn = getComissaoConversaoRegistos();	
	}	
  return strReturn;
} 
/* Comissão de Conversão de Registos */
function getComissaoConversaoRegistos(){
  var strReturn = "";
  strReturn = GetArrayEncargos(7);   
  return strReturn;
}
/* Apanha o Registo de Comissao de Dossier */
function getRegComissaoProcesso(p_fin){
  var strReturn = "";
	//Aparece em todos
	if(p_fin =='3'){	
		strReturn= getComissaoProcesso();
	}else{
		strReturn = getComissaoProcesso();	
	}	
  return strReturn;
} 
/* Comissão de Processo */
function getComissaoProcesso(){
  var strReturn = "";
  strReturn = GetArrayEncargos(5);   
  return strReturn;
}
/* Apanha Comissão de Análise Informações Comerciais para Não Residentes*/
function getComiAnasInfComerciais(){
  var strReturn = "";
  //Aparece em todas as Finalidades
  strReturn = GetArrayEncargos(11);
  return strReturn;
} 
/* Apanha o Registo das despesas de vistorias */
function getRegComVistorias(p_fin){
  var strReturn = "";
	//APARECE VALORES APENAS NAS OBRAS E CONSTRUÇÃO
	if((p_fin =='1')||(p_fin =='2')){	
		strReturn= getComissaoVistorias();
	}else{
		strReturn = 'Não Aplicável';	
	}	
  return strReturn;
} 
/* Despesas de Vistorias (cada vistoria):  */ 
function getComissaoVistorias(){
  var strReturn = "";
  strReturn = GetArrayEncargos(8);   
  return strReturn;
}
/* Apanha o Registo de Despesas de Avaliação */
function getRegAvaliacao(p_fin){
  var strReturn = "";
	//Aparece em todos
	if(p_fin =='3'){	
		strReturn= getAvaliacao();
	}else{
		strReturn = getAvaliacao();	
	}	
  return strReturn;
} 
/* Despesas de Avaliação */
function getAvaliacao(){
  var strReturn = "";
  strReturn = GetArrayEncargos(6);   
  return strReturn;
}
/* Apanha o Imposto Selo Escritura Mútuo */
function getRegImpSeloEscM(p_fin,valfinanciado){
  var strReturn = "";
	//Aparece em todos, menos no sinal e transferencia
	if((p_fin =='4')||(p_fin =='3')){	
		strReturn= 'Não Aplicável';
	}else{
		//rotina que calcula o imposto de selo multiplo
		strReturn = getCalImpSeloMutuo(valfinanciado);
	}	
  return strReturn;
} 
/* Imposto Selo Escritura Mútuo */
function getImpSeloEscM(){
  var strReturn = "";
  strReturn = GetArrayTaxaGeral(10);//GetArrayEncargos(11);
  return strReturn;
}
/* Imposto Selo Aquisição */
function getImpSeloA(p_fin,prazo_meses){
  var strReturn = "";
  //Em precentagem 
  if(p_fin =='3'){	
		if(eval(prazo_meses)<=11){	
		  strReturn = "'"+GetArrayTaxaGeral(12)+"'";//GetArrayEncargos(13);
		}else if(eval(prazo_meses)>=12 && eval(prazo_meses)<=24){
		  strReturn = "'"+GetArrayTaxaGeral(13)+"'";//GetArrayEncargos(14);	
		}
  }else if(p_fin =='0'){
  	strReturn = "'"+GetArrayTaxaGeral(11)+"'";//GetArrayEncargos(12); 
  }
  return strReturn;
}
/* Imposto Selo */
function getImpSelo(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(9)+"'";//GetArrayEncargos(10); 
  return strReturn;
}
/* Taxa de IVA Currente */
function getIVA(){
  var strReturn = "";
  strReturn = "'"+GetArrayTaxaGeral(8)+"'";//GetArrayEncargos(9);
  return strReturn;
}
/* Apanha Emolumentos de Registo Predial na aquisição e transferência */
function getEmoRegPredial(p_fin){
  var strReturn = "";
	if(p_fin =='0'){
		//APARECE VALORES NA AQUISIÇÃO
		strReturn = GetArrayEncargos(4);
	}else if(p_fin =='4'){
		//APARECE VALORES NA Transferencia
		strReturn = GetArrayEncargos(3);
	}else{
		strReturn = 'Não Aplicável';	
	}	
  return strReturn;
} 
/* Apanha o Registo Imposto de Selo Sobre Abertura de Crédito */
function getRegImpostoSeloAbertCredito(prazo_meses){
  var strReturn = "";
	//Só aparece no sinal
	if(eval(prazo_meses)<=11){	
		strReturn = "'"+GetArrayTaxaGeral(14)+"'";//GetArrayEncargos(15); //Porcento
	}else if(eval(prazo_meses)>11 && eval(prazo_meses)<=24){
		strReturn = "'"+GetArrayTaxaGeral(15)+"'";//GetArrayEncargos(16); //Porcento
	}		
  return strReturn;
} 
/* Apanha o Escritura de Compra e Venda de Imóveis */
function getRegEscrituraCVImoveis(p_fin){
  var strReturn = "";
	//APARECE VALORES APENAS NA AQUISIÇÃO
	if(p_fin=='0'){	
		strReturn = getRegistoCV();	
	}else{
		strReturn = 'Não Aplicável';	
	}	
  return strReturn;
} 
/* Escritura de Compra e Venda de Imóveis  */ 
function getRegistoCV(){
  var strReturn = "";
  strReturn = GetArrayEncargos(1);
  return strReturn;
}
/* Apanha o RegistoEscritura de Hipoteca */
function getRegEscrituraHipoteca(p_fin){
  var strReturn = "";
	//Só nao aparece no sinal
	if(p_fin =='3'){	
		strReturn= 'Não Aplicável';
	}else{
		strReturn = getEscrituraHipoteca();	
	}	
  return strReturn;
} 
/* Escritura de Hipoteca  */ 
function getEscrituraHipoteca(){
  var strReturn = "";
  strReturn = GetArrayEncargos(2);
  return strReturn;
}				   
/* Registo de Despesas de Solitadoria Parcial  */ 
function getRegDespesasSolitadoriaParcial(){
  var strReturn = "";
  strReturn = GetArrayEncargos(9);
  return strReturn;
}
/* Registo de Despesas de Solitadoria Total  */ 
function getRegDespesasSolitadoriaTotal(){
  var strReturn = "";
  strReturn = GetArrayEncargos(10);
  return strReturn;
}
//------------------------------------------------------------------------
//	Prazos e limites
//------------------------------------------------------------------------
/* Idade Máxima */
function getMaxAge(){
  var strReturn = "";
  strReturn = IdadePerFim1;
  return strReturn;
} 
/* Idade Minima */
function getMinAge(){
  var strReturn = "";
  strReturn = IdadePerIni1;   
  return strReturn;
} 
/* Spread Máximo */
function getMaxSpread(){
  var strReturn = "";
  strReturn = GetArraySpreadsG(2); 
  return strReturn;
} 
/* Spread Minima */
function getMinSpread(){
  var strReturn = "";
  strReturn = GetArraySpreadsG(1);       
  return strReturn;
} 
/* Prazo Máximo para Aquisição/Construção/Transferencias/Sinal/Obras */
function getMaxYears(p_fin,p_th){
  var strReturn = "";
	if(p_fin =='0'){	
		if(p_th =='0'){
			strReturn = GetArrayPrazosGeralA(1);
		}else if(p_th =='1'){
			strReturn = GetArrayPrazosGeralA(2);
		}else if(p_th =='2'){
			strReturn = GetArrayPrazosGeralA(3);
		}	
	}else if(p_fin =='1'){	
		if(p_th =='0'){
			strReturn = GetArrayPrazosGeralC(1);
		}else if(p_th =='1'){
			strReturn = GetArrayPrazosGeralC(2);
		}else if(p_th =='2'){
			strReturn = GetArrayPrazosGeralC(3);
		}	
	}else if(p_fin =='2'){	
		if(p_th =='0'){
			strReturn = GetArrayPrazosGeralO(1);
		}else if(p_th =='1'){
			strReturn = GetArrayPrazosGeralO(2);
		}else if(p_th =='2'){
			strReturn = GetArrayPrazosGeralO(3);
		}			
	}else if(p_fin =='3'){	
		if(p_th =='0'){
			strReturn = GetArrayPrazosGeralS(1);
		}else if(p_th =='1'){
			strReturn = GetArrayPrazosGeralS(2);
		}else if(p_th =='2'){
			strReturn = GetArrayPrazosGeralS(3);
		}			
	}else if(p_fin =='4'){	
		if(p_th =='0'){
			strReturn = GetArrayPrazosGeralT(1);
		}else if(p_th =='1'){
			strReturn = GetArrayPrazosGeralT(2);
		}else if(p_th =='2'){
			strReturn = GetArrayPrazosGeralT(3);
		}	
	}	
  return strReturn;
} 
/* Valor Máximo de financiamento para Aquisição/Construção/Transferencias/Sinal/Obras */
function getMaxFin(p_fin,ValFinanciado,Perc){
  var strReturn;
	if(p_fin =='0'){	
		strReturn = (ValFinanciado*eval(Perc))/100;			
	}else if(p_fin =='1'){	
		strReturn = (ValFinanciado*eval(Perc))/100;
	}else if(p_fin =='2'){	
	   strReturn = (ValFinanciado*eval(Perc))/100;	
	}else if(p_fin =='3'){	
		strReturn = (ValFinanciado*eval(Perc))/100;	
		if(eval(strReturn)>40000) strReturn = '40000';	
	}else if(p_fin =='4'){	
		strReturn = (ValFinanciado*eval(Perc))/100;	
	}		
  return strReturn;
} 
/* Prazo máximo de aquisição ao credito com LTV elevado */
function getMaxYears_LTV(p_fin,ltv,ValFinanciado,p_th,prazo,VImovel){
var Anos,Mensagem,max_financiado,Mmsg,alt;
var	strReturn = new Array(5);
//ltv = Math.round(ltv);
//alert(p_th);
//alert(prazo);
	if(p_fin =='0'){
		//aquisicao	
		if(p_th =='0'){
			//1ª habitacao
			if(eval(ValFinanciado)<eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVA(1);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'80');				
					Anos = GetArrayPrazosLTVA(2);
					Mensagem = 'Esta simulação prosseguirá tendo em conta o prazo máximo permitido de '+Anos+' Anos. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';
					alt = 'ns';
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVA(3);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg='s';
				}		
			}else if(eval(ValFinanciado)>=eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVA(7);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					//alert('passou aqui');
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');					
					Anos = GetArrayPrazosLTVA(8);
					Mensagem = 'Esta simulação está sujeita a condições específicas de aprovação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';	
					alt = 'ns';	
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVA(9);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}
		}else if(p_th =='1'){
			//2ª habitacao
			if(eval(ValFinanciado)<eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVA(4);	
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'80');				
					Anos = GetArrayPrazosLTVA(5);
					Mensagem = 'O montante máximo de financiamento é de 80% do valor da avaliação. Para obter mais informações acerca de como poderá aumentar o financiamento, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';		
					alt = 's';
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVA(6);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}else if(eval(ValFinanciado)>=eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVA(10);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');					
					Anos = GetArrayPrazosLTVA(11);
					Mensagem = 'Esta simulação está sujeita a condições específicas de aprovação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';	
					alt = 'ns';	
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVA(12);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}
		}else if(p_th =='2'){
			//habitacao para arrendamento
			if(eval(ltv) <= eval('70')){
				Anos = GetArrayPrazosLTVA(13);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
				alt = 'n';	
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if(eval(ltv) > eval('70')){
				max_financiado = getMaxFin(p_fin,ValFinanciado,'70');	
				Anos = GetArrayPrazosLTVA(14);
				Mensagem = 'O Montante máximo de financiamento permitido é de 70% do valor da avaliação. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				
				alt = 's';
				Mmsg = 's';
			}			
		}	
	}else if(p_fin =='1'){	
		//Construção
		if(p_th =='0'){
			//1ª habitacao
			if(eval(ValFinanciado)<eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVC(1);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'80');				
					Anos = GetArrayPrazosLTVC(2);
					Mensagem = 'O montante máximo de financiamento é de 80% do valor da avaliação. Para obter mais informações acerca de como poderá aumentar o financiamento, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';		
					alt = 's';
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVC(3);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}else if(eval(ValFinanciado)>=eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVC(7);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');					
					Anos = GetArrayPrazosLTVC(8);
					Mensagem = 'Esta simulação está sujeita a condições específicas de aprovação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';	
					alt = 'ns';	
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVC(9);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}
		}else if(p_th =='1'){
			//2ª habitacao
			if(eval(ValFinanciado)<eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVC(4);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'80');				
					Anos = GetArrayPrazosLTVC(5);
					Mensagem = 'O montante máximo de financiamento é de 80% do valor da avaliação. Para obter mais informações acerca de como poderá aumentar o financiamento, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';		
					alt = 's';
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVC(6);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}else if(eval(ValFinanciado)>=eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVC(10);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');					
					Anos = GetArrayPrazosLTVC(11);
					Mensagem = 'Esta simulação está sujeita a condições específicas de aprovação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';	
					alt = 'ns';	
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVC(12);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}	
		}else if(p_th =='2'){
			//habitacao para arrendamento
			if(eval(ltv) <= eval('70')){
				Anos = GetArrayPrazosLTVC(13);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
				alt = 'n';	
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if(eval(ltv) > eval('70')){
				max_financiado = getMaxFin(p_fin,ValFinanciado,'70');	
				Anos = GetArrayPrazosLTVC(14);
				Mensagem = 'O Montante máximo de financiamento permitido é de 70% do valor da avaliação. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				
				alt = 's';
				Mmsg = 's';
			}			
		}			
	}else if(p_fin =='2'){	
		//Obras
		if(p_th =='0'){
			//1ª habitacao
			if(eval(ltv) <= eval('70')){
				Anos = GetArrayPrazosLTVO(1);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
				alt = 'n';	
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if(eval(ltv) > eval('70')){
				max_financiado = getMaxFin(p_fin,ValFinanciado,'70');	
				Anos = GetArrayPrazosLTVO(2);
				Mensagem = 'O Montante máximo de financiamento permitido é de 70% do valor da avaliação. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				
				alt = 's';
				Mmsg = 's';
			}	
		}else if(p_th =='1'){
			//2ª habitacao
			if(eval(ltv) <= eval('70')){
				Anos = GetArrayPrazosLTVO(3);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
				alt = 'n';	
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if(eval(ltv) > eval('70')){
				max_financiado = getMaxFin(p_fin,ValFinanciado,'70');	
				Anos = GetArrayPrazosLTVO(4);
				Mensagem = 'O Montante máximo de financiamento permitido é de 70% do valor da avaliação. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				
				alt = 's';
				Mmsg = 's';
			}			
		}else if(p_th =='2'){
			//habitacao para arrendamento
			if(eval(ltv) <= eval('70')){
				Anos = GetArrayPrazosLTVO(5);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
				alt = 'n';	
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if(eval(ltv) > eval('70')){
				max_financiado = getMaxFin(p_fin,ValFinanciado,'70');	
				Anos = GetArrayPrazosLTVO(6);
				Mensagem = 'O Montante máximo de financiamento permitido é de 70% do valor da avaliação. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				
				alt = 's';
				Mmsg = 's';
			}			
		}			
	}else if(p_fin =='3'){	
		//Sinal
		max_financiado_ltv = eval(VImovel)*30/100;
//		alert('V Max Finan LTV= '+max_financiado_ltv);		
		if(p_th =='0'){
			//1ª habitacao
			if(eval(ltv) <= eval('30') && eval(ValFinanciado)<=40000){
				max_financiado = 40000;
				Anos = GetArrayPrazosLTVS(1);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Meses. ';		
				alt = 'n';	
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if (eval(ltv) > eval('30')|| eval(ValFinanciado)>40000){
				max_financiado = 40000;
				Anos = GetArrayPrazosLTVS(4);
				Mensagem = 'O montante máximo de financiamento do Crédito Sinal é de 30% do menor dos valores de Aquisição ou Avaliação, num máximo de EUR 40.000. Para aumentar o prazo e o montante máximo de financiamento, temos à sua disposição o Crédito Sinal por Tranches. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.';				
				alt = 'n';
				Mmsg = 's';
			}
			if((eval(ltv) > eval('30') || eval(ValFinanciado)>40000)||(eval(ltv) <= eval('30') && eval(ValFinanciado)>eval(max_financiado_ltv))){
				max_financiado = 40000;
				Anos = GetArrayPrazosLTVS(7);
				Mensagem = 'O montante máximo de financiamento do Crédito Sinal é de 30% do menor dos valores de Aquisição ou Avaliação, num máximo de EUR 40.000. Para aumentar o prazo e o montante máximo de financiamento, temos à sua disposição o Crédito Sinal por Tranches. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.';				
				alt = 'n';
				Mmsg = 's';
			}		
			
		}else if(p_th =='1'){
			//2ª habitacao
			if(eval(ltv) <= eval('30') && eval(ValFinanciado)<=40000){
				max_financiado = 40000;			
				Anos = GetArrayPrazosLTVS(2);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Meses. ';		
				alt = 'n';
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if (eval(ltv) > eval('30')|| eval(ValFinanciado)>40000){
				max_financiado = 40000;
				Anos = GetArrayPrazosLTVS(5);
				Mensagem = 'O montante máximo de financiamento do Crédito Sinal é de 30% do menor dos valores de Aquisição ou Avaliação, num máximo de EUR 40.000. Para aumentar o prazo e o montante máximo de financiamento, temos à sua disposição o Crédito Sinal por Tranches. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.';				
				alt = 'n';
				Mmsg = 's';
			}
			if((eval(ltv) > eval('30') || eval(ValFinanciado)>40000)||(eval(ltv) <= eval('30') && eval(ValFinanciado)>eval(max_financiado_ltv))){
				max_financiado = 40000;
				Anos = GetArrayPrazosLTVS(8);
				Mensagem = 'O montante máximo de financiamento do Crédito Sinal é de 30% do menor dos valores de Aquisição ou Avaliação, num máximo de EUR 40.000. Para aumentar o prazo e o montante máximo de financiamento, temos à sua disposição o Crédito Sinal por Tranches. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.';				
				alt = 'n';
				Mmsg = 's';
			}	
		}else if(p_th =='2'){
			//habitacao para arrendamento
			if(eval(ltv) <= eval('30') && eval(ValFinanciado)<=40000){
				alert('entrou 1 lvt');
				alert(ltv);
				max_financiado = 40000;			
				Anos = GetArrayPrazosLTVS(3);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Meses. ';		
				alt = 'n';
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if (eval(ltv) > eval('30')|| eval(ValFinanciado)>40000){
				max_financiado = 40000;
				Anos = GetArrayPrazosLTVS(6);
				Mensagem = 'O montante máximo de financiamento do Crédito Sinal é de 30% do menor dos valores de Aquisição ou Avaliação, num máximo de EUR 40.000. Para aumentar o prazo e o montante máximo de financiamento, temos à sua disposição o Crédito Sinal por Tranches. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.';				
				alt = 'n';
				Mmsg = 's';
			}
			if((eval(ltv) > eval('30') || eval(ValFinanciado)>40000)||(eval(ltv) <= eval('30') && eval(ValFinanciado)>eval(max_financiado_ltv))){
				max_financiado = 40000;
				Anos = GetArrayPrazosLTVS(9);
				Mensagem = 'O montante máximo de financiamento do Crédito Sinal é de 30% do menor dos valores de Aquisição ou Avaliação, num máximo de EUR 40.000. Para aumentar o prazo e o montante máximo de financiamento, temos à sua disposição o Crédito Sinal por Tranches. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.';				
				alt = 'n';
				Mmsg = 's';
			}			
		}				
	}else if(p_fin =='4'){	
		//Transferencias
		if(p_th =='0'){
			//1ª habitacao
			if(eval(ValFinanciado)<eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVT(1);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'80');				
					Anos = GetArrayPrazosLTVT(2);
					Mensagem = 'Esta simulação prosseguirá tendo em conta o prazo máximo permitido de '+Anos+' Anos. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';		
					alt = 'ns';
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVT(3);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}else if(eval(ValFinanciado)>=eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVT(7);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');					
					Anos = GetArrayPrazosLTVT(8);
					Mensagem = 'Esta simulação está sujeita a condições específicas de aprovação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';	
					alt = 'ns';	
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVT(9);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}
		}else if(p_th =='1'){
			//2ª habitacao
			if(eval(ValFinanciado)<eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVT(4);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					//alert(' 2 h <150000 e entre 80 e 90 LTV');
					max_financiado = getMaxFin(p_fin,ValFinanciado,'80');				
					Anos = GetArrayPrazosLTVT(5);
					Mensagem = 'O montante máximo de financiamento é de 80% do valor da avaliação. Para obter mais informações acerca de como poderá aumentar o financiamento, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';		
					alt = 's';
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					//alert('2h <150000 e >90 LTV');
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVT(6);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}else if(eval(ValFinanciado)>=eval('150000')){
				if(eval(ltv) <= eval('80')){
					Anos = GetArrayPrazosLTVT(10);
					Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
					alt = 'n';	
					if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
				}else if (eval(ltv) > eval('80') && eval(ltv) <= eval('90')){
					//alert('2h >=150000 e entre 80 e 90 LTV');
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');					
					Anos = GetArrayPrazosLTVT(11);
					Mensagem = 'Esta simulação está sujeita a condições específicas de aprovação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';	
					alt = 'ns';			
					Mmsg = 's';
				}else if(eval(ltv) > eval('90')){
					//alert('2h >=150000 e > 90 LTV');
					max_financiado = getMaxFin(p_fin,ValFinanciado,'90');
					Anos = GetArrayPrazosLTVT(12);
					Mensagem = 'O montante máximo de financiamento permitido é de 90% do valor da avaliação. Para obter mais informações por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				 
					alt = 's';
					Mmsg = 's';
				}		
			}	
		}else if(p_th =='2'){
			//habitacao para arrendamento
			if(eval(ltv) <= eval('70')){
				Anos = GetArrayPrazosLTVT(13);
				Mensagem = 'O prazo máximo permitido é de '+Anos+' Anos. ';	
				alt = 'n';	
				if(eval(prazo)<=eval(Anos)){Mmsg = 'n';}else{Mmsg = 's';}
			}else if (eval(ltv) > eval('70')){
				max_financiado = getMaxFin(p_fin,ValFinanciado,'70');	
				Anos = GetArrayPrazosLTVT(14);
				Mensagem = 'O Montante máximo de financiamento permitido é de 70% do valor da avaliação. Para obter mais informações, por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.';				
				alt = 's';
				Mmsg = 's';
			}			
		}				
	}		
  strReturn[0] = Anos;
  strReturn[1] = Mensagem;	
  strReturn[2] = max_financiado;	
  strReturn[3] = alt;	
  strReturn[4] = Mmsg;
  return strReturn;
} 
//------------------------------------------------------------------------
//	Gerais:Datas, Formatações, etc
//------------------------------------------------------------------------
/* Data Actual */
function getActDate(){
				var strReturn = "";
				//  currentdate = new Date();
				//  strReturn = currentdate.getDay() + ' / ' + currentdate.getMonth()  + ' / ' + currentdate.getYear();
				//  return strReturn;
				// array dias da semana
				var day_names = new Array(7);
				day_names[0] = "Domingo";
				day_names[1] = "Segunda-feira";
				day_names[2] = "Terça-feira";
				day_names[3] = "Quarta-feira";
				day_names[4] = "Quinta-feira";
				day_names[5] = "Sexta-feira";
				day_names[6] = "Sábado";
				// array nome dos meses
				var month_names = new Array(12);
				month_names[0] = "Janeiro";
				month_names[1] = "Fevereiro";
				month_names[2] = "Março";
				month_names[3] = "Abril";
				month_names[4] = "Maio";
				month_names[5] = "Junho";
				month_names[6] = "Julho";
				month_names[7] = "Agosto";
				month_names[8] = "Setembro";
				month_names[9] = "Outubro";
				month_names[10] = "Novembro";
				month_names[11] = "Dezembro";
				
				// Apanha a data corrente
				date_now = new Date();
				// vai buscar o nome do dia
				day_value = date_now.getDay();
				date_text = day_names[day_value];
				// adiciona o dia do mess 
				date_text += ", " + date_now.getDate();
				// vai buscar o nome do mes
				month_value = date_now.getMonth();
				date_text += " de " + month_names[month_value];
				// apanha o ano
				date_text += " de " + date_now.getFullYear();
				strReturn = date_text;
				return strReturn;
}
 
/*	Rotinas para tratamento de decimais */
function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals);
	//alert(result1);
    var result2 = Math.round(result1);
	//alert(result2);	
    var result3 = result2 / Math.pow(10, decimals);
	//alert(result3);	
    return pad_with_zeros(result3, decimals);
}

function pad_with_zeros(rounded_value, decimal_places) {
    // Convert the number to a string
    var value_string = rounded_value.toString();
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".");
    // Is there a decimal point?
    if (decimal_location == -1) {      
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0;
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : "";
    } else {
        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1;
    }
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length;
    if (pad_total > 0) {
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0";
        }
    return value_string;
}



// dec2(valor) aredondea [valor] a dos decimais.
// Ex. dec2(3.885989) devolve o valor 3.89
function dec2(valor) {
	var x = Math.round(valor*100);
	x = x / 100;	
	return x;
}
/* fmt2e(valor,sepm,sepd) devolve um string com [valor] formatado com dos decimais con [sepd] separador decimal e [sepm] separador de milhares. */
// Ex. fmt2e(38859.85,",","$") devolve o string 38,859$85
//	   fmt2e(dec2(38859.8587),".",",") devolve o string 38.859,86
function fmt2e(valor,sepm,sepd) {
	sd = new String("");
	se = new String("");
	x = Math.round(valor*100);
	d = x % 100;
	//x = Math.ceil(valor);
	x = Math.floor(valor);
	sd = ""+x+"";
	se = "";
	if (sepm == "") 
		se = sd;
	else {
    	for (i=0;i<sd.length;i++) {
      		j = sd.length-i-1;
      		if ((i>0) && ((i % 3) == 0)) se = "."+se;
      		se = sd.substring(j,j+1)+se;
    	}
	}
	sd = ""+d+"";
	if (sd.length != 2) {
		sd = "0"+sd;
	}
	se = se+""+sepd+""+sd;
	return se;
}
/* fmt2(valor) chama a fmt2e para devolver um string com [valor] formatado com dos decimais con separador decimal ',' e separador de milhares '.'. */
// Ex. fmt2(38859.85) devolve o string 38.859,85
//	   fmt2(dec2(38859.8587)) devolve o string 38.859,86
function fmt2(valor) {
	return fmt2e(valor,".",",");
}

//****************************************************************
/* Tabela de 1 vida (seguros), ligação rotina Luis */
//****************************************************************
function getSeguroVida1(age){
  var strReturn = "";
  strReturn = GetSegV1(eval(age));   
  return strReturn;
} 
//****************************************************************
/* Tabela de 2 vida (seguros), ligação rotina Luis */
//****************************************************************
function getSeguroVida2(age1,age2){
  var strReturn = "";
  strReturn = GetSegV2(eval(age1),eval(age2));
  return strReturn;
} 
//------------------------------------------------------------------------
//	Rotinas para devolver os valores dos arrays dos seguros
//------------------------------------------------------------------------
function GetSegV1(idade) {
	if ((idade < IdadeIni1) || (idade > IdadeFim1)) return 0;
	return ArSV1[idade-IdadeIni1];
}
function GetSegV2(idHom,idMulh) {
	if ((idHom < IdadeIni2) || (idHom > IdadeFim2) || (idMulh < IdadeIni2) || (idMulh > IdadeFim2)) return 0;
	return ArSV2[(1+IdadeFim2-IdadeIni2)*(idHom-IdadeIni2)+idMulh-IdadeIni2];
}
//------------------------------------------------------------------------
//	Tabela de prestações
//------------------------------------------------------------------------
//  Variáveis internas de trabalho
var DIfr;				//frame onde se escreve, cargado em fillframe
var prln = false;		//linha par/impar.
var cl;					//côr da linha
var M_anosdet;
var M_capital;
var M_taxa;
var M_anos;
var M_mcar;
var M_pctres;
var M_seguros;
//------------------------------------------------------------------------
//  Variáveis internas de configuração da tabela
var cBgr = 'efefef';	//Côr do fundo
var cHdr = '00308f';	//Côr do cabeçalho
var clprt = '#6181C0';	//Côr linha par;
var clprf = '#A1B4D9';	//Côr linha impar;
var tbwidth = 485;		//Lar
var w = new Array(8);	//Tamanho das colunas
w[0] = 5;				//Margem
w[1] = 70;				//Ano
w[2] = 110;				//etc.
w[3] = 127;
w[4] = 67;
w[5] = 80;
w[6] = 129;
w[7] = 129;

var aln = new Array(8); //Alinhamento das colunas
aln[0] = 'center';
aln[1] = 'center';
aln[2] = 'center';
aln[3] = 'center';
aln[4] = 'center';
aln[5] = 'center';
aln[6] = 'center';
aln[7] = 'center';
//------------------------------------------------------------------------
//	Funções de apoio.
function wrOpnLn() {		//Abre linha
	if (prln) cl = 'bgcolor="'+clprt+'"';
	else cl = 'bgcolor="'+clprf+'"';
	prln = !prln;
	DIfr.document.write('<tr '+cl+' height="5">');	
}
function wrClsLn() {		//Fecha linha
	DIfr.document.write('</tr>');
}
function wrCell(col,txt) { 	//Escreve cela
//	DIfr.document.write('<td  class="textobase" '+cl+' height="5" width="'+eval(w[col])+'"><div align="'+aln[col]+'"><font size="2">'+txt+'</font></div></td>');
	DIfr.document.write('<td  class="textobase" '+cl+' height="5" width="'+eval(w[col])+'"><div align="'+aln[col]+'">'+txt+'</div></td>');
}
function wrHdr(impselo) {			//Escreve cabeçalho
	prln = false;
	DIfr.document.write('<table bgcolor="'+cBgr+'" width="'+eval(tbwidth)+'" border="0" cellpadding="0" cellspacing="0" >');
	DIfr.document.write('<tr bgcolor="'+cHdr+'" class="titulobranco">');
	DIfr.document.write('<td width="'+eval(w[0])+'"><div align="'+aln[0]+'"></div></td>');
	DIfr.document.write('<td width="'+eval(w[1])+'"><div align="'+aln[1]+'"><strong>Ano</strong></div></td>');
	DIfr.document.write('<td width="'+eval(w[2])+'"><div align="'+aln[2]+'"><strong>Capital em<br>dívida</strong></div></td>');
	DIfr.document.write('<td width="'+eval(w[3])+'"><div align="'+aln[3]+'"><strong>Capital amortizado</strong></div></td>');
	DIfr.document.write('<td width="'+eval(w[4])+'"><div align="'+aln[4]+'"><strong>Juros</strong></div></td>');
	if(impselo!=0)
		DIfr.document.write('<td width="'+eval(w[5])+'"><div align="'+aln[5]+'"><strong>Imp. Selo</strong></div></td>');
	DIfr.document.write('<td width="'+eval(w[6])+'"><div align="'+aln[6]+'"><strong>Prestação mensal</strong></div></td>');
	DIfr.document.write('<td width="'+eval(w[7])+'"><div align="'+aln[7]+'"><strong>Prémio Mensal Seguro de Vida</strong></div></td>');

	DIfr.document.write('</tr>');
}
function wrLine(nmes, ano, pend, amort, jur,pres,impselo,segvida) {	//Escreve os valores da linha
    wrOpnLn();
	wrCell(0,'&nbsp;');
	if (nmes != 0)	
		wrCell(1,nmes+"º mês");
	else
		wrCell(1,ano+"º ano");
	wrCell(2,fmt2(dec2(pend)));
	wrCell(3,fmt2(amort));
	wrCell(4,fmt2(jur));
	if(impselo!=0)
		wrCell(5,fmt2(impselo));
	wrCell(6,fmt2(pres+impselo));
	wrCell(7,fmt2(segvida));	
	wrClsLn();
}
//------------------------------------------------------------------------
//	Função para a escritura da Tabela de prestações
function fillprestm(ifr,mesesdet,capital,taxa,totmeses,mcar,pctres,seguros,tx_sgVida,r_spread3,titulares,idade1,idade2)
{
		//alert(titulares);
        var segVida;
        DIfr = ifr;
        M_mesesdet = mesesdet;
        M_capital = capital;
        M_taxa = taxa;
        M_meses = totmeses;
        M_mcar = mcar;
        M_pctres = pctres;
        M_seguros = seguros;
		M_Titulares = titulares;
        tx = taxa/1200;
        jcar = 0;
		
        prnMeses = mesesdet;
        if (mcar != 0) jcar = capital*tx;
        //pr = pmt(capital,taxa,anos*12,mcar,pctres);		
        pr = pmt(capital,taxa,totmeses,mcar,pctres);
		
        Cres = capital*pctres/100.0;
        wrHdr(seguros);
        c = capital;
        am = 0;
        meses = 1;
        curpr = jcar;
        prnMes = false;
		lastmes = false;
        ano = 1;
		//Taxa de Seguro de Vida

		if(M_Titulares=='0'){
		//taxa :seguro 1 vida
		    var idade1a = eval(idade1) + ano - 1;
			tx_sgVida = getSeguroVida1(idade1a);
		}else if(M_Titulares=='1'){
		//taxa :seguro 2 vidas  
		    var idade1a = eval(idade1) + ano - 1;
		    var idade2a = eval(idade2) + ano - 1;
			tx_sgVida = getSeguroVida2(idade1a,idade2a);
		} 
        while (meses <= totmeses) {
                jry = 0;
                amy = 0;
                amm = 0;
                mes = 1;
                while ((mes <= 12) && (meses <= totmeses)) {
        				lastmes = ( meses == totmeses) && (pctres != 0);
                        jrm = (c-am) * tx;
                        if (meses > mcar) {
                                curpr = pr;
                                amm  = pr - jrm;
                                amy += amm;
                                am +=amm;
                        }
                        jry += jrm;
                        prnMes = (prnMeses >= meses);
                        if (prnMes)				
                                if (lastmes){
									if(r_spread3==0) {
										segVida = ((eval(c-am-Cres)*eval(tx_sgVida))/1000)/12;
									}else if(r_spread3==1) {
										segVida = ((eval(capital)*eval(tx_sgVida))/1000)/12;
									}
						    		if (eval(segVida) < 35){if(eval(segVida) >= 1) {segVida = eval(segVida) + 2;}}
						    		if (segVida < 1){segVida = 0.0}
									wrLine(meses,0,c-am-Cres,amm+Cres,jrm,curpr+Cres,seguros,segVida);
                                }else{
									if(r_spread3==0) {
										segVida = ((eval(c-am)*eval(tx_sgVida))/1000)/12;
									}else if(r_spread3==1) {
										segVida = ((eval(capital)*eval(tx_sgVida))/1000)/12;
									}
						    		if (eval(segVida) < 35){if(eval(segVida) >= 1) {segVida = eval(segVida) + 2;}}
						    		if (segVida < 1){segVida = 0.0}								
									wrLine(meses,0,c-am,amm,jrm,curpr,seguros,segVida);
									//Impressão da Linha dos Meses
								}
                        meses++;
                        mes++;
                }
 				if (!prnMes) {
					//Taxa de Seguro de Vida
					//if(r_spread3==0) {
					if(M_Titulares=='0'){
					//taxa :seguro 1 vida
						if(ano!=1){idade1a = eval(idade1) + ano - 1;}
						tx_sgVida = getSeguroVida1(idade1a);
					}else if(M_Titulares=='1'){
					//taxa :seguro 2 vidas  
						if(ano!=1){
							idade1a = eval(idade1) + ano - 1;
							idade2a = eval(idade2) + ano - 1;
						}tx_sgVida = getSeguroVida2(idade1a,idade2a);
					}
					//}
					if (lastmes){
						if(r_spread3==0) {
							segVida = ((eval(c-am-Cres)*eval(tx_sgVida))/1000)/12;
							//segVida = ((eval(c-am-Cres)*eval(tx_sgVida))/1000);
						}else if(r_spread3==1) {
							segVida = ((eval(capital)*eval(tx_sgVida))/1000)/12;
							//segVida = ((eval(capital)*eval(tx_sgVida))/1000);
						} 
				    	if (eval(segVida) < 35){if(eval(segVida) >= 1) {segVida = eval(segVida) + 2;}}
				    	if (segVida < 1){segVida = 0.0}			
						//Impressão da Ultima linha com o Valor Residual						
						wrLine(0,ano,c-am-Cres,amy+Cres,jry,curpr,seguros,segVida);
					}else{
						if(r_spread3==0) {
							segVida = ((eval(c-am)*eval(tx_sgVida))/1000)/12;
							//segVida = ((eval(c-am)*eval(tx_sgVida))/1000);
						}else if(r_spread3==1) {
							segVida = ((eval(capital)*eval(tx_sgVida))/1000)/12;
							//segVida = ((eval(capital)*eval(tx_sgVida))/1000);
						} 
				    	if (eval(segVida) < 35){if(eval(segVida) >= 1) {segVida = eval(segVida) + 2;}}					
						if (segVida < 1){segVida = 0.0}
						//Impressão das Linhas dos Anos 
						wrLine(0,ano,c-am,amy,jry,curpr,seguros,segVida);							
						//wrLine(0,0,0,0,0,0,0,0);				
					}
				}ano++;
				
        }DIfr.document.write('</table>');
		
}

//Remover pontos dos numeros de input
function RemoverPontos(s) {
  var s1 = s.replace(/\./g, "");
  return s1;
}
//Inserir pontos dos numeros de input
function InserirPontos(tipo_index,campo) {
var s1, qt, d, s;
 if(tipo_index=='sg'){
	if(campo=='vi'){
 		s = document.Indice_Geral.txt_valor_imovel.value;
	}else if(campo=='va'){
		s = document.Indice_Geral.txt_valor_aquisicao.value;
	}else if(campo=='vf'){
		s = document.Indice_Geral.txt_valor_financiamento.value;
	}
 }else if(tipo_index=='ss'){
	if(campo=='vi'){
 		s = document.Indice_Sinal.txt_valor_imovel.value;
	}else if(campo=='va'){
		s = document.Indice_Sinal.txt_valor_aquisicao.value;
	}else if(campo=='vf'){
		s = document.Indice_Sinal.txt_valor_financiamento.value;
	}
 }else if(tipo_index=='st'){
	if(campo=='vi'){
 		s = document.Indice_Transferencia.txt_valor_imovel.value;
	}else if(campo=='cd'){
		s = document.Indice_Transferencia.txt_capital_divida.value;
	}else if(campo=='vf'){
		s = document.Indice_Transferencia.txt_valor_financiamento.value;
	}
 }
 
 s=RemoverPontos(""+s+""); 


 s=""+s;
 if(isNaN(s)) s="0";
 while(s.substr(0,1)=="0")
   s=s.substr(1,s.length-1);
 s1="";
 d=s.length;
 qt=3;
 while(d>3){
   d=d-3;   
   s1=s.substr(d,qt)+s1;
   s1="."+s1;
 }
 if(s.length>3)
   s1=s.substr(0,d)+s1;
 else
   s1=s;
 if(s1=="") s1="0";


 if(tipo_index=='sg'){
	if(campo=='vi'){
 		document.Indice_Geral.txt_valor_imovel.value = s1;
	}else if(campo=='va'){
		document.Indice_Geral.txt_valor_aquisicao.value = s1;
	}else if(campo=='vf'){
		document.Indice_Geral.txt_valor_financiamento.value = s1;
	}
 }else if(tipo_index=='ss'){
	if(campo=='vi'){
 		document.Indice_Sinal.txt_valor_imovel.value = s1;
	}else if(campo=='va'){
		document.Indice_Sinal.txt_valor_aquisicao.value = s1;
	}else if(campo=='vf'){
		document.Indice_Sinal.txt_valor_financiamento.value = s1;
	}
 }else if(tipo_index=='st'){
	if(campo=='vi'){
 		document.Indice_Transferencia.txt_valor_imovel.value = s1;
	}else if(campo=='cd'){
		document.Indice_Transferencia.txt_capital_divida.value = s1;
	}else if(campo=='vf'){
		document.Indice_Transferencia.txt_valor_financiamento.value = s1;
	}
 }
// return s1;
}
