function explain(oField, sDiv)
{
	if((explain.lastdiv) && (explain.lastdiv.id != sDiv))
	{
		explain.lastdiv.style.display = "none";
		explain.lastdiv.style.visibility = "hidden";
	}

	if(typeof(oField) == "string")
	{
		oField = document.getElementsByName(oField)[0];
	}

	var iFieldTop = 0;
	var oFieldParent = oField.parentNode;
	var oDiv = document.getElementById(sDiv);
	var oFooter = document.getElementById('pagefooter');

	// find the .top of the field
	while(oFieldParent) {
	if((oFieldParent.tagName != "table") && (oFieldParent.tagName != "TR"))
	{
		iFieldTop += (oFieldParent.offsetTop) ? oFieldParent.offsetTop : 0;
	}
	oFieldParent = oFieldParent.parentNode;
	}

	// move it up if it'll go below the end of the page
	oDiv.style.visibility = 'hidden';
	oDiv.style.display = 'block';
	if(iFieldTop + oDiv.offsetHeight > parseInt(document.getElementById('pagefooter').style.top))
	{
		iFieldTop = parseInt(document.getElementById('pagefooter').style.top) - oDiv.offsetHeight - 20;
	}

	// show it
	oDiv.style.position = "absolute";
	oDiv.style.top = iFieldTop + "px";
	oDiv.style.left = "682px";
	oDiv.style.visibility = "visible";
	explain.lastdiv = oDiv;
}

function createXmlHttpRequestObject()
				{
					if (window.XMLHttpRequest)
						xmlHttpObj = new XMLHttpRequest();
					else
					{
						try
						{
							xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
						} catch(e)
						{
							xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
						}
					}
					return xmlHttpObj;
				}
		
		
function findPos(obj)
		{
			var curleft = curtop = 0;
			
			if (obj.offsetParent)
			{
				curleft = obj.offsetLeft
				curtop = obj.offsetTop
				while (obj = obj.offsetParent)
				{
						curleft += obj.offsetLeft
						curtop += obj.offsetTop
				}
			}
			return [curleft,curtop];
		}

function makeXMLHTTPCall(arg)
			{
				//create xmlhttp obj ref
				var xmlHttpObj = createXmlHttpRequestObject();
				var URL = "http:/" + "/" + location.host + "/AJAX/handleAJAX.asmx/getPartsList"
				var entries = +0;
				
				if (xmlHttpObj)
				{
					xmlHttpObj.open("POST", URL, false);
					xmlHttpObj.onreadystatechange = function()
					{
							if (xmlHttpObj.readyState == 4)
							{
							var parts = new Array();
								if (xmlHttpObj.status == 200)
								{ 	
									var xmlDoc = xmlHttpObj.responseXML;
									var nodes = xmlDoc.selectNodes("/xml/PartList/partName/text()");
									var divArea = '<table cellspacing=0 cellpadding=0 width=250 height=13 border=0 bgcolor=#ffffff>';
									divArea += '<tr><td align=right><a href=# onclick="clearDiv();"><img src="images/close.gif" border=0 /></a></td></tr>';
									for (var i=0; i < nodes.length; i++)	
									{
										divArea += '<tr><td><a href=# onclick="populateTextBox(this, ' + arg.id + ');">' + nodes[i].nodeValue + '</a></td></tr>';
										entries++;	
									}
								}
								else
								{
									alert("Error occurred! \n\n" + xmlHttpObj.responseText);
								}
								if (entries > 0)
								{
									var coors = findPos(arg);
	
									var x = document.getElementById("div1");
									x.style.top = (coors[1] + +25) + 'px';
									x.style.left = coors[0] + 'px';
									x.innerHTML = divArea;	
									x.style.visibility = 'visible';
								}
								else
								{
									cleardiv();
								}
							}
						}
	
						xmlHttpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
						xmlHttpObj.send("partname=" + arg.value);
					}
					else
					{
						alert("object screwed up");
					}
				}
				
function populateTextBox(arg, arg2)
				{
					document.getElementById(arg2.id).value =arg.innerHTML;
					document.getElementById("div1").innerHTML = '';
					document.getElementById("div1").style.visibility = 'hidden';
				}
				
				
