<!--

var vYear;
var vMake;
var vModel;
var vSpec;

var valCo2;
var valMpg;
var valCost;
var valMileage;
var dArray = new Array();


var xmlhttp = false;
//Check if we are using IE
try {
  //if the javascript version is greater than 5
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  //alert("You are using Microsoft Internet Explorer.");
} catch (e) {
  //if not, then use the older active x object
  try {
    //if we are using Internet Explorer
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	//alert("You are using Microsoft Internet Explorer Old.");
  } catch (e) {
    //else we must be using a non-IE browser.
	xmlhttp = false;
  }
}

//if we are using a non-IE browser, create a javascript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  xmlhttp = new XMLHttpRequest();
  //alert("You are not using Microsoft Internet Explorer.");
}

function yearchange() {
ClearResults();
	if(document.getElementById("year").value == "Choose a year...") {
		document.getElementById("make").innerHTML = "<select class='make' id='makeselect' onchange='makechange()' disabled><option value='Choose a make...'>Choose a make...</option></select>";
		document.getElementById("model").innerHTML = "<select class='model' id='modelselect' onchange='modelchange()' disabled><option value='Choose a model...'>Choose a model...</option>";
		document.getElementById("spec").innerHTML = "<select class='spec' id='specselect' onchange='specchange()' disabled><option value='Choose a spec...'>Choose a spec...</option>";
		document.getElementById("make").disabled = true;
		document.getElementById("model").disabled = true;
		document.getElementById("spec").disabled = true;
		document.getElementById("mileage").disabled = true;
	} else {
		document.getElementById("model").innerHTML = "<select class='model' id='modelselect' onchange='modelchange()' disabled><option value='Choose a model...'>Choose a model...</option>";
		document.getElementById("spec").innerHTML = "<select class='spec' id='specselect' onchange='specchange()' disabled><option value='Choose a spec...'>Choose a spec...</option>";
		document.getElementById("model").disabled = true;
		document.getElementById("spec").disabled = true;
		document.getElementById("mileage").disabled = true;
	vYear = document.getElementById("year").value;
	var query = "select distinct make from cars where year = " + vYear + " order by make";
	GetValues("make",query,"<select class='make' id='makeselect' onchange='makechange()'><option value='Choose a make...'>Choose a make...</option>");
	}
}

function makechange() {
ClearResults();
//alert(document.getElementById("make").value);
	if(document.getElementById("makeselect").value == "Choose a make...") {
		document.getElementById("model").innerHTML = "<select class='model' id='modelselect' onchange='modelchange()' disabled><option value='Choose a model...'>Choose a model...</option>";
		document.getElementById("spec").innerHTML = "<select class='spec' id='specselect' onchange='specchange()' disabled><option value='Choose a spec...'>Choose a spec...</option>";
		document.getElementById("model").disabled = true;
		document.getElementById("spec").disabled = true;
		document.getElementById("mileage").disabled = true;
	} else {
		document.getElementById("spec").innerHTML = "<select class='spec' id='specselect' onchange='specchange()' disabled><option value='Choose a spec...'>Choose a spec...</option>";
		document.getElementById("spec").disabled = true;
		document.getElementById("mileage").disabled = true;
	vMake = document.getElementById("makeselect").value;
	var query = "select distinct model from cars where year = " + vYear + " and make = '" + vMake + "' order by model";
	GetValues("model",query,"<select class='model' id='modelselect' onchange='modelchange()'><option value='Choose a model...'>Choose a model...</option>");
	}
}

function modelchange() {
ClearResults();
//alert(document.getElementById("model").value);
	if(document.getElementById("modelselect").value == "Choose a model...") {
		document.getElementById("spec").innerHTML = "<select class='spec' id='specselect' onchange='specchange()' disabled><option value='Choose a spec...'>Choose a spec...</option>";
		document.getElementById("spec").disabled = true;
		document.getElementById("mileage").disabled = true;
	} else {
	document.getElementById("mileage").disabled = true;
	vModel = document.getElementById("modelselect").value;
	var query = "select distinct specs from cars where year = " + vYear + " and make = '" + vMake + "' and model = '" + vModel + "' order by specs";
	//alert(query);
	GetValues("spec",query,"<select class='spec' id='specselect' onchange='specchange()'><option value='Choose a spec...'>Choose a spec...</option>");
	}
}

