var oldValue = new Array();
oldValue["miles"] = "not assigned";
oldValue["kilometers"] = "not assigned";
oldValue["meters"] = "not assigned";
oldValue["feet"] = "not assigned";
oldValue["knots"] = "not assigned";
oldValue["centimeters"] = "not assigned";
oldValue["millimeters"] = "not assigned";
oldValue["inches"] = "not assigned";
oldValue["yards"] = "not assigned";
								
function CalculateValues(source){
	var srcEl = document.getElementById(source);
	if (oldValue[source] == document.getElementById(source).value) return false;
																				
	var km,mi,m,ft,kt,cm,mm,ins,yd;
	km = document.getElementById("kilometers");
	mi = document.getElementById("miles");
	m = document.getElementById("meters");
	ft = document.getElementById("feet");
	kt = document.getElementById("knots");
	cm = document.getElementById("centimeters");
	mm = document.getElementById("millimeters");
	ins = document.getElementById("inches");
	yd = document.getElementById("yards");
									
	//alert(source);
	switch (source) {
		case "miles": m.value = mi.value * 1609.344;
			ft.value = m.value * 3.281;
			km.value = m.value * 0.001;
			kt.value = m.value * 0.000539956803;
			cm.value = m.value * 100;
			mm.value = m.value * 1000;
			ins.value = m.value * 39.3700787;
			yd.value = m.value * 1.0936;
			break;
		case "kilometers": m.value = km.value * 1000;
			ft.value = m.value * 3.281;
			mi.value = m.value * 0.00062137119;
			kt.value = m.value * 0.000539956803;
			cm.value = m.value * 100;
			mm.value = m.value * 1000;
			ins.value = m.value * 39.3700787;
			yd.value = m.value * 1.0936;
			break;
		case "meters": m.value = m.value;
			ft.value = m.value * 3.281;
			mi.value = m.value * 0.00062137119;
			km.value = m.value * 0.001;
			kt.value = m.value * 0.000539956803;
			cm.value = m.value * 100;
			mm.value = m.value * 1000;
			ins.value = m.value * 39.3700787;
			yd.value = m.value * 1.0936;
			break;
		case "feet": m.value = ft.value * 0.3048;
			mi.value = m.value * 0.00062137119;
			km.value = m.value * 0.001;
			kt.value = m.value * 0.000539956803;
			cm.value = m.value * 100;
			mm.value = m.value * 1000;
			ins.value = m.value * 39.3700787;
			yd.value = m.value * 1.0936;
			break;
		case "knots": m.value = kt.value * 1852;
			ft.value = m.value * 3.281;
			mi.value = m.value * 0.00062137119;
			km.value = m.value * 0.001;
			cm.value = m.value * 100;
			mm.value = m.value * 1000;
			ins.value = m.value * 39.3700787;
			yd.value = m.value * 1.0936;
			break;
		case "centimeters": m.value = cm.value * .01;
			ft.value = m.value * 3.281;
			mi.value = m.value * 0.00062137119;
			km.value = m.value * 0.001;
			kt.value = m.value * 0.000539956803;
			mm.value = m.value * 1000;
			ins.value = m.value * 39.3700787;
			yd.value = m.value * 1.0936;
			break;
		case "millimeters": m.value = mm.value * .001;
			ft.value = m.value * 3.281;
			mi.value = m.value * 0.00062137119;
			km.value = m.value * 0.001;
			kt.value = m.value * 0.000539956803;
			cm.value = m.value * 100;
			ins.value = m.value * 39.3700787;
			yd.value = m.value * 1.0936;
			break;
		case "inches": m.value = ins.value * 0.0254;
			ft.value = m.value * 3.281;
			mi.value = m.value * 0.00062137119;
			km.value = m.value * 0.001;
			kt.value = m.value * 0.000539956803;
			cm.value = m.value * 100;
			mm.value = m.value * 1000;
			yd.value = m.value * 1.0936;
			break;
		case "yards": m.value = yd.value * 0.9144;
			ft.value = m.value * 3.281;
			mi.value = m.value * 0.00062137119;
			km.value = m.value * 0.001;
			kt.value = m.value * 0.000539956803;
			cm.value = m.value * 100;
			mm.value = m.value * 1000;
			ins.value = m.value * 39.3700787;
			break;
	}
	if (source != "miles") {mi.value = (new Number(mi.value)).toFixed(4);}
	if (source != "kilometers") {km.value = (new Number(km.value)).toFixed(4);}
	if (source != "meters") {m.value = (new Number(m.value)).toFixed(4);}
	if (source != "feet") {ft.value = (new Number(ft.value)).toFixed(4);}
	if (source != "centimeters") {cm.value = (new Number(cm.value)).toFixed(4);}
	if (source != "knots") {kt.value = (new Number(kt.value)).toFixed(4);}
	if (source != "millimeters") {mm.value = (new Number(mm.value)).toFixed(4);}
	if (source != "inches") {ins.value = (new Number(ins.value)).toFixed(4);}
	if (source != "yards") {yd.value = (new Number(yd.value)).toFixed(4);}
	
	oldValue["miles"] = mi.value;
	oldValue["kilometers"] = km.value;
	oldValue["meters"] = m.value;
	oldValue["feet"] = ft.value;
	oldValue["knots"] = kt.value;
	oldValue["centimeters"] = cm.value;
	oldValue["millimeters"] = mm.value;
	oldValue["inches"] = ins.value;
	oldValue["yards"] = yd.value;
}
