//
// Fixed by Kieran Allen
// www.vi2.co.uk
// kieran@vi2.co.uk
//



function setMake() 
{

	clearDrp(document.getElementById("ModelID"));
	clearDrp(document.getElementById("MakeID"));
	
	var yearDrp = document.getElementById("YearID");
	var year = yearDrp.options[yearDrp.selectedIndex].value

	var catDrp = document.getElementById("CategoryID");
	var CategoryID = catDrp.options[catDrp.selectedIndex].value
	

	AJAXQuery('returnMake.php?catagory='+CategoryID+'&year='+year, document.getElementById("MakeID"));
	// loop through array and place in the DRP
}

function setModel() {
//	clearModel();
	clearDrp(document.getElementById("ModelID"));
	
	
	var yearDrp = document.getElementById("YearID");
	var year = yearDrp.options[yearDrp.selectedIndex].value;

	var makeDrp = document.getElementById("MakeID");
	var make =  makeDrp.options[makeDrp.selectedIndex].value

	
	var catDrp = document.getElementById("CategoryID");
	var CategoryID = catDrp.options[catDrp.selectedIndex].value
		
	if(make==" --> ") {
		alert("You Cannot select that Item");
	}
	else {
		//alert('returnModel.php?make='+make+'&year='+year);
		//alert('here');
		AJAXQuery('returnModel.php?catagory='+CategoryID+'&make='+make+'&year='+year, document.getElementById('ModelID'));
	}
}
// Changes by Kieran Allen
// Kieran@vi2.co.uk
// Vivid Innovation (www.vi2.co.uk)
// START

function setYearN() {
//	clearModel();
	clearDrp(document.getElementById("YearID"));
	clearDrp(document.getElementById("ModelID"));
	clearDrp(document.getElementById("MakeID"));
		

	var catDrp = document.getElementById("CategoryID");
	var CategoryID = catDrp.options[catDrp.selectedIndex].value


	
	AJAXQuery('returnYear.php?catagory='+CategoryID, document.getElementById('YearID'));
		

	
}

// END;


function newPage() {
	if(document.getElementById("ModelID").options[document.getElementById("ModelID").selectedIndex].value == " --> ") {
		alert("You Cannot select that Item");
	}
	else if(document.getElementById("MakeID").options[document.getElementById("MakeID").selectedIndex].value == " --> ") {
		alert("You Cannot select that Item");
	}
	else if(document.getElementById("YearID").options[document.getElementById("YearID").selectedIndex].value == " --> ") {
		alert("You Cannot select that Item");
	}
	else {
		document.getElementById("SearchForm").submit();
		//alert("changeingPage");
	}
}


function createArr(response) {
	var ARRAY = new Array();

	nodes = response.getElementsByTagName("cat");
	//nodes = documentA;
	ARRAY[0] = " --> ";
	for (i=0; i<nodes.length; i++) {
		var objnode = nodes.item(i);
		// CREATE ARRAYS WITH proccessXMLValue FUNCTION
		ARRAY[i+1] = proccessXMLValue(objnode, 'item');
	}
	return ARRAY;
}

function proccessXMLValue(node, getnodeName) {
//Returns a sub-element/node from the node passed to teh function
	var subNodes = node.childNodes;

	for(j=0; j< subNodes.length; j++) {
		var subNode = subNodes.item(j);
		if(subNode.nodeName == getnodeName) {
			return subNode.childNodes.item(0).nodeValue;
		}
	}
	return null;
}

function proccessXMLPerson(node, getnodeName) {
	var subNodes = node.childNodes;
	for(j=0; j< subNodes.length; j++) {
		var subNode = subNodes.item(j);
		if(subNode.nodeName == getnodeName) {
			return subNode.childNodes.item(0).nodeValue;
		}
	}
	return 0;
}

function setDrp(valuesARR, fieldObj) {
	for(n=0;n<valuesARR.length;n++) {
		fieldObj.options[n] = new Option(valuesARR[n], valuesARR[n]);
	}
}
function clearDrp(object) {
	object.options.length=0;
}	
function AJAXQuery(pageName, fieldObj) {
	
	
var xmlObj = false;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer") {
	xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
	xmlObj = new XMLHttpRequest();
}


//Returns an array, based on teh returned query result of the pageName content. 
	xmlObj.onreadystatechange = function() {
		if(xmlObj.readyState==4) {
			//alert("STATUs:::" + xmlObj.status);
			var valuesARR = createArr(xmlObj.responseXML.documentElement);

			setDrp(valuesARR, fieldObj);
		}
	}

	xmlObj.open('get', pageName);
	xmlObj.send(null);

	

	return 1;
}