function loadURL(connection, destinationURL, arguments, triggerFunction) 
{
	if (triggerFunction != '')
	{
		connection.onreadystatechange = triggerFunction;
	}	

	//Browsers will cache text documents even if they've changed so we append a timestamp to always get the latest file
	if (arguments == '')
	{
		stamp = '?' + Math.round(new Date().getTime()/1000.0);
	}
	else
	{
		stamp = '&' + Math.round(new Date().getTime()/1000.0);
	}

	connection.open("GET", destinationURL + arguments + stamp);
	connection.send(null);
}

var recallID = 0;

function manualAJAXReadyStateChangeShowroom()
{
	if ((showroomConnection.readyState == 4) && (showroomConnection.status == 200)) 
	{
		clearTimeout(showroomRecallID);
		updateShowroomConnectionAJAX();
	}
}


function updateShowroomConnectionAJAX()
{
	if ((showroomConnection.readyState != 4)) 
	{
		//Sometimes AJAX just doesn't call this function back when the state changes, so we have to cheat! It only seems to happen for larger/slower loads
		clearTimeout(recallID);
		recallID = setInterval('manualAJAXReadyStateChangeShowroom()', 15000); 
	}
	if (showroomConnection.readyState == 4)
	{
		if (showroomConnection.status == 200)
		{
			clearTimeout(recallID);
			var response = showroomConnection.responseText;
		}
	}
}

function setShowroomVariables()
{
	showroomConnection = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");

	section = document.getElementById('compareSection').value;

	varString = '?section=' + section;

	varString = varString + '&compare1CarID=' + document.getElementById(section+'compare1CarID').value;
	varString = varString + '&compare1CarImage=' + document.getElementById(section+'compare1CarImage').value;
	varString = varString + '&compare1CarName=' + document.getElementById(section+'compare1CarName').value;
	varString = varString + '&compare1CarPrice=' + document.getElementById(section+'compare1CarPrice').value;

	varString = varString + '&compare2CarID=' + document.getElementById(section+'compare2CarID').value;
	varString = varString + '&compare2CarImage=' + document.getElementById(section+'compare2CarImage').value;
	varString = varString + '&compare2CarName=' + document.getElementById(section+'compare2CarName').value;
	varString = varString + '&compare2CarPrice=' + document.getElementById(section+'compare2CarPrice').value;

	varString = varString + '&compare3CarID=' + document.getElementById(section+'compare3CarID').value;
	varString = varString + '&compare3CarImage=' + document.getElementById(section+'compare3CarImage').value;
	varString = varString + '&compare3CarName=' + document.getElementById(section+'compare3CarName').value;
	varString = varString + '&compare3CarPrice=' + document.getElementById(section+'compare3CarPrice').value;

	varString = varString + '&compare4CarID=' + document.getElementById(section+'compare4CarID').value;
	varString = varString + '&compare4CarImage=' + document.getElementById(section+'compare4CarImage').value;
	varString = varString + '&compare4CarName=' + document.getElementById(section+'compare4CarName').value;
	varString = varString + '&compare4CarPrice=' + document.getElementById(section+'compare4CarPrice').value;

	loadURL(showroomConnection, 'updateShowroom.php', varString, updateShowroomConnectionAJAX);
}

function removeCompare(carID, i)
{
	checkbox = document.getElementById(carID + "check");

	if (checkbox)
	{
		checkbox.checked = false;
	}
	else
	{
		checkbox = new Object();
		checkbox.checked = false;
	}

	updateCompare(checkbox, carID, '', '');
}

