////Product 8 :Incomesurance Validation
var elIncomePlanOption = "IncomesurancePlanOption";
var elIncomeInsuredName = "NameofthePersontobeInsured";
var elIncomeInsuredDOB="DateofBirthofthePersontobeInsured";
var elIncomeInsuredAge="AgeofthePersontobeInsuredinyrs";
var elIncomeInsuredGender = "GenderofthePersontobeInsured";

var elIncomeOwnerName = "NameofthePolicyOwner";
var elIncomeOwnerDOB="DateofBirthofPolicyOwner";
var elIncomeOwnerAge="AgeofthePolicyOwnerinyrs";
var elIncomeOwnerGender = "GenderofthePolicyOwner";


var elIncomePolicyTerm="IncomesurancePolicyTerm";
var elIncomePPT="Premiumpaymentperiodinyrs";
var elIncomePremiumPaymentMode="IncomesurancePremiumPaymentMode";
var elIncomeSumInsured = "SumInsuredinRs";
var elIncomeInstalmentPrem="InstalmentPremiuminRs";
var elIncomeWhatIfVisible="WhatifAnalysis";
var elIncomeGuaranteedAnnualPayoutOption="Guaranteedannualpayoutoption";
var elIncome10yearGsecRate="FIMMDA10yearGSecrate";
var elIncome1yearGsecRate="FIMMDA1yearGSecrate";
var elIncomeServiceTaxEducationCess="ServiceTaxandEducationCessinRs";
var elIncomeTotalInstallmentPremium="TotalInstallmentPremiuminRs";
var elIncomeProposerFlag="Istheproposersameastheinsuredperson";

var elIncomeEMR="EMR";
var elIncomePerMile="PerMile";

var elIncomeIsapplicantastaffmember="Isapplicantastaffmember";
var elIncomePleaseentertheemployeecodenumber="Pleaseentertheemployeecodenumber";

