var var1="emi"; var var2="emi1";
var totalAmount;
var err='';

function tab1(ele,ele1)
{
	var srcElement = document.getElementById(ele);
	var srcElement2 = document.getElementById(var2);
	var srcElement1 = document.getElementById(var1);
	var srcElement3 = document.getElementById(ele1);
	if(var1!=ele)
	{
		srcElement.style.display='block';
		srcElement1.style.display='none';
	}
	if(var2!=ele1)
	{
		srcElement2.className='';
		srcElement3.className='selected';
    }

	var1=ele
	var2=ele1
}


function validate()
{
	var err='';
	if(Number(document.getElementById('txtLoan').value)==0)
	{		err="Please Enter Loan Amount";
		
	}
	else if(Number(document.getElementById('txtRate').value)==0)
	{
		err="Please Enter Interest Rate"
	}
	
	else if(Number(document.getElementById('txtTenure').value)==0)
	{
		err="Please Enter Tenure";
	}
	
	if(err!='')
	{
		document.getElementById('errorResult').innerHTML=err;
		clearResult();
		return false;
	}
	else
	{
	 document.getElementById('errorResult').innerHTML='';
	 return true;
	}

}

function clearResult()
{
	document.getElementById('spnEMI').innerHTML='';
	document.getElementById('spnInt').innerHTML='';
	document.getElementById('spnMonthlyInt').innerHTML='';
//	document.getElementById('btnDetail').disabled=true;
}

function calculateEMI()
{
	if(validate()==true)
	{
		var loanAmount=document.getElementById('txtLoan').value;
		var nums=document.getElementById('txtTenure').value;
		var rate=document.getElementById('txtRate').value/1200;
		var emi=Math.round((loanAmount)*(rate /(1-Math.pow((1+rate),-nums))));
		var totalInt=emi*nums-loanAmount;
		var flatRate= totalInt/(nums*100);
		var monthlyInt=Math.round(totalInt/nums);
		
		//emi =Math.ceil(loamamount)    *(rate /(1-Math.pow((1+rate),-numpayment*12))));
		if(emi>0)
		{
			document.getElementById('spnEMI').innerHTML=emi;
			document.getElementById('spnInt').innerHTML=totalInt;
			document.getElementById('spnMonthlyInt').innerHTML=monthlyInt;
			if(document.getElementById('dvDetails').style.display=='block');
			document.getElementById('dvEMIResult').style.display='block';
		}
	}
	else
	{
		clearResult();
	}
}


