
	
	function pmt(fAmount, fRate, iPeriods)
	{
	
		//alert(fAmount);
		//alert(fRate);
		//alert(iPeriods);
		
		fRepayment =  (fAmount * fRate) / ( 1-Math.pow( ( 1 + fRate) , (-1 * iPeriods ) ) ) * 100 ;
		//alert(fRepayment);
		fRepayment = Math.floor(fRepayment) / 100 ;
		return fRepayment;
	}
	
	/*
	function term(fAmount, fRate, fRepayment)
	{
		
		return iTerm;
	}	
	
	function rate(fAmount, iTerm, fRepayment)
	{
		return fRate;
	}
	
	*/
	
	function amount(fRate, iPeriods, fRepayment)
	{
		fAmount = fRepayment * ( ( 1-Math.pow( ( 1 + fRate) , (-1 * iPeriods ) ) ) * 100 ) / fRate ;
		
		alert(fAmount);
		fAmount = Math.floor( fAmount ) / 100 ;
		
		return fAmount;
		
	}		
	
	
	function Calculate()
	{
		var frmObj = document.forms.frmRepayments;
		
		var fAmount = getValue(frmObj.fAmount);

		var fRate = getValue(frmObj.fRate);
		
		var fRepayment = getValue(frmObj.fRepayment);
	
		var iTerm = getValue(frmObj.iTerm);
		var txtTermUnit = getSelectedValue(frmObj.txtTermUnit);
		var txtSchedule = getSelectedValue(frmObj.txtSchedule);
		
		
		var iYears;
		iYears = iTerm / parseInt(txtTermUnit);
		//alert(iYears);
		
		var iPeriods;
		iPeriods = iYears * parseInt(txtSchedule);
		//alert(iPeriods);
		
		if (fRate != "")
		{
	
			if (fRate >= 0 && fRate < 1)
				alert("Warning interest rates are requested as a percentage.");
			else if (fRate > 100 || fRate < 0)
			{
				alert("Please use Interest Rate between 0 and 100");
				frmObj.fRate.focus();
				return;
			}
			
			fRate = fRate / 100;
			fRate = fRate / parseInt(txtSchedule);
		}
		//alert(fRate);
		
		if (fAmount != "" && fRate != "" && iTerm != "")
		{
			fRepayment = pmt(fAmount, fRate, iPeriods);
			frmObj.fRepayment.value = formatNumber(fRepayment);
			frmObj.fRepayment.style.color = "blue";
		}
		/*
		else if (fAmount != "" && fRate != "" && fRepayment != "")
		{
			iTerm = term(fAmount, fRate, fRepayment);
			frmObj.iTerm.value = iTerm;
		}
		
		else if (fAmount != "" && fRepayment != "" && iTerm != "")
		{
			fRate = rate(fAmount, iTerm, fRepayment)
			frmObj.fRate.value = fRate;
		}
		*/
		else if (fRepayment != "" && fRate != "" && iTerm != "")
		{
			fAmount = amount(fRate, iPeriods, fRepayment);
			frmObj.fAmount.value = formatNumber(fAmount);
			frmObj.fAmount.style.color = "blue";
		}	
		
		else
			alert("Please provide 3 of the 4 variables");
		
	}	
	
	function getValue(oText)
	{
		var sText = oText.value;
		//alert(sText);
		
		oText.style.color = "black";
		
		sText = stripCommas(sText);
		
		if (sText != "")
		{
			fValue = parseFloat(sText);
			if (isNaN(fValue))
			{
				fValue = "";
				alert("Enter vaild numeric value please");
			}
		}
		else
			fValue = "";
			
		//alert(fValue);
		
		
		oText.value = formatNumber(fValue);
		
		return fValue;
	
	}
	

	function getSelectedValue(oSelect)
	{
		var sText;
		if (oSelect.selectedIndex > -1)
			sText = oSelect.options[oSelect.selectedIndex].value;
		else
			sText = "";
			
		return sText;
	}
	
	
	function formatNumber(varNum) 
	{
		//alert("putCommas: " + sText);
		
		var result, len, sNum;
		sNum = varNum + ""
		len = sNum.indexOf(".");
		
		//alert(len);
		if(len == -1) 
		{
			len = sNum.length;
			result = "";
		}
		else 
			result = sNum.substring(len, sNum.length);
	
		while(len > 3) 
		{
			result = sNum.substring(len-3, len) + result;		
			result = "," + result;		
			len -= 3;
		} 
		result = sNum.substring(0, len) + result;
		
		//alert(result);
		return result;
	
	}
	
	function stripCommas(sText)
	{
	
		var newnum ="";
		var ch;
		
		for(var i=0; i< sText.length; i++)
		{
			ch = sText.charAt(i);
			if(ch != ",")
				newnum += ch;
		}

		return newnum;
	}
	