function callIncomeinsuranceValidation(){
	var selectedName =	"Incomesurance Endowment And Money Back Plan";
	
	//document.getElementById(elIncomeWhatIfVisible).disabled=true;
	if(document.getElementById(elIncomeInsuredAge)!=null){
		document.getElementById(elIncomeInsuredAge).readOnly=true;
		
	}
	if(document.getElementById(elIncomeOwnerAge)!=null){
		document.getElementById(elIncomeOwnerAge).readOnly=true;
		
	}

	if(document.getElementById(elIncomeInstalmentPrem)!=null){
		document.getElementById(elIncomeInstalmentPrem).readOnly=true;
	}

	if(document.getElementById(elIncomeServiceTaxEducationCess)!=null){
		document.getElementById(elIncomeServiceTaxEducationCess).readOnly=true;
	}

	if(document.getElementById(elIncomeServiceTaxEducationCess)!=null){
		document.getElementById(elIncomeServiceTaxEducationCess).readOnly=true;
	}

	if(document.getElementById(elIncomeInsuredName)!=null){	    
		document.getElementById(elIncomeInsuredName).onblur = function(){
		  document.getElementById(elIncomeInsuredName).value = getStartsWithCaps(document.getElementById(elIncomeInsuredName).value);
		     fillPolicyOwnerDetails();
		};
	}

	 if(document.getElementById(elIncomeOwnerName).value=="" && document.getElementById(elIncomeOwnerDOB).value == ""){
	 	document.getElementById(elIncomeProposerFlag).value="No";
	 }	
	
	if(document.getElementById(elIncomeInsuredGender)!=null){
			document.getElementById(elIncomeInsuredGender).onchange = function(){
			  fillPolicyOwnerDetails();
		}
	}
		

	if(document.getElementById(elIncomeProposerFlag)!=null){	    
		document.getElementById(elIncomeProposerFlag).onblur = function(){
			fillPolicyOwnerDetails();
			if(!policyOwnerAgeValidation()){
				document.getElementById(elIncomeProposerFlag).value = "No";
			  	fillPolicyOwnerDetails();
			}
		};
	}

	if(document.getElementById(elIncomeProposerFlag)!=null){	    
		document.getElementById(elIncomeProposerFlag).onchange = function(){
			fillPolicyOwnerDetails();
		};
	}

	if(document.getElementById(elIncomeOwnerName)!=null){	    
		document.getElementById(elIncomeOwnerName).onblur = function(){
			document.getElementById(elIncomeOwnerName).value = getStartsWithCaps(document.getElementById(elIncomeOwnerName).value);
			if(!checkSameName()){
		  	   policyOwnerAgeValidation();
		    }
		};
	}
	      
	      checkWhatifAnalysis();
	   document.getElementById(elIncomeWhatIfVisible).onclick=function(){
			checkWhatifAnalysis()
	   }
	   
	  if(document.getElementById(elBackDate)!= null){
	     if(document.getElementById(elBackDate).value != null){
		        document.getElementById(elBackDate).onblur=function()
		        {
		           strBackDate = document.getElementById(elBackDate).value;
		            if(strBackDate !="" ){
			            if(checkDateFormat(document.getElementById(elBackDate))) {
			               if(checkBackDate(elBackDate)) {
			   			      calculateBackDateAge();
			   			   }   
			   		    }	
			   		}else{
			   		     calculateBackDateAge();
			   		} 
			   		 ajaxIncomeInstalPremium();   
		   		};	  
	     }
	  }   
	   
				   
	var calcAge = 0;
	
	if(document.getElementById(elIncomeInsuredDOB)!=null){
		if(document.getElementById(elIncomeInsuredDOB).value != null || 
			document.getElementById(elIncomeInsuredDOB).value!=""){
				document.getElementById(elIncomeInsuredDOB).onblur=function(){
			    IncomesuranceCalculateAge(selectedName,elIncomeInsuredDOB,elIncomeInsuredAge)
			    calculateBackDateAge();
			    fillPolicyOwnerDetails();
			    validateWaiverOfPremium();
					//Validation for insured person

               var calcAge = 0;
               var calcMinorAge = 0;
				if(document.getElementById(elIncomeInsuredAge)!=""){
					
					calcAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
						        parseInt(document.getElementById(elIncomePolicyTerm).value) ;
						        
				    calcMinorAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
				    			parseInt(document.getElementById(elIncomePPT).value) ;
				
							 if(parseInt(document.getElementById(elIncomeInsuredAge).value)>65){
								alert("Maximum Age at entry of Insured Person is 65 years");
								document.getElementById(elIncomeInsuredDOB).select();
								document.getElementById(elIncomeInsuredAge).value="";
								document.getElementById(elIncomeInsuredDOB).focus();
						    }else if(parseInt(calcAge) > 75){
								alert(" Maximum Age at maturity of Life Insured  is 75 ");
								document.getElementById(elIncomePolicyTerm).focus();
						    }else if((parseInt(document.getElementById(elIncomeInsuredAge).value)) < 18
								     && parseInt(calcMinorAge) < 18 ){
								
								if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 3 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 8){
									if(parseInt(document.getElementById(elIncomePolicyTerm).value) < 20){
										alert(" Minimum Age for Minor at maturity of Life Insured is 18. Policy term should be greater than 15 years");									
										document.getElementById(elIncomePolicyTerm).focus();
									}
								}else if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 8 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 13){
									if(parseInt(document.getElementById(elIncomePolicyTerm).value) < 15){
										alert(" Minimum Age for Minor at maturity of Life Insured is 18. Policy term should be greater than 10 years");
										document.getElementById(elIncomePolicyTerm).focus();									
									}
								}
								
								if(parseInt(document.getElementById(elIncomeInsuredAge).value) < 3){
									alert(" Minimum Age for Minor at maturity of Life Insured is 18.Minimum Age should be 3 years");
									document.getElementById(elIncomeInsuredDOB).select();
									document.getElementById(elIncomeInsuredAge).value="";
									document.getElementById(elIncomeInsuredDOB).focus();
								}else{
									document.getElementById(elIncomePolicyTerm).focus();
								}	
								
							}
						
						
					}
				  ajaxIncomeInstalPremium();
				}
				
			}
		}

	if(document.getElementById(elIncomeOwnerDOB)!=null){
		if(document.getElementById(elIncomeOwnerDOB).value != null || 
			document.getElementById(elIncomeOwnerDOB).value!=""){
				document.getElementById(elIncomeOwnerDOB).onblur=function(){
			        IncomesuranceCalculateAge(selectedName,elIncomeOwnerDOB,elIncomeOwnerAge);
			        calculateBackDateAge();
                     if(!checkSameName()){   
					 	policyOwnerAgeValidation();
					 }	
					 ajaxIncomeInstalPremium();
				}
				
		}
	}


					if(document.getElementById(elIncomePPT)!=null){
							document.getElementById(elIncomePPT).onblur = function(){
							
						  var  calcMinorAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
						    			parseInt(document.getElementById(elIncomePPT).value) ;
							
							if(validatePolicyTerm()){
							  
							  if((parseInt(document.getElementById(elIncomeInsuredAge).value) < 18) && (calcMinorAge < 18) ){
							  	 checkMinorAgePPT();
							  }else{	
							    checkPPT();
							  }  
							}else{
							   document.getElementById(elIncomePolicyTerm).focus();	
							}  						
					};
				 }

					if(document.getElementById(elIncomePolicyTerm)!=null){
							document.getElementById(elIncomePolicyTerm).onblur = function(){
							
								  checkPolicyTerm();
								  ajaxIncomeInstalPremium();
					};
					}



 if(document.getElementById(elIncomeSumInsured).value!=null)
	{
	 	document.getElementById(elIncomeSumInsured).onblur = function(){
        ajaxIncomeInstalPremium();
		};
	}
 if(document.getElementById(elIncomePremiumPaymentMode).value!=null)
	{
	 	document.getElementById(elIncomePremiumPaymentMode).onchange = function(){
	 		ajaxIncomeInstalPremium();
		};
	}
 if(document.getElementById(elIncomePolicyTerm).value!=null)
	{
	 	document.getElementById(elIncomePolicyTerm).onchange = function(){
	 		ajaxIncomeInstalPremium();
		};
	}
 if(document.getElementById(elIncomePPT).value!=null)
	{
	 	document.getElementById(elIncomePPT).onchange = function(){
	 		ajaxIncomeInstalPremium();
			
		};
	}
 
	if(document.getElementById(elIncomePlanOption).value!=null)
	{
	 	document.getElementById(elIncomePlanOption).onchange = function(){
	 	   validateWaiverOfPremium();
	       ajaxIncomeInstalPremium();
		};
	}

	 if(document.getElementById(elIncomeGuaranteedAnnualPayoutOption).value!=null)
	 {
	 	  document.getElementById(elIncomeGuaranteedAnnualPayoutOption).onchange = function(){
		 	  		checkGuaranteedPayout();
		 };
	}
		
	 if(document.getElementById(elIncome10yearGsecRate).value!=null)
	 {
	 	  document.getElementById(elIncome10yearGsecRate).onblur = function(){
		 	  if(document.getElementById(elIncome10yearGsecRate).value !=""){
		 	  		validate10yearGSecRate();
		      }		
		 };
	 }

	 if(document.getElementById(elIncome1yearGsecRate).value!=null)
	 {
	 	  document.getElementById(elIncome1yearGsecRate).onblur = function(){
		 	  if(document.getElementById(elIncome1yearGsecRate).value !=""){
		 	  		validate1yearGSecRate();
		      }		
		 };
	 }

	if(document.getElementById(elIncomeEMR) != null ) {
	    document.getElementById(elIncomeEMR).onchange = function(){
	       ajaxIncomeInstalPremium();
	    }
    }
    if(document.getElementById(elIncomePerMile) != null ) {
		document.getElementById(elIncomePerMile).onblur=function(){
			 ajaxIncomeInstalPremium();
		}
	}    

	if(document.getElementById(elIncomeEMR) != null ) {
	    document.getElementById(elIncomeEMR).onblur = function(){
	       ajaxIncomeInstalPremium();
	    }
    }
	 document.getElementById(elIncomeIsapplicantastaffmember).value="No";
	if(document.getElementById(elIncomeIsapplicantastaffmember) != null ) {
	    document.getElementById(elIncomeIsapplicantastaffmember).onchange = function(){
	    	checkIsStaff(elIncomeIsapplicantastaffmember,elIncomePleaseentertheemployeecodenumber);
	    	ajaxIncomeInstalPremium();
	    }
    }

	if(document.getElementById(elIncomePleaseentertheemployeecodenumber).value!=null){
		document.getElementById(elIncomePleaseentertheemployeecodenumber).onblur=function(){
			ajaxIncomeInstalPremium();
		}
	}
	if(document.getElementById(elIncomeIsapplicantastaffmember).value!="" && document.getElementById(elIncomePleaseentertheemployeecodenumber).value==""){
		 document.getElementById(elIncomeIsapplicantastaffmember).value="No";
	}	
		checkIsStaff(elIncomeIsapplicantastaffmember,elIncomePleaseentertheemployeecodenumber);
}