function updateCompare(carID, section, image, name, price)
{
	var count = 0;

	try
	{
		checkbox = document.getElementById(carID + "check");
		imagebox = document.getElementById(carID + "image");

		if (checkbox != '')
		{
			if (checkbox.value == 0)
			{
				checkbox.value = 1;
				imagebox.src = 'images/usedVehicles/clearFromShowroom.jpg';
			}
			else
			{
				checkbox.value = 0;
				imagebox.src = 'images/newVehicles/addToShowroom.jpg';
			}
		}
	}
	catch (e)
	{
	}


	var tempArray = new Array();
	var pos = 0;
	var carFound = false;

	for (i=1; i<=4; i++)
	{
		value = document.getElementById(section+'compare'+i+'CarID').value;

		if (value != carID && value != '')
		{
			//This row is not the car we passed, and it's not blank: store it in array
			tempArray[pos] = new Array();
			tempArray[pos]['carID'] = value;
			tempArray[pos]['carImage'] = document.getElementById(section+'compare'+i+'CarImage').value;
			tempArray[pos]['carName'] =document.getElementById(section+'compare'+i+'CarName').value;				
			tempArray[pos]['carPrice'] = document.getElementById(section+'compare'+i+'CarPrice').value;
			pos++;
			//This row is stored, should remove it ready for re-entry in correct order
			document.getElementById(section+'compare' + i + 'CarID').value = '';
			document.getElementById(section+'compare' + i + 'CarImage').value = '';
			document.getElementById(section+'compare' + i + 'CarName').value = '';
			document.getElementById(section+'compare' + i + 'CarPrice').value = '';
		}
		else if (value == carID && value != '')
		{
			carFound = true;
			//This row is the car passed, should remove it and not store it for re-entry
			document.getElementById(section+'compare' + i + 'CarID').value = '';
			document.getElementById(section+'compare' + i + 'CarImage').value = '';
			document.getElementById(section+'compare' + i + 'CarName').value = '';
			document.getElementById(section+'compare' + i + 'CarPrice').value = '';
		}
	}

	if (carFound == false && pos <= 3)
	{
			tempArray[pos] = new Array();
			tempArray[pos]['carID'] = carID;
			tempArray[pos]['carImage'] = image;
			tempArray[pos]['carName'] = name;
			tempArray[pos]['carPrice'] = price;
			pos++;
	}
	else if (carFound == false && pos > 3)
	{
		try
		{
			checkbox.value = 0;
			imagebox.src = 'images/newVehicles/addToShowroom.jpg';
		}
		catch(e)
		{
		}
		alert("You can only compare 4 cars at a time");
	}

	for (i=0; i<pos; i++)
	{
		if (tempArray[i]['carID'] != '')
		{
			idName = section+'compare'+(i+1)+'CarID';
			imageName = section+'compare'+(i+1)+'CarImage';
			nameName = section+'compare'+(i+1)+'CarName';
			priceName = section+'compare'+(i+1)+'CarPrice';
			document.getElementById(idName).value = tempArray[i]['carID'];
			document.getElementById(imageName).value = tempArray[i]['carImage'];
			document.getElementById(nameName).value = tempArray[i]['carName'];
			document.getElementById(priceName).value = tempArray[i]['carPrice'];
		}
	}

	setShowroomVariables();
	buildCompareTable(section);
}

function buildCompareTable(section)
{
	var found = 0;

	layout = '';

	for (i=1; i<=4; i++)
	{
		if (document.getElementById(section+'compare'+i+'CarID').value != '' && document.getElementById(section+'compare'+i+'CarImage').value != '' && document.getElementById(section+'compare'+i+'CarImage').value != 'undefined')
		{
			found++;
			carID = document.getElementById(section+'compare'+i+'CarID').value;
			carImage = document.getElementById(section+'compare'+i+'CarImage').value;
			carName = document.getElementById(section+'compare'+i+'CarName').value;
			carPrice = document.getElementById(section+'compare'+i+'CarPrice').value;
			removelink = '<img src="images/removeArrow.gif" />&nbsp;Remove&nbsp;';
			if (carPrice != '' && carPrice != 0)
			{
				layout += '<div class="showroomRow'+i+'"><img src="'+carImage+'" class="showroomImage" /><div class="showroomRowCarName">'+carName+'</div><div class="showroomRowCarPrice"><b>&pound;'+carPrice+'</b></div><div class="showroomRowCarRemove" onclick="updateCompare(\''+carID+'\', \''+section+'\');"><img src="images/newVehicles/showroomRemove.jpg" onclick="updateCompare(\''+carID+'\', \''+section+'\');" style="position: relative; top: 2px;cursor: hand; cursor: pointer;" />&nbsp;Remove</div></div>';
			}
			else
			{
			layout += '<div class="showroomRow'+i+'"><img src="'+carImage+'" class="showroomImage" /><div class="showroomRowCarName">'+carName+'</div><div class="showroomRowCarPrice"></div><div class="showroomRowCarRemove" onclick="updateCompare(\''+carID+'\', \''+section+'\');"><img src="images/newVehicles/showroomRemove.jpg" onclick="updateCompare(\''+carID+'\', \''+section+'\');" style="position: relative; top: 2px;cursor: hand; cursor: pointer;" />&nbsp;Remove</div></div>';
			}

		}
	}

	var topLayout = '<table cellpadding="0" cellspacing="0" style="position: relative; top: 37px; width: 178px; padding: 0; border: 0; margin: 0;">';

	element = document.getElementById('showroom');

	if (element)
	{
		if (found >= 2)
		{
			layout += '<div class="showroomCompareButton"><img src="images/newVehicles/compareVehicles.jpg" class="compareVehiclesButton" onclick="document.location = \'index.php?page=newVehicleCompare&section='+section+'\';" /></div>';
		}
		element.innerHTML = layout;
	}
}

