function popMenu(inval){
	htmlVal = "";
	for (i = 0; i < allA.length; i++) {
		if (inval == allA[i][0][0]){
			htmlVal = htmlVal + "<li id='menuon'><a href='javascript:popMenu(\"" + allA[i][0][0] + "\");showSel(" + allA[i][0][1] + ");'>" + allA[i][0][0] + "</a></li> ";
		}else{
			htmlVal = htmlVal + "<li><a href='javascript:popMenu(\"" + allA[i][0][0] + "\");showSel(" + allA[i][0][1] + ");'>" + allA[i][0][0] + "</a></li> ";
		}
	}
	htmlVal = "<ul>" + htmlVal + "</ul>";
	gObj("topmenu").innerHTML = htmlVal;
}



var lA = new Array();
lA[0] = new Array("Length","lA");
lA[1] = new Array("meter","iv","iv");
lA[2] = new Array("foot","iv*0.3048","iv/0.3048");
lA[3] = new Array("yard","iv*0.914400","iv/0.914400");
lA[4] = new Array("inch","iv*0.0254001","iv/0.0254001");
lA[5] = new Array("kilometer","iv*1000","iv/1000");
lA[6] = new Array("mile","iv*1609.35","iv/1609.35");
lA[7] = new Array("centimeter","iv*0.01","iv/0.01");
lA[8] = new Array("millimeter","iv*0.001","iv/0.001");
lA[9] = new Array("micrometer","iv*0.000001","iv/0.000001");
lA[10] = new Array("nanometer","iv*0.000000001","iv/0.000000001");
lA[11] = new Array("light year","iv*9.46066e+15","iv/9.46066e+15");

var tA = new Array();
tA[0] = new Array("Temperature","tA");
tA[1] = new Array("celsius","iv","iv");
tA[2] = new Array("kelvin", "iv - 273", "iv + 273");
tA[3] = new Array("farenheit", "5/9*(iv-32)", "9/5*iv + 32");

var aA = new Array();
aA[0] = new Array("Area","aA");
aA[1] = new Array("square meter","iv","iv");
aA[2] = new Array("square foot", "iv*0.0929030", "iv/0.0929030");
aA[3] = new Array("square yard", "iv*0.836127", "iv/0.836127");
aA[4] = new Array("square inch", "iv*0.000645160", "iv/0.000645160");
aA[5] = new Array("square kilometer", "iv*1000000", "iv/1000000");
aA[6] = new Array("square mile", "iv*2589990", "iv/2589990");
aA[7] = new Array("square centimeter", "iv*0.0001", "iv/0.0001");
aA[8] = new Array("square millimeter", "iv*0.000001", "iv/0.000001");
aA[9] = new Array("square micrometer", "iv*0.000000000001", "iv/0.000000000001");
aA[10] = new Array("acre", "iv*4046.86", "iv/4046.86");

var vA = new Array();
vA[0] = new Array("Volume","vA");
vA[1] = new Array("cubic meter","iv","iv");
vA[2] = new Array("cubic foot", "iv*0.0283168", "iv/0.0283168");
vA[3] = new Array("cubic yard", "iv*0.764555", "iv/0.764555");
vA[4] = new Array("cubic inch", "iv*0.0000163871", "iv/0.0000163871");
vA[5] = new Array("cubic kilometer", "iv*1000000000", "iv/1000000000");
vA[6] = new Array("cubic mile", "iv*4.16818e+9", "iv/4.16818e+9");
vA[7] = new Array("cubic centimeter", "iv*0.000001", "iv/0.000001");
vA[8] = new Array("cubic millimeter", "iv*1.0e-9", "iv/1.0e-9");
vA[9] = new Array("liter", "iv*0.001", "iv/0.001");
vA[10] = new Array("milliliter", "iv*0.000001", "iv/0.000001");
vA[11] = new Array("pint", "iv*0.000473176", "iv/0.000473176");
vA[12] = new Array("quart", "iv*0.000946353", "iv/0.000946353");
vA[13] = new Array("gallon", "iv*0.00378541", "iv/0.00378541");

