// JavaScript Document

function CalculateEligibility(frm,a)
{
	if (isWhitespace(frm.city.value) || isEmpty(frm.city.value))
		{
			alert("Please select city");
			frm.city.focus();
			return false;
		}
	else if (isWhitespace(frm.propertyvalue.value) || isEmpty(frm.propertyvalue.value))
		{
			alert("Kindly provide the value of the property identified by You");
			frm.propertyvalue.focus();
			return false;
		}
	else if (frm.borrowerYN.selectedIndex == 0)
		{
			alert("Please select whether Are you looking to buy property with your spouse or another co borrower?");
			frm.borrowerYN.focus();
			return false;
		}
	else if (isWhitespace(frm.borrowerincome.value) || isEmpty(frm.borrowerincome.value))
		{
			alert("Kindly provide Gross Monthly income of borrower");
			frm.borrowerincome.focus();
			return false;
		}
	else if (frm.borrowerYN.value == 1 && (isWhitespace(frm.coborrowerincome.value) || isEmpty(frm.coborrowerincome.value)))
		{
			alert("Kindly provide Gross monthly income of co-borrower");
			frm.coborrowerincome.focus();
			return false;
		}
	else if (frm.obligationYN.selectedIndex == 0)
		{
			alert("Please select whether Is there any existing obligation?");
			frm.obligationYN.focus();
			return false;
		}
	else if (frm.obligationYN.value == 1 && (isWhitespace(frm.obligationamt.value) || isEmpty(frm.obligationamt.value)))
		{
			alert("Kindly provide the current monthly obligation");
			frm.obligationamt.focus();
			return false;
		}
	else if (isWhitespace(frm.tenor.value) || isEmpty(frm.tenor.value))
		{
			alert("Kindly provide Tenure (in years)");
			frm.tenor.focus();
			return false;
		}
	else if (eval(frm.tenor.value) > 20)
		{
			alert("Maximum tenor of 20 years can be availed for ICICI Bank home loan.");
			frm.tenor.focus();
			return false;
		}
	/*else if (isWhitespace(frm.interest.value) || isEmpty(frm.interest.value))
		{
			alert("Kindly provide Rate of Interest (in %)");
			frm.interest.focus();
			return false;
		}
	else if (frm.interest.value.indexOf("%") >= 0)
		{
			alert("Do not postfix '%'. Kindly provide Rate of Interest only in figures.");
			frm.interest.focus();
			return false;
		}*/
	else
		{
			var strROI,strFixedROI,strEMI,strGrosssalary,strObligationAmt,strMaximumEMI;
			var strROI1,strROI2,strROI3,strEMI1,strEMI2,strEMI3,numpayment,strMaxLoanAmtGet,val;
			var strMaxLoanAmt,strMaxLoanAmt1,strMaxLoanAmt2,strMaxLoanAmt3;
			
			strFixedROI = 8.75;
			
			if (frm.coborrowerincome.value.length <= 0)
			{
				frm.coborrowerincome.value = 0;
			}
			
			if (frm.obligationamt.value.length <= 0)
			{
				frm.obligationamt.value = 0;
			}
			
			//Set Gross salary
			//******************
			if (frm.obligationYN.value == 0)
			{
				strObligationAmt = 0;
			}
			
			//Check coborrowerincome status
			if (frm.coborrowerincome.value != 0)
			{
				if (frm.city.value == "1") 
				{
					if (frm.coborrowerincome.value < 18000) 
					{
						frm.coborrowerincome.value = 0;
					}
				}
				else
				{
					if (frm.coborrowerincome.value < 15000) 
					{
						frm.coborrowerincome.value = 0;
					}
				}
			}
			
			if (frm.borrowerYN.value == 1)
			{
				strGrosssalary = (parseFloat(frm.borrowerincome.value) + parseFloat(frm.coborrowerincome.value)) - parseFloat(frm.obligationamt.value);
			}
			else
			{
				strGrosssalary = parseFloat(frm.borrowerincome.value) - parseFloat(frm.obligationamt.value);
			}
			
			//frm.GrossSalary.value = 'Rs. ' + strGrosssalary;
			//******************
			
			//Set Maximum EMI you can pay
			//******************
			//strMaximumEMI = (strGrosssalary * 40)/100;
			if (strGrosssalary > 50000)
			{
				if (strGrosssalary > 100000)
				{
					strMaximumEMI = (strGrosssalary * 55)/100;
				}
				else
				{
					strMaximumEMI = (strGrosssalary * 50)/100;
				}
			}
			else//<=50000
			{
				strMaximumEMI = (strGrosssalary * 45)/100;
			}
			//frm.MaximumEMI.value = 'Rs. ' + strMaximumEMI;
			//******************
			
			//Set EMI/lakh
			//******************
			numpayment = frm.tenor.value;
			
			strROI1 = 10.50 / 1200.0;
			strROI2 = 11.00 / 1200.0;
			strROI3 = 11.50 / 1200.0;
			
		    strEMI1 = Math.ceil(100000 * (strROI1 /(1-Math.pow((1+strROI1),-numpayment*12))));
			strEMI2 = Math.ceil(100000 * (strROI2 /(1-Math.pow((1+strROI2),-numpayment*12))));
			strEMI3 = Math.ceil(100000 * (strROI3 /(1-Math.pow((1+strROI3),-numpayment*12))));
			//frm.EMIPerLakh.value = 'Rs. ' + strEMI;
			//******************
			
			//Set Tenor
			//******************
			frm.Tenor.value = frm.tenor.value + ' Years';
			//******************
			
			//Set Maximum loan amount you are eligible for
			//******************
			strMaxLoanAmt1 = (strMaximumEMI * 100000)/strEMI1;
			strMaxLoanAmt2 = (strMaximumEMI * 100000)/strEMI2;
			strMaxLoanAmt3 = (strMaximumEMI * 100000)/strEMI3;

			if (strMaxLoanAmt1 > 2500000)
			{
				if (strMaxLoanAmt3 > 7500000)
				{
					strMaxLoanAmt = strMaxLoanAmt3;
					strROI = strROI3;
				}
				else
				{
					strMaxLoanAmt = strMaxLoanAmt2;
					strROI = strROI2;
				}
			}
			else
			{
				strMaxLoanAmt = strMaxLoanAmt1;
				strROI = strROI1;
			}
			
			strMaxLoanAmt = strMaxLoanAmt.toFixed(0);
			frm.MaxLoanAmt.value = 'Rs. ' + strMaxLoanAmt + '/-';
			//******************
			
			//Set Applicable ROI
			//******************
			
			frm.RApplicableROI.value = (strROI * 1200.0);
			frm.RApplicableROI.value = frm.RApplicableROI.value.substring(0, 5) + '%';
			//alert(frm.RApplicableROI.value);

			//frm.RApplicableROI.value = (strROI * 1200.0) + '%';
			//******************
			
			//Set EMI for this loan amount
			//******************
			//strEMI = strMaxLoanAmt * (strROI /(1-Math.pow((1+strROI),-numpayment*12)));
			strEMI = PMT(strROI, numpayment * 12, eval(strMaxLoanAmt) * -1);
			frm.EMI.value = 'Rs. ' + strEMI.toFixed(0) + '/-';
			//******************
			//strEMI = PMT(strROI, numpayment * 12, eval(strMaxLoanAmt) * -1);
			//frm.EMIMaxLoanAmtForProperty.value = 'Rs. ' + strEMI.toFixed(0) + '/-';	
			//Value of Property selected by you
			frm.ValueOfProperty.value = 'Rs. ' + frm.propertyvalue.value + '/-';
			
			//Maximum loan amount you can get for this property
//			val = (frm.propertyvalue.value * 85)/100;
//			
//			if (val > strMaxLoanAmt) 
//			{
//	        	strMaxLoanAmtGet = strMaxLoanAmt;
//            }
//			else
//			{
//	        	strMaxLoanAmtGet = val;
			//            }

			val = frm.propertyvalue.value;
			if (eval(val) > 2500000) {
			    strMaxLoanAmtGet = (val * 80) / 100;
			}
			else {
			    strMaxLoanAmtGet = (val * 90) / 100;
			}


			frm.MaxLoanAmtForProperty.value = 'Rs. ' + strMaxLoanAmtGet + '/-';
			
			//Set EMI for this amount funded
			strFixedROI = strFixedROI / 1200.0;
			
			//strEMI = strMaxLoanAmtGet * (strFixedROI /(1-Math.pow((1+strFixedROI),-numpayment*12)));
			strEMI = PMT(strROI, numpayment * 12, eval(strMaxLoanAmtGet) * -1);
			
			frm.EMIMaxLoanAmtForProperty.value = 'Rs. ' + strEMI.toFixed(0) + '/-';	
			
			document.getElementById('hdnBorrowerIncome').value = frm.borrowerincome.value;
			document.getElementById('hdnCoBorrowerIncome').value = frm.coborrowerincome.value;
			document.getElementById('hdnObligationAmt').value = frm.obligationamt.value;
			document.getElementById('hdnRApplicableROI').value = frm.RApplicableROI.value;
			document.getElementById('hdnTenor').value = frm.Tenor.value;
			document.getElementById('hdnMaxLoanAmt').value = frm.MaxLoanAmt.value;
			document.getElementById('hdnEMI').value = frm.EMI.value;
			document.getElementById('hdnValueOfProperty').value = frm.ValueOfProperty.value;
			document.getElementById('hdnMaxLoanAmtForProperty').value = frm.MaxLoanAmtForProperty.value;
			document.getElementById('hdnEMIMaxLoanAmtForProperty').value = frm.EMIMaxLoanAmtForProperty.value;
			
			if (a == 2)
			{
				document.getElementById('EligibilityResult').style.display = 'block';
			}
		}
		
		return(false);
}