function setTab(tab, vid, testimonial)
{
	if (tab == 'Finance')
	{
		document.getElementById('FinanceImage').src = 'images/newVehicles/moreDetailsFinanceOn.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOff.jpg';
		document.getElementById('EnviroBox').style.display = 'none';
		document.getElementById('SpecBox').style.display = 'none';
		document.getElementById('FinanceBox').style.display = 'block';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'hidden';
			document.getElementById('allDetails').style.visibility = 'visible';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
			document.getElementById('VideoBox').style.display = 'none';
		}

		if (testimonial == 1)
		{
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOff.jpg';
			document.getElementById('ReviewBox').style.display = 'none';
		}
	}
	if (tab == 'Enviro')
	{
		document.getElementById('FinanceImage').src = 'images/newVehicles/moreDetailsFinanceOff.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOn.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOff.jpg';
		document.getElementById('FinanceBox').style.display = 'none';
		document.getElementById('EnviroBox').style.display = 'block';
		document.getElementById('SpecBox').style.display = 'none';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'hidden';
			document.getElementById('allDetails').style.visibility = 'visible';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
			document.getElementById('VideoBox').style.display = 'none';
		}

		if (testimonial == 1)
		{
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOff.jpg';
			document.getElementById('ReviewBox').style.display = 'none';
		}
	}
	if (tab == 'Spec')
	{
		document.getElementById('FinanceImage').src = 'images/newVehicles/moreDetailsFinanceOff.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOn.jpg';
		document.getElementById('FinanceBox').style.display = 'none';
		document.getElementById('EnviroBox').style.display = 'none';
		document.getElementById('SpecBox').style.display = 'block';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'hidden';
			document.getElementById('allDetails').style.visibility = 'visible';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
			document.getElementById('VideoBox').style.display = 'none';
		}

		if (testimonial == 1)
		{
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOff.jpg';
			document.getElementById('ReviewBox').style.display = 'none';
		}
	}
	if (tab == 'Video')
	{
		document.getElementById('FinanceImage').src = 'images/newVehicles/moreDetailsFinanceOff.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOff.jpg';
		document.getElementById('FinanceBox').style.display = 'none';
		document.getElementById('EnviroBox').style.display = 'none';
		document.getElementById('SpecBox').style.display = 'none';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'visible';
			document.getElementById('allDetails').style.visibility = 'hidden';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOn.jpg';
			document.getElementById('VideoBox').style.display = 'block';			
			startVideo();
		}

		if (testimonial == 1)
		{
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOff.jpg';
			document.getElementById('ReviewBox').style.display = 'none';
		}
	}

	if (testimonial == 1)
	{
		if (tab == 'Review')
		{
			document.getElementById('FinanceImage').src = 'images/newVehicles/moreDetailsFinanceOff.jpg';
			document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
			document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOff.jpg';
			document.getElementById('FinanceBox').style.display = 'none';
			document.getElementById('EnviroBox').style.display = 'none';
			document.getElementById('SpecBox').style.display = 'none';
			document.getElementById('allDetails').style.visibility = 'hidden';
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOn.jpg';
			document.getElementById('ReviewBox').style.display = 'block';
			if (vid == 1)
			{
				document.getElementById('vidTitle').style.visibility = 'hidden';
				document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
				document.getElementById('VideoBox').style.display = 'none';
			}


		}
	}
}

