var arrFactors = new Array(7);
var prevValue = 0;
var prevBox = null;
var decimalPlaces = 21;
arrFactors[1] = parseFloat('1');
arrFactors[2] = parseFloat('1');
arrFactors[3] = parseFloat('1');
arrFactors[4] = parseFloat('1');
arrFactors[5] = parseFloat('1');
arrFactors[6] = parseFloat('1');
function convertTemps(fromID, toID, val) {
switch (fromID) {
case 1: 
switch (toID) {
case 1: return val;
case 2: return val * 0.125;
case 3: return val * 0.0001220703125;
case 4: return val * 1.1920928955078125e-7;
case 5: return val * 1.16415321826934814453125e-10;
case 6: return val * 1.136868377216160297393798828125e-13;
}
case 2: 
switch (toID) {
case 1: return val * 8;
case 2: return val;
case 3: return val * 0.0009765625;
case 4: return val * 9.5367431640625e-7;
case 5: return val * 9.31322574615478515625e-10;
case 6: return val * 9.094947017729282379150390625e-13;
}
case 3: 
switch (toID) {
case 1: return val * 8192;
case 2: return val * 1024;
case 3: return val;
case 4: return val * 0.0009765625;
case 5: return val * 9.5367431640625e-7;
case 6: return val * 9.31322574615478515625e-10;
}
case 4: 
switch (toID) {
case 1: return val * 8388608;
case 2: return val * 1048576;
case 3: return val * 1024;
case 4: return val; 
case 5: return val * 0.0009765625;
case 6: return val * 9.5367431640625e-7;
}
case 5: 
switch (toID) {
case 1: return val * 8589934592;
case 2: return val * 1073741824;
case 3: return val * 1048576;
case 4: return val * 1024;
case 5: return val;
case 6: return val * 0.0009765625;
}
case 6:
switch (toID) {
case 1: return val * 8796093022208;
case 2: return val * 1099511627776;
case 3: return val * 1073741824;
case 4: return val * 1048576;
case 5: return val * 1024;
case 6: return val;
} 
}
}
function roundDP(n, decplaces) {
var t = Number('1e' + decplaces);
return Math.round(n * t) / t;
}
function convert(form, id) {
var val, fromFactor, i;
// start at 1 since 0 is bin element
val = parseFloat(form[id].value);
if (isNaN(val) || prevValue == val) return; 
// highlight the new box for visibility
if (form[id].style) {
if (prevBox != null) {
form[prevBox].style.color = '';
document.getElementById('bin' + prevBox).style.fontWeight = 'normal';
}
form[id].style.color = '#0000ff';
document.getElementById('bin' + id).style.fontWeight = 'bold';
}
prevBox = id;
if (val == '' || isNaN(val)) val = 0;
fromFactor = arrFactors[id];
for (i = 1; i < form.length; i++) 
if (i != id) form[i].value = roundDP(convertTemps(id, i, val), decimalPlaces); 
}
function enterBox(form, id) {
prevValue = parseFloat(form[id].value);
}
// end Umrechnung von Bits und Bytes -->
