var years = new Array();
var series = new Array();
var models= new Array();

// var thisYearsModels = new Array();



var rawData = "2003|3 Series|325Ci 2 dr convertible,2003|3 Series|325Ci 2 dr coupe,2003|3 Series|325i 4 dr sedan,2003|3 Series|325i 4 dr wagon,2003|3 Series|325xi 4 dr sedan AWD,2003|3 Series|325xi 4 dr wagon AWD,2003|3 Series|330Ci 2 dr convertible,2003|3 Series|330Ci 2 dr coupe,2003|3 Series|330i 4 dr sedan,2003|3 Series|330xi 4 dr sedan AWD,2003|5 Series|525I 4dr sedan 5sp,2003|5 Series|525I 4dr sedan auto,2003|5 Series|525I 4dr wagon 5sp,2003|5 Series|525I 4dr wagon auto,2003|5 Series|530i 4dr sedan 5sp,2003|5 Series|530i 4dr sedan auto,2003|5 Series|540i 4dr sedan 6sp,2003|5 Series|540i 4dr sedan auto,2003|5 Series|540i Sport Wagon auto,2003|7 Series|745i 4dr sedan,2003|7 Series|745Li 4dr sedan,2003|7 Series|760Li 4dr sedan,2003|M Series|M3 2 dr Convertible 6sp,2003|M Series|M3 2dr coupe 6sp,2003|M Series|M5 4 dr sedan 6sp,2003|X Series|X5 3.0i,2003|X Series|X5 4.4i,2003|X Series|X5 4.6 is,2003|Z Series|Z4 Roadster 2.5i,2003|Z Series|Z4 Roadster 3.0i,2003|Z Series|Z8 Roadster 4.9L,2004|3 Series|325Ci 2 dr convertible,2004|3 Series|325Ci 2 dr coupe,2004|3 Series|325i 4 dr sedan,2004|3 Series|325i 4 dr wagon,2004|3 Series|325xi 4 dr sedan AWD,2004|3 Series|325xi 4 dr wagon AWD,2004|3 Series|330Ci 2 dr convertible,2004|3 Series|330Ci 2 dr coupe,2004|3 Series|330i 4 dr sedan,2004|3 Series|330xi 4 dr sedan AWD,2004|5 Series|525I 4dr sedan 5sp,2004|5 Series|525I 4dr sedan auto,2004|5 Series|530i 4dr sedan 5sp,2004|5 Series|530i 4dr sedan auto,2004|5 Series|545i 4dr sedan 6sp,2004|5 Series|545i 4dr sedan auto,2004|6 Series|645Ci 2dr convertible,2004|6 Series|645Ci 2dr coupe,2004|7 Series|745i 4dr sedan,2004|7 Series|745Li 4dr sedan,2004|7 Series|760i 4dr sedan,2004|7 Series|760Li 4dr sedan,2004|M Series|M3 2 dr Convertible 6sp,2004|M Series|M3 2dr coupe 6sp,2004|X Series|X3 2.5i,2004|X Series|X3 3.0i,2004|X Series|X5 3.0i,2004|X Series|X5 4.4i,2004|X Series|X5 4.8 is,2004|Z Series|Z4 Roadster 2.5i,2004|Z Series|Z4 Roadster 3.0i,2005|3 Series|325Ci 2 dr convertible,2005|3 Series|325Ci 2 dr coupe,2005|3 Series|325i 4 dr sedan,2005|3 Series|325i 4 dr wagon,2005|3 Series|325xi 4 dr sedan AWD,2005|3 Series|325xi 4 dr wagon AWD,2005|3 Series|330Ci 2 dr convertible,2005|3 Series|330Ci 2 dr coupe,2005|3 Series|330i 4 dr sedan,2005|3 Series|330xi 4 dr sedan AWD,2005|5 Series|525I 4dr sedan 5sp,2005|5 Series|525I 4dr sedan auto,2005|5 Series|530i 4dr sedan 5sp,2005|5 Series|530i 4dr sedan auto,2005|5 Series|545i 4dr sedan 6sp,2005|5 Series|545i 4dr sedan auto,2005|6 Series|645Ci 2dr convertible,2005|6 Series|645Ci 2dr coupe,2005|7 Series|745i 4dr sedan,2005|7 Series|745Li 4dr sedan,2005|7 Series|760i 4dr sedan,2005|7 Series|760Li 4dr sedan,2005|M Series|M3 2 dr Convertible 6sp,2005|M Series|M3 2dr coupe 6sp,2005|X Series|X3 2.5i,2005|X Series|X3 3.0i,2005|X Series|X5 3.0i,2005|X Series|X5 4.4i,2005|X Series|X5 4.8 is,2005|Z Series|Z4 Roadster 2.5i,2005|Z Series|Z4 Roadster 3.0i,2006|3 Series|325Ci 2 dr convertible,2006|3 Series|325Ci 2 dr coupe,2006|3 Series|325i 4 dr sedan,2006|3 Series|325i 4 dr wagon,2006|3 Series|325xi 4 dr sedan AWD,2006|3 Series|325xi 4 dr wagon AWD,2006|3 Series|330Ci 2 dr convertible,2006|3 Series|330Ci 2 dr coupe,2006|3 Series|330i 4 dr sedan,2006|3 Series|330xi 4 dr sedan AWD,2006|5 Series|525I 4dr sedan 6sp,2006|5 Series|525I 4dr sedan auto,2006|5 Series|525Xi 4dr sedan 6sp,2006|5 Series|525Xi 4dr sedan auto,2006|5 Series|530i 4dr sedan 6sp,2006|5 Series|530i 4dr sedan auto,2006|5 Series|530Xi 4dr sedan 6sp,2006|5 Series|530Xi 4dr sedan auto,2006|5 Series|530Xi 4dr wagon 6sp,2006|5 Series|530Xi 4dr wagon auto,2006|5 Series|550i 4dr sedan 6sp,2006|5 Series|550i 4dr sedan auto,2006|6 Series|650i 2dr convertible,2006|6 Series|650i 2dr coupe,2006|7 Series|750i 4dr sedan,2006|7 Series|750Li 4dr sedan,2006|7 Series|760i 4dr sedan,2006|7 Series|760Li 4dr sedan,2006|M Series|M Roadster,2006|M Series|M3 2 dr Convertible 6sp,2006|M Series|M3 2dr coupe 6sp,2006|M Series|M5 4dr sedan,2006|M Series|M6 2dr coupe,2006|X Series|X3 3.0i,2006|X Series|X5 3.0i,2006|X Series|X5 4.4i,2006|X Series|X5 4.8 is,2006|Z Series|Z4 Roadster 3.0i,2006|Z Series|Z4 Roadster 3.0i Si,2007|3 Series|328Ci 2 dr convertible,2007|3 Series|328i 2 dr coupe,2007|3 Series|328i 4 dr sedan,2007|3 Series|328i 4 dr wagon,2007|3 Series|328xi 2 dr coupe AWD,2007|3 Series|328xi 4 dr wagon AWD,2007|3 Series|335Ci 2 dr convertible,2007|3 Series|335Ci 2 dr coupe,2007|3 Series|335i 4 dr sedan,2007|3 Series|335xi 4 dr sedan AWD,2007|5 Series|525I 4dr sedan 6sp,2007|5 Series|525I 4dr sedan auto,2007|5 Series|525Xi 4dr sedan 6sp,2007|5 Series|525Xi 4dr sedan auto,2007|5 Series|530i 4dr sedan 6sp,2007|5 Series|530i 4dr sedan auto,2007|5 Series|530Xi 4dr sedan 6sp,2007|5 Series|530Xi 4dr sedan auto,2007|5 Series|530Xi 4dr wagon 6sp,2007|5 Series|530Xi 4dr wagon auto,2007|5 Series|550i 4dr sedan 6sp,2007|5 Series|550i 4dr sedan auto,2007|6 Series|650i 2dr convertible,2007|6 Series|650i 2dr coupe,2007|7 Series|750i 4dr sedan,2007|7 Series|750Li 4dr sedan,2007|7 Series|760Li 4dr sedan,2007|7 Series|B7 Alpina 4dr sedan,2007|M Series|M coupe,2007|M Series|M Roadster,2007|M Series|M5 4dr sedan,2007|M Series|M6 2dr convertible,2007|M Series|M6 2dr coupe,2007|X Series|X3 3.0Si,2007|X Series|X5 3.0Si,2007|X Series|X5 4.8i,2007|X Series|X5 4.8 is,2007|Z Series|Z4 coupe 3.0Si,2007|Z Series|Z4 Roadster 3.0i,2007|Z Series|Z4 Roadster 3.0i Si,2008|3 Series|328Ci 2 dr convertible,2008|3 Series|328i 2 dr coupe,2008|3 Series|328i 4 dr sedan,2008|3 Series|328i 4 dr wagon,2008|3 Series|328xi 2 dr coupe AWD,2008|3 Series|328xi 4 dr wagon AWD,2008|3 Series|335Ci 2 dr convertible,2008|3 Series|335Ci 2 dr coupe,2008|3 Series|335i 4 dr sedan,2008|3 Series|335xi 2 dr coupe AWD,2008|3 Series|335xi 4 dr sedan AWD,2008|5 Series|528I 4dr sedan 6sp,2008|5 Series|528I 4dr sedan auto,2008|5 Series|528Xi 4dr sedan 6sp,2008|5 Series|528Xi 4dr sedan auto,2008|5 Series|535i 4dr sedan 6sp,2008|5 Series|535i 4dr sedan auto,2008|5 Series|535Xi 4dr sedan 6sp,2008|5 Series|535Xi 4dr sedan auto,2008|5 Series|535Xi 4dr wagon 6sp,2008|5 Series|535Xi 4dr wagon auto,2008|5 Series|550i 4dr sedan 6sp,2008|5 Series|550i 4dr sedan auto,2008|6 Series|650i 2dr convertible,2008|6 Series|650i 2dr coupe,2008|7 Series|750i 4dr sedan,2008|7 Series|750Li 4dr sedan,2008|7 Series|760Li 4dr sedan,2008|7 Series|B7 Alpina 4dr sedan,2008|M Series|M coupe,2008|M Series|MRoadster,2008|M Series|M5 4dr sedan,2008|M Series|M6 2dr convertible,2008|M Series|M6 2dr coupe,2008|X Series|X3 3.0Si,2008|X Series|X5 3.0Si,2008|X Series|X5 4.8i,2008|X Series|X6 3.5,2008|X Series|X6 5.0i,2008|Z Series|Z4 coupe 3.0Si,2008|Z Series|Z4 Roadster 3.0i,2008|Z Series|Z4 Roadster 3.0i Si";