function validate10yearGSecRate(){
var GSecRate=0;
  	 if(checkNumeric(elIncome10yearGsecRate)){
  	   	GSecRate =	parseFloat(document.getElementById(elIncome10yearGsecRate).value);
  	   	if(GSecRate< 3){
  	   	    alert("Minimum 10-year GSec rate allowed is 3%");
  	   	    document.getElementById(elIncome10yearGsecRate).focus();
  	   	}
  	   	else if(GSecRate> 10){
  	   		alert("Maximum 10-year GSec rate allowed is 10%");
  	   	    document.getElementById(elIncome10yearGsecRate).focus();
  	   	}
  	 }
}

function validate1yearGSecRate(){
var GSecRate=0;
  	 if(checkNumeric(elIncome1yearGsecRate)){
  	   	GSecRate =	parseFloat(document.getElementById(elIncome1yearGsecRate).value);
  	   	if(GSecRate < 0){
  	   	    alert("Negative 1-year GSec rate is not allowed");
  	   	    document.getElementById(elIncome1yearGsecRate).focus();
  	   	}
  	   	else if(GSecRate > 8){
  	   		alert("Maximum 1-year GSec rate allowed is 8%");
  	   	    document.getElementById(elIncome1yearGsecRate).focus();
  	   	}
  	 }
}