function calcEMI()
{
		var status=ValidateTextBox('frmEMI');
		if(status!=false)
		{
			var loanAmount=Number(document.frmEMI.txtLoan1.value);
			var downPayment=Number(document.frmEMI.txtDownPayment.value);
			var principalAmount=loanAmount-downPayment;
			var nums=document.frmEMI.txtTenure1.value;
			var rate=document.frmEMI.txtRate1.value/1200;
			var emi=Math.round((principalAmount)*(rate /(1-Math.pow((1+rate),-nums))));
			var totalInt=(emi*nums) - principalAmount;
			var flatRate= totalInt/(nums*100);
			var monthlyInt=Math.round(totalInt/nums);
			
			if(emi>0)
			{
				document.getElementById('spnEMI1').innerHTML=emi;
				document.getElementById('spnInt1').innerHTML=totalInt;
				document.getElementById('spnMonthlyInt1').innerHTML=monthlyInt;
				document.getElementById('dvEMIResult1').style.display='block';
			}
		}
		return false;
}


 function getDetail()
 {
	
	 if(validate()==true)
	{
	 calculateEMI();
	 var p=document.getElementById('txtLoan').value;
	 var totalInt=document.getElementById('spnInt').innerHTML;
	 var totalAmount=parseInt(p)+parseInt(totalInt);
	 var intRate=document.getElementById('txtRate').value;
	 var r=(document.getElementById('txtRate').value)/12;
	 var nums=document.getElementById('txtTenure').value;
	 var int;
	 var emi=document.getElementById('spnEMI').innerHTML;
	 var reduceP;
	 var htmlStr='<div class="fontstyle">';
	 htmlStr+='<div ><img src="'+siteURL+'images/loan_boss_small_logo.gif" /></div>';
	 htmlStr+='<div class="vmediumfont bluecolor textcenter"><a href="javascript:print()">Print</a></div>';
	 htmlStr+='<div class="vmediumfont textcenter">Loan Amount = <strong>'+p +'</strong>, Interest Rate = <strong>'+intRate + '</strong>, Tenure = <strong>'+ nums + '</strong></div>';  
	 htmlStr += '<table class="popuptable" style="font-size:.9em;" summary="Amortization Schedule">';
	 
	 htmlStr+='<thead><tr><th scope="col">Installment No.</th><th scope="col">EMI</th><th scope="col">Interest</th><th scope="col">Reducing Principal</th><th scope="col">Balance</th></tr></thead>';
	 var innerh='';
	 var t;
	 var totalint=0;
	 var totalp=0;
	 var totalreduceP=0;
	 var totalemi=0;
	 var mod;
	 var class1;
	 for(i=1;i<=nums;i++)
	 {
		//totalAmount =totalAmount;
		
		int=Math.round(p*r/100);
		mode=i%2;
		totalint +=int;
		reduceP =emi-int;
		totalreduceP +=reduceP;
		if(reduceP>p)
		{
			reduceP=p;
		}
		p -=(reduceP);
		totalp +=p;;
		if(emi<(reduceP+int))	
		{
		emi=reduceP+int;
		}
		if(p<0)
		p=0;
		if(mode==0)
		{
		class1=' back2'

		}
		else
		{
		class1=''
		}
		innerh=	innerh +='<tbody><tr><td>'+i+'</td><td>'+emi+'</td><td>'+Math.round(int)+'</td>'+'<td>'+Math.round(reduceP)+'</td><td>'+ Math.round(p)+'</td></tr>';
		t=t+int;

	 }
	 innerh=innerh+'<tr><td colspan="5" class="vmediumfont bluecolor textcenter"><a href="javascript:print()">Print</a></td></tr></tbody>';
	 htmlStr=htmlStr+innerh+'</table></div>';
	// document.getElementById('dvDetails').style.display="block";
	 document.getElementById('dvDetails').innerHTML=htmlStr;
	 printChart();
	 }
 
 }
 function printChart()
{
	var width=650, height=500;
	var left = parseInt((screen.availWidth/2) - (width/2));
	var top = parseInt((screen.availHeight/2) - (height/2));
	var windowFeatures = "width="+width+",height="+height+",status,toolbar=no,scrollbars=yes,resizable,left=" + left + ",top=" + top + "screenX=" + left + ",screenY=" + top;
	var myWindow = window.open('','myWindow',windowFeatures);
	myWindow.document.write('<html><head><title>Loan Boss : Amortization Chart</title>');
	myWindow.document.write('<link href="'+siteURL+'style/style.css" rel="stylesheet" type="text/css" />');
	myWindow.document.write('</head><body>');
	myWindow.document.write('<pre>' + document.getElementById('dvDetails').innerHTML + '</pre>');
	myWindow.document.write('</body></html>')
	myWindow.document.close();
}
 function doSubmit()
 {
 if(document.getElementById('txtEMI').value!='')
	 {
		document.frmCalc.submit();
		document.getElementById('dvDetails').style.display='block';	 
	 }
 
 }
 
  function validateRefinance()
  {
		var err='';
	if(Number(document.frmRefinance.txtL.value)==0)
	{
		err="Enter Loan Amount";
	}
	if(Number(document.frmRefinance.txtMonths.value)==0)
	{
		err="Enter tenure in Months";
	}
	if(Number(document.frmRefinance.txtMonths1.value)==0)
	{
		err="Enter Months after which Interest Rate Change"
	}
	if(Number(document.frmRefinance.txtR.value)==0)
	{
		err="Enter Old Int Rate";
		
	}
	if(Number(document.frmRefinance.txtR1.value)==0)
	{
		err="Enter new Int Rate";
	}
	if(err!='')
	{
		document.getElementById('errorResult1').innerHTML=err;
	}
	else
	{
		
		document.getElementById('errorResult1').innerHTML=err;
		return true;
	}
  }
  
 function calculateEMI1()
{
	
		
		if(validateRefinance()==true)
		{
			var loanAmount=document.getElementById('txtL').value;
			var nums=document.getElementById('txtMonths').value;
			var nums1=document.getElementById('txtMonths1').value;
			var rate=document.getElementById('txtR').value/1200;
			var rate1=document.getElementById('txtR1').value/1200;
			var emi=Math.ceil((loanAmount)*(rate /(1-Math.pow((1+rate),-nums))));
			var balanceP=loanAmount;
			var int,reduceP,newP,totalReduceP;
			for(i=0;i<nums1;i++)
			{
				int=Math.round(balanceP*rate);
				if(reduceP>balanceP)
				{
					reduceP=balanceP;
				}
				else
				{
					reduceP= Number(emi)-Number(int);
				}
				
				balanceP =balanceP-reduceP;
				
				
			}
			nums2=nums-nums1;
			var emi1
			if(nums2>0)
			{
				emi1=Math.ceil((balanceP)*(rate1/(1-Math.pow((1+rate1),-nums2))));
			}
			else
			{
				emi1=emi;
			}
		
					//emi =Math.ceil(loamamount)    *(rate /(1-Math.pow((1+rate),-numpayment*12))));
			document.getElementById('balanceP').innerHTML='<strong>'+balanceP+'</strong>';
			document.getElementById('oldEMI').innerHTML='<strong>'+emi+'</strong>';
			document.getElementById('newEMI').innerHTML='<strong>'+emi1+'</strong>';
			
		}
		
	}

