function verificar_numero(numero,formulario) {
		if (numero.value=='') {
		}
		var noes=0;
		var str = numero.value;
		for (var i = 0; i < str.length; i++)        
		{	var ch = str.substring(i, i + 1)
		        if ((ch < "0" || "9" < ch) && ch != '.') 
			{  numero.value=''
		           numero.focus()
		           numero.select()
			   noes=1
			}               
		}	  
		if (noes==1)
		{ alert('El valor introducido "' + str + '" no es un n?mero.')
		  return 1
		}
		return 0;
	}

	function hay_cambio() {

		if (document.forms[1].medida.options[0].selected)
		{	if ( document.forms[1].medida_anterior.value != 12.0)
			{ return 1 }
		}
		else
		{	if ( document.forms[1].medida_anterior.value == 1.0)
		    { return 1 }
		}

		if ( document.forms[1].importe.value != document.forms[1].importe_anterior.value)
		{ return 1 }
		if ( document.forms[1].plazo.value != document.forms[1].plazo_anterior.value)
		{ return 1 }
		if ( document.forms[1].tipo.value != document.forms[1].tipo_anterior.value)
		{ return 1 }
		if ( document.forms[1].cuota.value != document.forms[1].cuota_anterior.value)
		{ return 1 }
		return 0
	}

	function almacena() {
		document.forms[1].importe_anterior.value = document.forms[1].importe.value
		document.forms[1].plazo_anterior.value = document.forms[1].plazo.value
		document.forms[1].tipo_anterior.value = document.forms[1].tipo.value
		document.forms[1].cuota_anterior.value = document.forms[1].cuota.value
		if (document.forms[1].medida.options[0].selected)
		{	document.forms[1].medida_anterior.value = 12.0 }
		else
		{	document.forms[1].medida_anterior.value = 1.0 }
	}

	function calculacuota() {
		// CALCULA LA CUOTA A PAGAR CONOCIENDO:
		// 	EL IMPORTE DEL PRESTAMO
		//	EL NUMERO DE PLAZOS A PAGAR
		//	EL TIPO DE INTERES QUE SE LE APLICA

		if ( hay_cambio() == 0 ) { return }

		imp = parseInt(document.forms[1].importe.value)
		plazo_meses = parseInt(document.forms[1].plazo.value)
		tipo_mensual = parseFloat(document.forms[1].tipo.value)


		if (document.forms[1].medida.options[0].selected)
		{ medida = 12.0
		}
		else
		{ medida = 1.0
		}

		if ( isNaN(imp) || imp == 0 )
		{ alert("Debe rellenar el campo 'Importe pr?stamo'")
		  return }
		if ( isNaN(plazo_meses) || plazo_meses == 0 )
		{ alert("Debe rellenar el campo 'Plazo'")
		  return }
		if ( isNaN(tipo_mensual) || tipo_mensual == 0.0 ) 
		{ alert("Debe rellenar el campo 'Tipo Nominal'")
		  return }

		if ( tipo_mensual > 20.0 ) 
		{ alert("El Tipo Nominal es superior al 20% y no es aceptable para un pr?stamo hipotecario.")
		  return }


		plazo_meses = plazo_meses * medida

		// EL TIPO DE INTERES VIENE EN A?OS Y LOS PASAMOS A TIPO INTERES MENSUAL
		tipo_mensual = tipo_mensual / 1200.0

		y  = 1.0 + tipo_mensual
		cuota = imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ) 
		document.forms[1].cuota.value = Math.round(cuota *100.00) / 100.00
		almacena()
	}

	function calculaimporte() {
		// CALCULA EL IMPORTE DEL PRESTAMO A SOLICITAR CONOCIENDO:
		//	EL NUMERO DE PLAZOS A PAGAR
		//	EL TIPO DE INTERES QUE SE LE APLICA
		//	LA CUOTA A PAGAR EN CADA PLAZO

		if ( hay_cambio() == 0 ) { return }

		plazo_meses = parseInt(document.forms[1].plazo.value)
		tipo_mensual = parseFloat(document.forms[1].tipo.value)
		cuota = parseInt(document.forms[1].cuota.value)

		if (document.forms[1].medida.options[0].selected)
		{ medida = 12.0
		}
		else
		{ medida = 1.0
		}

		if ( isNaN(cuota) || cuota == 0 )
		{ alert("Debe rellenar el campo 'Importe cuota'")
		  return }
		if ( isNaN(plazo_meses) || plazo_meses == 0 )
		{ alert("Debe rellenar el campo 'Plazo'")
		  return }
		if ( isNaN(tipo_mensual) || tipo_mensual == 0.0 ) 
		{ alert("Debe rellenar el campo 'Tipo Nominal'")
		  return }

		if ( tipo_mensual > 20.0 ) 
		{ alert("El Tipo Nominal es superior al 20% y no es aceptable para un pr?stamo hipotecario.")
		  return }


		plazo_meses = plazo_meses * medida

		// EL TIPO DE INTERES VIENE EN A?OS Y LOS PASAMOS A TIPO INTERES MENSUAL
		tipo_mensual = tipo_mensual / 1200.0

		y  = 1.0 + tipo_mensual
		imp = cuota / ( tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ) )
		document.forms[1].importe.value = Math.round(imp *100.00) / 100.00

		almacena()
	}

	function calculaplazo() {
		// CALCULA EL NUMERO DE PLAZOS NECESARIOS CONOCIENDO:
		// 	EL IMPORTE DEL PRESTAMO
		//	EL TIPO DE INTERES QUE SE LE APLICA
		//	LA CUOTA A PAGAR EN CADA PLAZO

		if ( hay_cambio() == 0 ) { return }

		imp = parseInt(document.forms[1].importe.value)
		cuota = parseInt(document.forms[1].cuota.value)
		tipo_mensual = parseFloat(document.forms[1].tipo.value)

		if ( isNaN(imp) || imp == 0 )
		{ alert("Debe rellenar el campo 'Importe pr?stamo'")
		  return }
		if ( isNaN(tipo_mensual) || tipo_mensual == 0.0 ) 
		{ alert("Debe rellenar el campo 'Tipo Nominal'")
		  return }
		if ( isNaN(cuota) || cuota == 0 )
		{ alert("Debe rellenar el campo 'Importe cuota'")
		  return }

		if ( tipo_mensual > 20.0 ) 
		{ alert("El Tipo Nominal es superior al 20% y no es aceptable para un pr?stamo hipotecario.")
		  return }

		tipo_mensual = tipo_mensual / 1200.0

		y  = 1.0 + tipo_mensual

		plazo_meses = 1;
		cuota_actual = Math.round(imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ))
		while (cuota_actual > cuota)
		{	ultima_cuota = cuota_actual;
			cuota_actual = Math.round(imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ))
			plazo_meses++
			if (plazo_meses > 360)
			{	alert("El n?mero de plazos necesarios excede el limite admitido por un banco (30 a?os)")
				almacena()
				return;
			}
		}
		document.forms[1].plazo.value = Math.round(plazo_meses - 1) 
		document.forms[1].medida.options[1].selected = true
		// document.forms[1].medida.selectedindex = 1
		almacena()
	}

	function calculatipo() {
		// CALCULA EL TIPO DE INTERES CONOCIENDO:
		// 	EL IMPORTE DEL PRESTAMO
		//	EL NUMERO DE PLAZOS A PAGAR
		//	LA CUOTA A PAGAR EN CADA PLAZO

		if ( hay_cambio() == 0 ) { return }

		imp = parseInt(document.forms[1].importe.value)
		cuota = parseInt(document.forms[1].cuota.value)
		plazo_meses = parseInt(document.forms[1].plazo.value)

		if (document.forms[1].medida.options[0].selected)
		{ medida = 12.0
		}
		else
		{ medida = 1.0
		}

		if ( isNaN(imp) || imp == 0 )
		{ alert("Debe rellenar el campo 'Importe pr?stamo'")
		  return }
		if ( isNaN(cuota) || cuota == 0 )
		{ alert("Debe rellenar el campo 'Importe cuota'")
		  return }
		if ( isNaN(plazo_meses) || plazo_meses == 0 )
		{ alert("Debe rellenar el campo 'Plazo'")
		  return }

		plazo_meses = plazo_meses * medida

		tipo_mensual = 20.0 / 1200.0
		inc_tipo_mensual = 10.0 / 1200.0
		y  = 1.0 + tipo_mensual

		cuota_actual = Math.round(imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ))
		while ( cuota_actual != cuota)
		{	y  = 1.0 + tipo_mensual
			cuota_actual = Math.round(imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ))

			if (cuota_actual > cuota)
			{ // se aplica un interes muy alto, hay que bajarlo
			  tipo_mensual= tipo_mensual - inc_tipo_mensual
			}
			else
			{// se aplica un interes muy bajo, hay que subirlo
			  tipo_mensual= tipo_mensual + inc_tipo_mensual
			}
			if ((tipo_mensual * 1200.0) > 20.0)
			{ alert("El tipo de interes a aplicar es superior al interes permitido por un banco (20%)")
			  almacena()
			  return
			}
			inc_tipo_mensual = inc_tipo_mensual / 2.0
		}
		tipo_mensual = tipo_mensual * 1200.0
		document.forms[1].tipo.value = Math.round(tipo_mensual * 100.00) / 100.00
		almacena()
	}
	function nada ()
	{
	  return
	}