		function formatCurrency(num) {
			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));
			return (((sign)?'':'-') + '$' + num + '.' + cents);
		}

		function doMortgage(mprice, mdown, mrate, mterm) {
			mprice = mprice.replace(/[^0-9]/g, '');
			mprinc = mprice - (parseInt(mprice) *(mdown/100));
			intRate = (mrate/100) / 12;
			months = parseInt(mterm) * 12;
			mpayment = Math.floor((mprinc*intRate)/(1-Math.pow(1+intRate,(-1*months)))*100)/100;
			mdownpay = mprice - mprinc;
			$('#moutput').html('<div class="dataset"><span class="key">Down Payment</span> <strong class="val">' + formatCurrency(mdownpay) + '</strong></div>' + '<div class="dataset last"><span class="key">Monthly Payment</span> <strong class="val">' + formatCurrency(mpayment) + '</strong></div>');
		}

		$(document).ready(function() {
			$('#mcalc select, #mcalc input').change(function() {
				mprice = $('#mprice').attr('value');
				mdown = $('#mdown').attr('value');
				mrate = $('#mrate').attr('value');
				mterm = $('#mterm').attr('value');
				doMortgage(mprice, mdown, mrate, mterm);
			});

			mprice = $('#mprice').attr('value');
			mdown = $('#mdown').attr('value');
			mrate = $('#mrate').attr('value');
			mterm = $('#mterm').attr('value');
			doMortgage(mprice, mdown, mrate, mterm);
		});
