AutoMakeName=new Array(41);
AutoMakeNumber=new Array(41);
AutoModels=new Array(590);
AutoMakesCount = 41;


AutoMakeName[0] = 'Acura';
AutoMakeNumber[0] = '100';
AutoModels[100] = new Array('7','3.2CL','01','3.2TL','02','3.5RL','03','MDX','04','NSX','05','RSX','06','_','0');

AutoMakeName[1] = 'AM General';
AutoMakeNumber[1] = '112';
AutoModels[112] = new Array('2','Hummer','01','_','0');

AutoMakeName[2] = 'Aston Martin';
AutoMakeNumber[2] = '118';
AutoModels[118] = new Array('2','Aston Martin','01','_','0');

AutoMakeName[3] = 'Audi';
AutoMakeNumber[3] = '120';
AutoModels[120] = new Array('9','A4','01','A6','02','A8','03','allroad','04','S4','05','S6','06','S8','07','TT','08','_','0');

AutoMakeName[4] = 'Bentley';
AutoMakeNumber[4] = '125';
AutoModels[125] = new Array('4','Arnage','01','Azure','02','Bentley','03','_','0');

AutoMakeName[5] = 'BMW';
AutoMakeNumber[5] = '140';
AutoModels[140] = new Array('12','325','01','330','02','525','03','530','04','540','05','745','06','M3','07','M5','08','X5','09','Z3','010','Z8','011','_','0');

AutoMakeName[6] = 'Buick';
AutoMakeNumber[6] = '150';
AutoModels[150] = new Array('6','Century','01','LeSabre','02','Park Avenue','03','Regal','04','Rendezvous','05','_','0');

AutoMakeName[7] = 'Cadillac';
AutoMakeNumber[7] = '160';
AutoModels[160] = new Array('6','CTS','01','DeVille','02','Eldorado','03','Escalade','04','Seville','05','_','0');

AutoMakeName[8] = 'Chevrolet';
AutoMakeNumber[8] = '170';
AutoModels[170] = new Array('19','Astro','01','Avalanche','02','Blazer','03','Camaro','04','Cavalier','05','Corvette','06','Express','07','Impala','08','Malibu','09','Monte Carlo','010','Prizm','011','S-10','012','Silverado','013','Suburban','014','Tahoe','015','Tracker','016','TrailBlazer','017','Venture','018','_','0');

AutoMakeName[9] = 'Chrysler';
AutoMakeNumber[9] = '180';
AutoModels[180] = new Array('8','300M','01','Concorde','02','Prowler','03','PT Cruiser','04','Sebring','05','Town & Country','06','Voyager','07','_','0');

AutoMakeName[10] = 'Daewoo';
AutoMakeNumber[10] = '195';
AutoModels[195] = new Array('4','Lanos','01','Leganza','02','Nubira','03','_','0');

AutoMakeName[11] = 'Dodge';
AutoMakeNumber[11] = '210';
AutoModels[210] = new Array('12','Caravan','01','Dakota','02','Durango','03','Grand Caravan','04','Intrepid','05','Neon','06','Ram','07','Ram Van','08','Ram Wagon','09','Stratus','010','Viper','011','_','0');

AutoMakeName[12] = 'Ford';
AutoMakeNumber[12] = '240';
AutoModels[240] = new Array('21','Crown Victoria','01','E150','02','E250','03','E350','04','Escape','05','Excursion','06','Expedition','07','Explorer','08','Explorer Sport','09','Explorer Sport Trac','010','F150','011','F250','012','F350','013','Focus','014','Mustang','015','Ranger','016','Taurus','017','Thunderbird','018','Windstar','019','ZX2','020','_','0');

AutoMakeName[13] = 'GMC';
AutoMakeNumber[13] = '255';
AutoModels[255] = new Array('9','Envoy','01','Safari','02','Savana','03','Sierra','04','Sonoma','05','Yukon','06','Yukon Denali','07','Yukon XL','08','_','0');

AutoMakeName[14] = 'Honda';
AutoMakeNumber[14] = '260';
AutoModels[260] = new Array('8','Accord','01','Civic','02','CR-V','03','Insight','04','Odyssey','05','Passport','06','S2000','07','_','0');

AutoMakeName[15] = 'Hyundai';
AutoMakeNumber[15] = '270';
AutoModels[270] = new Array('7','Accent','01','Elantra','02','Santa Fe','03','Sonata','04','Tiburon','05','XG350','06','_','0');

AutoMakeName[16] = 'Infiniti';
AutoMakeNumber[16] = '280';
AutoModels[280] = new Array('6','G20','01','G35','02','I35','03','Q45','04','QX4','05','_','0');

AutoMakeName[17] = 'Isuzu';
AutoMakeNumber[17] = '290';
AutoModels[290] = new Array('5','Axiom','01','Rodeo','02','Rodeo Sport','03','Trooper','04','_','0');

