////Product 7 :Termsurance Validation
var elTermPlanOption = "PlanOption";

var elTermInsuredName = "NameofInsuredPerson";
var elTermPolicyOwnerName = "NameofthePolicyOwner";

var elTermDOB="DateofBirthofthePersontobeInsured";
var elTermAge="AgeofthePersontobeInsuredinyrs";
var elTermGender = "GenderofthePersontobeInsured";

var elTermPolicyTerm="PolicyTerminyrs"; 
var elTermPremiumType="PremiumType";
var elTermPPT="PremiumPaymentTerminyrs";
var elTermPremiumPaymentMode="PremiumPaymentMode";
var elTermInstalmentPrem="InstalmentPremiuminRs";
var elTermServiceTaxEducationCess="ServiceTaxandEducationCessinRs";
var elTermTotalInstallmentPremium="TotalInstallmentPremiuminRs";
var elTermSumInsured = "SumInsuredinRs";
var elTermEMR="EMR";
var elTermPerMile="PerMile"

var elTermIsapplicantastaffmember="Isapplicantastaffmember";
var elTermPleaseentertheemployeecodenumber="Pleaseentertheemployeecodenumber";

function callTermsuranceValidation(){
	var selectedName =	"Termsurance Protection Plan (Individual)";
	 document.getElementById(elTermIsapplicantastaffmember).value="No";
	if(document.getElementById(elTermAge)!=null){
		document.getElementById(elTermAge).readOnly=true;
	}

	if(document.getElementById(elTermInstalmentPrem)!=null){
		document.getElementById(elTermInstalmentPrem).readOnly=true;
	}
	
	if(document.getElementById(elTermServiceTaxEducationCess)!=null){
		document.getElementById(elTermServiceTaxEducationCess).readOnly=true;
	}
							
	if(document.getElementById(elTermTotalInstallmentPremium)!=null){
		document.getElementById(elTermTotalInstallmentPremium).readOnly=true;
	}

	if(document.getElementById(elTermInsuredName)!=null){	    
		document.getElementById(elTermInsuredName).onblur = function(){
		  document.getElementById(elTermInsuredName).value = getStartsWithCaps(document.getElementById(elTermInsuredName).value);
		  document.getElementById(elTermPolicyOwnerName).value = document.getElementById(elTermInsuredName).value ;
		};
	}

	if(document.getElementById(elTermPolicyOwnerName)!=null){	    
		document.getElementById(elTermPolicyOwnerName).onblur = function(){
		  document.getElementById(elTermPolicyOwnerName).value = getStartsWithCaps(document.getElementById(elTermPolicyOwnerName).value);
		};
	}

	  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();
			   		}
			   		ajaxInstalmentPremium();    
		   		};	  
	     }
	  }   

	var calcAge = 0;
	
	if(document.getElementById(elTermDOB)!=null){
		if(document.getElementById(elTermDOB).value != null || 
			document.getElementById(elTermDOB).value!=""){
				document.getElementById(elTermDOB).onblur=function(){
			    calculateAge(selectedName,elTermDOB,elTermAge);
				calculateBackDateAge();
				//Validation
				 if(document.getElementById(elTermAge).value!=""){
				 		calcAge = parseInt(document.getElementById(elTermAge).value) + 
						        parseInt(document.getElementById(elTermPolicyTerm).value) ;
						        
					  if(parseInt(document.getElementById(elTermAge).value)>65){
						alert("Maximum Age at entry is 65 years");
						document.getElementById(elTermDOB).value ="";
						document.getElementById(elTermAge).value="";
						document.getElementById(elTermDOB).focus();
					  }
					  else if(parseInt(document.getElementById(elTermAge).value)<18){
						alert("Minimum Age at entry is 18 years");
						document.getElementById(elTermDOB).value ="";
						document.getElementById(elTermAge).value="";
						document.getElementById(elTermDOB).focus();
					  }
					  
					  if(parseInt(calcAge) > 75){
							alert(" Maximum age at maturity is 75 ");
							document.getElementById(elTermDOB).value ="";
							document.getElementById(elTermAge).value="";
							document.getElementById(elTermDOB).focus();
					  }
				  }
				  
				  ajaxInstalmentPremium();
			}
		}
	}
	

		document.getElementById(elTermPPT).onblur=function(){
			 termsuranceCheckPremiumPaymentTerm(elTermPremiumType,elTermPPT,elTermPolicyTerm);
			 ajaxInstalmentPremium();
		}
		
	   
	document.getElementById(elTermPremiumType).onblur=function(){
	     document.getElementById(elTermPPT).readOnly=false;
	     document.getElementById(elTermPremiumPaymentMode).readOnly=false;
	     
	    if(document.getElementById(elTermPremiumType).value == 'Regular'){
	      document.getElementById(elTermPPT).value= document.getElementById(elTermPolicyTerm).value
	      document.getElementById(elTermPPT).readOnly=true;
	    }
	    else if(document.getElementById(elTermPremiumType).value == 'Single'){
	      document.getElementById(elTermPPT).value= 1;
	      document.getElementById(elTermPPT).readOnly=true;
	      document.getElementById(elTermPremiumPaymentMode).value='Single';
	      document.getElementById(elTermPremiumPaymentMode).readOnly=true;
	    }
	
		termsuranceCheckPremiumPaymentTerm(elTermPremiumType,elTermPPT,elTermPolicyTerm);
		
	}


	document.getElementById(elTermPremiumPaymentMode).onblur=function(){
	     document.getElementById(elTermPremiumPaymentMode).readOnly=false;
	
	   if(document.getElementById(elTermPremiumType).value == 'Single'){
	      document.getElementById(elTermPremiumPaymentMode).value='Single';
	      document.getElementById(elTermPremiumPaymentMode).readOnly=true;
	    }	
		checkPremiumPaymentMode(elTermPremiumType,elTermPremiumPaymentMode);
		ajaxInstalmentPremium();
	}

	document.getElementById(elTermPolicyTerm).onblur=function(){
	      var calAge = parseInt(document.getElementById(elTermAge).value) + 
						        parseInt(document.getElementById(elTermPolicyTerm).value) ;
		 
		 if(calAge > 75){
			alert(" Maximum age at maturity is 75 ");
			document.getElementById(elTermPolicyTerm).focus();
		 }
		 
		 termsuranceCheckPremiumPaymentTerm(elTermPremiumType,elTermPPT,elTermPolicyTerm);	
	}
	
	

	
	if(document.getElementById(elTermPlanOption) != null ) {
	    document.getElementById(elTermPlanOption).onchange = function(){
	       ajaxInstalmentPremium();
	    }
    }
	if(document.getElementById(elTermGender) != null ) {
	    document.getElementById(elTermGender).onchange = function(){
	       ajaxInstalmentPremium();
	    }
    }
    
	if(document.getElementById(elTermPolicyTerm) != null ) {
	    document.getElementById(elTermPolicyTerm).onchange = function(){
	    
		 
	     document.getElementById(elTermPPT).readOnly=false;
	     document.getElementById(elTermPremiumPaymentMode).readOnly=false;
	     
	    if(document.getElementById(elTermPremiumType).value == 'Regular'){
	      document.getElementById(elTermPPT).value= document.getElementById(elTermPolicyTerm).value
	      document.getElementById(elTermPPT).readOnly=true;
	    }else if(document.getElementById(elTermPremiumType).value == 'Single'){
	      document.getElementById(elTermPPT).value= "1";
	      document.getElementById(elTermPPT).readOnly=true;
	      document.getElementById(elTermPremiumPaymentMode).value='Single';
	      document.getElementById(elTermPremiumPaymentMode).readOnly=true;
	    }
	    
	       ajaxInstalmentPremium();
	    }
    }
	if(document.getElementById(elTermPremiumType) != null ) {
	    document.getElementById(elTermPremiumType).onchange = function(){
	    
	     document.getElementById(elTermPPT).readOnly=false;
	     document.getElementById(elTermPremiumPaymentMode).readOnly=false;
	     
	    if(document.getElementById(elTermPremiumType).value == 'Regular'){
	      document.getElementById(elTermPPT).value= document.getElementById(elTermPolicyTerm).value
	      document.getElementById(elTermPPT).readOnly=true;
	    }else if(document.getElementById(elTermPremiumType).value == 'Single'){
	      document.getElementById(elTermPPT).value= 1;
	      document.getElementById(elTermPPT).readOnly=true;
	      document.getElementById(elTermPremiumPaymentMode).value='Single';
	      document.getElementById(elTermPremiumPaymentMode).readOnly=true;
	    }
	      checkPremiumPaymentMode(elTermPremiumType,elTermPremiumPaymentMode);
	      
	       ajaxInstalmentPremium();
	    }
    }
	if(document.getElementById(elTermPremiumPaymentMode) != null ) {
	    document.getElementById(elTermPremiumPaymentMode).onchange = function(){
	       ajaxInstalmentPremium();
	    }
    }
    
	if(document.getElementById(elTermEMR) != null ) {
	    document.getElementById(elTermEMR).onchange = function(){
	       ajaxInstalmentPremium();
	    }
    }
    if(document.getElementById(elTermPerMile) != null ) {
		document.getElementById(elTermPerMile).onchange=function(){
			 ajaxInstalmentPremium();
		}
	}    
	
	if(document.getElementById(elTermSumInsured)!=null){
		document.getElementById(elTermSumInsured).onblur = function(){
			 if((document.getElementById(elTermSumInsured).value !="")){
				    
					if(parseInt(document.getElementById(elTermSumInsured).value) < 500000){
					    alert("Minimum Sum Insured is Rs 500000 ");
						document.getElementById(elTermSumInsured).select() ;
						document.getElementById(elTermSumInsured).focus();
					}
					
					ajaxInstalmentPremium();
				}
					
		}
	}
	
	if(document.getElementById(elTermPleaseentertheemployeecodenumber)!=null){
	 	document.getElementById(elTermPleaseentertheemployeecodenumber).onblur=function(){
	 			ajaxInstalmentPremium();
	 		}
		}
	 if(document.getElementById(elTermIsapplicantastaffmember) != null ) {
		    document.getElementById(elTermIsapplicantastaffmember).onchange = function(){
		    	checkIsStaff(elTermIsapplicantastaffmember,elTermPleaseentertheemployeecodenumber);
		    	ajaxInstalmentPremium();
		    }
	    }
	
	if(document.getElementById(elTermIsapplicantastaffmember).value!="" && document.getElementById(elTermPleaseentertheemployeecodenumber).value==""){
		 document.getElementById(elTermIsapplicantastaffmember).value="No";
		 }	
		checkIsStaff(elTermIsapplicantastaffmember,elTermPleaseentertheemployeecodenumber);
}


