function FormatNumber(num){

	num = num.toString().replace(/\$|\,/g,'');

	if(isNaN(num)){
		num = "0";
	}

	var sign = (num == (num = Math.abs(num)));
	
	num = Math.floor((num * 100) + 0.50000000001);

	var 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));
	}

	return (sign ? '' : '-') + num;
}


function CalculatePayment(downpayment, price, term, rate){
	if (rate == '0'){
		rate = 0.000001
	}

	var principal = price - downpayment;
	var i = rate / 1200;
	var pow = 1;

	for(var j = 0; j < term; j++){
		pow *= (1 + i);
	}

	var mth = (principal * pow * i) / (pow - 1);
		mth = Math.round(mth * 100) / 100;

	return mth;
}

function UpdatePayment(){

	var price = document.getElementById('purchaseprice').value;
	var tradein = document.getElementById('tradein').value;
	var down = document.getElementById('downpayment').value;
	var cash = parseInt(tradein) + parseInt(down);
	var apr = document.getElementById('apr').value;
	var term = document.getElementById('term').options[document.getElementById('term').selectedIndex].value;

	var est = CalculatePayment(
				cash,
				price,
				term,
				apr
			);

	document.getElementById('monthlypayment').innerHTML = FormatNumber(est);
}

