// Needed Arrays...
// cars = new Array();
// cars['makeName']=new Array();
// cars['makeName']['modelName']=new Array();
// cars['makeName']['modelName']['bodystyleName']='year1|year2|year3';
// years = new Array();
// years['yearName']=1;


// Call this function for every vehicle selection set
function init_vehicle_select(yearObj, makeObj, modelObj, bodystyleObj, minYear, maxYear) {
	ClearSelection(yearObj," --- Select A Year -- ");
	ClearSelection(makeObj," --- Select A Make -- ");
	ClearSelection(modelObj, " --- Select A Model -- ");
	ClearSelection(bodystyleObj, " --- Select A Bodystyle -- ");
	var year="";
	for (year in years) {
		if (year >= minYear && year <= maxYear) {
			yearObj.options[yearObj.options.length]=new Option(year, year, false, false);
		}
	}
	yearObj.options[0].selected=true;
	makeObj.options[0].selected=true;
	modelObj.options[0].selected=true;
	bodystyleObj.options[0].selected=true;
}

function ClearSelection(Selection, newOption) {
	Selection.length=0;
	Selection.options[0]=new Option(newOption, '', true, true);
}

function getSelection(selectObj) {
	for (var i=0; i < selectObj.options.length; i++) {
		if (selectObj.options[i].selected) {
			return selectObj.options[i].value;
		}
	}
}

function YearSelected(yearObj, makeObj, modelObj, bodystyleObj) {
	ClearSelection(makeObj," --- Select A Make -- ");
	ClearSelection(modelObj, " --- Select A Model -- ");
	ClearSelection(bodystyleObj, " --- Select A Bodystyle -- ");
	var year=getSelection(yearObj);
	var make="";
	var model="";
	var bodystyle="";
	var prev_make="";
	for (make in cars) {
		var pleaseexit=false;
		for (model in cars[make]) {
			for (bodystyle in cars[make][model]) {
				if (cars[make][model][bodystyle].match(year) && ! pleaseexit) {
					makeObj.options[makeObj.options.length]=new Option(make, make, false, false);
					pleaseexit=true;
				}
			}
		}
	}
	makeObj.options[0].selected=true;
}

function MakeSelected(yearObj, makeObj, modelObj, bodystyleObj) {
	ClearSelection(modelObj, " --- Select A Model -- ");
	ClearSelection(bodystyleObj, " --- Select A Bodystyle -- ");
	var year=getSelection(yearObj);
	var make=getSelection(makeObj);
	var model="";
	var bodystyle="";
	var check=0;
	for (model in cars[make]) {
		for (bodystyle in cars[make][model]) {
			if (cars[make][model][bodystyle].match(year)) {
				check=1;
			}
		}
		if (check==1) {
			modelObj.options[modelObj.options.length]=new Option(model, model, false, false);
		}
		check=0;
	}
	modelObj.options[0].selected=true;
}

function ModelSelected(yearObj, makeObj, modelObj, bodystyleObj) {
//	var make=getSelection(makeObj);
//	var year=getSelection(yearObj);
//	var model=getSelection(modelObj);
//	alert("Chose: "+year+" "+make+" "+model);

	ClearSelection(bodystyleObj, " --- Select A Bodystyle -- ");
	var year=getSelection(yearObj);
	var make=getSelection(makeObj);
	var model=getSelection(modelObj);
	var bodystyle="";
	for (bodystyle in cars[make][model]) {
		if (cars[make][model][bodystyle].match(year)) {
			bodystyleObj.options[bodystyleObj.options.length]=new Option(bodystyle, bodystyle, false, false);
		}
	}
	bodystyleObj.options[0].selected=true;
}