function specchange() {
ClearResults();
//alert(document.getElementById("spec").value);
	if(document.getElementById("specselect").value == "Choose a spec...") {
		document.getElementById("mileage").disabled = true;
	} else {
		vSpec = document.getElementById("specselect").value;
		document.getElementById("mileage").disabled = false;
	}
}

function mileagechange() {
ClearResults();
}

function GetValues(elem,query,prefix) {

send_url = "getcar.php?query=" + query.replace(/ /g,"+");
//alert(send_url);
	xmlhttp.open("GET",send_url,true);

	xmlhttp.onreadystatechange = function() {
			
		if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			Fill(elem,xmlhttp.responseText,prefix);
		}
	}
	//xmlhttp.onreadystatechange = state_changed;
	xmlhttp.send(null);
}

function Fill(elem,aValue,prefix) {
//alert(prefix + aValue);
var vAll = prefix + aValue + "</select>";
document.getElementById(elem).innerHTML = vAll;
document.getElementById(elem).disabled = false;
}

function Calculate() {
	if(Validate()) {
		vString = "Select mpg FROM cars where ";
		vString += "YEAR=" + vYear + " and MAKE='" + vMake + "' and MODEL='" + vModel + "' and SPECS='" + vSpec + "'";
		
		GetMpg(vString);
	}
}

function GetMpg(query) {
send_url = "getmpg.php?query=" + query.replace(/ /g,"+");

	xmlhttp.open("GET",send_url,true);

	xmlhttp.onreadystatechange = function() {
			
		if (xmlhttp.readyState==4 && xmlhttp.status==200) {
			ComputeCar(xmlhttp.responseText);
		}
	}
	//xmlhttp.onreadystatechange = state_changed;
	xmlhttp.send(null);
}

function ComputeCar(mpg) {
valMpg = mpg;
valMileage = parseFloat(document.getElementById("mileage").value);
valCo2 = parseFloat(document.getElementById("mileage").value) / parseFloat(mpg) * 0.00887;
valCost = valCo2 * 10.0;
document.getElementById("mpg").value = addCommas(mpg);
document.getElementById("co2").value = addCommas(valCo2.toFixed(2));
document.getElementById("cost").value = "$ " + addCommas(valCost.toFixed(2));
//document.getElementById("Price").value = valCost.toFixed(2);

}
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
function ClearResults() {
document.getElementById("mpg").value = "";
document.getElementById("co2").value = "";
document.getElementById("cost").value = "";
}

function Validate() {
var oYear = document.getElementById("year");
var oMake = document.getElementById("makeselect");
var oModel = document.getElementById("modelselect");
var oSpec = document.getElementById("specselect");

if(madeSelection(oYear,"Please select year of your vehicle","Choose a year...")) {
	if(madeSelection(oMake,"Please select make of your vehicle","Choose a make...")) {
		if(madeSelection(oModel,"Please select model of your vehicle","Choose a model...")) {
			if(madeSelection(oSpec,"Please select specification of your vehicle","Choose a spec...")) {
				return true;
			}
		}
	}
}

return false;
}

function Validate2() {
var oMpg = document.getElementById("mpg");
var oCo2 = document.getElementById("co2");
var oCost = document.getElementById("cost");

if(isNonEmpty(oMpg,"Please complete vehicle selection")) {
	if(isNonEmpty(oCo2,"Please complete vehicle selection")) {
		if(isNonEmpty(oCost,"Please complete vehicle selection")) {
			return true;
		}
	}
}

return false;
}

