function init_calc() {
	imc_reset();
	$$(".cantidadRespuestas").invoke("hide");
	Event.observe("imc-calcular","click",imc_calc);
	Event.observe("imc-form","reset",imc_reset);
	Event.observe("imc-peso","change",validar_numeros);
	Event.observe("imc-altura","change",validar_numeros);
}

function imc_calc() {
	if (!validar_numeros($("imc-altura"))) return false;
	if (!validar_numeros($("imc-peso"))) return false;

	peso = parseDouble($("imc-peso").value.replace(",","."));
	altura = parseDouble($("imc-altura").value.replace(",","."));
	imc = (peso/(altura*altura));
	imc = (Math.round(imc*10))/10;


	if (imc <= 18.5)	{
		result = 1;
	} else if (imc <= 24.9) {
		result = 2;
	} else if (imc <= 29.9) {
		result = 3;
	} else if (imc <= 34.9) {
		result = 4;
	} else if (imc <= 39.9) {
		result = 5;
	} else if (imc > 39.9) {
		result = 6;
	}
	$("imc-result").innerHTML = imc;

	imc_reset();
	$("imc-respuestas").show();
	$$(".respuesta"+result)[0].show();
}
function imc_reset() {
	$$(".respuesta").invoke("hide");
	$("imc-respuestas").hide();
}

function validar_numeros(e) {
	el = (e.value) ? e : Event.element(e);
	if (!el) { return false; }
	numero = el.value;
	if (!numero) { return false; }

	if (!/^([0-9\,\.])*$/.test(numero)) {
		alert("El valor " + numero + " no es un numero");
		return false;
	}
	return true;
}

function parseDouble(val) {
	deciInt = parseInt(val.split('.')[1])
	deciDiv = Math.pow(10,parseInt(String(val.split('.')[1]).length));
	deci = deciInt/deciDiv;
	inte = parseInt(val.split('.')[0]);
	if (!isNaN(deci)) {
		return val = inte+deci;
	}
	else {
		return inte;
	}
}