










var mm_allMakeArray = new Array("Acura","Alfa Romeo","Allard","Alpina","Alvis","AM General","AMC","Amphicar","Aston Martin","Auburn","Audi","Austin","Austin-Healy","Avanti II","Bentley","BMW","Bricklin","Bugatti","Buick","Cadillac","Caterham","Chevrolet","Chrysler","Citroën","Consulier","Continental","Cord","Crosley","Cunningham","Daewoo","Daihatsu","Daimler","Datsun","De Tomaso","DeLorean","DeSoto","Doble","Dodge","Du Pont","Dual-Ghia","Duesenberg","Dummy","Eagle","Elcar","Erskine","Essex","Facel Vega","Ferrari","Fiat","Fisker","Ford","Franklin","Frazer","Gardner","Geo","Ghia","GMC","Graham","Graham-Paige","Haynes","Haynes-Apperson","Henry J","Holden","Honda","Hudson","HUMMER","Hupmobile","Hyundai","Imperial","Infiniti","International","Isuzu","Jaguar","Jeep","Jensen","Jensen-Healey","Jordan","Kaiser","Kaiser-Jeep","Kia","Kissel","Kissel Kar","Knox","Lamborghini","Lancia","Land Rover","LaSalle","Lexus","Lincoln","Locomobile","Lotus","Lozier","Mahindra","Marmon","Maserati","Maxwell","Maybach","Mazda","McFarlan","McLaren","Mercedes-Benz","Mercer","Mercury","Merkur","Metropolitan","MG","MINI","Mitsubishi","Moon","Morgan","Mosler","Muntz","Nash","National","Nissan","Noble","Oakland","Oldsmobile","Opel","Overland","Packard","Paige","Panoz","Peerless","Peugeot","Pierce-Arrow","Plymouth","Pontiac","Porsche","Qvale","Ram","Rambler","Renault","Reo","Rolls-Royce","Rover","Saab","Saleen","Saturn","Scion","Seat","Simplex","Skoda","smart","Spyker","SS Jaguar","Stanley","Stearns","Stearns-Knight","Sterling","Stevens-Duryea","Studebaker","Studebaker-Garford","Stutz","Subaru","Sunbeam","Sunbeam-Talbot","Suzuki","Terraplane","Tesla","Toyopet","Toyota","Triumph","TVR","Vauxhall","Vector","Volkswagen","Volvo","Whippet","Willys","Willys-Knight","Winton","Yugo");
var mm_allYearArray = new Array("1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2014");

	
	
		var mm_useFlag = "used";
		var mm_makeArray = new Array("0","5","10","15","18","19","21","22","37","42","50","56","63","67","69","71","72","73","79","85","87","88","97","100","102","107","114","117","126","127","128","136","138","154","157","161","166","167");
		var mm_modelArray = new Array(new Array("200SX","114","8"),new Array("240SX","114","8"),new Array("3 Series","15","8"),new Array("3000GT","107","8"),new Array("4Runner","161","8"),new Array("5 Series","15","8"),new Array("626","97","8"),new Array("7 Series","15","8"),new Array("900","136","8"),new Array("9000","136","8"),new Array("911","128","8"),new Array("A4","10","8"),new Array("A6","10","8"),new Array("A8","10","8"),new Array("Accent","67","8"),new Array("Accord","63","8"),new Array("Achieva","117","8"),new Array("Altima","114","8"),new Array("Amigo","71","8"),new Array("Astro","21","8"),new Array("Astro Cargo","21","8"),new Array("Aurora","117","8"),new Array("Avalon","161","8"),new Array("Avenger","37","8"),new Array("B-Series Pickup","97","8"),new Array("Blazer","21","8"),new Array("Bonneville","127","8"),new Array("Boxster","128","8"),new Array("Bravada","117","8"),new Array("Breeze","126","8"),new Array("C-Class","100","8"),new Array("C/K 1500 Series","21","8"),new Array("C/K 2500 Series","21","8"),new Array("C/K 3500 Series","21","8"),new Array("C43 AMG","100","8"),new Array("C70","167","8"),new Array("CL","0","8"),new Array("CL-Class","100","8"),new Array("CLK-Class","100","8"),new Array("CR-V","63","8"),new Array("Cabrio","166","8"),new Array("Cabriolet","10","8"),new Array("Camaro","21","8"),new Array("Camry","161","8"),new Array("Caravan","37","8"),new Array("Catera","19","8"),new Array("Cavalier","21","8"),new Array("Celica","161","8"),new Array("Century","18","8"),new Array("Cherokee","73","8"),new Array("Chevy Van","21","8"),new Array("Cirrus","22","8"),new Array("Civic","63","8"),new Array("Concorde","22","8"),new Array("Continental","88","8"),new Array("Contour","50","8"),new Array("Contour SVT","50","8"),new Array("Corolla","161","8"),new Array("Corvette","21","8"),new Array("Crown Victoria","50","8"),new Array("Cutlass","117","8"),new Array("Dakota","37","8"),new Array("DeVille","19","8"),new Array("Diamante","107","8"),new Array("Discovery","85","8"),new Array("Durango","37","8"),new Array("E-150","50","8"),new Array("E-250","50","8"),new Array("E-350","50","8"),new Array("E-Class","100","8"),new Array("ES 300","87","8"),new Array("Eclipse","107","8"),new Array("Eclipse Spyder","107","8"),new Array("Eighty-Eight","117","8"),new Array("Elantra","67","8"),new Array("Eldorado","19","8"),new Array("Envoy","56","8"),new Array("Escort","50","8"),new Array("Esteem","157","8"),new Array("Expedition","50","8"),new Array("Explorer","50","8"),new Array("Express","21","8"),new Array("F-150","50","8"),new Array("F-250","50","8"),new Array("Firebird","127","8"),new Array("Forester","154","8"),new Array("Frontier","114","8"),new Array("GS 300","87","8"),new Array("GS 400","87","8"),new Array("GTI","166","8"),new Array("Galant","107","8"),new Array("Golf","166","8"),new Array("Grand Am","127","8"),new Array("Grand Caravan","37","8"),new Array("Grand Cherokee","73","8"),new Array("Grand Marquis","102","8"),new Array("Grand Prix","127","8"),new Array("Grand Voyager","126","8"),new Array("Hombre","71","8"),new Array("Hummer","5","8"),new Array("I30","69","8"),new Array("Impreza","154","8"),new Array("Integra","0","8"),new Array("Intrepid","37","8"),new Array("Intrigue","117","8"),new Array("Jetta","166","8"),new Array("Jimmy","56","8"),new Array("LS 400","87","8"),new Array("LSS","117","8"),new Array("LX 470","87","8"),new Array("Land Cruiser","161","8"),new Array("LeSabre","18","8"),new Array("Legacy","154","8"),new Array("Lumina","21","8"),new Array("M","15","8"),new Array("M-Class","100","8"),new Array("M3","15","8"),new Array("MPV","97","8"),new Array("Malibu","21","8"),new Array("Mark VIII","88","8"),new Array("Maxima","114","8"),new Array("Metro","21","8"),new Array("Millenia","97","8"),new Array("Mirage","107","8"),new Array("Monte Carlo","21","8"),new Array("Montero","107","8"),new Array("Montero Sport","107","8"),new Array("Mountaineer","102","8"),new Array("Mustang","50","8"),new Array("Mustang SVT Cobra","50","8"),new Array("Mystique","102","8"),new Array("NSX","0","8"),new Array("Navigator","88","8"),new Array("Neon","37","8"),new Array("Neon","126","8"),new Array("New Beetle","166","8"),new Array("Oasis","71","8"),new Array("Odyssey","63","8"),new Array("Park Avenue","18","8"),new Array("Passat","166","8"),new Array("Passport","63","8"),new Array("Pathfinder","114","8"),new Array("Prelude","63","8"),new Array("Prizm","21","8"),new Array("Protege","97","8"),new Array("Q45","69","8"),new Array("QX4","69","8"),new Array("Quest","114","8"),new Array("RAV4","161","8"),new Array("RL","0","8"),new Array("Ram Pickup 1500","37","8"),new Array("Ram Pickup 2500","37","8"),new Array("Ram Pickup 3500","37","8"),new Array("Ram Van","37","8"),new Array("Ram Wagon","37","8"),new Array("Range Rover","85","8"),new Array("Ranger","50","8"),new Array("Regal","18","8"),new Array("Regency","117","8"),new Array("Riviera","18","8"),new Array("Rodeo","71","8"),new Array("S-10","21","8"),new Array("S-Class","100","8"),new Array("S-Series","138","8"),new Array("S70","167","8"),new Array("S90","167","8"),new Array("SC 300","87","8"),new Array("SC 400","87","8"),new Array("SL-Class","100","8"),new Array("SLK-Class","100","8"),new Array("SLX","0","8"),new Array("Sable","102","8"),new Array("Safari","56","8"),new Array("Safari Cargo","56","8"),new Array("Savana","56","8"),new Array("Savana Cargo","56","8"),new Array("Sebring","22","8"),new Array("Sentra","114","8"),new Array("Sephia","79","8"),new Array("Seville","19","8"),new Array("Sidekick","157","8"),new Array("Sienna","161","8"),new Array("Sierra 1500","56","8"),new Array("Sierra 2500","56","8"),new Array("Sierra 3500","56","8"),new Array("Silhouette","117","8"),new Array("Skylark","18","8"),new Array("Sonata","67","8"),new Array("Sonoma","56","8"),new Array("Sportage","79","8"),new Array("Stratus","37","8"),new Array("Suburban","56","8"),new Array("Suburban","21","8"),new Array("Sunfire","127","8"),new Array("Supra","161","8"),new Array("Swift","157","8"),new Array("T100","161","8"),new Array("TL","0","8"),new Array("Tacoma","161","8"),new Array("Tahoe","21","8"),new Array("Talon","42","8"),new Array("Taurus","50","8"),new Array("Tercel","161","8"),new Array("Tiburon","67","8"),new Array("Town Car","88","8"),new Array("Town and Country","22","8"),new Array("Tracer","102","8"),new Array("Tracker","21","8"),new Array("Trans Sport","127","8"),new Array("Trooper","71","8"),new Array("V70","167","8"),new Array("V90","167","8"),new Array("Venture","21","8"),new Array("Villager","102","8"),new Array("Viper","37","8"),new Array("Voyager","126","8"),new Array("Windstar","50","8"),new Array("Windstar Cargo","50","8"),new Array("Wrangler","73","8"),new Array("X-90","157","8"),new Array("XJ-Series","72","8"),new Array("XJR","72","8"),new Array("XK-Series","72","8"),new Array("Yukon","56","8"),new Array("Z3","15","8"));
	