function policyOwnerAgeValidation(){
var validAgeFlag=true;
    			  
     if(parseInt(document.getElementById(elIncomeOwnerAge).value)<18){
        validAgeFlag=false;
		alert("Minimum  Age at entry of Policy Owner is 18 ");
		document.getElementById(elIncomeOwnerDOB).readOnly=false;
		document.getElementById(elIncomeOwnerDOB).select();
		document.getElementById(elIncomeOwnerAge).value="";
		document.getElementById(elIncomeOwnerDOB).focus();
	 }

	if(document.getElementById(elIncomePlanOption).value=='Waiver of Premium Option'){
		 if(parseInt(document.getElementById(elIncomeOwnerAge).value)>60){
		    validAgeFlag=false;
			alert("Maximum Age at entry of Policy Owner  is 60 years");
			document.getElementById(elIncomeOwnerDOB).select();
			document.getElementById(elIncomeOwnerAge).value="";
			document.getElementById(elIncomeOwnerDOB).focus();
		 }else if(parseInt(document.getElementById(elIncomePPT).value) ==10){
			 if(parseInt(document.getElementById(elIncomeOwnerAge).value)>55){
			    validAgeFlag=false;
				alert("For PPT 10 years,Maximum Age at entry of Policy Owner is 55 years");
			    document.getElementById(elIncomeOwnerDOB).select();
			    document.getElementById(elIncomeOwnerAge).value="";
				document.getElementById(elIncomeOwnerDOB).focus();
		     }
		 }else if(parseInt(document.getElementById(elIncomePPT).value) ==15){
			 if(parseInt(document.getElementById(elIncomeOwnerAge).value)>50){
			    validAgeFlag=false;
				alert("For PPT 15 years,Maximum Age at entry of Policy Owner is 50 years");
			    document.getElementById(elIncomeOwnerDOB).select();
			    document.getElementById(elIncomeOwnerAge).value="";
				document.getElementById(elIncomeOwnerDOB).focus();
		     }
		 }
	 }
	  return validAgeFlag;    
}

function checkPolicyTerm(){
var calcAge = 0;
var calcMinorAge = 0;

	if(document.getElementById(elIncomeInsuredAge).value!=null){
	
	  calcAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
	        parseInt(document.getElementById(elIncomePolicyTerm).value) ;

     calcMinorAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
    			parseInt(document.getElementById(elIncomePPT).value) ;
	      
	  if(parseInt(calcAge) > 75){
			alert(" Maximum Age at maturity of Life Insured  is 75 ");
			document.getElementById(elIncomePolicyTerm).focus();
	  }else if((parseInt(document.getElementById(elIncomeInsuredAge).value)) < 18
	     && parseInt(calcMinorAge) < 18 ){
			if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 3 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 8){
				if(parseInt(document.getElementById(elIncomePolicyTerm).value) < 20){
					alert(" Minimum Age for Minor at maturity of Life Insured is 18. Policy term should be greater than 15 years");									
					document.getElementById(elIncomePolicyTerm).focus();
				}else{
				  	 checkMinorAgePPT();
				}
			}else if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 8 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 13){
				if(parseInt(document.getElementById(elIncomePolicyTerm).value) < 15){
					alert(" Minimum Age for Minor at maturity of Life Insured is 18. Policy term should be greater than 10 years");
					document.getElementById(elIncomePolicyTerm).focus();									
				}else{
				  	 checkMinorAgePPT();
				}
			}
			
	  }else{
		 checkPPT();
	  }	 	
	
	  
    }		
}


