$(function() {
  var fRef = $('#ymmForm')[0];
  loadoptionlist(fRef.make,getmakes(),0);

  $('select[name=make]',fRef).bind('change keyup',function() {
    if (this.value != '') {
      fRef.year.disabled = true;
      var modellist = getmodels(this.value);
      loadoptionlist(fRef.model,modellist,0);
      fRef.make.size = 1;
      fRef.model.size = ((modellist.length < 12)?((modellist.length > 2)?modellist.length:2):12);
      fRef.model.selectedIndex = -1;
      setTimeout("window.focus();",10);
      $('#yearaddLink:visible').hide();
      $('#modeladdLink').fadeIn();
    }
  });

  $('select[name=model]',fRef).bind('change keyup',function() {
    if (this.value != '') {
      var yearlist = getyears(fRef.make.value,this.value);
      loadoptionlist(fRef.year,yearlist,0);
      fRef.model.size = 1;
      fRef.year.size = ((yearlist.length < 12)?((yearlist.length > 2)?yearlist.length:2):12);
      fRef.year.selectedIndex = -1;
      setTimeout("window.focus();",10);
      $('#modeladdLink:visible').hide();
      $('#yearaddLink').fadeIn();
    }
  });

  $('select[name=year]',fRef).bind('change keyup',function() {
    if (this.value != '') {
      fRef.year.size = 1;
      document.location.href = '/'+convertstuff(fRef.make.value)+'/'+convertstuff(fRef.model.value)+'/'+this.value+'/index.shtml';
    }
  });
});


function getmakes() {
  var makes = new Array();
  for (i = 0; i < ymm.length; i++) {
    makefound = 0;
    for (j = 0; j < makes.length; j++) {
      if (ymm[i][1] == makes[j]) { makefound = 1; break; }
    }
    if (!makefound) { makes[makes.length] = ymm[i][1]; }
  }
  return(makes.sort());
}

function getmodels(make) {
  var models = new Array();
  for (i = 0; i < ymm.length; i++) {
    if (ymm[i][1] == make) {
      for (j = 2; j < ymm[i].length; j++) {
        modelfound = 0;
        for (k = 0; k < models.length; k++) {
          if (ymm[i][j] == models[k]) { modelfound = 1; break; }
        }
        if (!modelfound) { models[models.length] = ymm[i][j]; }
      }
    }
  }
  return(models.sort());
}

function getyears(make,model) {
  years = new Array();
  for (i = 0; i < ymm.length; i++) {
    if (ymm[i][1] == make) {
      for (j = 2; j < ymm[i].length; j++) {
        if (ymm[i][j] == model) { years[years.length] = ymm[i][0]; }
      }
    }
  }
  return(years.sort(yearSort));
}
