	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// FORMULARIO DE BÚSQUEDA: RELLENAN CADA LISTA DESPLEGABLE DEL FORMULARIO
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function form_section_fill () {
		
		index = 1;
		section = null;
		for (i = 0; i < list_sec_fam.length; i++) {
			
			// Si la sección leida de la matriz es distinta a la leida anteriormente, la imprime
			// Si no, al estar repetida, la ignora y verifica la siguiente
			if (list_sec_fam [i][0] != section) {
				document.form_search.sel_section.options [index] = new Option (list_sec_fam [i][1], list_sec_fam [i][0], false, false);
				section = list_sec_fam [i][0];
				index++;
			}
		}
	}
	
	function form_family_fill (section) {
		
		var index = 1;
		for (i = 0; i < list_sec_fam.length; i++) {
			
			// Si la familia actual coincide en sección con la sección pasada, la imprime
			// Si no, la ignora y verifica la siguiente
			if (list_sec_fam [i][0] == section) {
				document.form_search.sel_family.options [index] = new Option (list_sec_fam [i][3], list_sec_fam [i][2], false, false);
				index++;
			}
		}
	}
	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// FORMULARIO DE BÚSQUEDA: INICIALIZA LAS FAMILIAS DEPENDIENDO DE LO ESCOGIDO EN SECCIONES
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	function form_family_init () {
		
		// Crea punteros a los objetos del formulario
		var sel_section = document.form_search.sel_section;
		var sel_family = document.form_search.sel_family;
		
		// Si selecciona la opción "Todos", bloquea la lista de familias y elimina el contenido de ésta, salvo el del primer índice
		if (sel_section.options [sel_section.selectedIndex].value == "") {

			sel_family.disabled = true;
			sel_family.selectedIndex = 0;

		} else {

			sel_family.options.length = 1;
			form_family_fill (sel_section.options [sel_section.selectedIndex].value);
			sel_family.selectedIndex = 0;
			sel_family.disabled = false;
			
		}
	}


	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// FORMULARIO DE BÚSQUEDA: ENVÍO
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	function form_search_submit (block, page) {
		
		// Si no se han producido errores, continúa
		// Si sí, muestra un mensaje de error
		if (! form_search_check ()) {
			
			// Crea punteros a los objetos del formulario
			var form = document.form_search;
			var txb_text = form.txb_text;
			var sel_section = form.sel_section;
			var sel_family = form.sel_family;
			var txb_from = form.txb_from;
			var txb_upto = form.txb_upto;
	
			// Crea el nombre del archivo actual
			var url = "search.php?block=" + block + "&page=" + page;
			
			// Añade las variables "text", "section", "family", "from" y "upto"a la URL si han sido modificadas
			if (txb_text.value != "") url += "&text=" + encodeURIComponent (txb_text.value);
			if ((sel_section.selectedIndex != 0) && (sel_family.selectedIndex == 0))
			url += "&section=" + sel_section.options [sel_section.selectedIndex].value;
			if ((sel_section.selectedIndex != 0) && (sel_family.selectedIndex != 0)) {
				url += "&section=" + sel_section.options [sel_section.selectedIndex].value + "&family=" + sel_family.options [sel_family.selectedIndex].value;
			}
			if (txb_from.value != "") url += "&from=" + txb_from.value;
			if (txb_upto.value != "") url += "&upto=" + txb_upto.value;
			
			// Carga la nueva página
			location.href = url;
			
		}		
	}
	
	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// FORMULARIO DE BÚSQUEDA: VERIFICACIÓN
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	function form_search_check () {
		
		// Crea punteros a los objetos del formulario
		var form = document.form_search;
		var txb_text = form.txb_text;
		var sel_section = form.sel_section;
		var sel_family = form.sel_family;
		var txb_from = form.txb_from;
		var txb_upto = form.txb_upto;

		// 1 - PRECIOS
		
			var error_price = "";
						
			// 1A - SON NÚMEROS
				
				if ((isNaN (txb_from.value)) || (isNaN (txb_upto.value))) {
					
					error_price = "Precios: Deben de estar formados por números enteros o decimales exclusivamente.\n";
					
			// 1B - PRECIO INICIAL SEA MENOR QUE EL FINAL
			
				} else if ((txb_from.value != "") && (txb_upto.value != "") && (txb_from.value >= txb_upto.value)) {

					error_price = "Precios: el precio inicial ha de ser menor que el final.\n";
				}

			
		// MENSAJE DE ERROR Y DEVOLUCIÓN DE RESULTADO
		var error = error_price;
		if (error == "") {
			return false;
		} else {
			alert ("¡ERROR!\n\n" + error + "Verifique los datos introducidos en el formulario. Gracias.");
			return true;
		}
		
	}
	