function termsuranceCheckPremiumPaymentTerm(elTermPremiumType,elTermPPT){
  if(document.getElementById(elTermPremiumType).value == 'Limited')
  {
	     if(document.getElementById(elTermPPT).value != ""){ 
		    if((parseInt(document.getElementById(elTermPPT).value) != 3) && (parseInt(document.getElementById(elTermPPT).value) != 5) ){
		        alert('Premium Payment Term should be either 3 or 5 if Premium Type is Limited');
		  	    document.getElementById(elTermPPT).value = "";
				document.getElementById(elTermPPT).focus();
		  	}
		 }
  }else if(document.getElementById(elTermPremiumType).value == 'Single'){
	      document.getElementById(elTermPPT).value= 1;
	      document.getElementById(elTermPPT).readOnly=true;
	      document.getElementById(elTermPremiumPaymentMode).value='Single';
	      document.getElementById(elTermPremiumPaymentMode).readOnly=true;
  }else if(document.getElementById(elTermPremiumType).value == 'Regular'){
	      document.getElementById(elTermPPT).value= document.getElementById(elTermPolicyTerm).value
	      document.getElementById(elTermPPT).readOnly=true;
  }
    
}


function checkPremiumPaymentMode(elTermPremiumType,elTermPremiumPaymentMode){
	  if(document.getElementById(elTermPremiumType).value == 'Single')
	  {
			if(document.getElementById(elTermPremiumPaymentMode).value != ""){		 	  
			    if(document.getElementById(elTermPremiumPaymentMode).value != 'Single'){
			        alert('Premium Payment Mode should be Single if Premium Type is Single');
			  	    document.getElementById(elTermPremiumPaymentMode).focus();
			  	}
			}  	
	  }else if(document.getElementById(elTermPremiumType).value == 'Limited' || document.getElementById(elTermPremiumType).value == 'Regular'){
		    if(document.getElementById(elTermPremiumPaymentMode).value == 'Single'){
		        alert('Premium Payment Mode should not be Single if Premium Type is Limited or Regular');
		  	    document.getElementById(elTermPremiumPaymentMode).focus();
		  	}
	  }
	  
}

	

