var isImperial = false;
var inmm = 25.4;

window.onload = function () {
	var li = document.getElementsByTagName('input');
	for (var i = 0; i<li.length; i++)
		if (!li[i].readOnly) li[i].onkeyup = li[i].onkeypress = function () { f(this); }

	var selector = "";
	for (var i = 0; i<forks.length; i++) {
		selector += (forks[i].length == 1  ? ("</optgroup>\n<optgroup label=\""+ forks[i] +"\">") : ("<option value=\""+ forks[i][1] +"\">"+ forks[i][0] +"</option>"))+"\n";
	}
	selector += "</optgroup>\n</select>";

	document.getElementById("sel1").parentNode.innerHTML = "<select id=\"sel1\"><optgroup label=\"default\">" + selector;
	document.getElementById("sel2").parentNode.innerHTML = "<select id=\"sel2\"><optgroup label=\"default\">" + selector;

	var seo = document.getElementById("sel1");
	var sel = document.getElementById("sel2");
	var fork1 = document.getElementById("fl");
	var fork = document.getElementById("fl2");
	var table = document.getElementsByTagName("table")[0];
	
	var auto = document.getElementById("auto");
	var re = document.getElementById("re");
	var st = document.getElementById("st");
	
	auto.onchange = auto.onclick = function() {
		re.className = st.className = auto.checked ? "r" : "";
		re.readOnly = st.readOnly = auto.checked;
		
		if (auto.checked) f(); 
	}

	sel.onchange = sel.onclick = sel.onkeyup = sel.onkeypress = function () {
		fork.value = n(this.value * (isImperial ? 1/inmm : 1));
		f(fork);
	}

	seo.onchange = seo.onclick = seo.onkeyup = seo.onkeypress = function () {
		fork1.value = n(this.value * (isImperial ? 1/inmm : 1));
		f(fork);
	}

	fork1.onkeyup =	fork.onkeyup = function () {
		if (fork.value != sel.value)
			sel.selectedIndex = 1;

		if (fork1.value != seo.value)
			seo.selectedIndex = 1;

		f(fork);
	}
	f();

	var inputs = new Array ("fl", "fl2", "wb", "tt", "bb", "cs", "hh", "re", "st");

	var u = document.getElementById("units").getElementsByTagName("input");
	for (var i = 0; i<u.length; i++) {
		u[i].onclick = u[i].onblur = u[i].onchange = function () { convert (this); }
	}

	table.className = u[0].checked ? "metric" : "imperial";

	function convert (obj) {
		if (obj.checked && table.className != obj.value) {
			table.className = obj.value;

			isImperial = obj.value == "imperial";

			for (var i = 0; i<inputs.length; i++)
				document.getElementById(inputs[i]).value = n (document.getElementById(inputs[i]).value * (isImperial ? 1/inmm : inmm));

			f();
		}
	}
}