/*
0: Uninitialized
1: Loading
2: Loaded
3: Interactive
4: Finished
*/

var xmlHttp;

function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) {
		//Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	if ( xmlHttp == null ) {
		alert ("Browser does not support HTTP Request");
		return;
	} else {
		return xmlHttp;
	}
}

function clearSelectBox(formName, selectBoxName) {
	var selectbox = document.forms[formName].elements[selectBoxName];
	while(selectbox.length > 1) {
		selectbox.options[1] = null;
	}
}

/////////////////////////////////// Models
function getModels(make, pageId, model) { 
	
	clearSelectBox('carYearsForm', 'carYears');
	clearSelectBox('carForm', 'carId');
	
	xmlHttp=GetXmlHttpObject()

	var url = "/scripts/getCarData.php?ajaxRequest=models&make=" + make + "&page=" + pageId + "&model=" + model;

	xmlHttp.onreadystatechange=handleModels;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function handleModels() { 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		modelsLoaded = 1;
		document.getElementById("carModelDiv").innerHTML=xmlHttp.responseText;
	} else {
		document.getElementById("carModelDiv").innerHTML="Loading";
	}
	
}

/////////////////////////////////// Years
function getYears(make, model, pageId, year) { 

	clearSelectBox('carForm', 'carId');
	
	xmlHttp=GetXmlHttpObject()

	var url = "/scripts/getCarData.php?ajaxRequest=years&make=" + make + "&model=" + model + "&page=" + pageId + "&year=" + year;

	xmlHttp.onreadystatechange=handleYears;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function handleYears() { 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		document.getElementById("carYearDiv").innerHTML=xmlHttp.responseText;
	} else if (xmlHttp.readyState == 1){
		document.getElementById("carYearDiv").innerHTML="Loading";
	}	
}

/////////////////////////////////// Engines
function getEngines(make, model, year, pageId, carId) { 
	xmlHttp=GetXmlHttpObject()

	var url = "/scripts/getCarData.php?ajaxRequest=engines&make=" + make + "&model=" + model + "&year=" + year + "&page=" + pageId + "&carId=" + carId;

	xmlHttp.onreadystatechange=handleEngines;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function handleEngines() { 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		document.getElementById("carEngineDiv").innerHTML=xmlHttp.responseText;
	} else if (xmlHttp.readyState == 1){
		document.getElementById("carEngineDiv").innerHTML="Loading";
	}	
}