AutoMakeName[18] = 'Jaguar';
AutoMakeNumber[18] = '300';
AutoModels[300] = new Array('10','S-Type','01','Super V8','02','Vanden Plas','03','X-Type','04','XJ','05','XJ8','06','XJR','07','XK8','08','XKR','09','_','0');

AutoMakeName[19] = 'Jeep';
AutoMakeNumber[19] = '310';
AutoModels[310] = new Array('4','Grand Cherokee','01','Liberty','02','Wrangler','03','_','0');

AutoMakeName[20] = 'Kia';
AutoMakeNumber[20] = '315';
AutoModels[315] = new Array('6','Optima','01','Rio','02','Sedona','03','Spectra','04','Sportage','05','_','0');

AutoMakeName[21] = 'Land Rover';
AutoMakeNumber[21] = '320';
AutoModels[320] = new Array('4','Discovery','01','Freelander','02','Range Rover','03','_','0');

AutoMakeName[22] = 'Lexus';
AutoMakeNumber[22] = '330';
AutoModels[330] = new Array('9','ES 300','01','GS 300','02','GS 430','03','IS 300','04','LS 430','05','LX 470','06','RX 300','07','SC 430','08','_','0');

AutoMakeName[23] = 'Lincoln';
AutoMakeNumber[23] = '340';
AutoModels[340] = new Array('6','Blackwood','01','Continental','02','LS','03','Navigator','04','Town Car','05','_','0');

AutoMakeName[24] = 'Mazda';
AutoMakeNumber[24] = '360';
AutoModels[360] = new Array('11','626','01','B2300','02','B3000','03','B4000','04','Millenia','05','MPV','06','MX-5 Miata','07','Protege','08','Protege5','09','Tribute','010','_','0');

AutoMakeName[25] = 'Mercedes-Benz';
AutoMakeNumber[25] = '370';
AutoModels[370] = new Array('27','C230','01','C240','02','C32','03','C320','04','CL500','05','CL55','06','CL600','07','CLK320','08','CLK430','09','CLK55','010','E320','011','E430','012','E55','013','G500','014','ML320','015','ML500','016','ML55 AMG','017','S430','018','S500','019','S55 AMG','020','S600','021','SL500 Roadster','022','SL600 Roadster','023','SLK230','024','SLK32','025','SLK320','026','_','0');

AutoMakeName[26] = 'Mercury';
AutoMakeNumber[26] = '380';
AutoModels[380] = new Array('6','Cougar','01','Grand Marquis','02','Mountaineer','03','Sable','04','Villager','05','_','0');

AutoMakeName[27] = 'MINI';
AutoMakeNumber[27] = '405';
AutoModels[405] = new Array('2','Cooper','01','_','0');

AutoMakeName[28] = 'Mitsubishi';
AutoMakeNumber[28] = '410';
AutoModels[410] = new Array('9','Diamante','01','Eclipse','02','Eclipse Spyder','03','Galant','04','Lancer','05','Mirage','06','Montero','07','Montero Sport','08','_','0');

AutoMakeName[29] = 'Nissan';
AutoMakeNumber[29] = '420';
AutoModels[420] = new Array('9','350Z','01','Altima','02','Frontier','03','Maxima','04','Pathfinder','05','Quest','06','Sentra','07','Xterra','08','_','0');

AutoMakeName[30] = 'Oldsmobile';
AutoMakeNumber[30] = '430';
AutoModels[430] = new Array('6','Alero','01','Aurora','02','Bravada','03','Intrigue','04','Silhouette','05','_','0');

AutoMakeName[31] = 'Pontiac';
AutoMakeNumber[31] = '460';
AutoModels[460] = new Array('9','Aztek','01','Bonneville','02','Firebird','03','Grand Am','04','Grand Prix','05','Montana','06','Sunfire','07','Vibe','08','_','0');

AutoMakeName[32] = 'Porsche';
AutoMakeNumber[32] = '470';
AutoModels[470] = new Array('3','911','01','Boxster','02','_','0');

AutoMakeName[33] = 'Rolls-Royce';
AutoMakeNumber[33] = '505';
AutoModels[505] = new Array('4','Corniche','01','Park Ward','02','Silver Seraph','03','_','0');

AutoMakeName[34] = 'Saab';
AutoMakeNumber[34] = '510';
AutoModels[510] = new Array('3','9-3','01','9-5','02','_','0');

AutoMakeName[35] = 'Saturn';
AutoMakeNumber[35] = '520';
AutoModels[520] = new Array('12','L100','01','L200','02','L300','03','LW200','04','LW300','05','SC1','06','SC2','07','SL','08','SL1','09','SL2','010','VUE','011','_','0');

AutoMakeName[36] = 'Subaru';
AutoMakeNumber[36] = '540';
AutoModels[540] = new Array('5','Forester','01','Impreza','02','Legacy','03','Outback','04','_','0');

AutoMakeName[37] = 'Suzuki';
AutoMakeNumber[37] = '550';
AutoModels[550] = new Array('6','Aerio','01','Esteem','02','Grand Vitara','03','Vitara','04','XL-7','05','_','0');