// needed for some synpartners
function getCookie(Name) {
   var search = Name + "=";
   if (document.cookie.length > 0) { // if there are any cookies
      offset = document.cookie.indexOf(search);
      if (offset != -1) { // if cookie exists
         offset += search.length;
         // set index of beginning of value
         end = document.cookie.indexOf(";", offset);
         // set index of end of cookie value
         if (end == -1)
            end = document.cookie.length;
         return unescape(document.cookie.substring(offset, end));
      }
   }
}


var mm_zipValue;

if (YAHOO.Edmunds.UserTrack) {
    mm_zipValue = YAHOO.Edmunds.UserTrack.getZipCookie();
} else {
    mm_zipValue = getCookie("zip");
}
var mmPOP_WINDOW_OPTIONS = "width=800,height=600,scrollbars=yes,menubar=yes,toolbar=yes,resizable=yes,status=yes";
var mmIsPopupWindow = false;
var mmUseFormAction = false;

var mmPresetMake;
var mmUsePresetMake = false;

var mmAbleToSelectAllModel = false;

function mm_setPopupWindowOptions(isPopupWindow, windowOptions){
	mmIsPopupWindow = isPopupWindow;

	if (windowOptions)
		mmPOP_WINDOW_OPTIONS = windowOptions;
}
function mm_setPopupWindow(isPopupWindow){
	mm_setPopupWindowOptions(isPopupWindow,mmPOP_WINDOW_OPTIONS);
}

