var ie = false;
if (document.all) { ie = true; }
var divSet = false;

function getObj(id) {
	if (ie) { return document.all[id]; } 
	else {	return document.getElementById(id);	}
}

function setDiv(my_id) {     
	if (!document.createElement) { return; }
	var elemDiv = document.createElement('div');
	if (typeof(elemDiv.innerHTML) != 'string') { return; }
	elemDiv.id = 'bmi_calculator_box';
	elemDiv.style.position = 'absolute';
	elemDiv.style.display = 'none';
	elemDiv.style.border = '#000000 1px solid';
	elemDiv.style.background = '#FFFFFF';
	elemDiv.innerHTML = '<table border="0"><tr><td>Ihre Gr&ouml;&szlig;e in m:</td><td><input name="size" id="size" type="text" /></td></tr>' +
		'<tr><td>Ihr Gewicht in Kg:</td><td><input name="weight" id="weight" type="text" /></td></tr>' +
		'<tr><td>Ihr BMI:</td><td><span id="bmi_result"></span></td></tr>' +
		'<tr><td><input type="button" name="calculate" value="Ausrechnen" onclick="calculate_bmi(\'bmi_result\');" /></td><td align="right"><input type="button" name="cancel" value="Abbrechen" onclick="get_bmi_calculator(\'bmi_calculator_link\');" /></td></tr></table>';
	
	getObj(my_id).appendChild(elemDiv);
	divSet = true;
}
     
function get_bmi_calculator(my_id) {
	if (!divSet) {
		setDiv(my_id);
	}
	
	var bmi_calculator = getObj('bmi_calculator_box');     	
	if (bmi_calculator.style.display == 'block') {
		bmi_calculator.style.display = 'none';
		return;
	}
	var thelink = getObj(my_id);
	bmi_calculator.style.display = 'block';
}

function calculate_bmi(result_position) {
	var weight = getObj('weight').value;
	weight = weight.replace(/,/, '.');
	var size = getObj('size').value;
	size = size.replace(/,/, '.');
	var bmi = 0;
	bmi = weight / (size * size);
	getObj(result_position).innerHTML = runde(bmi, 2);
}

function runde(x, n) {
  if (n < 1 || n > 14) return false;
  var e = Math.pow(10, n);
  var k = (Math.round(x * e) / e).toString();
  if (k.indexOf('.') == -1) k += '.';
  k += e.toString().substring(1);
  return k.substring(0, k.indexOf('.') + n+1);
}