function clearAll()
{
	for(i=0;i<document.forms[1].elements.length;i++)
	{
		
		if(document.forms[1].elements[i].type == 'text')
		{
			document.forms[1].elements[i].value='';
		}
	}
	document.getElementById('dvDetails').innerHTML='';
	document.getElementById('spnEMI').innerHTML='';
	document.getElementById('spnInt').innerHTML='';
	document.getElementById('spnMonthlyInt').innerHTML='';
	document.getElementById('dvEMIResult').style.display='none';
		
}

function clearAllTextBox(frm)
{
	for(i=0;i<document.forms[frm].elements.length;i++)
	{
		
		if(document.forms[frm].elements[i].type == 'text')
		{
			
			document.forms[frm].elements[i].value=='';
		}
	}	
}
function ValidateTextBox(frm)
{
	var valid=true;
	for(i=0;i<document.forms[frm].elements.length;i++)
	{
		
		if(document.forms[frm].elements[i].type == 'text')
		{
			
			if(document.forms[frm].elements[i].value=='')
			{
				document.forms[frm].elements[i].className="inputtextred";
				valid=false;
			}
			else
			{
				document.forms[frm].elements[i].className="inputext1";
			}
				
		}
	}
	if(valid==false)
	{
		return false;	
	}

}

function clearAllMain()
{
	for(i=0;i<document.forms['frmEMI'].elements.length;i++)
	{
		
		if(document.forms['frmEMI'].elements[i].type == 'text')
		{
			document.forms['frmEMI'].elements[i].value='';
		}
	}
	document.getElementById('dvDetails').innerHTML='';
	document.getElementById('spnEMI').innerHTML='';
	document.getElementById('spnInt').innerHTML='';
	document.getElementById('dvEMIResult').style.display='none';
		
}

