// loanCal.js

// newFunction
function FixLoan(principal, year, rate) {
	this.principal=principal;
	this.period=year * 12;
	this.rate=rate / 12 / 100;
	this.cal=calFixPay;
}

function calFixPay() {
	var amount, period, rate;
	
	amount=this.principal;
	rate=this.rate;
	period=this.period;
	return (amount * Math.pow(1+rate,period) * rate) /((Math.pow(1+rate,period)-1));
}

function PremiumLoan(principal, year, pYear, pRate, rate) {
	this.principal=principal;
	this.ttlPeriod=year * 12;
	this.pPeriod=pYear * 12;
	this.pRate=pRate / 12 / 100;
	this.rate=rate /12 /100;			
	this.calPremium=calPremiumPay;
	this.calAfterPremium=calAfterPremiumPay;
}

function calPremiumPay() {
	return (this.principal*Math.pow(1+this.pRate, this.ttlPeriod)*this.pRate) /
			(Math.pow(1+this.pRate, this.ttlPeriod) -1);
}

function calAfterPremiumPay() {
	var p, result;
	
	result=this.calPremium();
	p=this.principal*Math.pow(1+this.pRate, this.pPeriod) - 
		result*((Math.pow(1+this.pRate, this.pPeriod)-1)/this.pRate);
	return (p*Math.pow(1+this.rate, this.ttlPeriod-this.pPeriod)*this.rate) / 
		(Math.pow(1+this.rate, this.ttlPeriod-this.pPeriod)-1);	
}