// Function to disallow alphabets in numeric fields like price, area
// USAGE:  onkeypress="return isNumberKey(event)"
function isNumberKey(evt,enabledot)
{
	if(!enabledot) enabledot=0;
 var charCode = (evt.which) ? evt.which : event.keyCode
 if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode!=46 && enabledot==1)
	return false;
 else if (charCode > 31 && (charCode < 48 || charCode > 57) && enabledot==0)
	return false;

 return true;
}

////allow only characters///////
function charonly(e)
{
	var unicode=e.charCode? e.charCode : e.keyCode
	
	if (unicode!=8)
		{
			if ((unicode!=32 && (unicode<65 || (unicode>90 && (unicode<97 || unicode>122)))) && unicode!=39 && unicode!=45 && unicode!=13 && unicode!=15 && unicode!=37 &&  unicode!=39 && unicode!=14 && unicode!=9  )
			return false;
		}
}

function showCoBorrower(val,frm)
{
	if (val != '')
	{
		if (val == 1)
			frm.coborrowerincome.disabled = false;
		else
			frm.coborrowerincome.disabled = true;
			//frm.coborrowerincome.value = 0;
	}
}

function showCoBorrowerDiv(val)
{
	if (val != '')
	{
		if (val == 1)
			document.getElementById('divcoborrower').style.display = 'block';
		else
			document.getElementById('divcoborrower').style.display = 'none';
	}
}

function showObligationAmt(val,frm)
{
	if (val != '')
	{
		if (val == 1)
			frm.obligationamt.disabled = false;
		else
			frm.obligationamt.disabled = true;
			//frm.obligationamt.value = 0;
	}
}

function showObligationAmtDiv(val)
{
	if (val != '')
	{
		if (val == 1)
			document.getElementById('divObligationAmt').style.display = 'block';
		else
			document.getElementById('divObligationAmt').style.display = 'none';
	}
}




function PMT(i, n, p) {
   
    return i * p * Math.pow((1 + i), n) / (1 - Math.pow((1 + i), n));
}





