/* author: IBERBULEI, Lda */
/* Creation date: 06-03-2006 */
//------------------------------------------------------------------------
//	Validar Limite de Prazo (anos) para o emprestimo (Valida por prazo máximo, idade do cliente e ltv)
//------------------------------------------------------------------------
function Validar_Prazo_Anos(tipo_index,campo,prazo_anos,bto){
var max_prazo, max_age, max_year_age, max_years,dif,age1,age2,LTV,finalidade,t_habitacao,f_submit,f_submit_1;
var max_prazo_dc,max_prazo_y, anos_dec,anos_soma,anos_pret,rtn;
var array_max_ltv = new Array(5),array_validacao = new Array(2),p_max_ltv,valFinanciado,valImovel,LTV,alt,Mensagem;
max_year_age = getMaxAge();
		if(tipo_index == 'sg'){
				//Verifica se o prazo estiver a branco, se for nao entra
				f_submit = Preencher_ValPrazo(tipo_index);	
				if(f_submit==true){	
							//vai buscar o valor maximo de prazo para a finalidade seleccionada
								finalidade = document.Indice_Geral.sl_finalidade.selectedIndex;
								t_habitacao = document.Indice_Geral.sl_habitacao.selectedIndex;
								max_prazo = getMaxYears(finalidade,t_habitacao);	
							//Validar anos máximo normal
								  if (eval(document.Indice_Geral.txt_prazo_anos.value)>eval(max_prazo))  {
								    alert('O prazo máximo permitido é de '+ max_prazo +' anos.');
									document.Indice_Geral.txt_prazo_anos.value = max_prazo;
								    f_submit = false;
								  }
								//Validar anos máximo de acordo com a idade do mais velho			
								//Procura a idade maior	  
								if (document.Indice_Geral.txt_idade_1.value != ""){
									age1=document.Indice_Geral.txt_idade_1.value;
								}else{age1='0';}
								if (document.Indice_Geral.txt_idade_2.value != ""){
									age2=document.Indice_Geral.txt_idade_2.value;
								}else{age2='0';}						
								if (eval(age1)>eval(age2)){
								  max_age=eval(age1); 
								}else if (eval(age1)<eval(age2)){
								  max_age=eval(age2);
								}else if (eval(age1)==eval(age2)){
								  max_age=eval(age1);
								}
								//calculo do ano máximo permitido para o cliente mais velho
								//max_years = eval(max_year_age) - eval(max_age);			
								max_years = eval(max_age) + parseInt(max_prazo);
							    //Vê-se qtos anos de diferença existem entre a idade maxima e conta
								dif = eval(max_years)-eval(max_year_age);
								max_prazo = parseInt(max_prazo)-eval(dif);				
								//Formula : max_anos = idade maxima permitida - idade do cliente mais velho 
								
								//Se o maximo somado (dos dois anos(prazo e idade)) for maior que a idade maxima 
								//entao nao pode fazer aos 40 anos
								if (eval(max_years) > eval(max_year_age)){
									if(eval(document.Indice_Geral.txt_prazo_anos.value) > eval(max_prazo)){
									alert('O prazo máximo permitido é de '+ max_prazo +' anos.');
									document.Indice_Geral.txt_prazo_anos.value = max_prazo;
								    f_submit = false;	
									}
								}
  								//activar e desactivar carencia e valor residual
								ACT_DESC_CV(tipo_index,finalidade,t_habitacao,LTV);								
								if(f_submit==false){
									//alert('entra em valida LTV false');
									Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao);
									f_submit='false';
								}else{
									//alert('entra em valida LTV true');
									f_submit = Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao);
								}
				}return f_submit;
		}else if(tipo_index == 'ss'){
			//Verifica se o prazo estiver a branco, se for nao entra
			f_submit = Preencher_ValPrazo(tipo_index);	
			if(f_submit==true){	
				//vai buscar o valor maximo de prazo para a finalidade seleccionada
				finalidade = document.Indice_Sinal.sl_finalidade.selectedIndex;				
				t_habitacao = document.Indice_Sinal.sl_habitacao.selectedIndex;
				max_prazo = getMaxYears(finalidade,t_habitacao);	
				//Validar anos máximo normal
				  if ((eval(document.Indice_Sinal.txt_prazo_anos.value)/12)>eval(max_prazo))  {
				    alert('O prazo máximo permitido é de '+ max_prazo +' anos.');
					max_prazo = getCalMeses(max_prazo);
					document.Indice_Sinal.txt_prazo_anos.options.selectedIndex=parseInt(max_prazo)-1;	
				    f_submit= false;	
				 }
				//Validar anos máximo de acordo com a idade do mais velho			
				//Procura a idade maior	  
				if (document.Indice_Sinal.txt_idade_1.value != ""){
					age1=document.Indice_Sinal.txt_idade_1.value;
				}else{age1='0';}
				if (document.Indice_Sinal.txt_idade_2.value != ""){
					age2=document.Indice_Sinal.txt_idade_2.value;
				}else{age2='0';}						
				if (eval(age1)>eval(age2)){
				  max_age=eval(age1); 
				}else if (eval(age1)<eval(age2)){
				  max_age=eval(age2);
				}else if (eval(age1)==eval(age2)){
				  max_age=eval(age1);
				}
				//calculo do ano máximo permitido para o cliente mais velho
				//max_years = eval(max_year_age) - eval(max_age);			
				max_years = eval(max_age) + parseInt(max_prazo);
			    //Vê-se qtos anos de diferença existem entre a idade maxima e conta
				dif = eval(max_years)-eval(max_year_age);
				max_prazo = parseInt(max_prazo)-eval(dif);				
				//Formula : max_anos = idade maxima permitida - idade do cliente mais velho 
				//Se o maximo somado (dos dois anos(prazo e idade)) for maior que a idade maxima entao nao pode fazer aos 40 anos
				if (eval(max_years) > eval(max_year_age)){
					if((eval(document.Indice_Sinal.txt_prazo_anos.value)/12) > eval(max_prazo)){
					alert('O prazo máximo permitido é de '+ max_prazo +' anos.');
					max_prazo = getCalMeses(max_prazo);
					document.Indice_Sinal.txt_prazo_anos.options.selectedIndex =parseInt(max_prazo)-1;	
					f_submit= false;				
					}
				}
				if(f_submit==false){
					//alert('entra em valida LTV false');
					Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao);
					f_submit='false';
				}else{
					//alert('entra em valida LTV true');
					f_submit = Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao);
				}return f_submit;
			}return f_submit;	
		}else if(tipo_index == 'st'){	  
				//Verifica se o prazo estiver a branco, se for nao entra
				f_submit = Preencher_ValPrazo(tipo_index);	   
				if(f_submit==true){	   
							//vai buscar o valor maximo de prazo para a finalidade seleccionada
								finalidade = document.Indice_Transferencia.sl_finalidade.selectedIndex;
								t_habitacao = document.Indice_Transferencia.sl_habitacao.selectedIndex;	  
								max_prazo = getMaxYears(finalidade,t_habitacao);		   
							//Validar anos máximo normal
								  if (eval(document.Indice_Transferencia.txt_prazo_anos.value)>eval(max_prazo))  {
								    alert('O prazo máximo permitido é de '+ max_prazo +' anos.');
									document.Indice_Transferencia.txt_prazo_anos.value = max_prazo;
								    f_submit = false;
								  }
								//Validar anos máximo de acordo com a idade do mais velho			
								//Procura a idade maior	  
								if (document.Indice_Transferencia.txt_idade_1.value != ""){
									age1=document.Indice_Transferencia.txt_idade_1.value;
								}else{age1='0';}
								if (document.Indice_Transferencia.txt_idade_2.value != ""){
									age2=document.Indice_Transferencia.txt_idade_2.value;
								}else{age2='0';}						
								if (eval(age1)>eval(age2)){
								  max_age=eval(age1); 
								}else if (eval(age1)<eval(age2)){
								  max_age=eval(age2);
								}else if (eval(age1)==eval(age2)){
								  max_age=eval(age1);
								}
								//calculo do ano máximo permitido para o cliente mais velho
								//max_years = eval(max_year_age) - eval(max_age);			
								max_years = eval(max_age) + parseInt(max_prazo);
							    //Vê-se qtos anos de diferença existem entre a idade maxima e conta
								dif = eval(max_years)-eval(max_year_age);
								max_prazo = parseInt(max_prazo)-eval(dif);				
								//Formula : max_anos = idade maxima permitida - idade do cliente mais velho 
								
								//Se o maximo somado (dos dois anos(prazo e idade)) for maior que a idade maxima 
								//entao nao pode fazer aos 40 anos
								if (eval(max_years) > eval(max_year_age)){
									if(eval(document.Indice_Transferencia.txt_prazo_anos.value) > eval(max_prazo)){
									alert('O prazo máximo permitido é de '+ max_prazo +' anos.');
									document.Indice_Transferencia.txt_prazo_anos.value = max_prazo;
								    f_submit = false;	
									}
								}
  								//activar e desactivar carencia e valor residual
								ACT_DESC_CV(tipo_index,finalidade,t_habitacao,LTV);								
								if(f_submit==false){
									//alert('entra em valida LTV false');
									Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao);
									f_submit='false';
								}else{
									//alert('entra em valida LTV true');
									f_submit = Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao);
								}
				}return f_submit;
		/*max_prazo_ant_submit = eval(document.Indice_Transferencia.txt_prazo_anos.value);
			//Verifica se o prazo estiver a branco, se for nao entra
			f_submit = Preencher_ValPrazo(tipo_index);	
			if(f_submit==true){		
				//Verifica se os anos decorridos no antigo emprestimo estiver a branco, se for nao entra
				Preencher_ValPrazoAnosDecorridos(tipo_index,'s');
					if(f_submit==true){		
								//vai buscar o valor maximo de prazo para a finalidade seleccionada
								finalidade = document.Indice_Transferencia.sl_finalidade.selectedIndex;					
								t_habitacao = document.Indice_Transferencia.sl_habitacao.selectedIndex;
								max_prazo = getMaxYears(finalidade,t_habitacao);	
								//Validar anos máximo de acordo com a idade do mais velho			
								//Procura a idade maior	  
								if (document.Indice_Transferencia.txt_idade_1.value != ""){
									age1=document.Indice_Transferencia.txt_idade_1.value;
								}else{age1='0';}
								if (document.Indice_Transferencia.txt_idade_2.value != ""){
									age2=document.Indice_Transferencia.txt_idade_2.value;
								}else{age2='0';}						
								if (eval(age1)>eval(age2)){
								  max_age=eval(age1); 
								}else if (eval(age1)<eval(age2)){
								  max_age=eval(age2);
								}else if (eval(age1)==eval(age2)){
				  				  max_age=eval(age1);
								}
								//calculo do ano máximo permitido para o cliente mais velho
								//max_years = eval(max_year_age) - eval(max_age);			
								//Formula : max_anos = idade maxima permitida - idade do cliente mais velho 
								max_years = eval(max_age) + parseInt(max_prazo);
							    //Vê-se qtos anos de diferença existem entre a idade maxima e conta
								dif = eval(max_years)-eval(max_year_age);
								max_prazo_y = parseInt(max_prazo)-eval(dif);		
						
								rtn = getURLParam("rtn");//parametro para saber se veio do link:R nova simulaçao
	
								valFinanciado = RemoverPontos(document.Indice_Transferencia.txt_valor_financiamento.value);
								valImovel = RemoverPontos(document.Indice_Transferencia.txt_valor_imovel.value);
								if((eval(valImovel)!=0 || eval(valImovel)!='')&&(eval(valFinanciado)!=0 || eval(valFinanciado)!='')){LTV = getCalLTV(valFinanciado,valImovel,finalidade);}	
								array_max_ltv = getMaxYears_LTV(finalidade,LTV,valFinanciado,t_habitacao,anos_pret);
								p_max_ltv =  array_max_ltv[0];	
								alt =  array_max_ltv[3];	
								//Formula : max_prazo_dc = anos dec na OIC + prazo_protosto 
								anos_dec = document.Indice_Transferencia.txt_anos_decorridos.value;
								anos_pret = document.Indice_Transferencia.txt_prazo_anos.value;
								anos_soma = eval(anos_pret)+eval(anos_dec);	
																				
								if(bto==true){
  									//activar e desactivar carencia e valor residual
									ACT_DESC_CV(tipo_index,finalidade,t_habitacao,LTV);										
									if(alt!='s'){
										array_validacao = Validar_Prazo_Anos_Decorridos_Idade(max_prazo_y,max_prazo_dc,anos_pret,p_max_ltv,anos_soma,anos_dec,LTV);
										f_submit =  array_validacao[0];	
										Mensagem = array_validacao[1];	
									}				
										//do botão submit									
											if(f_submit==false){
												//alert('entra em valida LTV false');
												if(Mensagem!='s'){Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao,Mensagem);}
												f_submit='false';
											}else{
												//alert('entra em valida LTV true');
												if(Mensagem!='s'){f_submit = Validar_Prazo_Anos_LTV(tipo_index,finalidade,t_habitacao,Mensagem);}
											}	
								}else{
									f_submit= true;
								}
								
					}return f_submit;
				}
				var j_p = 's';
				return f_submit,j_p;*/	   
					
		}
}
function Validar_Prazo_Anos_Decorridos_Idade(max_prazo_y,max_prazo_dc,anos_pret,p_max_ltv,anos_soma,anos_dec,LTV){
var strReturn = new Array(2),Mensagem;
		//Se o maximo somado (dos dois anos(prazo e idade)) for maior que a idade maxima entao nao pode fazer aos 40 anos
		//if((eval(max_years) > eval(max_year_age))||(eval(anos_soma) > eval(max_prazo))){
			//alert('entrou rotina comparação');			
			var max_prazo_y2,soma_id_dec,max_prazo_dc2;	
			//Conta para saber o total da idade + os anos decorridos
			soma_id_dec = eval(anos_dec)+eval(max_prazo_y);

			//Conta para saber o total anos pretendidos + os anos decorridos
			if(eval(soma_id_dec)<=eval(p_max_ltv) && eval(anos_dec)<eval(anos_pret)){
				//alert('soma 1');
				max_prazo_dc = eval(soma_id_dec)-eval(max_prazo_y);		
				max_prazo_dc = eval(anos_pret)-eval(max_prazo_dc);				
			}else if(eval(soma_id_dec)<=eval(p_max_ltv) && eval(anos_dec)>=eval(anos_pret)){
				//alert('soma 2');
				max_prazo_dc = eval(soma_id_dec)-eval(max_prazo_y);
				max_prazo_dc = eval(anos_pret)-eval(max_prazo_dc);					
			}			
			if(eval(soma_id_dec)>eval(p_max_ltv) && eval(anos_dec)<eval(anos_pret)){
				//alert('soma 3');
				max_prazo_dc = eval(anos_soma)-eval(p_max_ltv);		
				max_prazo_dc = eval(anos_pret)-eval(max_prazo_dc);				
			}else if(eval(soma_id_dec)>eval(p_max_ltv) && eval(anos_dec)>=eval(anos_pret)){
				//alert('soma 4');
				max_prazo_dc = eval(anos_soma)-eval(p_max_ltv);
				max_prazo_dc = eval(anos_pret)-eval(max_prazo_dc);					
			}
			if(eval(max_prazo_dc)<=0){ max_prazo_dc = -eval(max_prazo_dc);}
			//*******************************************************************
			
		//alert('1. LTV = '+LTV+'; p_max_ltv = '+p_max_ltv+'; p idade = '+max_prazo_y+'; p dec = '+ anos_dec+'; p pret = '+ anos_pret+'; soma ='+anos_soma+'; soma idade = '+soma_id_dec+'; max p dc = '+max_prazo_dc);						
		//Quando não é suposto entrar pq um dos prazos e igual ou superior ao Limite e o maximo permitido é 0
//		if((eval(anos_pret)>=eval(p_max_ltv)||eval(anos_dec)>=eval(p_max_ltv)) && (eval(max_prazo_dc)==0 || eval(max_prazo_dc)!=0)){
		if((eval(anos_dec)>=eval(p_max_ltv) && (eval(max_prazo_dc)==0|| eval(max_prazo_dc)!=0))){
			alert('O prazo máximo permitido tendo em consideração os anos completos decorridos do financiamento inicial na Outra Instituição de Crédito foi exedido. Por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.');
			f_submit= false;	
			Mensagem = 's';		
		//Validação Com o limite da idade menor que os Anos pretendidos
		}else if(eval(anos_pret)>eval(max_prazo_y)){
			//alert(' entrou para verificar os anos pretendidos superores a idade');
			if(eval(soma_id_dec)<=eval(p_max_ltv)){
			//alert('1 entrou para verificar os anos da idade normalmente 1');
				if(eval(anos_pret) > eval(max_prazo_y)){
					alert('O prazo máximo permitido é de '+ max_prazo_y +' anos.');
					document.Indice_Transferencia.txt_prazo_anos.value = max_prazo_y;
					f_submit= true;				
				}				
			}else if (eval(soma_id_dec)>eval(p_max_ltv)){
				//alert('2 entrou para verificar os anos 2');
				if(eval(max_prazo_dc)==0 && (eval(anos_pret)!=eval(anos_dec))){	
					//alert('2.1 entrou para verificar os anos 2');	
					alert('O prazo máximo permitido tendo em consideração os anos completos decorridos do financiamento inicial na Outra Instituição de Crédito foi exedido. Por favor contacte o seu gestor Deutsche Bank ou o db Online através do 808 22 11 21.');
					f_submit= false;							
				}else if(eval(anos_pret) >= eval(max_prazo_y)){
					//alert('2.2 entrou para verificar os anos 2');	
					alert('O prazo máximo permitido tendo em consideração os anos completos decorridos '
					+'do financiamento inicial na Outra Instituição de Crédito é de '+ max_prazo_dc +' anos.');					
					document.Indice_Transferencia.txt_prazo_anos.value = max_prazo_dc;
					f_submit= true;				
				}else if(eval(anos_pret) < eval(max_prazo_y) ){
					//alert('2.2 entrou para verificar os anos 2');	
					alert('O prazo máximo permitido tendo em consideração os anos completos decorridos '
					+'do financiamento inicial na Outra Instituição de Crédito é de '+ max_prazo_dc +' anos.');					
					document.Indice_Transferencia.txt_prazo_anos.value = max_prazo_dc;
					f_submit= true;				
				}		
			}
		//Validação Com o limite da idade maior que os Anos pretendidos, e este ultimo é diferente do maximo permitido		
		//}else if(eval(anos_pret)<=eval(max_prazo_y)&& eval(anos_pret) != eval(max_prazo_dc)){			
		}else if(eval(anos_pret)<=eval(max_prazo_y)&& eval(anos_pret) > eval(max_prazo_dc)){
				//alert('3. entrou para verificar os anos pretendidos inferiores a idade');
				//alert('3.1 entrou para verificar os anos 1');	
				alert('O prazo máximo permitido tendo em consideração os anos completos decorridos '
					+'do financiamento inicial na Outra Instituição de Crédito é de '+ max_prazo_dc +' anos.');					
				document.Indice_Transferencia.txt_prazo_anos.value = max_prazo_dc;
				f_submit= true;				
		}else{
			//alert('indiferente, entra e faz');
			f_submit= true;
		}
  strReturn[0] = f_submit;
  strReturn[1] = Mensagem;
return strReturn;	
}
//------------------------------------------------------------------------
//	Validar Limite de Prazo (anos) para o emprestimo de acordo com a percentagem de LTV (subrotina de Validar_Prazo_Anos)
//------------------------------------------------------------------------
function Validar_Prazo_Anos_LTV(tipo_index,p_fin,p_th,Mensagem){
var array_max_ltv,p_max_ltv,msg_max_ltv,LTV,valFinanciado,valImovel,max_financiado,max_financiado_ltv,alt,f_submit,prazo,Mmsg;
array_max_ltv = new Array(5)
var max_prazo = getMaxYears(p_fin);
		if(tipo_index == 'sg'){
				//Verifica se existem campos não preenchidos e zero, se não existem faz a validação
				//campos a verificar: Valor de Aquisição, Valor do Imóvel e Prazo
				//Verifica os campos vazios
				if (document.Indice_Geral.txt_prazo_anos.value != "" && document.Indice_Geral.txt_valor_aquisicao.value != "" && document.Indice_Geral.txt_valor_imovel.value != ""){
					//Verifica os campos a 0
				    if (document.Indice_Geral.txt_prazo_anos.value != "0" && document.Indice_Geral.txt_valor_aquisicao.value != "0" && document.Indice_Geral.txt_valor_imovel.value != "0"){
								//nao pode fazer a 40 anos se o LTV for maior q o permitido
								valFinanciado = RemoverPontos(document.Indice_Geral.txt_valor_financiamento.value);
								valImovel = RemoverPontos(document.Indice_Geral.txt_valor_imovel.value);
								//alert(valFinanciado+' , '+valImovel);
								//document.Indice_Geral.txt_valor_financiamento.value;
								//  alert('cal ltv');
								LTV = getCalLTV(valFinanciado,valImovel,p_fin);		
								//Saber o prazo de emprestimo por finalidade e ltv e saber o maximo de valor q pode ser financiado
								prazo = eval(document.Indice_Geral.txt_prazo_anos.value);
								array_max_ltv = getMaxYears_LTV(p_fin,LTV,valFinanciado,p_th,prazo);
								p_max_ltv =  array_max_ltv[0];								
								msg_max_ltv = array_max_ltv[1];
								max_financiado = array_max_ltv[2];
								alt = array_max_ltv[3];
								Mmsg =  array_max_ltv[4];
 							    //vai verificar com o valor financimanto limite para os LTV e finalidade correspondente
							    if(eval(valFinanciado) > eval(max_financiado)){									
									if(Mmsg=='s'){alert(msg_max_ltv);}
									if(alt =='s'){
										//alert(msg_max_ltv);
										if(eval(document.Indice_Geral.txt_prazo_anos.value)<=p_max_ltv){
											document.Indice_Geral.txt_prazo_anos.value = document.Indice_Geral.txt_prazo_anos.value;
											return false;		
										}else{
											document.Indice_Geral.txt_prazo_anos.value = p_max_ltv;								
											return false;		
										}						
														
									}else if(alt =='ns'){
										//alert('e');
										
										if(eval(document.Indice_Geral.txt_prazo_anos.value)<=p_max_ltv){
										//if(eval(prazo)>eval(p_max_ltv)){alert(msg_max_ltv);}
											document.Indice_Geral.txt_prazo_anos.value = document.Indice_Geral.txt_prazo_anos.value;
											return true;			
										}else{
										//if(eval(prazo)>eval(p_max_ltv)){alert(msg_max_ltv);}
											document.Indice_Geral.txt_prazo_anos.value = p_max_ltv;								
											return true;			
										}
									}else{ 
										return true;	
									}
								}
  								//activar e desactivar carencia e valor residual
								//ACT_DESC_CV(tipo_index,p_fin,p_th,LTV);		
								//Procura por prazo de anos
								//vai verificar com o prazo limite para os LTV e finalidade correspondente
								//alert(Mensagem);
								if(eval(document.Indice_Geral.txt_prazo_anos.value) > eval(p_max_ltv)){
									alert('O prazo máximo permitido é de '+ p_max_ltv +' anos.');
									document.Indice_Geral.txt_prazo_anos.value = p_max_ltv;
									return false;
								}else{ return true;}

					}					
				}				
		}else if(tipo_index == 'ss'){
				//Verifica se existem campos não preenchidos e zero, se não existem faz a validação
				//campos a verificar: Valor de Aquisição, Valor do Imóvel e Prazo
				//Verifica os campos vazios
				if (document.Indice_Sinal.txt_prazo_anos.value != "" && document.Indice_Sinal.txt_valor_aquisicao.value != "" && document.Indice_Sinal.txt_valor_imovel.value != ""){
					//Verifica os campos a 0
				    if (document.Indice_Sinal.txt_prazo_anos.value != "0" && document.Indice_Sinal.txt_valor_aquisicao.value != "0" && document.Indice_Sinal.txt_valor_imovel.value != "0"){
								//valFinanciado = document.Indice_Sinal.txt_valor_aquisicao.value;
								//Validar anos máximo de acordo com  o valor financimanto/ valor de imovel mais baixo			
								//Procura a idade maior	  
								var max_val_aq,max_val_fs;
								if (document.Indice_Sinal.txt_valor_aquisicao.value != ""){
									max_val_aq=RemoverPontos(document.Indice_Sinal.txt_valor_aquisicao.value);
								}else{max_val_aq='0';}
								if (document.Indice_Sinal.txt_valor_imovel.value != ""){
									max_val_fs=RemoverPontos(document.Indice_Sinal.txt_valor_imovel.value);
								}else{max_val_fs='0';}						
								if (eval(max_val_aq)<eval(max_val_fs)){
								  valImovel =eval(max_val_aq); 
								}else{
								  valImovel =eval(max_val_fs);
								}							
								
								//nao pode fazer a 40 anos se o LTV for maior q o permitido
								valFinanciado = RemoverPontos(document.Indice_Sinal.txt_valor_financiamento.value);
								//alert(valFinanciado+' , '+valImovel);
								LTV = getCalLTV(valFinanciado,valImovel,p_fin);		
								//LTV = getCalLTV(document.Indice_Sinal.txt_valor_aquisicao.value,document.Indice_Sinal.txt_valor_imovel.value,p_fin);		
								//Saber o prazo de emprestimo por finalidade e ltv e saber o maximo de valor q pode ser financiado
								prazo = eval(document.Indice_Sinal.txt_prazo_anos.value);
								array_max_ltv = getMaxYears_LTV(p_fin,LTV,valFinanciado,p_th,prazo,valImovel);
								p_max_ltv =  array_max_ltv[0];								
								msg_max_ltv = array_max_ltv[1];
								max_financiado = array_max_ltv[2];
								alt = array_max_ltv[3];
								Mmsg = array_max_ltv[4];
								//max_financiado = 40000;
								//alert(alt);
								//		alert(valFinanciado);	
								//		alert(max_financiado);	
								//		alert(LTV);
								//Procura por limite de financiamento		

								//vai verificar com o valor financimanto/ valor de imovel com 30% limite para os LTV e finalidade correspondente
								 //   alert('LTV = '+LTV);
								//	alert('V Fin = '+valFinanciado);
								//	alert('V Max Finan = '+max_financiado);

									max_financiado_ltv = eval(valImovel)*30/100;
									//alert('V Max Finan LTV= '+max_financiado_ltv);
									if((eval(valFinanciado) > eval(max_financiado)) || (eval(valFinanciado) > eval(max_financiado_ltv))){
									   	if(Mmsg=='s'){alert(msg_max_ltv);}
									    if(alt =='s'){
									         document.Indice_Sinal.txt_prazo_anos.options.selectedIndex = eval(p_max_ltv)-1; 
									    }else if(alt =='ns'){
											if(eval(document.Indice_Sinal.txt_prazo_anos.options.selectedIndex) <= eval(p_max_ltv)-1){
												document.Indice_Sinal.txt_prazo_anos.value = document.Indice_Geral.txt_prazo_anos.value;
											}else{
												document.Indice_Sinal.txt_prazo_anos.options.selectedIndex = eval(p_max_ltv)-1;								
											}											 
									    }return false;																
									}else{ return true;}	
									/*alert(LTV);
									alert(valFinanciado);
									alert(max_financiado);
									if(eval(LTV)<= 30 && (eval(valFinanciado) > eval(max_financiado_ltv))){
									
										document.Indice_Sinal.txt_valor_financiamento.value = max_financiado_ltv;
										InserirPontos(tipo_index,'vf');
										return true;
									}		*/
								//Procura por prazo de anos
								//vai verificar com o prazo limite para os LTV e finalidade correspondente
								if(eval(document.Indice_Sinal.txt_prazo_anos.value) > eval(p_max_ltv)){
									alert('O prazo máximo permitido é de '+ p_max_ltv +' meses.');
									document.Indice_Sinal.txt_prazo_anos.options.selectedIndex = eval(p_max_ltv)-1; 
									return false;
								}else{ return true;}						
					}					
				}				
		}else if(tipo_index == 'st'){
				//Verifica se existem campos não preenchidos e zero, se não existem faz a validação
				//campos a verificar: Valor de Aquisição, Valor do Imóvel e Prazo
				//Verifica os campos vazios
				if (document.Indice_Transferencia.txt_prazo_anos.value != "" && document.Indice_Transferencia.txt_valor_financiamento.value != "" && document.Indice_Transferencia.txt_valor_imovel.value != ""){
					//Verifica os campos a 0
				    if (document.Indice_Transferencia.txt_prazo_anos.value != "0" && document.Indice_Transferencia.txt_valor_financiamento.value != "0" && document.Indice_Transferencia.txt_valor_imovel.value != "0"){
								//nao pode fazer a 40 anos se o LTV for maior q o permitido
								valFinanciado = RemoverPontos(document.Indice_Transferencia.txt_valor_financiamento.value);
								valImovel = RemoverPontos(document.Indice_Transferencia.txt_valor_imovel.value);
								LTV = getCalLTV(valFinanciado,valImovel,p_fin);		
								//Saber o prazo de emprestimo por finalidade e ltv e saber o maximo de valor q pode ser financiado
								prazo = eval(document.Indice_Transferencia.txt_prazo_anos.value);
								array_max_ltv = getMaxYears_LTV(p_fin,LTV,valFinanciado,p_th,prazo);
								p_max_ltv =  array_max_ltv[0];								
								msg_max_ltv = array_max_ltv[1];
								max_financiado = array_max_ltv[2];
								alt = array_max_ltv[3];
								Mmsg = array_max_ltv[4];

								

 							    //vai verificar com o valor financimanto limite para os LTV e finalidade correspondente
							    if(eval(valFinanciado) > eval(max_financiado)){									
									if(Mmsg=='s'){alert(msg_max_ltv);}
									if(alt =='s'){
										//alert(msg_max_ltv);
										document.Indice_Transferencia.txt_prazo_anos.value = p_max_ltv;									
										return false;				
									}else if(alt =='ns'){
										//if(eval(prazo)>eval(p_max_ltv)){alert(msg_max_ltv);}
										if(eval(document.Indice_Transferencia.txt_prazo_anos.value)<=eval(p_max_ltv)){
											document.Indice_Transferencia.txt_prazo_anos.value = document.Indice_Transferencia.txt_prazo_anos.value;
											return true;			
										}else{
											document.Indice_Transferencia.txt_prazo_anos.value = p_max_ltv;								
											return true;			
										}	
									}else{ 
										return true;	
									}
								}
  								//activar e desactivar carencia e valor residual
								//ACT_DESC_CV(tipo_index,p_fin,p_th,LTV);		
								//Procura por prazo de anos
								//vai verificar com o prazo limite para os LTV e finalidade correspondente
								if(eval(document.Indice_Transferencia.txt_prazo_anos.value) > eval(p_max_ltv)){
									alert('O prazo máximo permitido é de '+ p_max_ltv +' anos.');
									document.Indice_Transferencia.txt_prazo_anos.value = p_max_ltv;
									return false;
								}else{ return true;}

					}					
				}				
		}				
}

