/*
REM JavaScript functions for Make/Model selector ("YMM Lite")
REM Works on both NetScape (4.0+) and IE (4.0+).
*/

function mmInitialize(parent, make_obj, model_obj, make, model, make_caption, model_caption, buse_short_name)
{
	clearList(make_obj);
    
    addElement(make_obj, make_caption, 0);
        for (var i = 0; i < mmMkN[0].length; i++)
        {
            if (mmMkN[0][i])
			{
                addElement(make_obj, mmMkN[0][i], mmMkN[1][i]);
            }
        }
    
    if (make)
    {
        setDefaultByValue(make_obj, make);
        
        if (model_caption != "none")
            mmChangeMake(parent, make_obj, model_obj, model_caption, buse_short_name);
        
        if (model)
            setDefaultByValue(model_obj, model);
	}
    else
	{
        make_obj.selectedIndex = 0;
        mmChangeMake(parent, make_obj, model_obj, model_caption, buse_short_name);
    }
}

/*
function InitializeModel(parent, model_caption, makeID)
{
	var arr = mmMdN;
	ModelsPopulate(model, arr[makeID], model_caption, false);
}
*/

function mmChangeMake(parent, make_obj, model_obj, model_caption, buse_short_name)
{
	var ModelList = mmMdN[make_obj.options[make_obj.selectedIndex].text];
	ModelsPopulate(parent, make_obj, model_obj, ModelList, model_caption, buse_short_name);
}

function ModelsPopulate(parent, make_obj, model_obj, ModelList, model_caption, buse_short_name)
{
  clearList(model_obj);
  addElement(model_obj, model_caption, 0);
  //addElement(model_obj, "Don't know", -1);
  //model_obj.options[1].style.fontWeight = 'bold';
  if(ModelList)
  { 
      var rgModels = ModelList.split('~');
      for (var i = 0; i < rgModels.length; i++)
      {
          var sName, sValue;
          // rgModels[i] may be a singular value of ModelAscii, or a "#" delimited string of ModelID and ModelAscii
					if (rgModels[i].indexOf('#') != -1)
					{
						var rgModel = rgModels[i].split('#');
						sName = rgModel[1];
						//sValue = rgModel[0];
						sValue = mmMdID[ sName ];
					}
					else{
						sName = rgModels[i];
						sValue = mmMdID[ sName ];
					}
          if (rgModels[i])
          {
              addElement(model_obj, sName, sValue);
          }
      }
      model_obj.disabled = false;
  }
  else
      model_obj.disabled = true;

  model_obj.selectedIndex = 0;
}

// In order for model names to fit within the 130px-wide LeftNav control we need to modify
// some of the model names so that they fit.  Any name "tweaks" here must go through 
// editorial...

//this function is not currently used anywhere, but there's a possiblity that it may be used in the future
//that's why it's not deleted (since Sector/sub_sector names are pretty long!!)
function MakeShortName(sName)
{
    switch(sName)
    {
        case "3-Series Sport Wagon":
            return("3-Series Sprt Wgn");
        case "5-Series Sport Wagon":
            return("5-Series Sprt Wgn");
        case "Passat Wagon (2001.5)":
            return("Passat Wgn (01.5)");
        case "Caprice Classic Wagon":
            return("Caprice Clssic Wgn");
        case "Power Ram 50 Sport Cab":
            return("Pwr Ram 50 Sport");
        case "Explorer  Sport Trac":
            return("Explorer Sport Trac");
        case "LTD Crown Victoria Wagon":
            return("LTD Crown Vic Wgn");
        case "Grand Marquis Wagon":
            return("Grand Marquis Wgn");
        case "Cutlass Ciera Wagon":
            return("Cutlass Ciera Wgn");
        default:
            return(sName);    
    }
}

function ModelChange(e, url)
{
	var o = e.target || window.event.srcElement;
	var model = o.options[o.selectedIndex].value;
	document.location = url + escape(model);
}