function ajaxInstalmentPremium(){
	var request;
	var modeval;
	var url;
	var responseString;

	var planOption = document.getElementById(elTermPlanOption).value;
	var age = document.getElementById(elTermAge).value;
	var gender = document.getElementById(elTermGender).value;
	var policyTerm = document.getElementById(elTermPolicyTerm).value;
	var premType = document.getElementById(elTermPremiumType).value;
	var ppt = document.getElementById(elTermPPT).value;
	var ppm = document.getElementById(elTermPremiumPaymentMode).value;
	var sumIns = document.getElementById(elTermSumInsured).value;
    var emr = document.getElementById(elTermEMR).value;
    var perMile = document.getElementById(elTermPerMile).value;
    var isStaff=document.getElementById(elTermIsapplicantastaffmember).value;
    var employeeCode=document.getElementById(elTermPleaseentertheemployeecodenumber).value;
   if( age != "" && policyTerm != "" && ppt != "" && sumIns !=""){

		url = "/INSDC/validateProducts.do?mode=installmentPremiumTermsurance&planOption="+planOption
					+"&age="+age
					+"&gender="+gender
					+"&policyTerm="+policyTerm
					+"&premType="+premType
					+"&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
					var jsonText = request.responseText;
					if( jsonText.length > 0 && jsonText != "null")
					{
					   var jsonObject = eval( "(" + jsonText + ")" ) ;
					   if(jsonObject["displayInstallmentPremium"].length>0){
							document.getElementById(elTermInstalmentPrem).value = jsonObject["displayInstallmentPremium"];
					   }
					   
					   if(jsonObject["displayServiceTax"].length>0){
							document.getElementById(elTermServiceTaxEducationCess).value = jsonObject["displayServiceTax"];
					   }

					   if(jsonObject["displayTotalInstallmentPremium"].length>0){
							document.getElementById(elTermTotalInstallmentPremium).value = jsonObject["displayTotalInstallmentPremium"];
					   }
				   }					   
			  }
			}
			}
			request.open("POST",url,true);
			request.setRequestHeader("content-type","application/x-www-form-urlencoded");
			request.send(null); 
		}
	}
}