function mm_setUseFormAction(useFormAction){
	mmUseFormAction = useFormAction;
}

function mm_setAbleToSelectAllModel(tfValue){
	mmAbleToSelectAllModel = tfValue;
}

function mm_setPresetMake(presetMake){
	if (presetMake)
		mmPresetMake = presetMake;
}

function mm_setUsePresetMake(tfValue){
	mmUsePresetMake = tfValue;
}

var mm_makingBrowseChanges;
mm_makingBrowseChanges = false;

function mm_fillMakes(formName, makeSelectName, selectMakeMessage){

  //setup our boolean to say that we are changing things
  mm_makingBrowseChanges = true;
  //first clear out the old array
  var selectObject = eval("document." + formName + "." + makeSelectName);

  if (mm_makeArray)
  	selectObject.length = mm_makeArray.length + 1;

  selectObject.options[0].value = "";
  if(selectMakeMessage == null || selectMakeMessage == '' || selectMakeMessage == undefined) {
      selectObject.options[0].text = "Select a Make";
  } else {
      selectObject.options[0].text = selectMakeMessage
  }
  selectObject.selectedIndex = 0;
  var counter = 0;

  if (mm_makeArray)
  {
  	for(var i = 1; i <= mm_makeArray.length; i++)
  	{
  		selectObject.options[i] = new Option();
    	selectObject.options[i].text = mm_allMakeArray[mm_makeArray[i-1]];
    	selectObject.options[i].value = mm_makeArray[i-1];
 	}
  }
  mm_makingBrowseChanges = false;


}
function mm_getNiceName(text) {

 var retText;

 retText = "";
 var usedtext = ("" + text).toLowerCase();
 for (var i = 0; i < usedtext.length; i++)
 {
 	var charValue = usedtext.charAt(i);
   if ((charValue >= 'a' && charValue <= 'z') || (charValue >= '0' && charValue <= '9'))
   {
   	retText += charValue;
   }
 }
 return retText;
}

