var iSkinWidth = 960;
var skinContainer = "#Skin";
var SubColumns = 0;

jQuery(document).ready(function() {
	setItemNumbers();
	centerMenu();
	splitSubMenu(SubColumns);

});

function splitSubMenu(columns) {
	// Create the Columns
	jQuery("div.sub").each(function (i) {
		// Get number of Items
		var items = jQuery(this).find('ul');
		var blockCount = columns;
		if (SubColumns > 0){
			for (var i = 0; i < items.length; i += blockCount) {
				var slice = items.slice(i, i + blockCount);
				slice.wrapAll("<div class=\"row\"></div>");
			}
					// Get the number of columns
		var cols = items.length;
		if(cols > columns) cols = columns;
		// Set Width of MegaSubMenu
		var colWidth = cols * jQuery(this).width();
		jQuery(this).width(colWidth);
		}

		
		// Correct Position of MegaSubMenu
		// Get Left Offset for MainMenu item, subtract Left position of Skin Container
		var leftOffSet = jQuery(this).parent().offset().left - jQuery(skinContainer).offset().left; 
		// How much is the Dropdown too wide?
		var overflow = iSkinWidth - leftOffSet - jQuery(this).outerWidth(false);
		//If there's an overflow, move submenu left
		if (overflow < 0){
			jQuery(this).css({'left': overflow, 'display': 'none'});
		}
		else{
			jQuery(this).css({'left': 0, 'display': 'none'});
		}
	});
}

function centerMenu(){
	var iWidth = Math.round((iSkinWidth - jQuery('#megamenu').width()) / 2)
	jQuery('#megamenu').css({marginLeft: iWidth});
}

function setItemNumbers(){
var iItems = jQuery('ul.megamenu > li').length;
	jQuery('ul.megamenu > li').each(function(i){
		jQuery(this).addClass('Item' + i);
		if (i == iItems -1){
			jQuery(this).addClass('ItemLast');
		}
	})

}


jQuery(document).ready(function () {
	//Calculate height of top level menu and set top style for menu placement
	jQuery('ul.megamenu li .sub').css('top', jQuery('ul.megamenu > li').height());

	// set hover class to parent item
	jQuery('li.level0 div').mouseover(function () {
		jQuery(this).closest('li.level0').find('a.level0').addClass("megahover")
	}).mouseout(function () {
		jQuery(this).closest('li.level0').find('a.level0').removeClass("megahover")
	});



	function megaHoverOver() {
		if ( $.browser.msie && parseInt($.browser.version, 10) < 9 ){
			jQuery(this).find(".sub").stop().show();
		}
		else{
			jQuery(this).find(".sub").stop().fadeTo('fast', 1).show();
		}
	}

	function megaHoverOut() {
		if ( $.browser.msie && parseInt($.browser.version, 10) < 9 ){
			jQuery(this).find(".sub").stop().hide();
		}
		else{
			jQuery(this).find(".sub").stop().fadeTo('slow', 0, function () {
				jQuery(this).hide();
			});
		}

	}


	var config = {
		sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)    
		interval: 100, // number = milliseconds for onMouseOver polling interval    
		over: megaHoverOver, // function = onMouseOver callback (REQUIRED)    
		timeout: 100, // number = milliseconds delay before onMouseOut    
		out: megaHoverOut // function = onMouseOut callback (REQUIRED)    
	};

	jQuery("ul.megamenu li .sub").hide();
	jQuery("ul.megamenu li").hoverIntent(config);

});