var wA = new Array();
wA[0] = new Array("Weight","wA");
wA[1] = new Array("kilogram","iv","iv");
wA[2] = new Array("gram", "iv*0.001", "iv/0.001");
wA[3] = new Array("milligram", "iv*0.000001", "iv/0.000001");
wA[4] = new Array("ton", "iv*1000", "iv/1000");
wA[5] = new Array("pound", "iv*0.453592", "iv/0.453592");
wA[6] = new Array("ounce", "iv*0.0283495", "iv/0.0283495");
wA[7] = new Array("carrat", "iv*0.0002", "iv/0.0002");
wA[8] = new Array("atomic mass unit", "iv*1.6605401999104288e-27", "iv/1.6605401999104288e-27");

var mA = new Array();
mA[0] = new Array("Time","mA");
mA[1] = new Array("second","iv","iv");
mA[2] = new Array("millisecond", "iv*0.001", "iv/0.001");
mA[3] = new Array("microsecond", "iv*0.000001", "iv/0.000001");
mA[4] = new Array("nanosecond", "iv*0.000000001", "iv/0.000000001");
mA[5] = new Array("picosecond", "iv*0.000000000001", "iv/0.000000000001");
mA[6] = new Array("minute", "iv*60", "iv/60");
mA[7] = new Array("hour", "iv*3600", "iv/3600");
mA[8] = new Array("day", "iv*86400", "iv/86400");
mA[9] = new Array("week", "iv*604800", "iv/604800");
mA[10] = new Array("month", "iv*2629800", "iv/2629800");
mA[11] = new Array("year", "iv*31557600", "iv/31557600");

allA = new Array(lA,tA,aA,vA,wA,mA);


function isNum(sText){
	var ValidChars = "0123456789.-";
	var Char;
	if (sText.length < 1) return false;
	for (i = 0; i < sText.length; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1) return false;
	}
	return true;
}

function showSel(aName){
	document.calForm.calFrom.length = 0;
	document.calForm.calTo.length = 0;
	for(i=1; i<aName.length; i++){
		document.calForm.calFrom.options[(i-1)] = new Option(aName[i][0],i);
		document.calForm.calTo.options[(i-1)] = new Option(aName[i][0],i);
	}
	document.calForm.calFrom.options[0].selected = true;
	document.calForm.calTo.options[0].selected = true;
	document.calForm.toVal.value = "";
	currentAName = aName;
	calcul();
}

function calVal(id, iv){
	eval("rv = (" + currentAName[id][2] + ");");
	return rv;
}
function calcul(){
	selectFrom = document.calForm.calFrom;
	selectTo = document.calForm.calTo;
	fromVal = document.calForm.fromVal.value;
	selectFromID = 0;
	selectToID = 0;
	selectFromVal = "";
	selectToVal = "";
	stdval = 0;
	for (var i = 0; i < selectFrom.options.length; i++) {
		if(selectFrom.options[i].selected) {
			selectFromID = selectFrom.options[i].value;
			selectFromVal = selectFrom.options[i].text;
		}
	}
	for (var i = 0; i < selectTo.options.length; i++) {
		if(selectTo.options[i].selected) {
			selectToID = selectTo.options[i].value;
			selectToVal = selectTo.options[i].text;
		}
	}
	if ((selectFromID>0) && (isNum(fromVal))){
		iv = parseFloat(fromVal);
		stdval = 0;
		eval("stdval = " + currentAName[selectFromID][1]+ ";");
		document.calForm.calTo.length = 0;
		for(i=1; i<currentAName.length; i++){
			tempVal = calVal(i, stdval);
			selectTo.options[(i-1)] = new Option(currentAName[i][0] + " (" + tempVal + ")",i);
			if (selectToID == i) {
				selectTo.options[(i-1)].selected = true;
				document.calForm.toVal.value = tempVal;
			}
		}
	}
	if ((!(isNum(fromVal)))||(selectFromID<1)){
		for(i=1; i<currentAName.length; i++){
			tempVal = calVal(i, stdval);
			selectTo.options[(i-1)] = new Option(currentAName[i][0],i);
			if (selectToID == i) {
				selectTo.options[(i-1)].selected = true;
				document.calForm.toVal.value = "";
			}
		}
	}
}
