
function init() {
  ClearSelection(document.carSelect.year," --- Step 1: Select A Year -- ");
  ClearSelection(document.carSelect.make," --- Step 2: Select A Make -- ");
  ClearSelection(document.carSelect.model," --- Step 3: Select A Model -- ");
  var year="";
  var selectedYear = getCookie("usedYear");
  var chosen=0;
  var Selection=document.carSelect.year;
  for (year in years) {
	if (year == selectedYear) {
		chosen=Selection.options.length;
	}
	Selection.options[Selection.options.length]=new Option(year,year,false,false);
  }
  Selection.options[chosen].selected=true;
  if (Selection.selectedIndex) {
  	Selection.selectedIndex=chosen;
  }
  document.carSelect.make.options[0].selected=true;
  document.carSelect.model.options[0].selected=true;
  if (chosen != 0) {
	var make="";
	var selectedMake=getCookie("usedMake");
	chosen=0;
	Selection=document.carSelect.make;
	for (make in cars) {
		var pleaseexit=false;
	    for (model in cars[make]) {
	        if (cars[make][model].match(selectedYear) && ! pleaseexit) {
				if (make == selectedMake) {
					chosen=Selection.options.length;
				}
	            Selection.options[Selection.options.length]=new Option(make, make,false,false);
	            pleaseexit=true;
	        }
	    }
	}
	Selection.options[chosen].selected=true;
	if (Selection.selectedIndex) {
		Selection.selectedIndex=chosen;
	}
	if (chosen != 0) {
		var model="";
		var selectedModel=getCookie("usedModel");
		chosen=0;
		Selection=document.carSelect.model;
		for (model in cars[selectedMake]) {
		    if (cars[selectedMake][model].match(selectedYear)) {
			  if (model == selectedModel) {
			  	chosen=Selection.options.length;
			  }
		      Selection.options[Selection.options.length]=new Option(model, model,false,false);
			}
	    }
		Selection.options[chosen].selected=true;
		if (Selection.selectedIndex) {
			Selection.selectedIndex=chosen;
		}
		if (chosen!=0) {
			var file=selectedYear+" "+selectedMake+" "+selectedModel+".html";
			file=file.replace(/\ /g,"_");
			file=file.replace(/\//g,"_");
			document.carSelect.action=file;
		}
	}
  }
}

function verify() {
  var year=getYear();
  var model=getModel();
  var make=getMake();
  var mesg="";
  if (year == "") {
    mesg=mesg+"You must select a year!\n";
  }
  if (make == "") {
    mesg=mesg+"You must select a make!\n";
  }
  if (model == "") {
    mesg=mesg+"You must select a model!\n";
  }
  if (mesg != "") {
    mesg="Error!\n\n"+mesg;
	alert(mesg);
	return false;
  } else {
    return true;
  }
}

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

function getYear() {
  var Years=document.carSelect.year;
  for (var i=0; i < Years.options.length; i++) {
    if (Years.options[i].selected) {
	  return Years.options[i].value;
	}
  }
}

function getMake() {
  var Makes=document.carSelect.make;
  for (var i=0; i < Makes.options.length; i++) {
    if (Makes.options[i].selected) {
      return Makes.options[i].value;
	}
  }
}

function getModel() {
  var Models=document.carSelect.model;
  for (var i=0; i < Models.options.length; i++) {
    if (Models.options[i].selected) {
	  return Models.options[i].value;
	}
  }
}

function YearSelected() {
  ClearSelection(document.carSelect.make," --- Step 2: Select A Make -- ");
  ClearSelection(document.carSelect.model," --- Step 3: Select A Model -- ");
  var make="";
  var year=getYear();
  var prev_make="";
  var Selection=document.carSelect.make;
  for (make in cars) {
  	var pleaseexit=false;
	for (model in cars[make]) {
		if (cars[make][model].match(year) && ! pleaseexit) {
			Selection.options[Selection.options.length]=new Option(make, make,false,false);
			pleaseexit=true;
		}
	}
  }
  document.carSelect.make.options[0].selected=true;
  document.cookie="usedYear="+escape(year);
  document.cookie="usedMake=";
  document.cookie="usedModel=";
  location.reload();
}

function MakeSelected() {
  ClearSelection(document.carSelect.model," --- Step 3: Select a Model -- ");
  var make=getMake();
  var year=getYear();
  var model="";
  var Selection=document.carSelect.model;
  for (model in cars[make]) {
    if (cars[make][model].match(year)) {
	  Selection.options[Selection.options.length]=new Option(model, model,false,false);
	}
  }
  document.carSelect.model.options[0].selected=true;
  document.cookie="usedMake="+escape(make);
  document.cookie="usedModel=";
  location.reload();
}

function ModelSelected() {
  var make=getMake();
  var year=getYear();
  var model=getModel();
  var file=year+" "+make+" "+model+".html";
  file=file.replace(/\ /g,"_");
  file=file.replace(/\//g,"_");
  document.carSelect.action=file;
  document.cookie="usedModel="+escape(model);
  location.reload();
}

function getCookie (name) {
	var result = "";
	var allcookies = document.cookie;
	allcookies = " " + allcookies + ";";
	var searchName = " " + name + "=";
	var startOfCookie = allcookies.indexOf(searchName);
	var endOfCookie;

	if (startOfCookie != -1) {
		startOfCookie += searchName.length;
		endOfCookie = allcookies.indexOf(";", startOfCookie);
		result = unescape(allcookies.substring(startOfCookie, endOfCookie));
	}
	return result;
}


