var ffih = {
	view: {},
	model: {
		default_menu: null,
		current_menu: null,
		menu_checking_delay: 200,
		menu_checking_interval: 150
	},
	controller: {
		init: function() {
			ffih.controller.setup_nav();
		},

		setup_nav: function() {
			// Sniff the URL for the active menu
			$("#logo ul li:not(.home_link) a[href='"+window.location.pathname+"']").closest('li').addClass('current');
			
			// Store the default menu
			ffih.model.default_menu = $('#logo .current').closest('#logo li.logo_quartile')[0];
			
			// Setup mousing around logo
			$('#logo .logo_quartile').hoverIntent({    
				interval: ffih.model.menu_checking_interval,
				timeout: ffih.model.menu_checking_delay,
				over: function(e) {
					var $this = $(this);
					ffih.model.current_menu = $this.get(0);
					if (ffih.model.default_menu && ffih.model.default_menu != ffih.model.current_menu) {
						$(ffih.model.default_menu).find('ul').slideUp('fast');
						$(ffih.model.default_menu).find('a.menu_title').fadeTo('fast', 0);
					}
					
					$this.find('a.menu_title').fadeTo('fast', 1);
					$this.find('ul').slideDown('medium');
				},
				out: function(e) {
					var $this = $(this);
					if (ffih.model.default_menu != ffih.model.current_menu) {
						$this.find('ul').slideUp('fast');
						$this.find('a.menu_title').fadeTo('fast', 0);
					}
				}
			});

			// Setup clearing active menu on leaving menu after a delay
			$('#logo').mouseleave(function(e) {
				setTimeout(function() {
					if (ffih.model.default_menu) {
						$(ffih.model.default_menu).find('a.menu_title').fadeTo('fast', 1);
						$(ffih.model.default_menu).find('ul').slideDown('medium');					
					}
				}, ffih.model.menu_checking_delay * 1.25);
			}).trigger('mouseleave');
		}
	}
};

$(ffih.controller.init);