function madeSelection(elem, helperMsg, defString){
	if(elem.value == defString){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}
function isNonEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		//elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}

function AddCar() {
	if(Validate2()) {
		nCount = dArray.length;
		nLoop = nCount + 1;
		dArray[nCount] = new Array(vMake,vModel,valMileage,valMpg,valCo2,valCost);
		DisplayResult();
	}
	ClearResults();
	document.getElementById("year").value = "Choose a year...";
	document.getElementById("make").innerHTML = "<select class='make' id='makeselect' onchange='makechange()' disabled><option value='Choose a make...'>Choose a make...</option></select>";
	document.getElementById("model").innerHTML = "<select class='model' id='modelselect' onchange='modelchange()' disabled><option value='Choose a model...'>Choose a model...</option>";
	document.getElementById("spec").innerHTML = "<select class='spec' id='specselect' onchange='specchange()' disabled><option value='Choose a spec...'>Choose a spec...</option>";
	document.getElementById("make").disabled = true;
	document.getElementById("model").disabled = true;
	document.getElementById("spec").disabled = true;
	document.getElementById("mileage").disabled = true;
}

function deleteme(nNumber) {
dArray.splice(nNumber,1);
DisplayResult();
}

function DisplayResult() {
var sTable;
var nTotalCO2 = 0.;
var nTotalCost = 0.;

	sTable = "<table width='357' border='0' cellpadding='0' cellspacing='2' bordercolor='#ffffff'>";
	
		for(i=0;i<dArray.length;i++) {
		nTotalCO2 = nTotalCO2 + dArray[i][4];
		nTotalCost = parseFloat(nTotalCost) + parseFloat(dArray[i][5]);
		sTable += "<tr bordercolor='#ffffff'>";
			sTable += "<td style='font-family: Verdana; font-size: 9px; text-align: right' bordercolor='#ffffff' width='10'>";
			sTable += i+1;
			sTable += "&nbsp;";
			sTable += "</td>";
	
			sTable += "<td style='font-family: Verdana; font-size: 9px;text-overflow:elipses;overflow:hidden;' bordercolor='#ffffff'  width='50'>";
			if(dArray[i][0].length > 15) {
			   sTable += dArray[i][0].substring(0,15) + "...";
			} else {
			   sTable += dArray[i][0];
			}
			sTable += "</td>";
			
			sTable += "<td style='font-family: Verdana; font-size: 9px;text-overflow:elipses;overflow:hidden' bordercolor='#ffffff' width='80'>";
			if(dArray[i][1].length > 15) {
			   sTable += dArray[i][1].substring(0,15) + "...";
			} else {
			   sTable += dArray[i][1];
			}
			//sTable += dArray[i][1];
			sTable += "</td>";
			
			sTable += "<td style='font-family: Verdana; font-size: 9px; text-align: right' bordercolor='#ffffff'>";
			sTable += addCommas(dArray[i][2]);
			sTable += "</td>";
			
			sTable += "<td style='font-family: Verdana; font-size: 9px; text-align: right' bordercolor='#ffffff' width='30'>";
			sTable += addCommas(dArray[i][3]);
			sTable += "</td>";		
			
			sTable += "<td style='font-family: Verdana; font-size: 9px; text-align: right' bordercolor='#ffffff' width='40'>";
			sTable += addCommas(dArray[i][4].toFixed(2));
			sTable += "</td>";
			
			sTable += "<td style='font-family: Verdana; font-size: 9px; text-align: right' bordercolor='#ffffff' width='15'>";
			sTable += "$";
			sTable += "</td>";
			
			sTable += "<td style='font-family: Verdana; font-size: 9px; text-align: right' bordercolor='#ffffff' width='45'>";
			sTable += addCommas(dArray[i][5].toFixed(2));
			sTable += "</td>";
			
			sTable += "<td style='font-family: Verdana; font-size: 8px;text-align: right;' bordercolor='#ffffff' width='15'>";
			sTable += "<img src='images/trashcan.jpg' width=9 height=10 alt='delete this entry' onclick='deleteme(" + i + ")' style='cursor: hand; cursor: pointer';/>";
			sTable += "</td>";
			
			sTable += "</tr>";
		}
	
	sTable += "</table>";
	//alert(sTable);
	tblShow = document.getElementById("resultdiv");
	tblShow.style.visibility = "visible";
	tblShow.innerHTML = sTable;
	document.getElementById("totalco2").innerHTML = addCommas(nTotalCO2.toFixed(2));
	document.getElementById("total").innerHTML = "$ " + addCommas(nTotalCost.toFixed(2));
	document.getElementById("Price").value = nTotalCost.toFixed(2);
}





-->