function clearAll1()
{
	for(i=0;i<document.forms['frmCalc'].elements.length;i++)
	{
		if(document.forms['frmCalc'].elements[i].type == 'text')
		{
			document.forms['frmCalc'].elements[i].value='';
		}
	}

		document.getElementById('oldEMI').innerHTML='';
		document.getElementById('newEMI').innerHTML='';
		document.getElementById('balanceP').innerHTML='';
}
function clearAll2()
{
	for(i=0;i<document.forms['frmCC'].elements.length;i++)
	{
		if(document.forms['frmCC'].elements[i].type == 'text')
		{
			document.forms['frmCC'].elements[i].value='';
		}
	}
	document.getElementById('result2').innerHTML='';

}
function doCheck(obj,type,len)
{
   var reDigit;
 if(type==1){
//    if(len>0)
     reDigit="^\\d{1,"+len+"}$"; //not allowed digits more than len (limited no of digits allowed)
  //  else
    // reDigit=/^\d+$/; //allowed digits (unlimited no of digits allowed)
   }
   else if(type==2){
   // if(len>0)
     reDigit="^([0-9]+)([\.]?)([0-9]{0,"+len+"})$"; //not allowed dot again (float type upto len decimal place)
 	//else
     //reDigit=/^([0-9]+)([\.]?)([0-9]*)$/; //not allowed dot again (float type upto unlimited decimal places)
   }

	  if (obj.value.search(reDigit)==-1) //if match failed
	    //obj.value='';
		obj.value=obj.value.substring(0,obj.value.length-1);
}

						function eValidate()
                            {
                         	
								var err='';
								
								if(document.frmCC.txtMonthlyIncome.value=='')
								{
									err='Please Enter Monthly Income.';
								}
								
								if(document.frmCC.txteTenure.value=='')
								{
									err='Please Enter Tenure';
								}
								 
								if(document.frmCC.txteRate.value=='')
								{
									err='Please enter Interest Rate';
								}
								if(err!='')
								{
									document.getElementById('errorResult2').innerHTML=err;

									return false;
								}
								else
								{
									document.getElementById('errorResult2').innerHTML='';
									CalculateEligibility();
								}
                        
                        	}
							
					
						function calculateAffordability()
						{
							var status=ValidateTextBox('frmAffordability');
							if(status!=false)
							{
								var monthlyPayment	=	Number(document.frmAffordability.txtMonthlyPayment.value);
								var downPayment		=	Number(document.frmAffordability.txtDownPayment.value);
								var rate			=	Number(document.frmAffordability.txtInterest.value/1200);
								var nums			=	Number(document.frmAffordability.txtTerm.value);
								var loanAmount=Math.ceil((monthlyPayment)/(rate/(1-Math.pow((1+rate),-nums))))+downPayment;
								var totalInterest=nums*monthlyPayment-loanAmount;
								document.getElementById('spnAffordabilityLoanAmount').innerHTML=loanAmount;
								document.getElementById('spnAffordabilityTotalInterest').innerHTML=totalInterest;
								document.getElementById('affordabilityResult').style.display='block';
								
							}
							return false;
						}
						
						function CalculateEligibility()
						{
						var monthlyIncome=document.frmCC.txtMonthlyIncome.value;
						var netMonthlyIncome;
						if(monthlyIncome<10000)
						{
							netMonthlyIncome=monthlyIncome*35/100;
													
						}
						else if(monthlyIncome>9999 && monthlyIncome<15000)
						{
							netMonthlyIncome=monthlyIncome*40/100;
						}
						else if (monthlyIncome>14999 && monthlyIncome<20000)
						{
							netMonthlyIncome=monthlyIncome*45/100;
						}
						else
						{
							netMonthlyIncome=monthlyIncome * 50/100;
						}
						var rate=document.frmCC.txteRate.value/1200;
						var nums=document.frmCC.txteTenure.value;
						var emi=Math.ceil((100000)*(rate /(1-Math.pow((1+rate),-nums))));
						var loanEligibility=netMonthlyIncome/emi*100000;
						//loanEligibility1=getRoundedAmount(loanEligibility);
						loanEligibility1=roundAccuracy(loanEligibility,-3);
						document.getElementById('result2').innerHTML=loanEligibility1;
//						alert(loanEligibility1 + ', '+ loanEligibility);
						}
						
						function roundAccuracy(num, acc)
						{
						
							var fact=Math.pow(10,acc);
							return Math.round(num*fact)/fact;
						}

						function getRoundedAmount(original_number)
						{
							var decimals = 2;
							var result1 = original_number * Math.pow(10, decimals)
							var result2 = Math.round(result1)
							var result3 = result2 / Math.pow(10, decimals)
							return result3;
							
						}
						function onlyNumeric(obj,type,len)
                        {
                           var reDigit;
                         if(type==1)
                          {
                        //    if(len>0)
                             reDigit="^\\d{1,"+len+"}$"; //not allowed digits more than len (limited no of digits allowed)
                          //  else
                            // reDigit=/^\d+$/; //allowed digits (unlimited no of digits allowed)
                           }
                           else if(type==2){
                           // if(len>0)
                             reDigit="^([0-9]+)([\.]?)([0-9]{0,"+len+"})$"; //not allowed dot again (float type upto len decimal place)
                            //else
                             //reDigit=/^([0-9]+)([\.]?)([0-9]*)$/; //not allowed dot again (float type upto unlimited decimal places)
                           }
                        
                              if (obj.value.search(reDigit)==-1) //if match failed
                                //obj.value='';
                                obj.value=obj.value.substring(0,obj.value.length-1);
                        }
						function roundNumber(num, dec) {
							var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
							return result;
						}