function ClearList(list,def) {
  var list = $(list);
  for(var i=0;i<list.options.length;i++){
    list.options[i]=null;
  }
  list.options[0]= new Option(def,'');
  return list;
};

function GetResponse(url,func) {
  new Ajax.Request(url, {method:'get',onComplete:function(r){
    var obj_return;
    try {
      obj_return = eval('('+r.responseText+')');
    } catch(e) {
      obj_return = false;
    }
    if (obj_return) {
      var items = obj_return.table.item;
      if(!items) items = new Array();
      if(!items.length) items = new Array(items);
      func(items);
    }
  }, onFailure:function(r) {
    alert('An error occurred. Please try again later.');
  }});
};

function ModelSearch(){
  var params = [];
  var str_comm = $('community').value;
  if (str_comm) params[params.length] = 'field_communities=:' + str_comm.substr(0,str_comm.indexOf('::')) + ":";
  var str_style = $('style').value;
  if (str_style) params[params.length] = 'field_style=' + str_style;
  var str_bedrooms = $('bedrooms').value;
  if (str_bedrooms) params[params.length] = 'field_bedrooms=' + str_bedrooms;
  var url = '/models.aspx?' + params.join('&');
  document.location=url;
  return false;
}

var base_url = '/cms/data.aspx?type=json&table=';

GetResponse(base_url+'communities',function(items){
  var fld_comm = ClearList('community','Any Community');
  for(var i=0;i<items.length;i++){
    fld_comm.options[fld_comm.options.length]= new Option(items[i].name,items[i].id+'::'+items[i].styles);
  };
  
  fld_comm.observe('change',function(){
    var value = fld_comm.value;
    var fld_style = ClearList('style','Any Style');
    if (value&&value!='') {
      var index = value.indexOf('::');
      //$('field_communities').value = value.substr(0,index);
      value = value.substr(index+2,value.length)
      var url = base_url + 'styles';
   									        var styles = value.split(':');
   									        for(var i=0;i<styles.length;i++){
   									          if(styles[i]&&styles[i]!=''){
   									            url += '&field_id='+styles[i];
   									          }
   									        }
   									        GetResponse(url,function(items){
        for(var i=0;i<items.length;i++){
          fld_style.options[fld_style.options.length]= new Option(items[i].name,items[i].id);
        }
   									        });
    }
  });
});