

function Memory() {
	this.gradeID		= null;
	this.engineID		= null;
	this.transmissionID	= null;
}

var memory = new Memory();

Memory.prototype.reset = function() {
	memory = new Memory();
}


$(document).ready(function(){
	//QUESTION : javascript required so why hide checkbox here, why not apply directly to element??
	//-----------
	$(".bookatestdrive ul.testDriveProductChooser li .carButton").livequery(function(){
		$(this).addClass("hideCarButton");
	});
	
	$(".bookatestdrive ul.testDriveProductChooser li").livequery("click", function() {

		$(this).find("input").attr("checked",true);

				
		$(this).siblings("li").each(function(){
			var currentClass = $(this).find("a").attr("class");
			if (currentClass.substring(0,6) == "chosen") {
				$(this).find("a").removeClass(currentClass); // Remove class
				$(this).find("a").addClass(currentClass.substring(6,currentClass.length));
			}
		});
		var currentClass2 = $(this).find("a").attr("class");
		if (currentClass2.substring(0,6) != "chosen") {
			$(this).find("a").attr("class","chosen"+currentClass2);		
		}
	});


	// swap car colour out when swatch is clicked
	$(".carColours a").livequery("click",function(){
	
		var carPath = $(this).attr("href");
		var carAlt = $(this).attr("title");
		var swatchClicked = $(this).parent("li").attr("id");
		var swatchNumclicked = swatchClicked.replace("swatch", "");
		
		removeClassFromSelector("ul.carColours","sw");
		$("#colourChooser ul").addClass("sw" + swatchNumclicked);
		
		if ($("#mainCar").attr("src") != carPath){
			$("#mainCar").fadeOut("fast", function() {
				$("#mainCar").attr({ src: carPath, alt: carAlt, title: carAlt });
				$("#overviewColours p").html(carAlt); 
				$("#mainCar").fadeIn("fast");
			});
		}
		return false;
	});

	
	/**** Leave until last incase liveQuery not available ****/
	$('.placeSearch').livequery(function() {
		var placeLabel = $(this).find("label.place").remove().text();
		$('.place').addClass('placeholder').val(placeLabel)
			.focus(function() {
				if (this.value == placeLabel) {
					$(this).removeClass('placeholder').val('');
				};
			})
			.blur(function() {
				if (this.value == '') {
					$(this).addClass('placeholder').val(placeLabel);
				};
			});
	});

	$(".hijaxTool").livequery(function() {
		$(this).hondaToolbox();
	});
	
	
	$(".bookatestdrive ul.testDriveProductChooser li .carButton").livequery(function(){
		$(this).addClass("hideCarButton");
	});
		
});



function removeClassFromSelector(selector, classtoremove) {
	
	// Get all selectors
	var Classes = $(selector).attr("class").split(" ");

	// If classtoremove matches, then remove it.
	for (i=0;i<=Classes.length-1;i++) {
		if (Classes[i].substring(0,classtoremove.length) == classtoremove) {
			$(selector).removeClass(Classes[i]); // Remove class
		}
	}
	
}

