function createRequest() {  var request;    try {    request = new XMLHttpRequest();  }   catch (trymicrosoft) {    try {      request = new ActiveXObject("Msxml2.XMLHTTP");    }     catch (othermicrosoft) {      try {        request = new ActiveXObject("Microsoft.XMLHTTP");      }       catch (failed) {        request = false;      }    }  }  return request;}function lookup() {	// clear old search results	var od = document.getElementById("cardetails");	if (od != null) {		od.parentNode.removeChild(od);	}	// clear any errors	var ed = document.getElementById("searcherror");	if (ed != null) {		ed.parentNode.removeChild(ed);	}	var reg = document.getElementById("reg");	var mileage = document.getElementById("mileage");		if (reg.value.length > 1 && mileage.value.length > 0) {				var request = createRequest();				if (request) {			var vreg = reg.value.replace(/\s/g, "");			var url = "hpi.php?forward=YES&efxid=0448276&password=glohar&initials=xx&function=SEARCH&vrm=" + vreg + "&XML=YES&product=HPI11&deviceType=XM&format=XML";        			request.open("GET", url, true);				    			request.onreadystatechange = function() {				if (request.readyState == 4 && request.responseXML) {					var xml = request.responseXML;										showVehicle(xml);										delete request;				}			}    }		request.send(null);		showFeedback();	}	else {		validateForm(document.forms[0]);		return false;	}	return false;}function showVehicle(xml) {					var container = document.getElementById("vehiclelookup");	var details = document.createElement("div");	details.setAttribute("id", "cardetails");	var h = document.createElement("h3");	h.appendChild(document.createTextNode("Is this your car?"));	details.appendChild(h);		// check to see if found	var notfound = false;	var sum = xml.getElementsByTagName("Summary");	for (var i = 0; i < sum.length; i++) { 		for (var j = 0; j < sum[i].childNodes.length; j++) {			if (sum[i].childNodes[j].nodeName == "Veh_Regd") {					if (sum[i].childNodes[j].firstChild != null && sum[i].childNodes[j].firstChild.nodeValue == "Not Recorded") {					notfound = true; 				}			}		}	}		if (notfound) {		// show error		var error = document.createElement("div");		error.className = "errors";		error.setAttribute("id", "searcherror");		var errorTitle = document.createElement("p");		var em = document.createElement("em");	 		em.appendChild(document.createTextNode("Please check your form!"));		errorTitle.appendChild(em);		var errorPara = document.createElement("p");		errorPara.appendChild(document.createTextNode("We were unable to find your car. Please try the following:"));				var eu = document.createElement("ul");		var eul = document.createElement("li");		eul.appendChild(document.createTextNode("Check the spelling of your registration"));		eu.appendChild(eul);		eul = document.createElement("li");		var al = document.createElement("a");		al.setAttribute("href", "step1a.php");		al.appendChild(document.createTextNode("Enter your car details manually"));		eul.appendChild(al);		eu.appendChild(eul);		error.appendChild(errorTitle);		error.appendChild(errorPara);		error.appendChild(eu);		var existingErrorDiv= document.getElementById("searcherror");		if(existingErrorDiv != null)		{				var contentDiv = document.getElementById("content");				var form = contentDiv.getElementsByTagName("form");				form[0].replaceChild(error, existingErrorDiv);		}		else		{			 var contentDiv = document.getElementById("content");				var form = contentDiv.getElementsByTagName("form");				var fs =  form[0].getElementsByTagName("fieldset");				form[0].insertBefore(error, fs[0]);		}	}	else {		// get basic car info		var basic = xml.getElementsByTagName("Basic");		var car = "";		var fuel = "";		var transmission = "";		var colour = "";		var vin = "";		var engine = "";		var vrm = "";		var result = document.createElement("p");		for (i = 0; i < basic.length; i++)		{				for (j = 0; j < basic[i].childNodes.length; j++) {				if (basic[i].childNodes[j].nodeName == "Vrm") {										if (basic[i].childNodes[j].firstChild != null) {						vrm += basic[i].childNodes[j].firstChild.nodeValue;					} 				}				if (basic[i].childNodes[j].nodeName == "Make") {										if (basic[i].childNodes[j].firstChild != null) {						car += basic[i].childNodes[j].firstChild.nodeValue;					} 				}				if (basic[i].childNodes[j].nodeName == "Model") {					if (basic[i].childNodes[j].firstChild != null) {						car += " " + basic[i].childNodes[j].firstChild.nodeValue;					}				}				if (basic[i].childNodes[j].nodeName == "DVLA_Body_Plan_Description") {					if (basic[i].childNodes[j].firstChild != null) {						car += " " + basic[i].childNodes[j].firstChild.nodeValue;					}				}				if (basic[i].childNodes[j].nodeName == "Fuel") {					if (basic[i].childNodes[j].firstChild != null) {						fuel += " " + basic[i].childNodes[j].firstChild.nodeValue;					}				}				if (basic[i].childNodes[j].nodeName == "Transmission") {					if (basic[i].childNodes[j].firstChild != null) {						transmission += " " + basic[i].childNodes[j].firstChild.nodeValue;					}				}				if (basic[i].childNodes[j].nodeName == "Colour") {					if (basic[i].childNodes[j].firstChild != null) {						colour += " " + basic[i].childNodes[j].firstChild.nodeValue;					}				}				if (basic[i].childNodes[j].nodeName == "Engine_Size") {					if (basic[i].childNodes[j].firstChild != null) {						engine += " " + basic[i].childNodes[j].firstChild.nodeValue;					}				}				if (basic[i].childNodes[j].nodeName == "Vin") {					if (basic[i].childNodes[j].firstChild != null) {						vin += " " + basic[i].childNodes[j].firstChild.nodeValue;					}				}			}		}				if (engine.substring(1,2) == "0") {			engine = engine.substring(2, engine.length);		}		engine = engine + "cc";				result.appendChild(document.createTextNode("Car: " + car));		result.appendChild(document.createElement("br"));		result.appendChild(document.createTextNode("Colour: " + colour));		result.appendChild(document.createElement("br"));		result.appendChild(document.createTextNode("Fuel: " + fuel));		result.appendChild(document.createElement("br"));		result.appendChild(document.createTextNode("Transmission: " + transmission));		result.appendChild(document.createElement("br"));		result.appendChild(document.createTextNode("Engine size: " + engine));		details.appendChild(result);				// get date of first reg		var first = xml.getElementsByTagName("FirstReg");		var dfr = "";		for (var i = 0; i < first.length; i++) {				for (var j = 0; j < first[i].childNodes.length; j++) {				if (first[i].childNodes[j].nodeName == "Date") {					if (first[i].childNodes[j].firstChild != null) {						dfr += first[i].childNodes[j].firstChild.nodeValue;					} 				}			}		}				// get mfr year		var add = xml.getElementsByTagName("Additional");		var mfryr = "";		for (var i = 0; i < add.length; i++) {				for (var j = 0; j < add[i].childNodes.length; j++) {				if (add[i].childNodes[j].nodeName == "Mfr_Year") {					if (add[i].childNodes[j].firstChild != null) {						mfryr += add[i].childNodes[j].firstChild.nodeValue;					} 				}			}		}				// make form		var form = document.createElement("form");		form.setAttribute("name", "ismycar");		form.setAttribute("method", "post");		form.setAttribute("action", "step2.php");				var input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "model");		input.setAttribute("value", car);		form.appendChild(input);		input = null;				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "vrm");		input.setAttribute("value", vrm);		form.appendChild(input);		input = null;				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "colour");		input.setAttribute("value", colour);		form.appendChild(input);		input = null;				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "fuel");		input.setAttribute("value", fuel);		form.appendChild(input);		input = null;				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "transmission");		input.setAttribute("value", transmission);		form.appendChild(input);				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "date_first_registered");		input.setAttribute("value", dfr);		form.appendChild(input);				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "manufacturer_year");		input.setAttribute("value", mfryr);		form.appendChild(input);				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "engine_size");		input.setAttribute("value", engine);		form.appendChild(input);				input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "vin");		input.setAttribute("value", vin);		form.appendChild(input);				var mileage = document.getElementById("mileage");		input = document.createElement("input");		input.setAttribute("type", "hidden");		input.setAttribute("name", "mileage");		input.setAttribute("value", mileage.value);		form.appendChild(input);				input = document.createElement("input");		input.className = "floatsub";		input.setAttribute("type", "submit");		input.setAttribute("name", "next");		input.setAttribute("id", "ismycar");		input.disabled = true;		input.setAttribute("value", "Yes, this is my car");		form.appendChild(input);				var p = document.createElement("p");		var a = document.createElement("a");		a.setAttribute("href", "step1a.php");		a.setAttribute("title", "Choose your car manually");		p.className = "notcar";		a.appendChild(document.createTextNode("No, this is not my car"));		p.appendChild(a);		form.appendChild(p);				// get CAP data		var request = createRequest();				if (request) {			var reg = document.getElementById("reg");			var vreg = reg.value.replace(/\s/g, "");			var mileage = document.getElementById("mileage");			var url = "hpi.php?forward=YES&efxid=0448276&password=glohar&initials=xx&function=SEARCH&vrm=" + vreg + "&mileage=" + mileage.value + "&condition=B&XML=YES&product=HPI14&deviceType=XM&format=XML";        			request.open("GET", url, true);	    			request.onreadystatechange = function() {				if (request.readyState == 4 && request.responseXML) {					var capxml = request.responseXML;										// get CAP values					var trade = capxml.getElementsByTagName("Valuation");					var tv = "";					var rv = "";					for (var i = 0; i < trade.length; i++) {							for (var j = 0; j < trade[i].childNodes.length; j++) {							if (trade[i].childNodes[j].nodeName == "trade_value") {								if (trade[i].childNodes[j].firstChild != null) {									tv += trade[i].childNodes[j].firstChild.nodeValue;								} 							}							if (trade[i].childNodes[j].nodeName == "retail_price") {								if (trade[i].childNodes[j].firstChild != null) {									rv += trade[i].childNodes[j].firstChild.nodeValue;								} 							}						}					}										var inp = document.createElement("input");					inp.setAttribute("type", "hidden");					inp.setAttribute("name", "trade_value");					inp.setAttribute("value", Number(tv));					form.appendChild(inp);										inp = document.createElement("input");					inp.setAttribute("type", "hidden");					inp.setAttribute("name", "retail_price");					inp.setAttribute("value", Number(rv));					form.appendChild(inp);										var is = document.getElementById("ismycar");					is.disabled = false;										delete request;				}			}    }		request.send(null);				details.appendChild(form);				container.appendChild(details);	}	hideFeedback();}function showFeedback() {	var c = document.getElementById("regcontainer");	var p = document.createElement("p");	p.className = "note loading";	p.setAttribute("id", "searchbar");	p.appendChild(document.createTextNode("Searching for your car..."));	c.appendChild(p);}function hideFeedback() {	var f = document.getElementById("searchbar");	var c = document.getElementById("regcontainer");	if (f != null) {		c.removeChild(f);	}}