function processTextBox(arg)
			{
				if ((arg.value.length > 2) && (arg.value.length < 6))
				{
					makeXMLHTTPCall(arg);
				}
				else
				{
					document.getElementById("div1").innerHTML = '';
					document.getElementById("div1").style.visibility = 'visible';
				}
			}
			
			
function focussed(arg)
{
	//alert("test");
	arg.style.backgroundColor  = '#faebd7';
	document.getElementById("div1").style.visibility = 'hidden'; 
}

function unFocus(arg)
{
	//alert("test");
	arg.style.backgroundColor  = '#ffffff'; }

function clearDiv()
{
	document.getElementById("div1").innerHTML = '';
	document.getElementById("div1").style.visibility = 'hidden'; }

function processRegNo()
			{
					makeXMLHTTPCall2();
			}
			
function makeXMLHTTPCall2()
			{
				//create xmlhttp obj ref
				var xmlHttpObj = createXmlHttpRequestObject();
				var URL = "http:/" + "/" + location.host + "/AJAX/handleAJAX.asmx/getCarDetails"
				var entries = +0;
				
				if (xmlHttpObj)
				{
					xmlHttpObj.open("POST", URL, false);
					xmlHttpObj.onreadystatechange = function()
					{
							if (xmlHttpObj.readyState == 4)
							{
							var parts = new Array();
								if (xmlHttpObj.status == 200)
								{
									var xmlDoc = xmlHttpObj.responseXML;
									var make = xmlDoc.selectSingleNode("/cars/vehicle/make/text()");
									alert(make.nodeValue);
									var model = xmlDoc.selectSingleNode("/cars/vehicle/model/text()");
									var type = xmlDoc.selectSingleNode("/cars/vehicle/type/text()");
									var cc = xmlDoc.selectSingleNode("/cars/vehicle/cc/text()");
	
									document.form1.txtMake.value = make.nodeValue;
									document.form1.txtModel.value = model.nodeValue;
									document.form1.txtType.value = type.nodeValue;
									document.form1.txtCC.value = cc.nodeValue;
								}
								else
								{
									alert("Error occurred! \n\n" + xmlHttpObj.responseText);
								}
							}
						}
	
						xmlHttpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
						xmlHttpObj.send("regNo=" + document.form1.txtRegNo.value);
					}
					else
					{
						alert("object screwed up");
					}
				}

