function updateCruiseSearch()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
			parseCruiseOptions(xmlHttp.responseText);
      }
    }
	dest = document.cruise_search.dest;
	supplier = document.cruise_search.supplier;
	month = document.cruise_search.month;
	cruise_search_submit = document.getElementById("cruise_submit");
	cruise_search_reset = document.getElementById("cruise_reset");

	dest.disabled="disabled";
	supplier.disabled="disabled";
	month.disabled="disabled";
	cruise_search_submit.disabled="disabled";
	cruise_search_reset.disabled="disabled";
	cruise_search_submit.className="disabled";
	cruise_search_reset.className="disabled";
	
	url = "/library/cruise-search.php";
	url += "?dest="+dest.value;
	url += "&supplier="+supplier.value;
	url += "&month="+month.value.replace(" ", "+");
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
  }

function parseCruiseOptions(text)
	{
	try //Internet Explorer
		{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(text);
		}
	catch(e)
		{
		try // Firefox, Mozilla, Opera, etc.
			{
			parser=new DOMParser();
			xmlDoc=parser.parseFromString(text,"text/xml");
			}
		catch(e)
			{
			alert(e.message);
			return;
			}
		}
	var x=xmlDoc.getElementsByTagName("select");
	for (i=0;i<x.length;i++)
		{
		id = x[i].getAttribute("id");
		element = document.getElementById("cruise_"+id+"_select");
		string = '<select name="' + id + '" id="' + id + '" onchange="updateCruiseSearch()">' + "\n";
		var y=x[i].getElementsByTagName("option");
		for (j=0;j<y.length;j++)
			{
			string += '<option value="'+y[j].getElementsByTagName("value")[0].childNodes[0].nodeValue+'"';
			if (y[j].getAttribute("selected") == "selected") string += ' selected="selected"';
			string += '>'+y[j].getElementsByTagName("text")[0].childNodes[0].nodeValue;
			string +='</option>'+"\n";
			}
		string += '</select>'+"\n";
		element.innerHTML = string;
		element.disabled="";
		}
	cruise_search_submit = document.getElementById("cruise_submit");
	cruise_search_reset = document.getElementById("cruise_reset");

	cruise_search_submit.disabled="";
	cruise_search_reset.disabled="";
	cruise_search_submit.className="";
	cruise_search_reset.className="";
	}

