

window.onload = function() {
	dojo.event.connect(dojo.byId("dues_amt"),"onkeyup", this, "setTotal");
	dojo.event.connect(dojo.byId("alumni_amt"),"onkeyup", this, "setTotal");
	dojo.event.connect(dojo.byId("rbsp_amt"),"onkeyup", this, "setTotal");
	
	dojo.event.connect(dojo.byId("rbsp_amt"),"onchange", this, "formatNumber");
	dojo.event.connect(dojo.byId("alumni_amt"),"onchange", this, "formatNumber");
	dojo.event.connect(dojo.byId("dues_amt"),"onchange", this, "formatNumber");
	dojo.event.connect(dojo.byId("amount"),"onchange", function(e){ 
		formatNumber(e);
	});
	setTotal();
}



function decimalFormatter(unformatted){

	if (isNaN(unformatted)){
		unformatted = 0.00;
	}

	unformatted = dojo.math.round(unformatted, 2);

	if ((unformatted += '').indexOf(".") < 0){
		unformatted += ".00";
	}
	return unformatted;
}

function formatNumber(e){
	e.currentTarget.value = decimalFormatter(e.currentTarget.value);	
	setTotal();
}

function getNumber(element){
	var val = dojo.byId(element).value;
	var number = parseFloat(val);
	if (isNaN(number)){
		number = 0.00;
	}
	return number;
}



function setTotal(){	
	
	dojo.byId("amount").value =
	  decimalFormatter( 
		getNumber("dues_amt") + 
		getNumber("alumni_amt") + 
		getNumber("rbsp_amt")
		);
	dojo.byId("amount_display").innerHTML = dojo.byId("amount").value;
}
