var vicm
function calcular()
  {
  var icm;
  var tll;
tll=dejaPasarCaracteres(document.formu.talla.value,"1234567890")/100;
icm=simplificaKilos(document.formu.peso.value)/(tll*tll);
vicm = icm;
pasar= parseInt(icm);
ruta1='indice-masa-corporal-imc-1.htm?'+pasar;
ruta2='indice-masa-corporal-imc-2.htm?'+pasar;
ruta3='indice-masa-corporal-imc-3.htm?'+pasar;
ruta4='indice-masa-corporal-imc-4.htm?'+pasar;
if (icm<=20) abreventana(ruta1,'imc','width=330,height=340');
if ((icm>20) && (icm<=25)) abreventana(ruta2,'imc','width=330,height=340');
if ((icm>25) && (icm<30)) abreventana(ruta3,'imc','width=330,height=340');
if (icm>=30) abreventana(ruta4,'imc','width=330,height=340');
}
function abreventana(theURL,winName,features) { 
  window.open(theURL,winName,features);
}
// #############################################

function dejaPasarCaracteres(cadena,caracteresValidos)
{
	// Devuelve una copia de cadena donde se han eliminado todos los caracteres no especificados
	// como válidos.
	cadena2="";

	// Recorremos la cadena
	for (i=0; i<cadena.length; i++)
	{
		if (caracteresValidos.indexOf(cadena.substr(i,1)) != -1)
		{
			cadena2=cadena2+cadena.substr(i,1);
		}
	}

	return (cadena2);
}

// #############################################

function simplificaKilos(cadena)
{
	// Busca primer "," o "." y se queda sólo con los números de la parte de la izquierda
	posComa=cadena.indexOf(",");
	posPunto=cadena.indexOf(".");

	// Nos quedamos con el mayor de los dos
	if (posComa > posPunto)
	{
		posDecimales=posComa;
	}
	else
	{
		posDecimales=posPunto;
	}

	if (posDecimales == -1)
	{
		// No hay parte decimal
		cadena2=dejaPasarCaracteres(cadena,"1234567890");
	}
	else
	{
		// Hay parte decimal, nos quedamos con la parte entera
		cadena2=cadena.substr(0,posDecimales+1);
		cadena2=dejaPasarCaracteres(cadena2,"1234567890")
	}

	return (cadena2);
}