function EnviarDestino() {
	if (document.formu.Zona01.selectedIndex == 0) {
		alert('Debes seleccionar al menos un destino.');
		return false; 
	}else{
		document.formu.submit(); 
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// Creacion del objeto AJAX
function objetoAjax() {
  try { return new XMLHttpRequest(); } catch(e) {}
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

/*
	- Funcion para guardar un registro en la base de datos.
	- Funciona para cualquier tipo de registro (modificar una cuenta de usuario,
	  cambiar un password, enviar una noticia, guardar objetos en favoritos...
	- El parametro "datos" lo recoje de la funcion "dame_campos(formulario)"
*/
function guardarDatos (metodo, url, datos) {
	divResultado = document.getElementById('resultado');
	divLoader = document.getElementById('ajax_loader');
	ajax = objetoAjax();
	ajax.open(metodo, url);
	ajax.onreadystatechange = function () {
		if (ajax.readyState == 1) {
			divLoader.style.display = "block";
			divResultado.innerHTML = 'Guardando datos...';
		}
		if (ajax.readyState == 4) {
			if (ajax.status == 200 && ajax.responseText != null) {
				divLoader.style.display = "none";
				divResultado.innerHTML = ajax.responseText;
			}else{
				divLoader.style.display = "none";
				divResultado.innerHTML = "Error: " + ajax.status;
			}
		}
	}
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajax.send(datos)
}

/*
	- Funcion para eliminar ofertas guardadas en favoritos.
	- El parametro "opc" filtra la eliminacion de una oferta o viaje
	- Devuelve un include php de la lista de ofertas/viajes actualizada
*/
function borrarOfertaFavorita (usuario, opcion, id_favorito) {
	// Confirmamos la eliminacion para ahorrarnos disgustos
	switch (opcion) {
		case "oferta": case "viaje":
			var mensaje = confirm('Estas seguro de que quieres eliminar este elemento?');
			break;
		case "todo": case "todo_viajes":
			var mensaje = confirm('Estas seguro de que quieres eliminar todos los elementos?');
			break;
	}
	if (mensaje) {
		divResultado = document.getElementById('resultado_favoritos');
		ajax = objetoAjax();
		ajax.open("GET", "../modulos/eliminar_favorito.php?usuario=" + usuario + "&opc=" + opcion + "&id=" + id_favorito);
		ajax.onreadystatechange = function () {
			if (ajax.readyState == 4) {
				if (ajax.status == 200 && ajax.responseText != null) {
					divResultado.innerHTML = ajax.responseText;
				}
			}
		}
		ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		ajax.send(null);
	}
}

/*
	- Función para generar el parámetro "datos" de la función AJAX
	- Funciona con cualquier formulario, sea lo grande que sea
	- Devuelve una cadena tipo: dato1=valor&dato2=valor&dato3=valor
*/
function dame_campos (formulario) {
	var parametro = "";
	var contador = 0;
	for (var j = 0; j < formulario.elements.length; j++) {
		if (j == formulario.elements.length - 1) {
			parametro += formulario.elements[j].name + "=" + formulario.elements[j].value;
		}else{
			parametro += formulario.elements[j].name + "=" + formulario.elements[j].value + "&";
		}
		contador++;
	}
	return parametro;
}
