$(function() {
  $('#frmAutoQS #division').change(function (){
		$("#frmAutoQS input[name='hQSDivision']").val($(this).val());
		var iDivision = $(this).val();
		fnRetrieveMakes(iDivision,'');
	});

  $("#frmAutoQS #make").change(function() {
    $("#frmAutoQS input[name='hQSMake']").val($(this).val());                                                                                               
    var sMake = $(this).val();
    var DivisionVal = $("#frmAutoQS input[name='division_division_int_f']:checked").val();
    fnRetrieveModels(DivisionVal,sMake,'');
  });
  
  $("#frmAutoQS #model").change(function() {
		$("#frmAutoQS input[name='hQSModel']").val($(this).val());
	});

  var fnRetrieveMakes = function(division,make){
    $.ajax({
      type: 'GET',
      url: '/components/search_helpers.cfc?method=fnRetrieveMakes&Division=' + division,
      dataType: "json",
      success: function(data){
        var results = data.facet_counts.facet_fields.Make_exact;
        optionList = '<option value="">Select a make</option>';
        for (i = 0; i < results.length; i++) {
          if (i%2 == 0){optionList += '<option value="'+ results[i] +'">'+ results[i] +' ('+ results[i+1] +')</option>';}
        }
        $("#frmAutoQS select#make").html(optionList);
        $("#frmAutoQS select#make").val(make);
      }
    });   
  }

  var fnRetrieveModels = function(division,make,model){
    $.ajax({
      type: 'GET',
      url: '/components/search_helpers.cfc?method=fnRetrieveModels&Division=' + division + '&Make=' + make,
      dataType: "json",
      success: function(data){
        var results = data.facet_counts.facet_fields.Model_exact;
        optionList = '<option value="">Select a model</option>';
        for (i = 0; i < results.length; i++) {
          if (i%2 == 0){optionList += '<option value="'+ results[i] +'">'+ results[i] +' ('+ results[i+1] +')</option>';}
        }
        $("#frmAutoQS select#model").html(optionList);
        $("#frmAutoQS select#model").val(model);
      }
    });   
  }

  var initQSForm = function() {
    var sMake = $("#frmAutoQS input[name='hQSMake']").val();
    var sModel = $("#frmAutoQS input[name='hQSModel']").val();
    var iDivisionID = $("#frmAutoQS input[name='hQSDivision']").val();
    if (iDivisionID != undefined){
      fnRetrieveMakes(iDivisionID,sMake);
      if (sMake != ''){
        fnRetrieveModels(iDivisionID,sMake,sModel);
      }  
    }
  };

  initQSForm();
});

