$(document).ready(
	function() {
		if ($.browser.msie && $.browser.version < 7) {
			$(document).find('div.panel.model-panel div.model-item-outer').hover(
				function() {
					$(this).find('img.image').hide();
					$(this).find('img.image-small').show();
					$(this).find('p.price').hide();
					$(this).find('p.quantity').hide();
					$(this).find('p.introduction').show();
				},
				function() {
					$(this).find('img.image').show();
					$(this).find('img.image-small').hide();
					$(this).find('p.price').show();
					$(this).find('p.quantity').show();
					$(this).find('p.introduction').hide();
				}
			);
		}

		bindVehicleTypeActions();
		overrideModelLinks();
		handleModelPanelClick();
		handleIntroductionSelected();		
	}
);

//function used to make the entire model panel clickable to allow the user to add the model the search
	function handleModelPanelClick() {
		
		
		$('div.model-panel div.model-item-inner a').bind("click.changeCriteria",
		function(event) {
			// stop the click for add/remove on link, model image and title.
			event.preventDefault();			
			return false;
		});
		


		$('div.panel.model-panel div.model-panel-inner div.model-item-outer').click(
		function(event) {
			//find the add to search button and then fire its href
			var href = $(this).find('div.model-item-inner a.add-button').attr('href');
			window.location.href = href;
			event.preventDefault();	
			event.stopPropogation();	
		});

	}



//function used to override the model links to make it add the selected model to the search
function overrideModelLinks() {
	$('a.model-title').each(
		function() {
			$(this).attr('href', $(this).parent().parent().find('a.add-button').attr('href'));
			if ($(this).parent().parent().find('a.add-button').attr('title') == 'remove')
				$(this).parent().parent().parent().addClass('selected');
			else
				$(this).parent().parent().parent().removeClass('selected');
		}
	);
}

//function used to bind up the vehicle type click used to show the user which models are
//available for the selected vehicle type
function bindVehicleTypeActions() {
	$('div.panel.model-panel fieldset.unlinkedvehicletype img').click(
		function() {
			var title = $(this).attr('title');
			if(title.indexOf('All') > -1) {
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Justy'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Impreza'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Saloon'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Sports-Tourer'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Outback'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Forester'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Tribeca'), false);
			}
			else if(title.indexOf('estate') > -1) {
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Justy'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Impreza'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Saloon'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Sports-Tourer'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Outback'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Forester'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Tribeca'), true);
			}
			else if(title.indexOf('hatchback') > -1) {
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Justy'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Impreza'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Saloon'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Sports-Tourer'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Outback'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Forester'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Tribeca'), true);
			}
			else if(title.indexOf('saloon') > -1) {
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Justy'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Impreza'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Saloon'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Sports-Tourer'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Outback'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Forester'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Tribeca'), true);
			}
			else if(title.indexOf('station wagon') > -1 || title.indexOf('suvs') > -1 ) {
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Justy'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Impreza'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Saloon'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Legacy-Sports-Tourer'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Outback'), true);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Forester'), false);
				setSelected($(document).find('div.panel.model-panel div.model-item-outer.ui-draggable.Tribeca'), false);
			}
		}
	);
	}

	function handleIntroductionSelected() {
		if ($("form.criteria-panel ul.criteria-accordion li.criteria-models div.models div.jScrollPaneContainer div.scroll-pane").find("div.model-item-outer").length > 0) {
			var introduction = $("form.criteria-panel ul.criteria-accordion li.criteria-models div.models div.jScrollPaneContainer div.scroll-pane").find("p.introduction");
			introduction.css("display", "none");
		}
		

				
	}

//function used to highlight an item as selected
function setSelected(item, selected) {
	if(selected) {
		if(item.attr('class'))
		{
			if(item.attr('class').indexOf('selected') == -1)
				item.attr('class',item.attr('class') + ' selected');
		}
	}
	else { 
		//ok we need to ensure that this isn't in the search, if it is in the search
		//then dont remove the selected class from it
		if(item.find('a.add-button').html()) {
			if(item.find('a.add-button').html().indexOf('remove') == -1)
				item.attr('class',item.attr('class').replace(' selected',''));		
		}
	}
}