function shutDownSelectField(fieldID) {
   selectField = new getObj(fieldID);
  
   selectField.obj.length = 1;
   selectField.obj[0].text = '------';
   selectField.obj[0].value = -1;
   selectField.obj.disabled = true;
}

function stateFilterChanged() {
   httpObject = getHTTPObject();
   
   stateSelect = new getObj('state_filter');
   
   if(stateSelect.obj[stateSelect.obj.selectedIndex].value != -1) {
	  if (httpObject != null) {
		 httpObject.open("GET", "http://www.seachangebusinesses.com.au/listing_data_fetcher.php?action=get_regions&filter_state="+stateSelect.obj[stateSelect.obj.selectedIndex].value, true);
		 httpObject.send(null);
		 httpObject.onreadystatechange = populateRegionFilter;
	  }
	  
	  submitButton = new getObj('submit_filter');
      submitButton.obj.disabled = false;
   } else {
      //user selected ---- 
      shutDownSelectField('region_filter');
      shutDownSelectField('town_filter');
      shutDownSelectField('type_filter');
      
      submitButton = new getObj('submit_filter');
      submitButton.obj.disabled = true;
   }
   
   shutDownSelectField('town_filter');
   shutDownSelectField('type_filter');
}

function regionFilterChanged() {
   httpObject = getHTTPObject();
   
   regionSelect = new getObj('region_filter');
   
   if(regionSelect.obj[regionSelect.obj.selectedIndex].value != -1) {
	  if (httpObject != null) {
		 httpObject.open("GET", "http://www.seachangebusinesses.com.au/listing_data_fetcher.php?action=get_towns&filter_region="+regionSelect.obj[regionSelect.obj.selectedIndex].value, true);
		 httpObject.send(null);
		 httpObject.onreadystatechange = populateTownsFilter;
	  }
   } else {
      //user selected ---- 
      shutDownSelectField('town_filter');
      shutDownSelectField('type_filter');
   }
   
   shutDownSelectField('type_filter');
   
   submitButton = new getObj('submit_filter');
   submitButton.obj.disabled = false;
}

function townFilterChanged() {
   httpObject = getHTTPObject();
   
   townSelect = new getObj('town_filter');
   
   if(townSelect.obj[townSelect.obj.selectedIndex].value != -1) {
	  if (httpObject != null) {
		 httpObject.open("GET", "http://www.seachangebusinesses.com.au/listing_data_fetcher.php?action=get_types&filter_town="+townSelect.obj[townSelect.obj.selectedIndex].value, true);
		 httpObject.send(null);
		 httpObject.onreadystatechange = populateTypesFilter;
	  }
   } else {
      //user selected ---- 
      shutDownSelectField('type_filter');
   }
   
   submitButton = new getObj('submit_filter');
   submitButton.obj.disabled = false;
}

function populateRegionFilter() {
   if(httpObject.readyState == 4) {
      var response = httpObject.responseText;
      
      var responsArray = response.split("##|##");
      
      regionSelect = new getObj('region_filter');
      
	  regionSelect.obj.length = 1;
	  regionSelect.obj.length = responsArray.length;
	  
	  for (i=1; i < responsArray.length; i++)
	  {
		var textValueSplit = responsArray[i].split("##^##");
  
		regionSelect.obj[i].text = textValueSplit[1];
		regionSelect.obj[i].value = textValueSplit[0];
		regionSelect.obj[i].title = textValueSplit[1];
	  }
	  
	  //enable regionSelect
	  regionSelect.obj.disabled = false;
   }
}

function populateTownsFilter() {
   if(httpObject.readyState == 4) {
      var response = httpObject.responseText;
      
      var responsArray = response.split("##|##");
      
      townSelect = new getObj('town_filter');
      
	  townSelect.obj.length = 1;
	  townSelect.obj.length = responsArray.length;
	  
	  for (i=1; i < responsArray.length; i++)
	  {
		var textValueSplit = responsArray[i].split("##^##");
  
		townSelect.obj[i].text = textValueSplit[1];
		townSelect.obj[i].value = textValueSplit[0];
		townSelect.obj[i].title = textValueSplit[1];
	  }
	  
	  //enable townSelect
	  townSelect.obj.disabled = false;
   }
}

function populateTypesFilter() {
   if(httpObject.readyState == 4) {
      var response = httpObject.responseText;
      
      var responsArray = response.split("##|##");
      
      typeSelect = new getObj('type_filter');
      
	  typeSelect.obj.length = 1;
	  typeSelect.obj.length = responsArray.length;
	  
	  for (i=1; i < responsArray.length; i++)
	  {
		var textValueSplit = responsArray[i].split("##^##");
  
		typeSelect.obj[i].text = textValueSplit[1];
		typeSelect.obj[i].value = textValueSplit[0];
		typeSelect.obj[i].title = textValueSplit[1];
	  }
	  
	  //enable typeSelect
	  typeSelect.obj.disabled = false;
   }
}



