   function calcularMarca(elForm) {
      var re;   // Expresion regular
	  laDistancia = elForm.distancia.value;
	  laDistancia = elForm.distancia.value;
	  // Compruebo que se halla introducido la distancia
	  if (laDistancia=="") {
	     alert("Introduzca la distancia");
		 elForm.distancia.focus();
	  }
      else {
	     // Comprobar que el formato del kilometro es correcto
	     re = new RegExp("^([0-9]{1,2}):([0-9]{1,2})$");
	     if(re.test(elForm.kilometro.value)) {	     
	        tiempoSeg = (parseInt(RegExp.$1) * 60) + parseInt(RegExp.$2);
		    laMarca = tiempoSeg*(laDistancia/1000); //21.097;
		    horas = parseInt(laMarca/3600);
			minutos = parseInt((laMarca%3600)/60)
		    segundos = parseInt((laMarca%3600)%60);
		    elForm.marca.value = horas+ ":" + formatea(minutos) + ":" + formatea(segundos);
		 }
	     else {
		   alert("Formato incorrecto en el tiempo del kilometro (mm:ss)");
		   elForm.kilometro.focus();
		 }
	 }
   }


   function calcularKm(elForm) {
      var re;   // Expresion regular
	  laDistancia = elForm.distancia.value;
	  // Compruebo que se halla introducido la distancia
	  if (laDistancia=="") {
	     alert("Introduzca la distancia");
		 elForm.distancia.focus();
	  }
	  else {
	     // Comprobar que el formato es correcto
	     re = new RegExp("^([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})$");
	     if(re.test(elForm.marca.value)) {	     
	        tiempoSeg = (parseInt(RegExp.$1) * 3600) + (parseInt(RegExp.$2) * 60) + parseInt(RegExp.$3);
		    elKilometro = tiempoSeg/(laDistancia/1000); //21.097;
		    minutos = parseInt(elKilometro/60)
		    segundos = parseInt(elKilometro % 60);
		    elForm.kilometro.value = formatea(minutos) + ":" + formatea(segundos);
		 }
	     else {
		    alert("Formato incorrecto en la marca (hh:mm:ss)");
			elForm.marca.focus();
		 }
	  }
   }
   
   // distancia
   // marca
   function tiemposPaso(elForm) {
      var re;   // Expresion regular
	  laDistancia = elForm.distancia.value;
	  elIntervalo = elForm.intervalo.value;
	  // Compruebo que se halla introducido el intervalo
	  if (elIntervalo=="") {
	     alert("Introduzca cada cuanta distancia quieres calcular los tiempos de paso");
		 elForm.intervalo.focus();
		 return (false);
	  }
	  // Compruebo que se halla introducido la distancia
	  if (laDistancia=="") {
	     alert("Introduzca la distancia");
		 elForm.distancia.focus();
		 return (false);
	  }
	  else {
	     // Comprobar que el formato es correcto de la marca 
	     re = new RegExp("^([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})$");
	     if(re.test(elForm.marca.value)) {	     
	        tiempoSeg = (parseInt(RegExp.$1) * 3600) + (parseInt(RegExp.$2) * 60) + parseInt(RegExp.$3);
		    elKilometro = tiempoSeg/(laDistancia/1000); //21.097;
			elTrozo = tiempoSeg/(laDistancia/elIntervalo); // Cuanto tiempo tardo en hacer un trozito
			numTrozos = parseInt(laDistancia/elIntervalo);
			opcVentana = "width=300,height="+numTrozos*28+",resizable=yes"
			winMarcas = open("", "ventMarcas",opcVentana);
			winMarcas.document.write ("<html><head><title>Planificación de la carrera</title></head><body>");
 		    winMarcas.document.write ("<div align=center><font face='arial' size=2><a href='javascript:this.print();'>Imprimir</a></font></div>");
			winMarcas.document.write ("<table border=1 width=250 cellspacing=0 cellpadding=3>");
			winMarcas.document.write ("<tr><td colspan=2 align=center>");
			winMarcas.document.write ("<font face='arial' size=2>");
			winMarcas.document.write ("<b>" + laDistancia + " metros en " + elForm.marca.value + "<br>")
		      minutos = parseInt(elKilometro/60)
		      segundos = parseInt(elKilometro % 60);
			winMarcas.document.write ("El kilometro a " + formatea(minutos) + ":" + formatea(segundos) + "</b><br>")
			winMarcas.document.write ("</font></td></tr>");

			for (i=1;i<=numTrozos;i++) {
			   elPaso = elTrozo * i;
		       horas = parseInt(elPaso/3600);
			   minutos = parseInt((elPaso%3600)/60)
		       segundos = parseInt((elPaso%3600)%60);
			   winMarcas.document.write ("<tr><td align=center><font face='arial' size=2>" + parseInt(i*elIntervalo)/1000 + " km : </font></td>");
			   winMarcas.document.write ("<td align=center><font face='arial' size=2>" + horas + ":" + formatea(minutos) + ":" + formatea(segundos) + "</font></td></tr>");
			}
			winMarcas.document.write ("</table>");
			winMarcas.document.write ("</body></html>");
			winMarcas.document.close();
			winMarcas.focus();
		 }
	     else {
		    alert("Formato incorrecto en la marca (hh:mm:ss)");
			elForm.marca.focus();
			return(false);
		 }
	  }
   }

   
   function formatea (numero) {
      if (numero >9) return ("" + numero);
	  else return ("0" + numero);
   }

