window.onload = initForm;
window.onunload = function() {};

var a = 0.0;
var b = 0.0;
var c = 0.0;
var d = 0.0;
var e = 0.0;
var aRate = 1.00;
var bRate = 3.12;
var cRate = 1.40;
var dRate = 9.80;
var eRate = 180.00;

function initForm() {
	document.getElementById("a").onchange = updateCalculator;
	document.getElementById("b").onchange = updateCalculator;
	document.getElementById("c").onchange = updateCalculator;
	document.getElementById("d").onchange = updateCalculator;
	document.getElementById("e").onchange = updateCalculator;
		
	updateCalculator();
}

function updateCalculator() {
	var subTotal;
	var grandTotal;
	a = document.getElementById("a").value
	b = document.getElementById("b").value
	c = document.getElementById("c").value
	d = document.getElementById("d").value
	e = document.getElementById("e").value
	
	//calculate the estimate
	subTotal = (bRate*b) * (cRate*c) + dRate*d + eRate*e;
	grandTotal = subTotal;
	
	//post the grand total
	document.getElementById("grandTotal").innerHTML = "<b>" + formatCurrency(grandTotal) + "</b>";
	document.getElementById("hidGrandTotal").value = formatCurrency(grandTotal);
}

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);
}