	/*
	var isIE = document.all;
	var mouseX = 0;
	var mouseY = 0;

	function getMouseXY(e) {
		if (!e) e = window.event;
		if (e) {
			mouseX = isIE ? (e.clientX + document.body.scrollLeft) : e.pageX;
			mouseY = isIE ? (e.clientY + document.body.scrollTop) : e.pageY;
		}
	}

	document.onmousemove = getMouseXY;
	*/
	
	/*
	var IE = false;
	if (navigator.appName == "Microsoft Internet Explorer") {
		IE = true
	}
	if (!IE) {
		document.captureEvents(Event.MOUSEMOVE)
	}
	document.onmousemove = getMouseXY;
	*/
	
	/*
	var ax = 0;
	var ay = 0;
	function show_coords(event) {
		ax=event.clientX;
		ay=event.clientY;
	}
	
	document.onmousemove = show_coords(document.mousemove);
	
	*/
	
	var ax = 0;
	var ay = 0;
	var iL = 0;
	var iV = 0;
	
	function getCoors(e) {
		if(!e){var e = window.event;}
		ax = e.screenX;
		ay = e.screenY;
		
		if (!document.body.scrollTop) {
			iL = document.documentElement.scrollLeft;
			iV = document.documentElement.scrollTop;
		}
		else {
			iL = document.body.scrollLeft;
			iV = document.body.scrollTop;
		}
		
		ax = ax + iL;
		ay = ay + iV;
		
		return false;
	}
	
	document.onmousemove = getCoors;
	
	function irPaso4(){
		f = document.getElementById("_form");
		f.action = "estudioenergetico4.php";
		
		if(f.longitud_recirculacion && f.longitud_recirculacion.value != ""){
			if(f.longitud_recirculacion && !validateFloatNumber(f.longitud_recirculacion,1,15)) {
				alert("Por favor, introduzca un valor de longitud de recirculación válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.longitud_recirculacion.focus();
				return false;
			}
		}
		if(f.campo_captadores && f.campo_captadores.value != ""){
			if(f.campo_captadores && !validatePercentage(f.campo_captadores,1,10)) {
				alert("Por favor, introduzca un valor de % de captadores afectados por sombras válido de entre 1 y 9 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.campo_captadores.focus();
				return false;
			}
		}
		if(f.cobertura_solar && f.cobertura_solar && f.cobertura_solar.value != ""){
			if(f.cobertura_solar && !validatePercentage(f.cobertura_solar,1,10)) {
				alert("Por favor, introduzca un valor de % de cobertura solar válido de entre 1 y 9 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.cobertura_solar.focus();
				return false;
			}
		}
		if(f.a1 && f.a1.value != ""){
			if(f.a1 && !validateFloatNumber(f.a1,1,15)) {
				alert("Por favor, introduzca un valor de cota A para tejado 1 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.a1.focus();
				return false;
			}
		}
		if(f.b1 && f.b1.value != ""){
			if(f.b1 && !validateFloatNumber(f.b1,1,15)) {
				alert("Por favor, introduzca un valor de cota B para tejado 1 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.b1.focus();
				return false;
			}
		}
		if(f.h1 && f.h1.value != ""){
			if(f.h1 && !validateFloatNumber(f.h1,1,15)) {
				alert("Por favor, introduzca un valor de cota H para tejado 1 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.h1.focus();
				return false;
			}
		}
		if(f.longitud_tuberias && f.longitud_tuberias.value != ""){
			if(f.longitud_tuberias && !validateFloatNumber(f.longitud_tuberias,1,15)) {
				alert("Por favor, introduzca un valor de longitud de tuberías para tejado 1 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.longitud_tuberias.focus();
				return false;
			}
		}
		if(f.a2 && f.a2.value != ""){
			if(f.a2 && !validateFloatNumber(f.a2,1,15)) {
				alert("Por favor, introduzca un valor de cota A para tejado 2 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.a2.focus();
				return false;
			}
		}
		if(f.b2 && f.b2.value != ""){
			if(f.b2 && !validateFloatNumber(f.b2,1,15)) {
				alert("Por favor, introduzca un valor de cota B para tejado 2 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.b2.focus();
				return false;
			}
		}
		if(f.h2 && f.h2.value != ""){
			if(f.h2 && !validateFloatNumber(f.h2,1,15)) {
				alert("Por favor, introduzca un valor de cota H para tejado 2 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.h2.focus();
				return false;
			}
		}
		if(f.longitud_tuberias2 && f.longitud_tuberias2.value != ""){
			if(f.longitud_tuberias2 && !validateFloatNumber(f.longitud_tuberias2,1,15)) {
				alert("Por favor, introduzca un valor de longitud de tuberías para tejado 2 válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.longitud_tuberias2.focus();
				return false;
			}
		}
		if(f.potencia_contratada && !validateFloatNumberNoMandatory(f.potencia_contratada,1,15)) {
			alert("Por favor, introduzca un valor de potencia contratada válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.potencia_contratada.focus();
			return false;
		}
		if(f.superf_disponible && !validateFloatNumber(f.superf_disponible,1,15)) {
			alert("Por favor, introduzca un valor de superficie disponible válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.superf_disponible.focus();
			return false;
		}
		if(f.pozo_agua_numero && !validateNumberNoMandatory(f.pozo_agua_numero,1,10)) {
			alert("Por favor, introduzca un número de pozo de agua válido de entre 1 y 10 caracteres numéricos. Su valor debe ser entero");
			f.pozo_agua_numero.focus();
			return false;
		}
		if(f.pozo_agua_diametro && !validateFloatNumberNoMandatory(f.pozo_agua_diametro,1,15)) {
			alert("Por favor, introduzca un valor de diámetro de pozo de agua válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.pozo_agua_diametro.focus();
			return false;
		}
		if(f.pozo_agua_profundidad && !validateFloatNumberNoMandatory(f.pozo_agua_profundidad,1,15)) {
			alert("Por favor, introduzca un valor de profundidad de pozo de agua válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.pozo_agua_profundidad.focus();
			return false;
		}
		if(f.pozo_agua_caudal && !validateFloatNumberNoMandatory(f.pozo_agua_caudal,1,15)) {
			alert("Por favor, introduzca un valor de caudal de pozo de agua válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.pozo_agua_caudal.focus();
			return false;
		}
		if(f.superf_calefactar && !validateFloatNumber(f.superf_calefactar,1,15)) {
			alert("Por favor, introduzca un valor de superficie a calefactar válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.superf_calefactar.focus();
			return false;
		}
		if(f.superf_refrigerar && !validateFloatNumber(f.superf_refrigerar,1,15)) {
			alert("Por favor, introduzca un valor de superficie a refrigerar válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.superf_refrigerar.focus();
			return false;
		}
		if(f.superf_vaso && !validateFloatNumber(f.superf_vaso,1,15)) {
			alert("Por favor, introduzca un valor de superficie del vaso válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.superf_vaso.focus();
			return false;
		}
		if(f.prof_vaso && !validateFloatNumber(f.prof_vaso,1,15)) {
			alert("Por favor, introduzca un valor de profundidad media del vaso válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.prof_vaso.focus();
			return false;
		}
		if(f.temperatura_agua_deseada && !validateFloatNumber(f.temperatura_agua_deseada,1,15)) {
			alert("Por favor, introduzca un valor de temperatura del agua deseada válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.temperatura_agua_deseada.focus();
			return false;
		}
		if(f.tiempo_s_manta && f.manta_termica.selectedIndex == "0"){
			if(f.tiempo_s_manta && !validatePercentage(f.tiempo_s_manta,1,10)) {
				alert("Por favor, introduzca un valor de % de tiempo sin mantas térmicas válido de entre 1 y 9 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
				f.tiempo_s_manta.focus();
				return false;
			}
		}
		if (((f.ec_puntos_luz_convencionales_uds && (!validateFloatNumber(f.ec_puntos_luz_convencionales_uds,1,15) || !f.ec_puntos_luz_convencionales_horasdiarias)) || (f.ec_puntos_luz_convencionales_horasdiarias && (!validateFloatNumberBands(f.ec_puntos_luz_convencionales_horasdiarias,1,15,0,24) || !f.ec_puntos_luz_convencionales_uds))) && (!validaBothblanks(f.ec_puntos_luz_convencionales_uds, f.ec_puntos_luz_convencionales_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de puntos de luz convencionales válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_puntos_luz_convencionales_uds.focus();
			return false;
		}
		if (((f.ec_puntos_luz_halogenos_uds && (!validateFloatNumber(f.ec_puntos_luz_halogenos_uds,1,15) || !f.ec_puntos_luz_halogenos_horasdiarias)) || (f.ec_puntos_luz_halogenos_horasdiarias && (!validateFloatNumberBands(f.ec_puntos_luz_halogenos_horasdiarias,1,15,0,24) || !f.ec_puntos_luz_halogenos_uds))) && (!validaBothblanks(f.ec_puntos_luz_halogenos_uds, f.ec_puntos_luz_halogenos_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de puntos de luz halógenos válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_puntos_luz_halogenos_uds.focus();
			return false;
		}
		if (((f.ec_puntos_luz_bajoconsumo_uds && (!validateFloatNumber(f.ec_puntos_luz_bajoconsumo_uds,1,15) || !f.ec_puntos_luz_bajoconsumo_horasdiarias)) || (f.ec_puntos_luz_bajoconsumo_horasdiarias && (!validateFloatNumberBands(f.ec_puntos_luz_bajoconsumo_horasdiarias,1,15,0,24) || !f.ec_puntos_luz_bajoconsumo_uds))) && (!validaBothblanks(f.ec_puntos_luz_bajoconsumo_uds, f.ec_puntos_luz_bajoconsumo_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de puntos de luz de bajo consumo válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_puntos_luz_bajoconsumo_uds.focus();
			return false;
		}
		if (((f.ec_televisor_uds && (!validateFloatNumber(f.ec_televisor_uds,1,15) || !f.ec_televisor_horasdiarias)) || (f.ec_televisor_horasdiarias && (!validateFloatNumberBands(f.ec_televisor_horasdiarias,1,15,0,24) || !f.ec_televisor_uds))) && (!validaBothblanks(f.ec_televisor_uds, f.ec_televisor_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de televisor válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_televisor_uds.focus();
			return false;
		}
		if (((f.ec_radiocd_uds && (!validateFloatNumber(f.ec_radiocd_uds,1,15) || !f.ec_radiocd_horasdiarias)) || (f.ec_radiocd_horasdiarias && (!validateFloatNumberBands(f.ec_radiocd_horasdiarias,1,15,0,24) || !f.ec_radiocd_uds))) && (!validaBothblanks(f.ec_radiocd_uds, f.ec_radiocd_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de radio/cd válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_radiocd_uds.focus();
			return false;
		}
		if (((f.ec_aa_uds && (!validateFloatNumber(f.ec_aa_uds,1,15) || !f.ec_aa_horasdiarias)) || (f.ec_aa_horasdiarias && (!validateFloatNumberBands(f.ec_aa_horasdiarias,1,15,0,24) || !f.ec_aa_uds))) && (!validaBothblanks(f.ec_aa_uds, f.ec_aa_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de A.A. válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_aa_uds.focus();
			return false;
		}
		if (((f.ec_pc_uds && (!validateFloatNumber(f.ec_pc_uds,1,15) || !f.ec_pc_horasdiarias)) || (f.ec_pc_horasdiarias && (!validateFloatNumberBands(f.ec_pc_horasdiarias,1,15,0,24) || !f.ec_pc_uds))) && (!validaBothblanks(f.ec_pc_uds, f.ec_pc_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de Ordenador válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_pc_uds.focus();
			return false;
		}
		if (((f.ec_nevera_uds && (!validateFloatNumber(f.ec_nevera_uds,1,15) || !f.ec_nevera_horasdiarias)) || (f.ec_nevera_horasdiarias && (!validateFloatNumberBands(f.ec_nevera_horasdiarias,1,15,0,24) || !f.ec_nevera_uds))) && (!validaBothblanks(f.ec_nevera_uds, f.ec_nevera_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de Nevera válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_nevera_uds.focus();
			return false;
		}
		if (((f.ec_horno_uds && (!validateFloatNumber(f.ec_horno_uds,1,15) || !f.ec_horno_horasdiarias)) || (f.ec_horno_horasdiarias && (!validateFloatNumberBands(f.ec_horno_horasdiarias,1,15,0,24) || !f.ec_horno_uds))) && (!validaBothblanks(f.ec_horno_uds, f.ec_horno_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de Horno válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_horno_uds.focus();
			return false;
		}
		if (((f.ec_microwave_uds && (!validateFloatNumber(f.ec_microwave_uds,1,15) || !f.ec_microwave_horasdiarias)) || (f.ec_microwave_horasdiarias && (!validateFloatNumberBands(f.ec_microwave_horasdiarias,1,15,0,24) || !f.ec_microwave_uds))) && (!validaBothblanks(f.ec_microwave_uds, f.ec_microwave_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de Microondas válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_microwave_uds.focus();
			return false;
		}
		if (((f.ec_he_uds && (!validateFloatNumber(f.ec_he_uds,1,15) || !f.ec_he_horasdiarias)) || (f.ec_he_horasdiarias && (!validateFloatNumberBands(f.ec_he_horasdiarias,1,15,0,24) || !f.ec_he_uds))) && (!validaBothblanks(f.ec_he_uds, f.ec_he_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de Herramienta Eléctrica válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_he_uds.focus();
			return false;
		}
		if (((f.ec_otros_uds && (!validateFloatNumber(f.ec_otros_uds,1,15) || !f.ec_otros_horasdiarias)) || (f.ec_otros_horasdiarias && (!validateFloatNumberBands(f.ec_otros_horasdiarias,1,15,0,24) || !f.ec_otros_uds))) && (!validaBothblanks(f.ec_otros_uds, f.ec_otros_horasdiarias))) {
			alert("Por favor, introduzca valores de unidades y horas diarias de Otros válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal");
			f.ec_otros_uds.focus();
			return false;
		}
		if(f.ec_puntos_luz_convencionales_uds && 
		f.ec_puntos_luz_halogenos_uds &&
		f.ec_puntos_luz_bajoconsumo_uds &&
		f.ec_puntos_luz_bajoconsumo_uds &&
		f.ec_televisor_uds &&
		f.ec_radiocd_uds &&
		f.ec_aa_uds &&
		f.ec_pc_uds &&
		f.ec_nevera_uds &&
		f.ec_horno_uds &&
		f.ec_microwave_uds &&
		f.ec_he_uds &&
		f.ec_otros_uds &&
		f.ec_puntos_luz_convencionales_uds.value == "" && 
		f.ec_puntos_luz_halogenos_uds.value == "" && 
		f.ec_puntos_luz_bajoconsumo_uds.value == "" && 
		f.ec_televisor_uds.value == "" && 
		f.ec_radiocd_uds.value == "" &&
		f.ec_aa_uds.value == "" &&
		f.ec_pc_uds.value == "" &&
		f.ec_nevera_uds.value == "" &&
		f.ec_horno_uds.value == "" &&
		f.ec_microwave_uds.value == "" &&
		f.ec_he_uds.value == "" &&
		f.ec_otros_uds.value == ""){
			alert("Por favor, rellene al menos un elemento de consumo.");
			f.ec_puntos_luz_convencionales_uds.focus();
			return false;
		}
		return true;
	}
	
	function irPaso2()
	{
		f = document.getElementById("_form");
		f.action = "estudioenergetico2.php";
		
		if(f.nombre.value==""){
			alert("Debe introducir su nombre.");
			f.nombre.focus();
			return false;
		}
		if(f.apellidos.value==""){
			alert("Debe introducir sus apellidos.");
			f.apellidos.focus();
			return false;
		}
		if(f.email.value==""){
			alert("Debe introducir su email.");
			f.email.focus();
			return false
		}
		if(!formatoEmail(f.email.value)){
			alert("Debe introducir correctamente su email.");
			f.email.focus();
			return false;
		}
		if(f.telefono.value==""){
			alert("Debe introducir su teléfono.");
			f.telefono.focus();
			return false;
		}
		if (!validateNumber(f.telefono, 9, 15)) {
			alert("Por favor, introduzca un número telefónico válido de entre 9 y 15 caracteres numéricos.");
			f.telefono.focus();
			return false;
		}
		if (!validateNumberNoMandatory(f.fax, 9, 15)) {
			alert("Por favor, introduzca un número de fax válido de entre 9 y 15 caracteres numéricos.");
			f.fax.focus();
			return false;
		}
		if(f.ubicacion.value==""){
			alert("Por favor, introduzca la ubicación de la instalación.");
			f.ubicacion.focus();
			return false;
		}
		if (!validateNumber(f.n_instalaciones, 1, 10)) {
			alert("Por favor, introduzca un número de instalaciones válido de entre 1 y 10 caracteres numéricos. Su valor debe ser entero.");
			f.n_instalaciones.focus();
			return false;
		}
		if (f.demanda.value != "kg de ropa" && f.tipo_instalacion.value != 19) {
			if (!validateNumber(f.numero_demanda, 1, 10)) {
				alert("Por favor, introduzca un número de demanda válido de entre 1 y 10 caracteres numéricos. Su valor debe ser entero.");
				f.numero_demanda.focus();
				return false;
			}
		}
		if (f.demanda.value == "kg de ropa" || f.tipo_instalacion.value == 19) {
			if (!validateFloatNumber(f.numero_demanda,1,15)) {
				alert("Por favor, introduzca un número de demanda válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
				f.numero_demanda.focus();
				return false;
			}
		}
		if(f.potencia_instalada.value != ""){
			if (!validateFloatNumber(f.potencia_instalada,1,15)) {
				alert("Por favor, introduzca un valor de potencia instalada válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
				f.potencia_instalada.focus();
				return false;
			}
		}
		if (!validateFloatNumberNoMandatory(f.n_acumuladores_acs,1,15)) {
			alert("Por favor, introduzca un valor de nro. de acumuladores existentes ACS válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
			f.n_acumuladores_acs.focus();
			return false;
		}
		if (!validateFloatNumberNoMandatory(f.n_acumuladores_inercia,1,15)) {
			alert("Por favor, introduzca un valor de nro. de acumuladores existentes INERCIA válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
			f.n_acumuladores_inercia.focus();
			return false;
		}
		if (!validateFloatNumberNoMandatory(f.vol_acumulacion_acs,1,15)) {
			alert("Por favor, introduzca un valor de volúmen total de acumulación ACS válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
			f.vol_acumulacion_acs.focus();
			return false;
		}
		if (!validateFloatNumberNoMandatory(f.vol_acumulacion_inercia,1,15)) {
			alert("Por favor, introduzca un valor de volúmen total de acumulación INERCIA válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
			f.vol_acumulacion_inercia.focus();
			return false;
		}
		if (!validateFloatNumberNoMandatory(f.superficie_sala_maquinas,1,15)) {
			alert("Por favor, introduzca un valor de superficie disponible de sala de máquinas válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
			f.superficie_sala_maquinas.focus();
			return false;
		}
		if (!validateFloatNumberNoMandatory(f.altura_sala_maquinas,1,15)) {
			alert("Por favor, introduzca un valor de altura disponible de sala de máquinas válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
			f.altura_sala_maquinas.focus();
			return false;
		}
		if (!validateFloatNumberNoMandatory(f.ancho_puerta,1,15)) {
			alert("Por favor, introduzca un valor de ancho de puerta válido de entre 1 y 14 caracteres numéricos + un separador decimal (debe ser '.'). Su valor puede ser entero o decimal.");
			f.ancho_puerta.focus();
			return false;
		}
		if(f.acs.checked == false && f.calefaccion.checked == false && f.refrigeracion.checked == false && f.piscina.checked == false && f.electricidad.checked == false){
			alert("Por favor, seleccione al menos una necesidad.");
			return false;
		}
		document.getElementById("demanda").disabled = false;
		return true;
	}
	
	
function validaBothblanks(field1, field2) {
	if ((field1.value == null || field1.value == "") && (field2.value == null || field2.value == "")) {
		return true;
	}
	else {
		return false;
	}
}
	
function validatePercentage(field, min, max) { 
	var strValidChars = "0123456789.";
	var decimalSeparator = ".";
	var strChar;
	var blnResult = true;
   
	if (!min) { min = 1 } 
	if (!max) { max = 10 }
	
	if (field.value.length < min || field.value.length > max) {
		field.focus(); 
		field.select(); 
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) != field.value.lastIndexOf(decimalSeparator)) {
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) == 0) {
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) == field.value.length - 1) {
		return false;
	}
	
	if (field.value < 0 || field.value > 100) {
		return false;
	}
	
	//test strString consists of valid characters listed above
	for (i = 0; i < field.value.length && blnResult == true; i++) {
    	strChar = field.value.charAt(i);
      	if (strValidChars.indexOf(strChar) == -1) {
        	blnResult = false;
        	break;
        }
	}
    return blnResult;
}

function validateNumber(field, min, max) { 
	if (!min) { min = 9 } 
	if (!max) { max = 15 } 

	if ( (parseInt(field.value) != field.value) || field.value.length < min || field.value.length > max) { 
		field.focus(); 
		field.select(); 
		return false; 
	} 
	return true; 
}

function validateNumberNoMandatory(field, min, max) {
	if (!min) { min = 9 } 
	if (!max) { max = 15 }

	if (field.value != null && field.value != "") {
		if ( (parseInt(field.value) != field.value) || field.value.length < min || field.value.length > max) { 
			field.focus(); 
			field.select(); 
			return false; 
		}
	}
	return true;
}

function validateFloatNumberBands(field,min,max,bandmin,bandmax) {
	var strValidChars = "0123456789.";
	var decimalSeparator = ".";
	var strChar;
	var blnResult = true;
   
	if (!min) { min = 9 } 
	if (!max) { max = 15 }
	
	if (!bandmin) { bandmin = 0 } 
	if (!bandmax) { bandmax = 99999999999999999 }
	
	if (field.value.length < min || field.value.length > max) {
		field.focus(); 
		field.select(); 
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) != field.value.lastIndexOf(decimalSeparator)) {
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) == 0) {
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) == field.value.length - 1) {
		return false;
	}
	
	if (field.value < bandmin || field.value > bandmax) {
		return false;
	}
	
	//test strString consists of valid characters listed above
	for (i = 0; i < field.value.length && blnResult == true; i++) {
    	strChar = field.value.charAt(i);
      	if (strValidChars.indexOf(strChar) == -1) {
        	blnResult = false;
        	break;
        }
	}
    return blnResult;
}

function validateFloatNumber(field,min,max) {
	var strValidChars = "0123456789.";
	var decimalSeparator = ".";
	var strChar;
	var blnResult = true;
   
	if (!min) { min = 9 } 
	if (!max) { max = 15 }
	
	if (field.value.length < min || field.value.length > max) {
		field.focus(); 
		field.select(); 
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) != field.value.lastIndexOf(decimalSeparator)) {
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) == 0) {
		return false;
	}
	
	if (field.value.indexOf(decimalSeparator) == field.value.length - 1) {
		return false;
	}
	
	//test strString consists of valid characters listed above
	for (i = 0; i < field.value.length && blnResult == true; i++) {
    	strChar = field.value.charAt(i);
      	if (strValidChars.indexOf(strChar) == -1) {
        	blnResult = false;
        	break;
        }
	}
    return blnResult;
}

function validateFloatNumberNoMandatory(field,min,max) {
	var strValidChars = "0123456789.";
	var decimalSeparator = ".";
	var strChar;
	var blnResult = true;
   
	if (!min) { min = 9 } 
	if (!max) { max = 15 }
	
	if (field.value != null && field.value != "") {
	
		if (field.value.length < min || field.value.length > max) {
			field.focus(); 
			field.select(); 
			return false;
		}
	
		if (field.value.indexOf(decimalSeparator) != field.value.lastIndexOf(decimalSeparator)) {
			return false;
		}
	
		if (field.value.indexOf(decimalSeparator) == 0) {
			return false;
		}
	
		if (field.value.indexOf(decimalSeparator) == field.value.length - 1) {
			return false;
		}
	
		//test strString consists of valid characters listed above
		for (i = 0; i < field.value.length && blnResult == true; i++) {
    		strChar = field.value.charAt(i);
      		if (strValidChars.indexOf(strChar) == -1) {
        		blnResult = false;
        		break;
        	}
		}
	}
    return blnResult;
}

function showFu(forma) {

	if (forma == "F3") {
		if (document.getElementById("divfile3").style.display == "none") {
			document.getElementById("divfile3").style.display = "block";
			document.getElementById("divfile3").style.top = ay - 100 + "px";
			document.getElementById("divfile3").style.left = ax - 250 + "px";
		}
		else {
			document.getElementById("divfile3").style.display = "none";
		}
	}
	else {
		if (document.getElementById("divfile4").style.display == "none") {
			document.getElementById("divfile4").style.display = "block";
			document.getElementById("divfile4").style.top = ay - 100 + "px";
			document.getElementById("divfile4").style.left = ax - 250 + "px";
		}
		else {
			document.getElementById("divfile4").style.display = "none";
		}
	}
}