function mm_getMakeFromIndex(makeIndex){
	return mm_allMakeArray[makeIndex];
}
function mm_getYearFromIndex(yearIndex){
	return mm_allYearArray[yearIndex];
}
function mm_getModelFromIndex(modelIndex){
	return mm_modelArray[modelIndex][0];
}

function mm_getYearFromModelIndex(modelIndex){
	return mm_modelArray[modelIndex][2];
}

function mm_getAllFromModelIndex(modelIndex){
	return mm_modelArray[modelIndex];
}

function mm_fillModel(formName, modelSelectName, makeIndex, canSelectAll, selectModelMessage){

  if(canSelectAll == null) {
      canSelectAll = mmAbleToSelectAllModel;
  }

  //setup our boolean to say that we are changing things
  mm_makingBrowseChanges = true;
  //first clear out the old array
  var selectObject = eval("document." + formName + "." + modelSelectName);



  selectObject.options[0] = new Option();
  selectObject.options[0].value = "";
  if(selectModelMessage == null || selectModelMessage == '' || selectModelMessage == undefined) {
      selectObject.options[0].text = "Select a Model";
  } else {
      selectObject.options[0].text = selectModelMessage;
  }

  selectObject.selectedIndex = 0;
  var counter = 1;

  if (canSelectAll)
  {
  		selectObject.options[1] = new Option();
  		selectObject.options[1].value = "all";
  		selectObject.options[1].text = "All Models";
  		counter++;
  }



  for(var j = 0; j < mm_modelArray.length; j++)
  {
  	if (mm_modelArray[j][1] == makeIndex)
  	{
  		selectObject.options[counter] = new Option();
  		selectObject.options[counter].text = mm_modelArray[j][0];
	 	selectObject.options[counter].value = j;
	 	counter++;
	}
  }

  if (mm_makeArray)
  	selectObject.length = counter;

  mm_makingBrowseChanges = false;
}
function mm_resetBrowseMakeModel(formName,makeSelectName, modelSelectName, selectModelMessage){

 var selectObject = eval("document." + formName + "." + modelSelectName);
 var makeSelectObject = eval("document." + formName + "." + makeSelectName);
 selectObject.length = 1;

 selectObject.options[0].value = "";
 if(selectModelMessage == null || selectModelMessage == '' || selectModelMessage == undefined) {
     selectObject.options[0].text = "Select a Model";
 } else {
     selectObject.options[0].text = selectModelMessage;
 }
 selectObject.selectedIndex = 0;

 makeSelectObject.selectedIndex = 0;

}

function mm_changeModel(formName, makeSelectName, modelSelectName, canSelectAll, selectModelMessage){

  var selectObject = eval("document." + formName + "." + makeSelectName);
  if (selectObject.options[selectObject.selectedIndex].value == "")
  {
    mm_resetBrowseMakeModel(formName,makeSelectName,modelSelectName, selectModelMessage);
    return;
  }
  mm_fillModel(formName,modelSelectName,selectObject.options[selectObject.selectedIndex].value, canSelectAll, selectModelMessage);
}

