









function Model(year, make, model, trim, n_model)
{
  this.year = year;
  this.make = make;
  this.model = model;
  this.trim = trim;
  this.n_model = n_model;
}

var models = new Array();






  
  models[models.length] = new Model(2011, "BMW", "1 Series Cabriolet", "128i", "");

  
  models[models.length] = new Model(2011, "BMW", "1 Series Cabriolet", "135i", "");

  
  models[models.length] = new Model(2011, "BMW", "1 Series Coupe", "128i", "");

  
  models[models.length] = new Model(2011, "BMW", "1 Series Coupe", "135i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Cabriolet", "328i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Cabriolet", "335i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Cabriolet", "335is", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Coupe", "328i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Coupe", "328i xDrive", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Coupe", "335i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Coupe", "335i xDrive", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Coupe", "335is", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Sedan", "323i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Sedan", "328i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Sedan", "328i xDrive", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Sedan", "335d", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Sedan", "335i", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Sedan", "335i xDrive", "");

  
  models[models.length] = new Model(2011, "BMW", "3 Series Wagon", "328i xDrive", "");

  
  models[models.length] = new Model(2010, "BMW", "5 Series GT", "550i", "");

  
  models[models.length] = new Model(2010, "BMW", "5 Series GT", "550i xDrive", "");

  
  models[models.length] = new Model(2011, "BMW", "5 Series Sedan", "528i", "");

  
  models[models.length] = new Model(2011, "BMW", "5 Series Sedan", "535i", "");

  
  models[models.length] = new Model(2011, "BMW", "5 Series Sedan", "550i", "");

  
  models[models.length] = new Model(2010, "BMW", "6 Series Cabriolet", "650i", "");

  
  models[models.length] = new Model(2010, "BMW", "6 Series Coupe", "650i", "");

  
  models[models.length] = new Model(2011, "BMW", "7 Series", "750i xDrive", "");

  
  models[models.length] = new Model(2011, "BMW", "7 Series", "750Li xDrive", "");

  
  models[models.length] = new Model(2011, "BMW", "7 Series", "ActiveHybrid 7L", "");

  
  models[models.length] = new Model(2010, "BMW", "7 Series", "760Li", "");

  
  models[models.length] = new Model(2011, "BMW", "M3 Cabriolet", "", "");

  
  models[models.length] = new Model(2011, "BMW", "M3 Coupe", "", "");

  
  models[models.length] = new Model(2011, "BMW", "M3 Sedan", "", "");

  
  models[models.length] = new Model(2010, "BMW", "M6 Cabriolet", "", "");

  
  models[models.length] = new Model(2010, "BMW", "M6 Coupe", "", "");

  
  models[models.length] = new Model(2010, "BMW", "X3", "xDrive28i", "");

  
  models[models.length] = new Model(2010, "BMW", "X3", "xDrive30i", "");

  
  models[models.length] = new Model(2011, "BMW", "X5", "xDrive35i", "");

  
  models[models.length] = new Model(2011, "BMW", "X5", "xDrive35d", "");

  
  models[models.length] = new Model(2011, "BMW", "X5", "xDrive50i", "");

  
  models[models.length] = new Model(2011, "BMW", "X5 M", "", "");

  
  models[models.length] = new Model(2011, "BMW", "X6", "xDrive50i", "");

  
  models[models.length] = new Model(2011, "BMW", "X6", "xDrive35i", "");

  
  models[models.length] = new Model(2011, "BMW", "X6 ActiveHybrid", "", "");

  
  models[models.length] = new Model(2011, "BMW", "X6 M", "", "");

  
  models[models.length] = new Model(2011, "BMW", "Z4", "sDrive30i", "");

  
  models[models.length] = new Model(2011, "BMW", "Z4", "sDrive35i", "");

  
  models[models.length] = new Model(2011, "BMW", "Z4", "sDrive35is", "");


function updateModels(selectedmodel,selectedtrim)
{
  var f = document.forms['quoteform'];

  
    var make = f.MAKE.value;
  
  
  var m, curmodel;
  var idx,cnt;
  
  f.MODEL.options[0] = new Option("Please make a selection", "");

  cnt = 1;

  curmodel = '';
  for(idx in models) {
    m = models[idx];
    if(m.make == make && m.model != curmodel) {
      if(m.n_model != null && m.n_model != "") {
        f.MODEL.options[cnt] = new Option(m.n_model, m.model);
      }
      else {
        f.MODEL.options[cnt] = new Option(m.model, m.model);
      }
      curmodel = m.model;
      
      if(curmodel == selectedmodel)
        f.MODEL.options[cnt].selected = true;
      cnt++;
    }
  }

  while(cnt < f.MODEL.options.length)
    f.MODEL.options[cnt] = null;

  updateTrims(selectedtrim);
}

function updateTrims(selectedtrim)
{
  var f = document.forms['quoteform'];
  var model = f.MODEL.options[f.MODEL.selectedIndex].value;
  var m, curtrim;
  var idx,cnt;

  cnt = 1;
  
  while(f.MODELEXT.options.length > 1)
    f.MODELEXT.options[1] = null;
  
  f.MODELEXT.options[0] = new Option("Please make a selection", "");

  for(idx in models) {
    m = models[idx];
    
    if(m.model == model) {
      trimname = m.trim;
      
      if(trimname == "")
        trimname = "Base";

      f.MODELEXT.options[f.MODELEXT.options.length] = new Option(trimname, m.trim);
      curtrim = m.trim;

      if(curtrim == selectedtrim || (curtrim == "" && selectedtrim == " "))
        f.MODELEXT.selectedIndex = f.MODELEXT.options.length - 1;
    }
  }
}