function validatePolicyTerm(){
var validPolicyTerm=false;
var calcAge = 0;
var calcMinorAge = 0;
	if(document.getElementById(elIncomeInsuredAge).value!=null){
	
	  calcAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
	        parseInt(document.getElementById(elIncomePolicyTerm).value) ;
	        
     calcMinorAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
    			parseInt(document.getElementById(elIncomePPT).value) ;
	        
	        
	  if(parseInt(calcAge) > 75){
			validPolicyTerm=false;
	  }else if((parseInt(document.getElementById(elIncomeInsuredAge).value)) < 18
								     && parseInt(calcMinorAge) < 18 ){
			if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 3 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 8){
				if(parseInt(document.getElementById(elIncomePolicyTerm).value) < 20){
					validPolicyTerm=false;									
				}else{
					validPolicyTerm=true;
				}
			}else if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 8 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 13){
				if(parseInt(document.getElementById(elIncomePolicyTerm).value) < 15){
					validPolicyTerm=false;
				}else{
					validPolicyTerm=true;
				}
			}else{
					validPolicyTerm=true;
			}
						     
	  }else{
		 validPolicyTerm=true;
	  }	 	
	    return validPolicyTerm;
    }		
}


  
function checkPPT(){
var calcMinorAge = 0;

        if(document.getElementById(elIncomePolicyTerm).value==10)
		{
		    if(document.getElementById(elIncomePPT).value!=5)
			{
                    alert(" Premium payment period should be 5 if Policy term is 10");
					document.getElementById(elIncomePPT).focus();
			}
		}
		else   if(document.getElementById(elIncomePolicyTerm).value==15)
		{
		    if(document.getElementById(elIncomePPT).value==15)
			{
                     alert(" Premium payment period should be 5 or 10 if Policy term is 15");
					document.getElementById(elIncomePPT).focus();
			}
		}else if(document.getElementById(elIncomePolicyTerm).value==20)
		{
		    if((document.getElementById(elIncomePPT).value==5) )
			{
                     alert(" Premium payment period should be 15 or 10 if Policy term is 20");
					document.getElementById(elIncomePPT).focus();
			}
		}else if(document.getElementById(elIncomePolicyTerm).value==25)
		{
		    if((document.getElementById(elIncomePPT).value!=15) )
			{
                    alert(" Premium payment period should be 15 if Policy term is 25");
					document.getElementById(elIncomePPT).focus();
			}
		}


}


function checkMinorAgePPT(){
var calcMinorAge = 0;

	    calcMinorAge = parseInt(document.getElementById(elIncomeInsuredAge).value) + 
	    			parseInt(document.getElementById(elIncomePPT).value) ;
		
		
		if((parseInt(document.getElementById(elIncomeInsuredAge).value)) < 18
								     && parseInt(calcMinorAge) < 18 ){
		
			if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 3 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 8){
				if(parseInt(document.getElementById(elIncomePPT).value) < 15){
					alert(" Minimum Age for Minor at maturity of Life Insured is 18. Premium payment period should be 15 years");									
				}
			}else if(parseInt(document.getElementById(elIncomeInsuredAge).value) >= 8 && parseInt(document.getElementById(elIncomeInsuredAge).value) < 13){
				if(parseInt(document.getElementById(elIncomePPT).value) < 10){
					alert(" Minimum Age for Minor at maturity of Life Insured is 18.Minimum Premium payment period should be 10 years ");									
				}
			}
			
			  document.getElementById(elIncomePPT).focus();
		}		


}


function fillPolicyOwnerDetails(){
  if(document.getElementById(elIncomePlanOption).value =='Lump Sum Cover Option'){
	if(document.getElementById(elIncomeProposerFlag).value == "Yes"){
		document.getElementById(elIncomeOwnerName).value = document.getElementById(elIncomeInsuredName).value;
		document.getElementById(elIncomeOwnerDOB).value = document.getElementById(elIncomeInsuredDOB).value;
		document.getElementById(elIncomeOwnerAge).value = document.getElementById(elIncomeInsuredAge).value;
		document.getElementById(elIncomeOwnerGender).value = document.getElementById(elIncomeInsuredGender).value;
		
		document.getElementById(elIncomeOwnerName).readOnly=true;
		document.getElementById(elIncomeOwnerDOB).readOnly=true;
		document.getElementById(elIncomeOwnerGender).readOnly=true;
	}else{
		document.getElementById(elIncomeOwnerName).readOnly=false;
		document.getElementById(elIncomeOwnerDOB).readOnly=false;
		document.getElementById(elIncomeOwnerGender).readOnly=false;
	}
  }else{
  		document.getElementById(elIncomeProposerFlag).value = "No";
  		
		document.getElementById(elIncomeOwnerName).readOnly=false;
		document.getElementById(elIncomeOwnerDOB).readOnly=false;
		document.getElementById(elIncomeOwnerGender).readOnly=false;
  }	
}