function validateForm()
{
	var blnReturn = true;
	var strError = 'Please complete the following info:\n\n';

	if (document.getElementById("drpMake").value == '0')
	{
		document.getElementById("lblMake").className = 'errorText';
		document.getElementById("drpMake").className = 'errorinput';
		document.getElementById("errorMake").style.visibility = 'visible';
		strError += 'Please provide the make\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpMake").className = 'inputgood';
		document.getElementById("errorMake").style.visibility = 'hidden';
		document.getElementById("lblMake").className = 'p10bold';
	}
	
	if (document.getElementById("drpModel").value == '0')
	{
		document.getElementById("lblModel").className = 'errorText';
		document.getElementById("drpModel").className = 'errorinput';
		document.getElementById("errorModel").style.visibility = 'visible';
		strError += 'Please provide the model\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpModel").className = 'inputgood';
		document.getElementById("errorModel").style.visibility = 'hidden';
		document.getElementById("lblModel").className = 'p10bold';
	}
	
	if (document.getElementById("drpCC").value == '0')
	{
		document.getElementById("lblEngine").className = 'errorText';
		document.getElementById("drpCC").className = 'errorinput';
		document.getElementById("errorEngine").style.visibility = 'visible';
		strError += 'Please provide the Engine size (cc)\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpCC").className = 'inputgood';
		document.getElementById("errorEngine").style.visibility = 'hidden';
		document.getElementById("lblEngine").className = 'p10bold';
	}
	
	if (document.getElementById("drpYear").value == '0')
	{
		document.getElementById("lblReg").className = 'errorText';
		document.getElementById("drpYear").className = 'errorinput';
		document.getElementById("errorYear").style.visibility = 'visible';
		strError += 'Please provide the year of registration\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpYear").className = 'inputgood';
		document.getElementById("errorYear").style.visibility = 'hidden';
		document.getElementById("lblReg").className = 'p10bold';
	}
	
	if (document.getElementById("drpFueltype").value == '0')
	{
		document.getElementById("lblFuel").className = 'errorText';
		document.getElementById("drpFueltype").className = 'errorinput';
		document.getElementById("errorFuel").style.visibility = 'visible';
		strError += 'Please provide the fuel type\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpFueltype").className = 'inputgood';
		document.getElementById("errorFuel").style.visibility = 'hidden';
		document.getElementById("lblFuel").className = 'p10bold';
	}
	
	if (document.getElementById("drpBodytype").value == '0')
	{
		document.getElementById("lblBody").className = 'errorText';
		document.getElementById("drpBodytype").className = 'errorinput';
		document.getElementById("errorBody").style.visibility = 'visible';
		strError += 'Please provide the body type\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpBodytype").className = 'inputgood';
		document.getElementById("errorBody").style.visibility = 'hidden';
		document.getElementById("lblBody").className = 'p10bold';
	}
	
	if (document.getElementById("drpTransmission").value == '0')
	{
		document.getElementById("lblTransmission").className = 'errorText';
		document.getElementById("drpTransmission").className = 'errorinput';
		document.getElementById("errorTransmission").style.visibility = 'visible';
		strError += 'Please provide the transmission type\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpTransmission").className = 'inputgood';
		document.getElementById("errorTransmission").style.visibility = 'hidden';
		document.getElementById("lblTransmission").className = 'p10bold';
	}
	
	var isChecked = false;
	var rdolist_0 = document.getElementById("rdoVehicle_0");		
	var rdolist_1 = document.getElementById("rdoVehicle_1");	
	var rdolist_2 = document.getElementById("rdoVehicle_2");	
	
	if (rdolist_0.checked)		
		isChecked = true;
	if (rdolist_1.checked)	
		isChecked = true;	
	if (rdolist_2.checked)				
		isChecked = true;
	
	if(isChecked == false)
	{
		document.getElementById("lblVehicleType").className = 'errorText';
		document.getElementById("rdoVehicle_0").className = 'errorinput';
		document.getElementById("rdoVehicle_1").className = 'errorinput';
		document.getElementById("rdoVehicle_2").className = 'errorinput';
		document.getElementById("errorVehicleType").style.visibility = 'visible';
		strError += 'Please select a vehicle type\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("rdoVehicle_0").className = 'inputgood';
		document.getElementById("rdoVehicle_1").className = 'inputgood';
		document.getElementById("rdoVehicle_2").className = 'inputgood';
		document.getElementById("errorVehicleType").style.visibility = 'hidden';
		document.getElementById("lblVehicleType").className = 'p10bold';
	}
		

	
	if (!blnReturn) alert(strError);
	//alert(blnReturn);
	return blnReturn;
}

/*function validateFormPage2()
{
	var blnReturn = true;
	var strError = 'Please complete the following info:\n\n';
	//alert(document.getElementById("txtPart1").value);
	if ((document.getElementById("txtPart1").value == '') && (document.getElementById("txtPart2").value == '') && (document.getElementById("txtPart3").value == '') && (document.getElementById("txtPart4").value == '') && (document.getElementById("txtPart5").value == ''))
	{
		document.getElementById("txtPart1").className = 'errorinput';
		document.getElementById("error1").style.visibility = 'visible';
		strError += 'Please complete at least 1 part\n';
		blnReturn = false;
	}
	
	if (!blnReturn) 
	{
		alert(strError);
	}
	else
	{
	//alert(document.getElementById("txtPart1").value);
	document.getElementById("btnContinue").style.visibility = 'hidden';
	if ((document.getElementById("File1").value.length > 0) || (document.getElementById("File2").value.length > 0) || (document.getElementById("File3").value.length > 0) || (document.getElementById("File4").value.length > 0) || (document.getElementById("File5").value.length > 0))
		{
			document.getElementById("div4").style.display = '';
		}
	}
	
	return true;
}*/

