var listMenu = '';
var sectionMenu = '';

jQuery(document).ready(function () {
	listMenu = jQuery("#list-menu");	//cache obj for jquery
	menuContainer = jQuery("#menu-container");	//cache obj for jquery
	menuAutoPosition = jQuery("#menu-auto-position");	//cache obj for jquery
	
	sectionMenu = jQuery("#section-menu");	//cache obj for jquery
	sectionMenuContainer = jQuery("#section-menu-contianer");	//cache obj for jquery
	sectionMenuAutoPosition = jQuery("#section-menu-auto-position");	//cache obj for jquery
	
	/*Auto Absolute position menu from body tag, gets menu on top of all over site content*/
	if(sectionMenu.hasClass('auto-on-top')) {
		jQuery("body").prepend(sectionMenuContainer);
		listMenuAutoPosition('section');
		jQuery(window).resize(function () { 
      		listMenuAutoPosition('section');
    	});
	}

	/*Auto Absolute position menu from body tag, gets menu on top of all over site content*/
	if(listMenu.hasClass('auto-on-top')) {
		jQuery("body").prepend(menuContainer);
		listMenuAutoPosition('main');
		jQuery(window).resize(function () { 
      		listMenuAutoPosition('main');
    	});
	}
	
	/*Sport Grid Menu*/
	if(listMenu.hasClass('sport-grid')) {
		divTags = jQuery("li.sports ul div",listMenu);
		totalDivTags = divTags.length;
		widthPerDivTag = jQuery("div.grid").width();
		ulWidth = totalDivTags * widthPerDivTag;
		jQuery("li.sports ul",listMenu).css("width",ulWidth+"px");
	}	
	/*Accordion Menu*/
    if(listMenu.hasClass('accordion')) {
    	//Accordion On Click
    	if(listMenu.hasClass('click')) {
    		jQuery("li.parent",listMenu).click(function () { 
				jQuery(this).children("div").slideDown();
				jQuery(this).bind("mouseleave", function(e){
		      		jQuery(this).children("div").slideUp();
		    	});
		    });	
    	}
    	//Accordion On Mouse over
    	else {
	    	jQuery("li.parent",listMenu).mouseover(function () { 
				jQuery(this).children("div").slideDown();
				jQuery(this).bind("mouseleave", function(e){
		      		jQuery(this).children("div").slideUp();
		    	});
		    });	
    	}
    }
    // Not Accordion Menu's
    else {
    	/*Normal/Default Menu Code*/
	    if(!listMenu.hasClass('sub-child')) {
	    	jQuery("li",listMenu).mouseover(function () {
				jQuery(this).children("ul").css("visibility","visible");
				jQuery(this).bind("mouseleave", function(e){
		      		jQuery(this).children("ul").css("visibility","hidden");
		    	});
		    });
	    }
	    /*Sub-Child Menu, Child menu items show below main menu in horizontal line */
	    else {
	    	jQuery("li",listMenu).mouseover(function () { 	
	    		id = jQuery(this).attr("id");
	    		menuHtml = jQuery("#"+id+" div.sub-child-menu").html();
	    		subMenu = jQuery("#lm-submenu");
	    		subMenu.html(menuHtml);
				menuContainer.bind("mouseleave", function(e) {
					subMenu.html("");	
				});
		    });
	    }
	    /*Controls hide/show more menu*/
	    if(jQuery("#section-menu li.more").length>0) {
	    	jQuery("#section-menu li.more").mouseover(function () { 
				jQuery(this).children("ul").css("visibility","visible");
				jQuery(this).bind("mouseleave", function(e){
		      		jQuery(this).children("ul").css("visibility","hidden");
		    	});
		    });
	    }	
    }
});

//In some cases the auto position needs to be called onLoad instead of onReady
jQuery(window).load(function() {
	if(listMenu.hasClass('auto-on-top'))
		listMenuAutoPosition('main');
	if(sectionMenu.hasClass('auto-on-top'))
		listMenuAutoPosition('section');
});

function listMenuAutoPosition(menuType) {
	var menuLeft = 0;
	var menuTop = 0;
	if(menuType=='main') {
		menuPos = menuAutoPosition.position();
		menuOffset = menuAutoPosition.offset();
		menuHeight = menuContainer.height();
		menuNewTop = menuPos.top - menuHeight;
		if(menuPos.left>0) {menuLeft = menuPos.left;}
		else {menuLeft = menuOffset.left};
		if(menuPos.top>0) {menuTop = menuPos.top;}
		else {menuTop = menuOffset.top;}
		menuContainer.css({
			'position':'absolute',
			'z-index':'10000',
			'top':menuTop+'px',
			'left':menuLeft+'px',
			'display':'block'
		});
	}
	else if(menuType=='section') {
		menuPos = sectionMenuAutoPosition.position();
		menuOffset = menuAutoPosition.offset();
		menuHeight = sectionMenuContainer.height();
		menuNewTop = menuPos.top - menuHeight;
		if(menuPos.left>0) {menuLeft = menuPos.left;}
		else {menuLeft = menuOffset.left};
		if(menuPos.top>0) {menuTop = menuPos.top;}
		else {menuTop = menuOffset.top;}
		sectionMenuContainer.css({
			'position':'absolute',
			'z-index':'9000',
			'top':menuTop+'px',
			'left':menuLeft+'px',
			'display':'block'
		});
	}
}