var oldValue = new Array();
oldValue["meters"] = "not assigned";
oldValue["feet"] = "not assigned";
oldValue["gallons"] = "not assigned";
oldValue["acres"] = "not assigned";
									
function CalculateValues(source){
	var srcEl = document.getElementById(source);
	if (oldValue[source] == document.getElementById(source).value) return false;
												
	var m,ft,ga,ac;
	m = document.getElementById("meters");
	ft = document.getElementById("feet");
	ga = document.getElementById("gallons");
	ac = document.getElementById("acres");
	
	//alert(source);
	switch (source) {
		case "meters":
					ft.value = m.value * 35.31;
					ga.value = ft.value * 448.8;
					ac.value = ft.value * 1.983;
					break;
		case "feet":
					m.value = ft.value * 0.02832;
					ga.value = ft.value * 448.8;
					ac.value = ft.value * 1.983;
					break;
		case "gallons":
					ft.value = ga.value * 2.228e-3;
					m.value = ft.value * 0.02832;
					ac.value = ft.value * 1.983;
					break;
		case "acres":
					ft.value = ac.value * 0.5042;
					m.value = ft.value * 0.02832;
					ga.value = ft.value * 448.8;
	}
	if (source != "meters") {m.value = (new Number(m.value)).toFixed(4);}
	if (source != "feet") {ft.value = (new Number(ft.value)).toFixed(4);}
	if (source != "gallons") {ga.value = (new Number(ga.value)).toFixed(4);}
	if (source != "acres") {ac.value = (new Number(ac.value)).toFixed(4);}
	
	oldValue["meters"] = m.value;
	oldValue["feet"] = ft.value;
	oldValue["gallons"] = ga.value;
	oldValue["acres"] = ac.value;
}
