function makeRequest(url)
{
	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}

	f = document.form;
	if (url=='versions.asp') {
		if (f.vehicle.selectedIndex != 0) {
			url = url + '?vehicle=' + f.vehicle.options[f.vehicle.selectedIndex].value + '&rnd=' + Math.random()*9999999;
			http_request.onreadystatechange = function() { displayCarList(http_request); };
			http_request.open('GET', url, true);
			http_request.send(null);
			document.getElementById('carImage').src = 'img/alfa_' + f.vehicle.options[f.vehicle.selectedIndex].value + '.jpg';
			document.getElementById('carImage').alt = f.vehicle.options[f.vehicle.selectedIndex].value;
		}
		else {
			document.getElementById('carImage').src = 'img/clear.gif';
			document.getElementById('carImage').alt = '';
			document.getElementById('versionList').innerHTML = "";
			clearCarData();
		}
		showTaxBracket(0);
	}
	else if (url=='model.asp') {
		if (f.model.selectedIndex != 0 && f.tax.selectedIndex != 0) {
			url = url + '?model=' + f.model.options[f.model.selectedIndex].value + '&tax=' + f.tax.options[f.tax.selectedIndex].value + '&rnd=' + Math.random()*9999999;
			http_request.onreadystatechange = function() { displayTaxDetails(http_request); };
			http_request.open('GET', url, true);
			http_request.send(null);
		}
	}
}

function displayCarList(http_request)
{
	f = document.form;
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			document.getElementById('versionList').innerHTML = http_request.responseText;
			clearCarData();
		}
		else {
			alert('There was a problem with the request.');
		}
	}
}

function displayTaxDetails(http_request)
{
	f = document.form;
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			taxDetails = http_request.responseText.split("|");
			document.getElementById('carOTR').innerHTML = taxDetails[1];
			document.getElementById('carCO2').innerHTML = taxDetails[2];
			//document.getElementById('carTotalTax').innerHTML = taxDetails[3];
			document.getElementById('carBenefit').innerHTML = taxDetails[4];
			document.getElementById('taxMonthly').innerHTML = taxDetails[5];
			document.getElementById('taxYearly').innerHTML = taxDetails[6];
		}
		else {
			alert('There was a problem with the request.');
		}
	}
}

function clearCarData()
{
	document.getElementById('carOTR').innerHTML = "&nbsp;";
	document.getElementById('carCO2').innerHTML = "&nbsp;";
	//document.getElementById('carTotalTax').innerHTML = "&nbsp;";
	document.getElementById('carBenefit').innerHTML = "&nbsp;";
	document.getElementById('taxMonthly').innerHTML = "&nbsp;";
	document.getElementById('taxYearly').innerHTML = "&nbsp;";
}

function showTaxBracket(s)
{
	document.form.tax.selectedIndex = 0;
	if (s == 1)
	{
		document.getElementById('taxBracket').style.display = "block";
		clearCarData();
	}
	else if (s == 0)
		document.getElementById('taxBracket').style.display = "none";
}