function lanza_request(url, funcion,modo) {
estados = "";
//modo='text/xml' ó text/html;
  http_request = false;

  if (window.XMLHttpRequest) { 
	  http_request = new XMLHttpRequest();
	  if (http_request.overrideMimeType) {
		  http_request.overrideMimeType(modo);
	  }
  } else if (window.ActiveXObject) { 
	  try {
		  http_request = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
		  try {
		  http_request = new ActiveXObject("Microsoft.XMLHTTP");
		  } catch (e) {}
	  }
  }
  if (!http_request) {
	  alert('Giving up :( Cannot create an XMLHTTP instance');
	  return false;
  }
  http_request.onreadystatechange = eval(funcion);
  http_request.open('GET', url, true);
  http_request.send(null);
}
function iniciar_sesion(){
  switch(http_request.readyState) {
  case 0: // Uninitialized
	  break;
  case 1: // Loading
	  break;
  case 2: // Loaded
	  break;
  case 3: // Interactive
	  break;
  case 4: // Done!
	   if (http_request.status == 200) { // Respuesta OK
		procesar_sesion(http_request.responseXML);
	   }
	   else {
		 alert('Se ha producido el error xml_1: '+http_request.status);
	   }
	  break;
  default:
	  break;
  }
  estados += http_request.readyState;
}
function busqueda_hoteles(){
  switch(http_request.readyState) {
  case 0: // Uninitialized
	  break;
  case 1: // Loading
	  break;
  case 2: // Loaded
	  break;
  case 3: // Interactive
	  break;
  case 4: // Done!
	   if (http_request.status == 200) { // Respuesta OK
		procesar_busqueda_hoteles(http_request.responseXML);
	   }
	   else {
		 alert('Se ha producido el error xml_1: '+http_request.status);
	   }
	  break;
  default:
	  break;
  }
  estados += http_request.readyState;
}
function bloquear_habitacion(){
  switch(http_request.readyState) {
  case 0: // Uninitialized
	  break;
  case 1: // Loading
	  break;
  case 2: // Loaded
	  break;
  case 3: // Interactive
	  break;
  case 4: // Done!
	   if (http_request.status == 200) { // Respuesta OK
		// 	alert(http_request.responseText);
		procesar_bloquear_habitacion(http_request.responseXML);
	   }
	   else {
		 alert('Se ha producido el error xml_1: '+http_request.status);
	   }
	  break;
  default:
	  break;
  }
  estados += http_request.readyState;
}

function recibir_datos_destinos_az(){
  switch(http_request.readyState) {
  case 0: // Uninitialized
	  break;
  case 1: // Loading
	  break;
  case 2: // Loaded
	  break;
  case 3: // Interactive
	  break;
  case 4: // Done!
	   if (http_request.status == 200) { // Respuesta OK
   //alert(http_request.responseText);
		procesar_datos_destinos_az(http_request.responseXML);
	   }
	   else {
		 alert('Se ha producido el error xml_1: '+http_request.status);
	   }
	  break;
  default:
	  break;
  }
  estados += http_request.readyState;
}


function recibir_datos_subdestinos(){
  switch(http_request.readyState) {
  case 0: // Uninitialized
	  break;
  case 1: // Loading
	  break;
  case 2: // Loaded
	  break;
  case 3: // Interactive
	  break;
  case 4: // Done!
	   if (http_request.status == 200) { // Respuesta OK
   //alert(http_request.responseText);
		procesar_datos_subdestinos(http_request.responseText);
	   }
	   else {
		 alert('Se ha producido el error xml_1: '+http_request.status);
	   }
	  break;
  default:
	  break;
  }
  estados += http_request.readyState;
}

function recibir_datos_subdestinos_cye(){
  switch(http_request.readyState) {
  case 0: // Uninitialized
	  break;
  case 1: // Loading
	  break;
  case 2: // Loaded
	  break;
  case 3: // Interactive
	  break;
  case 4: // Done!
	   if (http_request.status == 200) { // Respuesta OK
   //alert(http_request.responseText);
		procesar_datos_subdestinos_cye(http_request.responseText);
	   }
	   else {
		 alert('Se ha producido el error xml_1: '+http_request.status);
	   }
	  break;
  default:
	  break;
  }
  estados += http_request.readyState;
}


function recibir_datos_select_costas(){
  switch(http_request.readyState) {
  case 0: // Uninitialized
	  break;
  case 1: // Loading
	  break;
  case 2: // Loaded
	  break;
  case 3: // Interactive
	  break;
  case 4: // Done!
	   if (http_request.status == 200) { // Respuesta OK
   		//alert(http_request.responseText);
		procesar_datos_select_costas(http_request.responseText);
	   }
	   else {
		 alert('Se ha producido el error xml_1: '+http_request.status);
	   }
	  break;
  default:
	  break;
  }
  estados += http_request.readyState;
}