function setMotabTab(tab, vid, testimonial)
{
	if (tab == 'Payment')
	{
		document.getElementById('PaymentImage').src = 'images/newVehicles/moreDetailsPaymentOn.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOff.jpg';
		document.getElementById('EnviroBox').style.display = 'none';
		document.getElementById('SpecBox').style.display = 'none';
		document.getElementById('PaymentBox').style.display = 'block';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'hidden';
			document.getElementById('allDetails').style.visibility = 'visible';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
			document.getElementById('VideoBox').style.display = 'none';
		}
		if (testimonial == 1)
		{
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOff.jpg';
			document.getElementById('ReviewBox').style.display = 'none';
		}
	}
	if (tab == 'Enviro')
	{
		document.getElementById('PaymentImage').src = 'images/newVehicles/moreDetailsPaymentOff.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOn.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOff.jpg';
		document.getElementById('PaymentBox').style.display = 'none';
		document.getElementById('EnviroBox').style.display = 'block';
		document.getElementById('SpecBox').style.display = 'none';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'hidden';
			document.getElementById('allDetails').style.visibility = 'visible';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
			document.getElementById('VideoBox').style.display = 'none';
		}
		if (testimonial == 1)
		{
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOff.jpg';
			document.getElementById('ReviewBox').style.display = 'none';
		}
	}
	if (tab == 'Spec')
	{
		document.getElementById('PaymentImage').src = 'images/newVehicles/moreDetailsPaymentOff.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOn.jpg';
		document.getElementById('PaymentBox').style.display = 'none';
		document.getElementById('EnviroBox').style.display = 'none';
		document.getElementById('SpecBox').style.display = 'block';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'hidden';
			document.getElementById('allDetails').style.visibility = 'visible';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
			document.getElementById('VideoBox').style.display = 'none';
		}
		if (testimonial == 1)
		{
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOff.jpg';
			document.getElementById('ReviewBox').style.display = 'none';
		}
	}
	if (tab == 'Video')
	{
		document.getElementById('FinanceImage').src = 'images/newVehicles/moreDetailsFinanceOff.jpg';
		document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
		document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOff.jpg';
		document.getElementById('FinanceBox').style.display = 'none';
		document.getElementById('EnviroBox').style.display = 'none';
		document.getElementById('SpecBox').style.display = 'none';

		if (vid == 1)
		{
			document.getElementById('vidTitle').style.visibility = 'visible';
			document.getElementById('allDetails').style.visibility = 'hidden';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOn.jpg';
			document.getElementById('VideoBox').style.display = 'block';
		}
	}
	if (testimonial == 1)
	{
		if (tab == 'Review')
		{
			document.getElementById('PaymentImage').src = 'images/newVehicles/moreDetailsPaymentOff.jpg';
			document.getElementById('EnviroImage').src = 'images/newVehicles/moreDetailsEnviroOff.jpg';
			document.getElementById('SpecImage').src = 'images/newVehicles/moreDetailsSpecOn.jpg';
			document.getElementById('PaymentBox').style.display = 'none';
			document.getElementById('EnviroBox').style.display = 'none';
			document.getElementById('SpecBox').style.display = 'block';
			document.getElementById('ReviewImage').src = 'images/newVehicles/moreDetailsReviewsOn.jpg';
			document.getElementById('ReviewBox').style.display = 'block';
			if (vid == 1)
			{
			document.getElementById('vidTitle').style.visibility = 'hidden';
			document.getElementById('allDetails').style.visibility = 'visible';
			document.getElementById('VideoImage').src = 'images/newVehicles/moreDetailsVideoOff.jpg';
			document.getElementById('VideoBox').style.display = 'none';
			}
		}
	}
}