AutoMakeName[38] = 'Toyota';
AutoMakeNumber[38] = '560';
AutoModels[560] = new Array('18','4Runner','01','Avalon','02','Camry','03','Celica','04','Corolla','05','ECHO','06','Highlander','07','Land Cruiser','08','Matrix','09','MR2 Spyder','010','Prius','011','RAV4','012','Sequoia','013','Sienna','014','Solara','015','Tacoma','016','Tundra','017','_','0');

AutoMakeName[39] = 'Volkswagen';
AutoMakeNumber[39] = '580';
AutoModels[580] = new Array('8','Beetle','01','Cabrio','02','EuroVan','03','Golf','04','GTI','05','Jetta','06','Passat','07','_','0');

AutoMakeName[40] = 'Volvo';
AutoMakeNumber[40] = '590';
AutoModels[590] = new Array('7','C70','01','S40','02','S60','03','S80','04','V40','05','V70','06','_','0');



	var LastMKid, LastMid, LastYid, fmake, fmodel, fyear;
	var underscore = "______________";
	
	function  On_Load()
	{
		var LastZip;

		document.step1.ft_flag.value = "false";

		populateMakeSelectBox();		
		InitialPopulateModelSelectBox();

	}
	
	function submitScript(){
	
		var zip=document.step1.zip.value;

		if ( zip == "" || isNaN(zip) || document.step1.zip.value.length != 5 ) {
			alert("You entered an invalid zip code!");
		} 
		else {
			document.step1.submit();
		}
	}

	function filldrop(){
		errorCheckSelectBoxes();

		populateModelSelectBox();	
	} 

	// Helpers
	function errorCheckSelectBoxes(){
		with(document.step1){
			if 	(make.options.selectedIndex == make.options.length-1)		make.options.selectedIndex=LastMKid;
			LastMid=model.options.selectedIndex; 
			LastMKid=make.options.selectedIndex;
		}
	}
	
	
	function populateMakeSelectBox(){
		with(document.step1){
			curindex= 0;

			DefaultOrLastChosen = "170"
						
			for(var i = 0; AutoMakeName[i] != null; i++) {
				CreateSelectOptionIfNull(i, make);
				make.options[i].text = AutoMakeName[i];
				if (AutoMakeNumber[i] == DefaultOrLastChosen) curindex=i;
					make.options[i].value = AutoMakeNumber[i];
				}
				CreateSelectOptionIfNull(i, make); 
				make.options[i].text = underscore; 
				make.options.length =i+1;
				make.options.selectedIndex = curindex;
			}
	}

	
	function InitialPopulateModelSelectBox(){
		with(document.step1){
			
			makeNo = make.options[make.selectedIndex].value 
			curindex= 0;
			DefaultOrLastModelChosen = 030
			DefaultOrLastModelChosen = "Blazer"
			
			for(var i = 0; i < (AutoModels[makeNo][0])-1; i++) {
				CreateSelectOptionIfNull(i, model)
				model.options[i].text = AutoModels[makeNo][i*2+1];
				model.options[i].value = AutoModels[makeNo][i*2+1]; /*chg to a 1*/
		  		if (model.options[i].value  == DefaultOrLastModelChosen) curindex=i;
		
			}			
			TrimModelSelectAndAddUnderscore(model, make.selectedIndex)
			model.options.selectedIndex = curindex;
		}
	}

	function populateModelSelectBox(){
		with(document.step1){

			makeNo = make.options[make.selectedIndex].value; 
			
			for(var i = 0; i < (AutoModels[makeNo][0])-1; i++) {
				CreateSelectOptionIfNull(i, model)
				model.options[i].text = AutoModels[makeNo][i*2+1];
				model.options[i].value = AutoModels[makeNo][i*2+1]; /*chg to a 1*/
			}			
			
			TrimModelSelectAndAddUnderscore(model, make.selectedIndex)
			model.options.selectedIndex = 0;
		}
	}
	

	// Secondary helper functions to Primary helper functions:
	function TrimModelSelectAndAddUnderscore(model, fdmake){
		with(document.step1){
			model.options.length = (AutoModels[makeNo][0])-1;  // truncate list to fit this model.
			var UnderScoreExists;
			UnderScoreExists = false;
			for(var i = 0; i < model.options.length; i++) {
				if (model.options[i].text == underscore){
					UnderScoreExists = true;
				}
			}	
			if (UnderScoreExists == false){
				CreateSelectOptionIfNull(i, model)
				model.options[i].text = underscore;
			}
		}
	}

	function CreateSelectOptionIfNull(i, model){	
			if (model.options[i] == null){		
					opt = new Option();
					model.options[i] = opt;
			}
	}

	function checkmodel() {		
		with(document.step1){
			if 	(model.options.selectedIndex == model.options.length-1)	model.options.selectedIndex=LastMid;
			LastMid=model.options.selectedIndex;
		}
	}
	//-->

