var options;
var SearchType;


function fetchstates(SearchType)
{
   document.HFS.elements['SearchState'].length = 0;
   document.HFS.elements['SearchState'].disabled = false;
   document.HFS.elements['City'].length = 0;
   document.HFS.elements['City'].disabled = true;
   document.HFS.elements['house_type'].length = 0;
   document.HFS.elements['house_type'].disabled = true;
   var loadtxt = "Loading...Please Wait";
   var myNewOption = new Option(loadtxt, "0");
   document.HFS.elements['SearchState'].options[0] = myNewOption;
   url = '/apps/inc/rapid_request/ajax_options.php?Type=states&SearchType=' + SearchType;
   getDataReturnXml(url, parsestates);
}


function parsestates(xml)
{
  options = xml.getElementsByTagName("states");
  liststates(options);
}

function liststates ()
{
   var loopIndex;
   var selectControl = document.HFS.elements['SearchState'];

   for (loopIndex = 0; loopIndex < options.length; loopIndex++ )
   {
      selectControl.options[loopIndex] = new 
         Option(options[loopIndex].firstChild.data,options[loopIndex].firstChild.data);
   }
}


function fetchcities(SearchState, SearchType)
{
   // disable the related fields so old values can't be kept
   document.HFS.elements['City[]'].length = 0;
   document.HFS.elements['City[]'].disabled = true;
   document.HFS.elements['house_type'].length = 0;
   document.HFS.elements['house_type'].disabled = true;

	// make sure the user has choosen a value if not dont do anything
	if (SearchType != '')
	{
		document.HFS.elements['City[]'].disabled = false;
		var loadtxt = "Loading...Please Wait";
		var myNewOption = new Option(loadtxt, "0");
		document.HFS.elements['City[]'].options[0] = myNewOption;
		url = '/apps/inc/rapid_request/ajax_options.php?Type=city&SearchState=' + SearchState + '&SearchType=' + SearchType;
		getDataReturnXml(url, parsecities);
	}

}

function parsecities(xml)
{
  options = xml.getElementsByTagName("city");
  listcities(options);
}

function listcities ()
{
   var loopIndex;
   var selectControl = document.HFS.elements['City[]'];

   for (loopIndex = 0; loopIndex < options.length; loopIndex++ )
   {
      selectControl.options[loopIndex] = new 
         Option(options[loopIndex].firstChild.data,options[loopIndex].firstChild.data);
   }
}
   

function UpdateHomeTypes(SearchState)
{

   var selectedArray = new Array();
   var selObj = document.getElementById('City');
   var i;
   var count = 0;
   for (i=0; i<selObj.options.length; i++) {
      if (selObj.options[i].selected) {
         selectedArray[count] = selObj.options[i].value;
         count++;
       }
   }
   fetchtypeofhome(SearchState, selectedArray);   
 
}


function fetchtypeofhome(SearchState, cities)
{
   document.HFS.elements['house_type'].length = 0;
   document.HFS.elements['house_type'].disabled = false;
   var loadtxt = "Loading...Please Wait";
   var myNewOption = new Option(loadtxt, "0");
   document.HFS.elements['house_type'].options[0] = myNewOption;
   url = '/apps/inc/rapid_request/ajax_options.php?Type=typeofhome&SearchType=' + document.HFS.search_type.options[document.HFS.search_type.selectedIndex].value
	   + '&Cities=' + cities + '&SearchState=' + SearchState;

   getDataReturnXml(url, parsetypeofhome);
}

function parsetypeofhome(xml)
{
  options = xml.getElementsByTagName("typeofhome");
  listtypeofhome(options);
}

function listtypeofhome()
{
   var loopIndex;
   var selectControl = document.HFS.elements['house_type'];

   for (loopIndex = 0; loopIndex < options.length; loopIndex++ )
   {
      selectControl.options[loopIndex] = new 
         Option(options[loopIndex].firstChild.data,options[loopIndex].firstChild.data);
   }
}



