
function setMenuFocus(event) {

	if ($(this).hasClass('isLink') && !event.data.settingSelectedLink)
		return true;


	var menuRoot = $(this).closest('.uniqueMenu');


	$(menuRoot).find('.focused > .menuItem.hasSubmenu').trigger('click');
	$(menuRoot).find('.focused > .menuItem:not(.hasSubmenu)').parent().removeClass('focused');


	if ($(this).hasClass('hasSubmenu')) {

		var subMenu = $(this).next();

		if(subMenu.length > 0) {
			if (subMenu.is(':visible')) {
				subMenu.slideUp('normal');
				$(this).removeClass('focused');
				$(this).css('background-position', '100% 0%');

				// Hide menus inside of the current menu.
				$(subMenu).find('a.hasSubmenu + *').hide();
				$(subMenu).find('a.hasSubmenu + *').removeClass('focused');
				
			}
			else {
				// Close everything when clicking the detailed search.
				if ($(this).hasClass('closeAllOthers')) {
					var superDuperMenuRoot = $(this).closest('.canHaveSubmenus');
					$(superDuperMenuRoot).find('a.hasSubmenu + *').hide();
					$(superDuperMenuRoot).find('a.hasSubmenu + *').removeClass('focused');
					$(superDuperMenuRoot).find('a.hasSubmenu').removeClass('focused');
					$(superDuperMenuRoot).find('a.hasSubmenu').css('background-position', '100% 0%');
				}
				
				subMenu.slideDown('normal');
				$(this).addClass('focused');
				$(this).css('background-position', '100% 42%');
			}
		}
	}
	else {
		$(this).addClass('focused');
		$(this).parent().parent().closest('li:not(.uniqueMenu) a').addClass('focused');
	}
}


function setCurrentPage(startingId) {

	var children = $(startingId).closest('.uniqueMenu').children('a.menuItem');
	children.addClass('skip_me');
	children.bind('setSelectedItem', {settingSelectedLink: true}, setMenuFocus);
	children.trigger('setSelectedItem');

	if (!$(startingId).hasClass('skip_me')) {
		$(startingId).bind('setSelectedItem', {settingSelectedLink: true}, setMenuFocus);
		$(startingId).trigger('setSelectedItem');
	}

	children.removeClass('skip_me');
}



$().ready(function() {

	$( "a.menuItem.hasSubmenu + *" ).hide();
	$( "a.menuItem" ).bind('click', {settingSelectedLink: false}, setMenuFocus);

});







