$(function() {
  $('input[name="newused_Condition_int_f"]').change(function() {
    $("#frmAutoQS input[name='hqsCondition']").val($(this).val());                                                                                               
    var sCondition = $(this).val();
    fnRetrieveMakes('','',sCondition);
  });
  
  $("#qsSearchFORM #qsMake").change(function() {
    $("#frmAutoQS input[name='hqsMake']").val($(this).val());
    var sCondition = $('input[name="newused_Condition_int_f"]:checked').val();                                                                                               
    var sMake = $(this).val();
    fnRetrieveModels('',sMake,'',sCondition);
  });
  
  $("#qsSearchFORM #qsModel").change(function() {
    $("#frmAutoQS input[name='hqsModel']").val($(this).val());
  });

  var fnRetrieveMakes = function(division, make, condition){
    var sCondition = '';
    switch(condition){
      case '0': sCondition = ' Used'; break;
      case '1': sCondition = ' New'; break;
    }
    $.ajax({
      type: 'GET',
      url: '/components/search_helpers.cfc?method=fnRetrieveMakes&Division=' + division + '&Condition=' + condition,
      dataType: "json",
      success: function(data){
        var results = data.facet_counts.facet_fields.Make_exact;
        optionList = '<option value="">Select all'+ sCondition +' makes</option>';
        for (i = 0; i < results.length; i++) {
          if (i%2 == 0){optionList += '<option value="'+ results[i] +'">'+ results[i] +' ('+ results[i+1] +')</option>';}
        }
        $("#qsSearchFORM select#qsMake").html(optionList);
        $("#qsSearchFORM select#qsMake").val(make);
        optionList = '<option value="">Search all '+ sCondition +' Models</option>';
        $("#qsSearchFORM select#qsModel").html(optionList);
      }      
    });   
  }

  var fnRetrieveModels = function(division,make,model,condition){
    var sCondition = ' ';
    switch(condition){
      case '0': sCondition = ' Used '; break;
      case '1': sCondition = ' New '; break;
    }
    $.ajax({
      type: 'GET',
      url: '/components/search_helpers.cfc?method=fnRetrieveModels&Division=' + division + '&Make=' + make + '&Condition=' + condition,
      dataType: "json",
      success: function(data){
        var results = data.facet_counts.facet_fields.Model_exact;
        optionList = '<option value="">Search all'+ sCondition + make +' Models</option>';
        for (i = 0; i < results.length; i++) {
          if (i%2 == 0){optionList += '<option value="'+ results[i] +'">'+ results[i] +' ('+ results[i+1] +')</option>';}
        }
        $("#qsSearchFORM select#qsModel").html(optionList);
        $("#qsSearchFORM select#qsModel").val(model);
      }
    });   
  }

  var initQSForm = function() {
    var sMake = $("#qsSearchFORM input[name='hqsMake']").val();
    var sModel = $("#qsSearchFORM input[name='hqsModel']").val();
    var iDivisionID = $("#qsSearchFORM input[name='hqsDivision']").val();
    var sCondition = $('input[name="hqsCondition"]').val();
    if (iDivisionID != undefined){
      fnRetrieveMakes(iDivisionID,sMake,sCondition);
      if (sMake != ''){
        fnRetrieveModels(iDivisionID,sMake,sModel,sCondition);
      }  
    }
  };

  initQSForm();
});

