   function calcPayments(cpInterest, cpPrincipal, cpTerm, cpOther, ciDown) {
		var dblCalc;
		cpInterest = convertToNum(cpInterest);
		cpPrincipal = convertToNum(cpPrincipal);
		cpTerm = convertToNum(cpTerm);
		cpOther = convertToNum(cpOther);
		ciDown =  convertToNum(ciDown);
		dblInterest = cpInterest / (1200);
		cpPrincipal = cpPrincipal - ciDown;
		dblCalc = cpOther -  (-1) * (cpPrincipal * dblInterest / (1 - Math.pow((1 + dblInterest) , -(cpTerm * 12))));
		//dblCalc = dblCalc.length //dblCalc.substring(dblCalc.length - 1, dblCalc.length + 1)
		return dblCalc;
	}
	
	function calcLoanAmount(cpInterest, cpIncome, cpDebt, cpTerm, cpDown) {
		var dblInterest, dblMonthlyPayments, dblLoanAmount;
		cpInterest = convertToNum(cpInterest);
		cpIncome = convertToNum(cpIncome);
		cpDebt = convertToNum(cpDebt);
		cpTerm = convertToNum(cpTerm);
		cpDown = convertToNum(cpDown);
		dblInterest = cpInterest / 1200;
		dblMonthlyPayments = (cpIncome * .36) - cpDebt;
		dblLoanAmount =  cpDown - (-1) * dblMonthlyPayments * (1 - Math.pow((1 + dblInterest) , -(cpTerm * 12))) / dblInterest;
		return dblLoanAmount;
	}
	
	function calcMonthlyIncome(ciLoanAmount, ciInterest, ciDebt, ciTerm, ciDown) {
		var dblInterest, dblMonthlyIncome, dblLoanAmount, dblIncome;
		dblInterest = cpInterest / 1200;
		dblMonthlyIncome = ciLoanAmount / ((1 - Math.pow((1 + dblInterest) , -(cpTerm * 12))) / dblInterest);
	    dblIncome = (dblMonthlyIncome + cpDebt) / .36  ;
	}
	function formatCurrency(frmObj) {
	var num = frmObj.value;
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	frmObj.value = (((sign)?'':'-') + '$' + num + '.' + cents);
	}
	
function convertToNum(theControl) {
	var strInitial = theControl
	var strFinal = new String()
	strFinal = '';
	var j = 0;
	var dotCount = 0;

	if (strInitial.length > 0)
	{
		for (var i = 0; i < strInitial.length; ++i)
		{
			if ((strInitial.charAt(i) == '0') ||
				(strInitial.charAt(i) == '1') ||
				(strInitial.charAt(i) == '2') ||
				(strInitial.charAt(i) == '3') ||
				(strInitial.charAt(i) == '4') ||
				(strInitial.charAt(i) == '5') ||
				(strInitial.charAt(i) == '6') ||
				(strInitial.charAt(i) == '7') ||
				(strInitial.charAt(i) == '8') ||
				(strInitial.charAt(i) == '9') ||
				(strInitial.charAt(i) == '.' && dotCount < 1))
				
			{
				j = j + 1;
				if (strInitial.charAt(i) == '.')
				{
					dotCount += 1;
				}
				
				strFinal += strInitial.charAt(i);
			}
		}
	}
	return strFinal;
}
	function getValue(objFrm) {
		objFrm.txtResult.value = calcLoanAmount(objFrm.textRate.value, objFrm.txtMonthlyIncome.value, objFrm.textMonthlyDebt.value, objFrm.txtTerm.value, objFrm.txtDownPayment.value);
		if (objFrm.txtResult.value < 0) {
			objFrm.txtResult.value = "Not Possible";
			objFrm.txtResultPayment.value = "Not Possible";	
		} else {
		objFrm.txtResultPayment.value = calcPayments(objFrm.textRate.value, objFrm.txtResult.value, objFrm.txtTerm.value, objFrm.textMonthlyDebt.value, objFrm.txtDownPayment.value);
		if (objFrm.txtResultPayment.value < 0) {
		objFrm.txtResultPayment.value = "Not Possible";	
		} else {
		objFrm.txtLoanAmount.value = objFrm.txtResult.value - convertToNum(objFrm.txtDownPayment.value);
		formatCurrency(objFrm.txtResult);
		formatCurrency(objFrm.txtResultPayment);
		formatCurrency(objFrm.txtLoanAmount);
		}
		}
	}