function validateFormPage3()
{
	var blnReturn = true;
	var strError = 'Please complete the following info:\n\n';
	
	if (document.getElementById("txtFirstName").value == '')
	{
		document.getElementById("lblFirstName").className = 'errorText';
		document.getElementById("txtFirstName").className = 'errorinput';
		document.getElementById("errorFirstName").style.visibility = 'visible';
		strError += 'Please provide your First Name\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("txtFirstName").className = 'inputgood';
		document.getElementById("errorFirstName").style.visibility = 'hidden';
		document.getElementById("lblFirstName").className = 'p10';
	}
	
	if (document.getElementById("txtSurname").value == '')
	{
		document.getElementById("lblSurname").className = 'errorText';
		document.getElementById("txtSurname").className = 'errorinput';
		document.getElementById("errorSurname").style.visibility = 'visible';
		strError += 'Please provide your Surname\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("txtSurname").className = 'inputgood';
		document.getElementById("errorSurname").style.visibility = 'hidden';
		document.getElementById("lblSurname").className = 'p10';
	}
	
	var address1 = document.getElementById('txtAddress1');
	if (address1) 
	{
		if (address1.value == '')
		{
			document.getElementById("lblAddress1").className = 'errorText';
			address1.className = 'errorinput';
			document.getElementById("errorAddress1").style.visibility = 'visible';
			strError += 'Please complete the Address1 field\n';
			blnReturn = false;
		}
		else
		{
			address1.className = 'inputgood';
			document.getElementById("errorAddress1").style.visibility = 'hidden';
			document.getElementById("lblAddress1").className = 'p10';
		}
	}
	
	var town = document.getElementById('txtTown');
	if (town) 
	{
		if (town.value == '')
		{
			document.getElementById("lblTown").className = 'errorText';
			document.getElementById("txtTown").className = 'errorinput';
			document.getElementById("errorTown").style.visibility = 'visible';
			strError += 'Please provide your Town\n';
			blnReturn = false;
		}
		else
		{
			document.getElementById("txtTown").className = 'inputgood';
			document.getElementById("errorTown").style.visibility = 'hidden';
			document.getElementById("lblTown").className = 'p10';
		}
	}
	
	var county = document.getElementById('txtCounty');
	if (county) 
	{
		if (county.value == '')
		{
			document.getElementById("lblCounty").className = 'errorText';
			county.className = 'errorinput';
			document.getElementById("errorCounty").style.visibility = 'visible';
			strError += 'Please provide your County\n';
			blnReturn = false;
		}
		else
		{
			county.className = 'inputgood';
			document.getElementById("errorCounty").style.visibility = 'hidden';
			document.getElementById("lblCounty").className = 'p10';
		}
	}
	
	if (document.getElementById("txtTel").value == '')
	{
		document.getElementById("lblTel").className = 'errorText';
		document.getElementById("txtTel").className = 'errorinput';
		document.getElementById("errorTel").style.visibility = 'visible';
		strError += 'Please provide your Contact Number\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("txtTel").className = 'inputgood';
		document.getElementById("errorTel").style.visibility = 'hidden';
		document.getElementById("lblTel").className = 'p10';
	}
	
	if (document.getElementById("chkInternational").checked != true)
	{
		if (document.getElementById("txtPostcode1").value == '')
		{
			document.getElementById("lblPostcode").className = 'errorText';
			document.getElementById("txtPostcode1").className = 'errorinput';
			document.getElementById("errorPostcode").style.visibility = 'visible';
			strError += 'Please provide the first part of your postcode\n';
			blnReturn = false;
		}
		else
		{
			document.getElementById("txtPostcode1").className = 'inputgood';
			document.getElementById("errorPostcode").style.visibility = 'hidden';
			document.getElementById("lblPostcode").className = 'p10';
		}
	}
	else
	{
		document.getElementById("txtPostcode1").value = "Non-";
	}
	
	if (document.getElementById("txtEmail1").value == '')
	{
		document.getElementById("lblEmail1").className = 'errorText';
		document.getElementById("txtEmail1").className = 'errorinput';
		document.getElementById("errorEmail1").style.visibility = 'visible';
		strError += 'Please provide your Email address\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("txtEmail1").className = 'inputgood';
		document.getElementById("errorEmail1").style.visibility = 'hidden';
		document.getElementById("lblEmail1").className = 'p10';
	}
	
	if (document.getElementById("txtEmail2").value == '')
	{
		document.getElementById("lblEmail2").className = 'errorText';
		document.getElementById("txtEmail2").className = 'errorinput';
		document.getElementById("errorEmail2").style.visibility = 'visible';
		strError += 'Please confirm your Email address\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("txtEmail2").className = 'inputgood';
		document.getElementById("errorEmail2").style.visibility = 'hidden';
		document.getElementById("lblEmail2").className = 'p10';
	}
	
	if ((document.getElementById("txtEmail1").value != document.getElementById("txtEmail2").value))
	{
		strError += 'Your Email addresses do not match\n';
		blnReturn = false;
	}
	
	if (document.getElementById("rdoText").checked == true)
	{
		if (document.getElementById("txtMobile").value == '')
		{
			document.getElementById("lblMobile").className = 'errorText';
			document.getElementById("txtMobile").className = 'errorinput';
			document.getElementById("errorMobile").style.visibility = 'visible';
			strError += 'Please provide your Mobile number\n';
			blnReturn = false;
		}
	}
	
	if (document.getElementById("drpInsurance").value == '0')
	{
		document.getElementById("lblInsurance").className = 'errorText';
		document.getElementById("drpInsurance").className = 'errorinput';
		document.getElementById("errorInsurance").style.visibility = 'visible';
		strError += 'Please select an insurance month\n';
		blnReturn = false;
	}
	else
	{
		document.getElementById("drpInsurance").className = 'inputgood';
		document.getElementById("errorInsurance").style.visibility = 'hidden';
		document.getElementById("lblInsurance").className = 'p10';
	}
	
	if (document.getElementById("chkTerms").checked == false)
		{
			strError += 'Please confirm you have read our terms and conditions\n';
			blnReturn = false;
		}
	
	if (!blnReturn) 
	{
		alert(strError);
		return false;
	}
	else
	{
		//hide button
		document.getElementById('divImageButton1').className = 'hidediv';
		document.getElementById('divImageButton2').className = 'showdiv';
	}
	//alert(blnReturn);
	//return blnReturn;
}

