$(document).ready(function() {
	var $browser = $.browser;
	function megaHoverOver(){
		//$(this).find(".sub").stop().fadeTo('fast', 1).show();
		$(this).find(".sub").stop().css('filter', 'none').fadeTo('fast', 1).show();
		
		
		//Calculate width of all ul's
		(function($) {
			jQuery.fn.calcSubWidth = function() {
				rowWidth = 0;

				//Calculate row
				
				if($browser.msie && $browser.version.slice(0,1) == "9"){
					$(this).find(".split_contents:eq(0) ul.mainul").each(function() {
						rowWidth += $(this).width();
					});
				} else {
					if ($(this).find(".split_contents:eq(0) ul.mainul").width() != 0) {
						$(this).find(".split_contents:eq(0) ul.mainul").each(function() {
							rowWidth += $(this).width();
						});
					} else {
						$(this).find(".split_contents:eq(1) ul.mainul").each(function() {
							rowWidth += $(this).width();
						});
					}
				}
			};
		})(jQuery);

		if ( $(this).find(".row").length > 0 ) { //If row exists...
			var biggestRow = 0;
			//Calculate each row
			$(this).find(".row").each(function() {
				$(this).calcSubWidth();
				//Find biggest row
 
				if(rowWidth > biggestRow) {
					biggestRow = rowWidth;
				}
			});
 
			//Set width
			$(this).find(".sub").css({'width' :biggestRow});
			$(this).find(".row:last").css({'margin':'0'});
		} else { //If row does not exist...
			$(this).calcSubWidth();
			//Set Width
			var extra = 40;
			
			if (rowWidth==940) { extra = 36; }
			
			$(this).find(".sub").css({'width' : rowWidth+40});
			if($browser.msie && $browser.version.slice(0,1) == "9"){
				$(this).find(".sub").css({'left' : (($(window).width() / 2) - ($(this).find(".sub").width() / 2 ))});
			} else {
				$(this).find(".sub").css({'left' : ($(".main_container_main").position().left+$(".main_container_main").width()-(rowWidth+extra)+7)+"px"});
			}
		}
	}

	function megaHoverOut(){
		$(this).find(".sub").stop().fadeTo('fast', 0, function() {
			$(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: 500, // number = milliseconds delay before onMouseOut
		 out: megaHoverOut // function = onMouseOut callback (REQUIRED)
	};


	$("ul#topnav li .sub").css({'opacity':'0'});
	$("ul#topnav li").hoverIntent(config);

});