var rawDataArray = rawData.split(",");



for ( i = 0; i < rawDataArray.length ; i ++ ) {

	var oneRowArray = rawDataArray[i].split("|");
	//console.debug(oneRowArray);
	var year = oneRowArray[0];

	var thisSeries = oneRowArray[1];

	var thisModel = oneRowArray[2];

	if ( !models[year] ) {

		models[year] = new Array();

		years.push(year);

		}



	if ( !series[year]) series[year] = "Select series ...," + thisSeries;

	else { //alert("series[year]="+ series[year]);

	//alert("series[year].indexOf(thisSeries) = " + series[year].indexOf(thisSeries));

		if (series[year].indexOf(thisSeries) == -1) { 

			//alert("adding series:"+ thisSeries); 

			series[year] = series[year] + "," + thisSeries; }}

	if ( !models[year][thisSeries] ) models[year][thisSeries] = "Select model ...," + thisModel;

	else models[year][thisSeries] = models[year][thisSeries] + "," + thisModel;

// if (i > 4) break;

	}











function setSeries() {

	var theYear = document.getElementById("year").value;

	var seriesObj = document.getElementById("series");

	var thisYearsSeries = series[year].split(",");







// make this a funtion!	removeOptions() // remove old series from select menu

	

	var origLen = seriesObj.length;

	for ( i = origLen ; i > -1 ; i = i - 1 ) 

		{ 

		seriesObj.remove(i)

		}



	// loop over list

	for ( i = 0 ; i < thisYearsSeries.length ; i ++ ) {

		var y=document.createElement('option');

		y.text = thisYearsSeries[i];

		y.value = thisYearsSeries[i];

//		alert(i);

		

		try

			{

			seriesObj.add(y,null); // standards compliant

			}

		catch(ex)

			{

			seriesObj.add(y); // IE only

			}

			

		}

//		setModels()

	seriesObj.selectedIndex=0;

	setModels();

}





function setModels() {

	var year = document.getElementById("year").value;

	var thisSeries = document.getElementById("series").value;

//	alert(year);

	var modelObj = document.getElementById("model");







	// remove old models from select menu

	var origLen = modelObj.length;

	for ( i = origLen ; i > -1 ; i = i - 1 ) 

		{ 

		modelObj.remove(i)

		}



	// turn list into array

	if (models[year][thisSeries]) thisYearsModels = models[year][thisSeries].split(",");

	else return;

	// loop over list

	for ( i = 0 ; i < thisYearsModels.length ; i ++ ) {

		var y=document.createElement('option');

		y.text = thisYearsModels[i];

		y.value = thisYearsModels[i];

//		alert(i);

		

		try

			{

			modelObj.add(y,null); // standards compliant

			}

		catch(ex)

			{

			modelObj.add(y); // IE only

			}

			

		}

}