function checkWaiverOfPremiumAge(){
var waiverAgeFlag=false;
var calcAge = 0;
	if(document.getElementById(elIncomeInsuredAge)!=""){
		calcAge = parseInt(document.getElementById(elIncomeInsuredAge).value);
	}	
					
	if(document.getElementById(elIncomePlanOption).value=='Waiver of Premium Option'){
        if(calcAge>60){
              waiverAgeFlag=true;
                 alert("Maximum Age at entry of Insured Person for Waiver of Premium is 60 years");
			  document.getElementById(elIncomeInsuredDOB).focus();
		}else{
			  waiverAgeFlag=false;
		}			
	}
	return waiverAgeFlag;
}

function validateWaiverOfPremium(){
	if(!checkWaiverOfPremiumAge()){
	    if(!checkSameName()){
	  	  policyOwnerAgeValidation();
	    }
	}    
}

function checkSameName(){
var samenameFlag=false;
    
		if(document.getElementById(elIncomePlanOption).value=='Waiver of Premium Option'){
		   document.getElementById(elIncomeProposerFlag).value="No";
		   fillPolicyOwnerDetails();
			
		  if((document.getElementById(elIncomeInsuredName)!=null) && (document.getElementById(elIncomeOwnerName)!=null)
		     &&  (document.getElementById(elIncomeInsuredName).value != "") && (document.getElementById(elIncomeOwnerName).value !=""))
		  {
	
			  if(document.getElementById(elIncomeInsuredName).value == document.getElementById(elIncomeOwnerName).value){
				alert(" Insured person and Policy owner has to be two different persons");
				 samenameFlag=true;
				 document.getElementById(elIncomeOwnerName).focus();
				
			  }
		  }
	   }
	   return samenameFlag;
}


function checkWhatifAnalysis(){
   if(document.getElementById(elIncomeWhatIfVisible).checked)	{
    	document.getElementById("headerExpandingBoxWhatIfAnalysisDetails").style.visibility="visible";
  	    document.getElementById("divExpandingBoxWhatIfAnalysisDetails").style.visibility="visible";

       
	   document.getElementById(elIncome10yearGsecRate).style.display = "";
       document.getElementById("headerExpandingBoxWhatIfAnalysisDetails").style.display = "";
	   document.getElementById("divExpandingBoxWhatIfAnalysisDetails").style.display = "";

	   if(document.getElementById(elIncomeGuaranteedAnnualPayoutOption).value=="Flexible payout option"){
	   	   document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.visibility="visible";
	  	   document.getElementById("divExpandingBoxFlexiblepayoutoption").style.visibility="visible";
	   	   document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.display = "";
	  	   document.getElementById("divExpandingBoxFlexiblepayoutoption").style.display = "";
	   }else{
    	  document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.display = "none";
    	  document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.visibility="hidden";
  	      document.getElementById("divExpandingBoxFlexiblepayoutoption").style.display = "none";
  	      document.getElementById("divExpandingBoxFlexiblepayoutoption").style.visibility="hidden";
	   }	   
   }
   else{
    	document.getElementById("headerExpandingBoxWhatIfAnalysisDetails").style.display = "none";
    	document.getElementById("headerExpandingBoxWhatIfAnalysisDetails").style.visibility="hidden";
  	    document.getElementById("divExpandingBoxWhatIfAnalysisDetails").style.display = "none";
  	    document.getElementById("divExpandingBoxWhatIfAnalysisDetails").style.visibility="hidden";

  	    document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.display = "none";
  	    document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.visibility="hidden";
  	    document.getElementById("divExpandingBoxFlexiblepayoutoption").style.display = "none";
  	    document.getElementById("divExpandingBoxFlexiblepayoutoption").style.visibility="hidden";

   		document.getElementById(elIncome10yearGsecRate).value="";
   		document.getElementById(elIncome1yearGsecRate).value="";
   		document.getElementById(elIncomeGuaranteedAnnualPayoutOption).value="Annual payout option";
   }
}

