function searchOrderByDidChange(sender) {
  if (!sender)
    sender = document.getElementById('search_order_by_select');
  
  var newOrderBy = sender.value;
  
  var url = document.location.toString();
  url = url.replace(/&?order=[^&]+/, '');
  
  if (url.indexOf('?') == -1) url += '?';
  else url += '&';
  url = url.replace(/\?&/, '?');
  
  url += 'order='+newOrderBy;
  
  document.location = url;
}


function updateNationalRegions() {
  if(!$('Material_location_state')) {
    return;
  }
  var state = $('Material_location_state').getValue();
  sendAjaxMessage('search', 'fetchNationalRegions', {'state':state}, updateNationalRegionsCallback);
}

function updateNationalRegionsCallback(response) {
  // update idregion select
  var regionsEl = $('Material_idnational_region');
  regionsEl.options.length = 0;
  regionsEl.options[regionsEl.options.length] = new Option('All Regions', '');
  for (var i = 0; i < response.national_regions.length; i++) {
    var idnational_region = response.national_regions[i].idnational_region;
    var title = response.national_regions[i].name;
    
    regionsEl.options[regionsEl.options.length] = new Option(title, idnational_region);
    if (idnational_region == response.idnational_region)
      regionsEl.options[regionsEl.options.length-1].selected = true;
  }
}

function updateLocationSuburbs() {
  if(!$('Material_idnational_region')) {
    return;
  }
  var idnational_region = $('Material_idnational_region').getValue();
  sendAjaxMessage('search', 'fetchLocationSuburbs', {'idnational_region':idnational_region}, updateLocationSuburbsCallback);
}

function updateLocationSuburbsCallback(response) {
  var suburbsEl = $('Material_location_suburb');
  suburbsEl.options.length = 0;
  suburbsEl.options[suburbsEl.options.length] = new Option('All Towns/ Suburbs', '');
  for (var i = 0; i < response.location_suburbs.length; i++) {
    var suburb = response.location_suburbs[i];
    
    suburbsEl.options[suburbsEl.options.length] = new Option(suburb, suburb);
    // if (suburb == response.suburb)
    //   suburbsEl.options[suburbsEl.options.length-1].selected = true;
  }
}

document.observe("dom:loaded", function() {
  //updateNationalRegions();
  //updateLocationSuburbs();
});