function helpHidePopupPage2(arg2)
{
	var x = document.getElementById(arg2);
	x.style.display = "none";
	x.style.visibility = "hidden";
}

function helpShowPopupPage2(arg, arg2)
{
	var coors = findPos(arg);
	var x = document.getElementById(arg2);
	//alert('top=' + coors[1] + ' - left=' + coors[0]);
	x.style.top = (coors[1] + +25) + 'px';
	x.style.left = (+coors[0] - +200) + 'px';
	x.style.visibility = 'visible';
	x.style.display = 'block';
}
function helpShowPopupPage21(arg, arg2)
{
	var coors = findPos(arg);
	var x = document.getElementById(arg2);
	//alert('top=' + coors[1] + ' - left=' + coors[0]);
	x.style.top = (coors[1] + +25) + 'px';
	x.style.left = (+coors[0]) + 'px';
	x.style.visibility = 'visible';
	x.style.display = 'block';
}
function rdoCheck()
{
	//alert(document.Form1.rdoText.checked);
	var x = document.getElementById("divMobile");
	if (document.Form1.rdoText.checked == true)
	{
		//alert('show');
		x.style.visibility = 'visible';
	}
	else
	{
		//alert('hide');
		x.style.visibility = 'hidden';
	}
}

function showUploadRow(arg, arg2)
{
var control1 = document.getElementById(arg); var control2 = document.getElementById(arg2);

    control1.style.display= '';
    control2.style.visibility='hidden';
}
function addMoreParts(arg, arg2)
{
    var control1 = document.getElementById(arg); 
    var control2 = document.getElementById(arg2);
    control1.style.display= '';
    control2.style.display= 'none';
}
function hideUploadRow(arg, arg2)
{
var control1 = document.getElementById(arg); var control2 = document.getElementById(arg2);

    control1.style.display= 'none';
    control2.style.visibility='visible';
}
function setPostcode()
{
	if (document.getElementById("chkInternational").checked == true)
	{
		document.getElementById("txtPostcode1").value = "Non-";
		document.getElementById("txtPostcode2").value = "UK";
		var addressDetailsDiv = document.getElementById('addressDetails');
		addressDetailsDiv.style.visibility = "visible";
		addressDetailsDiv.style.display = "block";
	}
	else
	{
		document.getElementById("txtPostcode1").value = "";
		document.getElementById("txtPostcode2").value = "";
		var addressDetailsDiv = document.getElementById('addressDetails');
		addressDetailsDiv.style.visibility = "hidden";
		addressDetailsDiv.style.display = "none";
	}
}
 