/*  Mega Menu Script
 *  (c) 2009 Richard Komatz
 *
 * Just a simple Mega Menu script based on an article from sitepoint.com
 * written by Raena Jackson Armitage:
 * http://www.sitepoint.com/blogs/2009/03/31/make-a-mega-drop-down-menu-with-jquery/
 * 
 * Use, modify and reuse how you see fit.
 *
 *--------------------------------------------------------------------------
 */

$(document).ready(function(){
	
	function addMega()
	{
		spacer = 2;
		spacerRight = 20;
		lyOffset = $("#menu").position().left;
		
		currDiv = $(this).find("div");
		
		menuBoxHeight = 44;
		menuBoxTop = $("#menu").position().top;
		menuBoxWidth = $("#menu").width();
		menuBoxCenter = menuBoxWidth / 2;
		
		divWidth = $(this).find("div").width();
		divCenter = divWidth / 2;
		
		currMenuPos = $(this).position().left;
		currMenuWidth = $(this).width();
		currMenuCenter = currMenuPos + (currMenuWidth / 2);
		
		if (divWidth > menuBoxWidth)
		{
			currDiv.css('left',lyOffset + (menuBoxCenter-divCenter));
		}
		else
		{
			if ((currMenuCenter - divCenter) < lyOffset)
			{
				currDiv.css('left',lyOffset + spacer);
			}
			else if ((currMenuCenter + divCenter) > (menuBoxWidth + lyOffset))
			{
				currDiv.css('left',currMenuPos+currMenuWidth-divWidth-spacerRight);
			}
			else
			{
				currDiv.css('left',currMenuCenter - divCenter);
			}
		}
		
		
		$(this).children(".mainMenuItem").css({backgroundPosition: '0 -88px'});
		
		currDiv.css('top',menuBoxTop + menuBoxHeight);
		
		currDiv.fadeIn(100);
	}
	
	function removeMega()
	{
		$(this).find("div").fadeOut(100);
		
		if ($(this).children(".mainMenuItem").hasClass('current'))
		{
			$(this).children(".mainMenuItem").css({backgroundPosition: '0 -44px'});
		}
		else
		{
			$(this).children(".mainMenuItem").css({backgroundPosition: '0 0'});
		}
	}
	
	var megaConfig = {
		interval: 0,
		sensitivity: 1,
		over: addMega,
		timeout: 100,
		out: removeMega
	};
	
	$("li.mega").hoverIntent(megaConfig);

});