function mm_submitMakeModel(formName, makeSelectName, modelSelectName, urlExtra, canSelectAll){
  mm_submitMakeModelWithUrl(document.location.host,formName,makeSelectName,modelSelectName,urlExtra, canSelectAll);
}
function mm_submitMakeModelWithUrl(rootUrl, formName, makeSelectName, modelSelectName, urlExtra, canSelectAll){
  if (mm_makingBrowseChanges)
    return;

  if(canSelectAll == null) {
      canSelectAll = mmAbleToSelectAllModel;
  }

  //alert("formname:" + formName + ",model select name:" + modelSelectName);

  var selectObject = eval("document." + formName + "." + modelSelectName);
  if (selectObject.options[selectObject.selectedIndex].value == "")
  {
    //do nothing, just the select a model index
    //alert("doing nothing. switch to select a model");
    alert("You need to select a make and a model.");
    return;
  }

  var info, year, make, model, fullmake;
  var allModel = false;

  if (canSelectAll)
  {
  	//see if the selected index has a value of all
  	if (selectObject.options[selectObject.selectedIndex].value == "all")
  	{
  		//they just selected all models for the given make
  		allModel = true;
  	}
  }

  var makeSelectObject = eval("document." + formName + "." + makeSelectName);
  fullmake = mm_getMakeFromIndex(makeSelectObject.options[makeSelectObject.selectedIndex].value);

  if (allModel)
  {
  	make = mm_getNiceName(fullmake);
  }
  else
  {
  	info = mm_getAllFromModelIndex(selectObject.options[selectObject.selectedIndex].value);
  	year = mm_getYearFromIndex(info[2]);
  	make = mm_getNiceName(mm_getMakeFromIndex(info[1]));
  	model = mm_getNiceName(info[0]);
  }

  //alert("redirect to:" + selectObject.options[selectObject.selectedIndex].value);

  //fix up some of the extras
  if (urlExtra)
  {
  	var tidIndex = urlExtra.indexOf("tid");
  	if (tidIndex > -1)
  	{
  		var starIndex = urlExtra.lastIndexOf("*");
  		var tidStr = urlExtra.substring(tidIndex,starIndex);
  		var dotIndex = tidStr.lastIndexOf(".");

  		//get make name

  		tidStr = tidStr.substring(0,dotIndex + 1) + escape(fullmake) + "*";
  		//take out the old tid and put in the new one
  		urlExtra = urlExtra.substring(0,tidIndex) + tidStr + urlExtra.substring(starIndex + 1);
  	}
  }

  var gotoUrl;
  if (allModel){
  	gotoUrl = "http://" + rootUrl + "/" + mm_useFlag + "/" + make + "/index.html?" + urlExtra;
  }
  else
  {
  	gotoUrl = "http://" + rootUrl + "/" + mm_useFlag + "/" + year + "/" + make + "/" + model + "/index.html?" + urlExtra;
  }

  if (mmUseFormAction)
  {
  		var formObject = eval("document." + formName);
  		formObject.action = gotoUrl;
  		formObject.submit();
  }
  else
  if (mmIsPopupWindow)
  {
  	window.open(gotoUrl,"makemodel",mmPOP_WINDOW_OPTIONS);
  }
  else
  	document.location.href = gotoUrl;
}

function mm_submitMakeModelZipWithUrl(rootUrl, formName, makeSelectName, modelSelectName, zipSelectName, urlExtra, canSelectAll){
	var selectObject = eval("document." + formName + "." + zipSelectName);
	if (selectObject)
	{
		if (selectObject.value)
		{
			if (selectObject.value.length != 5)
			{
				alert("Your zip code is not valid, it needs at least 5 numbers");
				return false;
			}
			else
			{
				if (isNaN(selectObject.value))
				{
					alert("The zip code must be a valid number entry");
					return false;
				}
				mm_submitMakeModelWithUrl(rootUrl, formName,makeSelectName, modelSelectName,"setzip=" + selectObject.value + "&" + urlExtra, canSelectAll);
				return false;
			}
		}
	}
	alert("You need to enter a zipcode.");
	return false;
}
function mm_submitMakeModelZip(formName, makeSelectName, modelSelectName, zipSelectName, urlExtra, canSelectAll){
	mm_submitMakeModelZipWithUrl(document.location.host, formName, makeSelectName, modelSelectName, zipSelectName, urlExtra, canSelectAll);
}
function mm_checkEnter(event, formName)
{
	var code = 0;
	var formObject = eval("document." + formName);

	if (event.which)
		code = event.which;
	else
		code = event.keyCode;
	if (code==13)
	{
		return true;
	}
	else
	{
		return false;
	}
}
