function cnvform(form) {
	formular = form.elements[0].value; // Konvertiere Form
	var firstvalue = 0;
	var tmp = form.elements.length-3;
	for (var i = 1; i <= tmp; i++) { // Finde ersten nicht leren Eintrag
		if (form.elements[i].value != null && form.elements[i].value.length != 0) { // Buerste Komma weg
			var PKomma = form.elements[i].value.indexOf(",",0);
			if (PKomma >= 0) {
				form.elements[i].value = form.elements[i].value.substring(0, PKomma) + "." + form.elements[i].value.substring(PKomma + 1, form.elements[i].value.length);
			}
			firstvalue = form.elements[i].value / initialize(formular, form.elements[i].name); break;
		}
	}
	//Korrigiere Null-Eingabe
	if (firstvalue == 0) {
		clearform(form);
		alert ("Bitte geben Sie in mindestens einem Feld einen Wert ein!");
		return false;
	}
	//Berechnung
	for (var i = 1; i <= tmp; i++) {
		form.elements[i].value = formatval(firstvalue * initialize(formular, form.elements[i].name), initialize(formular, "rsize"));
	}
}

function formatval(input, rsize) { //Formatiere Ausgabe
	var invalid = "**********";
	var nines = "99999999999999999";
	var strin = "" + input;
	var fltin = parseFloat(strin);
	if (strin.length <= rsize) return strin;
	if (strin.indexOf("e") != -1 || fltin >parseFloat(nines.substring(0,rsize)+".4")) {
		return invalid.substring(0, rsize);
	}
	var rounded = "" + (fltin + (fltin - parseFloat(strin.substring(0, rsize))));
	return rounded.substring(0);
}

function resetform(form) {
	//Setze Form zurueck
	clearform(form); 
	form.elements[1].value = 1;
	cnvform(form);
	return true;
}

function clearform(form) {
	var tmp = form.elements.length-3;
	//Loesche Eintraege
	for (var i = 1; i <=tmp; i++) form.elements[i].value = "";
	return true;
}

function initialize(formular,wert) {
	werte = new Array(); //Initialisierung
	switch(formular) {
		//Energieinhalt
		case "1":
			werte["count"] = 5;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 18.9;
			werte["val3"] = 56.7;
			werte["val4"] = 12.6;
			werte["val5"] = 14000.1;
			break;
		//Laenge
		case "2":
			werte["count"] = 6;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 39.3701;
			werte["val3"] = 3.28084;
			werte["val4"] = 1.09361;
			werte["val5"] = 6.2137e-4;
			werte["val6"] = 5.3996e-4;
			break;
		//Flaeche
		case "3":
			werte["count"] = 4;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 1550;
			werte["val3"] = 10.7639;
			werte["val4"] = 1.198;
			break;
		// Volumen
		case "4":
			werte["count"] = 6;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 61024;
			werte["val3"] = 35;
			werte["val4"] = 264.2;
			werte["val5"] = 219.2;
			werte["val6"] = 6.2893082;
			break;
		//Masse
		case "5":
			werte["count"] = 5;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 35.274;
			werte["val3"] = 2.20462;
			werte["val4"] = 1.102311e-3;
			werte["val5"] = 9.8420353e-4;
			break;
		//Druck
		case "6":
			werte["count"] = 6;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 1e-5;
			werte["val3"] = 1.019716e-1;
			werte["val4"] = 1.019716e-5;
			werte["val5"] = 0.986923e-5;
			werte["val6"] = 0.750062e-2;
			break;
		//Energie
		case "7":
			werte["count"] = 5;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 1.35962;
			werte["val3"] = 0.238846;
			werte["val4"] = 0.94781;
			werte["val5"] = 737.562;
			break;
		//Leistung
		case "8":
			werte["count"] = 6;
			werte["rsize"] = 9;
			werte["val1"] = 1;
			werte["val2"] = 0.0000002778;
			werte["val3"] = 0.0000003777;
			werte["val4"] = 0.0002388;
			werte["val5"] = 0.0009478;
			werte["val6"] = 3.4129e-8;
			break;
		//Fehler
		default:
			werte["count"] = 1;
			werte["rsize"] = 1;
			werte["val1"] = 1;
			werte["val2"] = 1;
			werte["val3"] = 1;
			werte["val4"] = 1;
			werte["val5"] = 1;
			werte["val6"] = 1;
			break;
	}
	return werte[wert]
}