//------------------------------------------------------------------------
//	Validar Limite de Máxima e Minima de idade para fazer o emprestimo
//------------------------------------------------------------------------
function Validar_Max_Idade(tipo_index,ver){
var max_age, min_age,f_submit;
max_age = getMaxAge();
min_age = getMinAge();
f_submit=true;
		if(tipo_index == 'sg'){
				  //Validar máximo de idade permitida 
				  if (eval(document.Indice_Geral.txt_idade_1.value)>=eval(max_age))  {
					alert('A idade máxima permitida é de '+max_age+' anos.');
					document.Indice_Geral.txt_idade_1.value = eval(max_age);
				    f_submit = false;
				  }
				  if(eval(document.Indice_Geral.txt_idade_2.value)>=eval(max_age)){
					alert('A idade máxima permitida é de '+max_age+' anos.');
					document.Indice_Geral.txt_idade_2.value =  eval(max_age);
				    f_submit = false;				  
				  }
  				   if (ver=='0'){
							//Validar minimo de idade permitida da primeira idade
							if (eval(document.Indice_Geral.txt_idade_1.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Geral.txt_idade_1.value = min_age;
							    f_submit = false;
						    }
					}else if (ver=='1'){
							//Validar minimo de idade permitida da primeira idade
							if (eval(document.Indice_Geral.txt_idade_1.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Geral.txt_idade_1.value = min_age;
							    f_submit = false;
						    }							
							if (eval(document.Indice_Geral.txt_idade_2.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Geral.txt_idade_2.value = min_age;
							    f_submit = false;
						    }
				 	}		
				if(f_submit!=false){f_submit=true}
				return f_submit;					
		}else if(tipo_index == 'ss'){
				  //Validar máximo de idade permitida 
				  if (eval(document.Indice_Sinal.txt_idade_1.value)>=eval(max_age))  {
					alert('A idade máxima permitida é de '+max_age+' anos.');
					document.Indice_Sinal.txt_idade_1.value = eval(max_age);
				    f_submit= false;
				  }
				  if(eval(document.Indice_Sinal.txt_idade_2.value)>=eval(max_age)){
					alert('A idade máxima permitida é de '+max_age+' anos.');
					document.Indice_Sinal.txt_idade_2.value =  eval(max_age);
				    f_submit= false;				  
				  }
  				   if (ver=='0'){
							//Validar minimo de idade permitida da primeira idade
							if (eval(document.Indice_Sinal.txt_idade_1.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Sinal.txt_idade_1.value = min_age;
							    f_submit= false;
						    }
					}else if (ver=='1'){
							//Validar minimo de idade permitida da primeira idade
							if (eval(document.Indice_Sinal.txt_idade_1.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Sinal.txt_idade_1.value = min_age;
							    f_submit= false;
						    }							
							if (eval(document.Indice_Sinal.txt_idade_2.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Sinal.txt_idade_2.value = min_age;
							    f_submit= false;
						    }
				 }					
				if(f_submit!=false){f_submit=true}
				return f_submit;					 				
		}else if(tipo_index == 'st'){
				  //Validar máximo de idade permitida 
				  if (eval(document.Indice_Transferencia.txt_idade_1.value)>=eval(max_age))  {
					alert('A idade máxima permitida é de '+max_age+' anos.');
					document.Indice_Transferencia.txt_idade_1.value = eval(max_age);
				    f_submit= false;
				  }
				  if(eval(document.Indice_Transferencia.txt_idade_2.value)>=eval(max_age)){
					alert('A idade máxima permitida é de '+max_age+' anos.');
					document.Indice_Transferencia.txt_idade_2.value =  eval(max_age);
				    f_submit= false;				  
				  }
  				   if (ver=='0'){
							//Validar minimo de idade permitida da primeira idade
							if (eval(document.Indice_Transferencia.txt_idade_1.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Transferencia.txt_idade_1.value = min_age;
							    f_submit= false;
						    }//else{return true;}
					}else if (ver=='1'){
							//Validar minimo de idade permitida da segunda idade
							//Validar minimo de idade permitida da primeira idade
							if (eval(document.Indice_Transferencia.txt_idade_1.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Transferencia.txt_idade_1.value = min_age;
							    f_submit= false;
						    }							
							if (eval(document.Indice_Transferencia.txt_idade_2.value)<eval(min_age)){
								alert('A idade mínima permitida é de '+min_age+' anos.');
								document.Indice_Transferencia.txt_idade_2.value = min_age;
							    f_submit= false;
						    }
				 }	
					
				if(f_submit!=false){f_submit=true}
				return f_submit;			
		}
}
//------------------------------------------------------------------------
//	Validar Limite Máximo do valor de financiamento em comparação ao capital em divida numa transferencia
//------------------------------------------------------------------------
function Validar_ValorFinanciamento_CapitalDivida(){
var valFinanciado, valCapitalDivida;
  Preencher_ValCapitalDivida('st');
  
  valFinanciado = RemoverPontos(document.Indice_Transferencia.txt_valor_financiamento.value);
  valCapitalDivida = RemoverPontos(document.Indice_Transferencia.txt_capital_divida.value);
  if (eval(valFinanciado)>eval(valCapitalDivida)){
    alert('O valor máximo de Financiamento é o saldo em dívida na OIC. Para obter informações acerca de como poderá aumentar o financiamento e o prazo, 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');
    document.Indice_Transferencia.teste.style.visibility = "hidden";
	return false;
  }else{ 
  document.Indice_Transferencia.teste.style.visibility = "visible";
  document.Indice_Transferencia.teste.value = getCalReembolsoDespesas(valCapitalDivida);
  return true; 
  }
}
//------------------------------------------------------------------------
//	Caso o cliente escolha carencia de capital nas transferencias
//------------------------------------------------------------------------
function Validar_MSG_Carencia_Capital(){
  alert('Nesta finalidade apenas é permitida carência de capital caso tenha negociado esta modalidade de amortização no empréstimo em vigor na Outra Instituição de Crédito, e apenas pelo prazo remanescente da carência de capital inicialmente contratada. Para obter mais informações, por favor contacte o seu Gestor Deutsche Bank ou do db Online através do 808 22 11 21. Conheça todas as modalidades de Crédito Habitação Deutsche Bank.');
}

function Validar_MaxValFinanciamento(tipo_index){
var max_fin;
		if(tipo_index == 'sg'){
			//Verifica os campos vazios
			if (document.Indice_Geral.txt_prazo_anos.value != "" && document.Indice_Geral.txt_valor_financiamento.value != "" && document.Indice_Geral.txt_valor_imovel.value != ""){
				if (document.Indice_Geral.txt_prazo_anos.value != "0" && document.Indice_Geral.txt_valor_financiamento.value != "0" && document.Indice_Geral.txt_valor_imovel.value != "0"){
					return Validar_Prazo_Anos(tipo_index);
				}

			}
		}else if(tipo_index == 'ss'){
			if (document.Indice_Sinal.txt_prazo_anos.value != "" && document.Indice_Sinal.txt_valor_financiamento.value != "" && document.Indice_Sinal.txt_valor_imovel.value != ""){
				if (document.Indice_Sinal.txt_prazo_anos.value != "0" && document.Indice_Sinal.txt_valor_financiamento.value != "0" && document.Indice_Sinal.txt_valor_imovel.value != "0"){
				    return Validar_Prazo_Anos(tipo_index);
				}
			}

			
		}else if(tipo_index == 'st'){
			//Verifica os campos vazios
			if (document.Indice_Transferencia.txt_prazo_anos.value != "" && document.Indice_Transferencia.txt_valor_financiamento.value != "" && document.Indice_Transferencia.txt_valor_imovel.value != ""){
				if (document.Indice_Transferencia.txt_prazo_anos.value != "0" && document.Indice_Transferencia.txt_valor_financiamento.value != "0" && document.Indice_Transferencia.txt_valor_imovel.value != "0"){
				    return Validar_Prazo_Anos(tipo_index);
				}

			}
	}
}
function Validar_ValorFinanciamento_ValorAquisicao(tipo_index){
var valFinanciado, valAquisicao;
  if(tipo_index == 'sg'){
	//Verifica campos vazios
	if (document.Indice_Geral.txt_valor_financiamento.value != "" && document.Indice_Geral.txt_valor_aquisicao.value != ""){
		//Verifica os campos a 0	
	    if (document.Indice_Geral.txt_valor_financiamento.value != "0" && document.Indice_Geral.txt_valor_aquisicao.value != "0"){
				  valFinanciado = RemoverPontos(document.Indice_Geral.txt_valor_financiamento.value);
				  valAquisicao = RemoverPontos(document.Indice_Geral.txt_valor_aquisicao.value);  				  
				  if ((eval(valAquisicao) < eval(valFinanciado))&&(eval(valAquisicao) != eval(valFinanciado))){
				    alert('O valor máximo de Financiamento deverá ser menor ou igual que o Valor de Aquisição.');
					//f_submit = 'n';
				    return false;
				  }else{ return true;} 
		}
	}
  }else if(tipo_index == 'ss'){
	//Verifica campos vazios
	valFinanciado = RemoverPontos(document.Indice_Sinal.txt_valor_financiamento.value);
	valAquisicao = RemoverPontos(document.Indice_Sinal.txt_valor_aquisicao.value);  
	if (valFinanciado != "" && valAquisicao != ""){
		//Verifica os campos a 0
	    if (valFinanciado != "0" && valAquisicao != "0"){
				  if(eval(valFinanciado) > eval(valAquisicao)){
				    alert('O valor máximo de Financiamento deverá ser menor ou igual que o Valor de Aquisição.');
				    return false;
				 }else{return true;} 
		}
	}	
  }else if(tipo_index == 'st'){
		return true;
  }
}	

function Validar_ValorFinanciamento_ValorAquisicao2(tipo_index){
var valFinanciado;
	valFinanciado = RemoverPontos(document.Indice_Sinal.txt_valor_financiamento.value);
  	if(eval(valFinanciado) > 40000){
    	alert('O valor máximo de Financiamento deverá ser menor ou igual que o Valor de Aquisição.');
    	return false;
 	}	
}