function checkGuaranteedPayout(){
	if(document.getElementById(elIncomeGuaranteedAnnualPayoutOption).value=="Annual payout option")	{
		document.getElementById(elIncome1yearGsecRate).value="";

  	    document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.display = "none";
  	    document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.visibility="hidden";
  	    document.getElementById("divExpandingBoxFlexiblepayoutoption").style.display = "none";
  	    document.getElementById("divExpandingBoxFlexiblepayoutoption").style.visibility="hidden";
	}else if(document.getElementById(elIncomeGuaranteedAnnualPayoutOption).value=="Flexible payout option"){
    	document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.visibility="visible";
  	    document.getElementById("divExpandingBoxFlexiblepayoutoption").style.visibility="visible";
   	    document.getElementById("headerExpandingBoxFlexiblepayoutoption").style.display = "";
  	    document.getElementById("divExpandingBoxFlexiblepayoutoption").style.display = "";
	}

}	
	
function IncomesuranceCalculateAge(chosenProduct,elPersonDOB,elPersonAge)
{
	var days;
  if(checkDateFormat(document.getElementById(elPersonDOB))) {
	if(document.getElementById(elPersonDOB)!=null )
	{
		  var str = document.getElementById(elPersonDOB).value;
		  if(str.length>0)
		   {
				  var d = new Date();
				  var bits = str.split('-')
				  d.setHours(0,0,0,0); 
				  d.setFullYear(bits[0])
				  d.setMonth(bits[1]-1)
				  d.setDate(bits[2])

				  var now = new Date();
				  now.setHours(0,0,0,0); 
				  var years = now.getFullYear()-d.getFullYear();
				  d.setFullYear(now.getFullYear())
				  var diff = now.getTime()-d.getTime()
				  if ( diff <0) years--;	
				 
					  if(years==0)
			          {
					  days = displayage(elPersonDOB);

					   if(document.getElementById(elIncomeInsuredDOB) ==  document.getElementById(elPersonDOB)){ 
					   						
						   if(parseInt(days)<30){
							   alert("Minimum age of  Insured Person  is 30 days");
								document.getElementById(elPersonDOB).select();
							    document.getElementById(elPersonAge).value="";
							    document.getElementById(elPersonDOB).focus();
								return 
						   }
						}   
						 
					  }						
					        document.getElementById(elPersonAge).value = years; 

			
		        }

	}
  }	
}	

function displayage(date){
	var date = document.getElementById(date).value;
	//var date = "1983-11-23";
	
	var bits = date.split('-');
	
	yr = bits[0];
	mon = bits[1];
	day = bits[2];
	decimal = 0;
	unit = "days";
	round = "rounddown";

	today=new Date()
	var pastdate=new Date(yr, mon-1, day)

	var countunit=unit
	var decimals=decimal
	var rounding=round
    var days;
	finalunit=(countunit=="days")? one_day : (countunit=="months")? one_month : one_year
	decimals=(decimals<=0)? 1 : decimals*10

	if (unit!="years"){
		if (rounding=="rounddown"){
			
		days = (Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals)
			
			
		}
		else
		document.write(Math.ceil((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+" "+countunit)
	}
	else{
		yearspast=today.getFullYear()-yr-1
		tail=(today.getMonth()>mon-1 || today.getMonth()==mon-1 && today.getDate()>=day)? 1 : 0
		pastdate.setFullYear(today.getFullYear())
		pastdate2=new Date(today.getFullYear()-1, mon-1, day)
		tail=(tail==1)? tail+Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals : Math.floor((today.getTime()-pastdate2.getTime())/(finalunit)*decimals)/decimals
		document.write(yearspast+tail+" "+countunit)
	}
	
		return days;
}


	
function ajaxIncomeInstalPremium(){

	var request;
	var modeval;
	var url;
	var responseString;

	var planOption = document.getElementById(elIncomePlanOption).value;
	var insuredAge = document.getElementById(elIncomeInsuredAge).value;
	var insuredGender = document.getElementById(elIncomeInsuredGender).value;
	var ownerAge = document.getElementById(elIncomeOwnerAge).value;
	var ownerGender = document.getElementById(elIncomeOwnerGender).value;

	var policyTerm = document.getElementById(elIncomePolicyTerm).value;
	var ppt = document.getElementById(elIncomePPT).value;
	var ppm = document.getElementById(elIncomePremiumPaymentMode).value;
	var sumIns = document.getElementById(elIncomeSumInsured).value;
	var isStaff=document.getElementById(elIncomeIsapplicantastaffmember).value;
	var employeeCode=document.getElementById(elIncomePleaseentertheemployeecodenumber).value;
    var emr = document.getElementById(elIncomeEMR).value;
    var perMile = document.getElementById(elIncomePerMile).value;
    var installmentPremium="";
    var serviceTax="";
    var totalInstallmentPremium="";
    var premiumValues="";
    var incomIndex="";
    var errorIndex="";
    var annualIndex="";
    var annualValue="";
    

   if( insuredAge != "" && policyTerm != "" && ppt != "" && sumIns !=""){

		url = "/INSDC/validateProducts.do?mode=installmentPremiumIncomesurance&planOption="+planOption
					+"&insuredAge="+insuredAge
					+"&insuredGender="+insuredGender
					+"&ownerAge="+ownerAge
					+"&ownerGender="+ownerGender
					+"&policyTerm="+policyTerm
					+"&ppt="+ppt
					+"&ppm="+ppm
					+"&sumIns="+sumIns
					+"&isStaff="+isStaff
					+"&employeeCode="+employeeCode
					+"&emr="+emr
					+"&perMile="+perMile;
					
				if(window.XMLHttpRequest)
			request=new XMLHttpRequest();
		else if(window.ActiveXObject)
			request=new ActiveXObject("Microsoft.XMLHTTP");
	
		if(request){
			request.onreadystatechange=function(){
			if (request.readyState == 4) { // Complete
			  if (request.status == 200) { // OK response
					responseString = request.responseText;
					errorIndex = responseString.indexOf("Minimum Premium");					
		
								
					if(errorIndex >=0 )	{
					     alert(responseString);					    
						 resetPremiumValues();
						 document.getElementById(elIncomeSumInsured).focus();
						 document.getElementById(elIncomeInstalmentPrem).readOnly=true;
					}else if(responseString.length<=2)
					{		
						 resetPremiumValues();					
					}					
					else
					{
						premiumValues = responseString.split(":");
						
						incomIndex = premiumValues[0].indexOf("=");							
						installmentPremium = premiumValues[0].substring(incomIndex+1,premiumValues[0].length);
												
						incomIndex = premiumValues[1].indexOf("=");
						serviceTax = premiumValues[1].substring(incomIndex+1,premiumValues[1].length);
												
						incomIndex = premiumValues[2].indexOf("=");
						totalInstallmentPremium = premiumValues[2].substring(incomIndex+1,premiumValues[2].length);
						
						document.getElementById(elIncomeInstalmentPrem).value=installmentPremium;
						document.getElementById(elIncomeInstalmentPrem).readOnly=true;
						
						document.getElementById(elIncomeServiceTaxEducationCess).value=serviceTax;
						document.getElementById(elIncomeServiceTaxEducationCess).readOnly=true;
						
						document.getElementById(elIncomeTotalInstallmentPremium).value=totalInstallmentPremium;
						document.getElementById(elIncomeTotalInstallmentPremium).readOnly=true;
						
						//premiumValues.size == 4 &&
						//alert("Premium Size ::::::" + premiumValues.length);
						if (document.getElementById(elIncomePlanOption).value == 'Waiver of Premium Option')
						{
							if (premiumValues.length == 4)
							{
								if ( premiumValues[3].indexOf("=") != null) 
								{							
									annualIndex = premiumValues[3].indexOf("=");					
									annualValue = premiumValues[3].substring(annualIndex+1,premiumValues[3].length-2);
									if (annualValue=="HighAnnPre")
									{
										alert("Annualised premium amount should be less than or equal to 1,00,000");
										resetPremiumValues();	
										document.getElementById(elIncomeSumInsured).focus();
									}
								}
							}
						}
					}
			  }
			}
			}
			request.open("POST",url,true);
			request.setRequestHeader("content-type","application/x-www-form-urlencoded");
			request.send(null); 
		}
	}
}

function resetPremiumValues(){
		document.getElementById(elIncomeInstalmentPrem).value ="";
		document.getElementById(elIncomeServiceTaxEducationCess).value="";
	    document.getElementById(elIncomeTotalInstallmentPremium).value="";
	    document.getElementById(elIncomeSumInsured).value ="";
	    
}
