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

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.parent",listMenu).mouseover(function () {
	    		jQuery(this).addClass("menu-active");
				jQuery(this).children("ul").css("visibility","visible");
				jQuery(this).bind("mouseleave", function(e){
					jQuery(this).removeClass("menu-active");
		      		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).addClass("menu-active");
				jQuery(this).children("ul").css("visibility","visible");
				jQuery(this).bind("mouseleave", function(e){
					jQuery(this).removeClass("menu-active");
		      		jQuery(this).children("ul").css("visibility","hidden");
		    	});
		    });
	    }	
    }
    listMenuSizePositionTemplates();
});

//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 listMenuSizePositionTemplates() {
	var listMenuTemplateCount = jQuery(".template",listMenu).length;
    if(listMenuTemplateCount>0) {
    	var menuContainerWidth = menuContainer.width();
    	//console.log("total:"+listMenuTemplateCount);	
    	//console.log("menuContainer width:"+menuContainerWidth);
    	var menuPos = menuAutoPosition.position();
		var menuOffset = menuAutoPosition.offset();
		if(menuPos.left>0) {menuLeft = menuPos.left;}
		else {menuLeft = menuOffset.left};
    	
    	var templateUl = false;
    	for(x=0;x<listMenuTemplateCount;x++) {
    		templateUl = jQuery(".template ul:eq("+x+")",listMenu);
    		var templateOffset = templateUl.offset();
    		var templatePos = templateUl.position();
    		var templateMenuLeftMargin = templateOffset.left - menuLeft;
    		/*
    		console.log("templateMenuLeftMargin:"+templateMenuLeftMargin);
    		console.log("offset:"+templateOffset.left);
    		console.log("position:"+templatePos.left);
    		*/
    		jQuery(".template ul li.template:eq("+x+")",listMenu).css("width",menuContainerWidth+"px");
    		templateUl.css("margin-left","-"+templateMenuLeftMargin+"px");
    	}
    	
    	/*
   		jQuery("li.template",listMenu).mouseover(function () {
    		jQuery(this).addClass("menu-active");
			jQuery(this).children("ul").css("visibility","visible").css("display","block");
			jQuery(this).bind("mouseleave", function(e){
				jQuery(this).removeClass("menu-active");
	      		jQuery(this).children("ul").css("visibility","hidden").css("display","none");
	    	});
	    });	
	    */
    }
}

//rewrite function with custom menuLeft to fix centering bug
function listMenuAutoPosition(menuType) {
 var menuLeft = 0;
 var menuTop = 0;
 menuPos = menuAutoPosition.position();
 menuOffset = menuAutoPosition.offset();
 menuHeight = menuContainer.height();
 menuWidth = menuContainer.width();
 menuNewTop = menuPos.top - menuHeight;
 //if(menuPos.left>0) {menuLeft = menuPos.left;}
 //else {menuLeft = menuOffset.left};
 var body_width = jQuery('body').width();
 menuLeft = (body_width - menuWidth)/2;

 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':'inline'
 });
}

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;}
		//Fix possible centering bug on wider sites
		if(listMenu.hasClass("auto-on-top-center")) {
			var menuWidth = menuContainer.width();
			var bodyWidth = jQuery('body').width();
 			menuLeft = (bodyWidth - menuWidth)/2;
		}
		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;}
		if(sectionMenu.hasClass("auto-on-top-center")) {
			var menuWidth = sectionMenuContainer.width();
			var bodyWidth = jQuery('body').width();
 			menuLeft = (bodyWidth - menuWidth)/2;
		}
		sectionMenuContainer.css({
			'position':'absolute',
			'z-index':'9000',
			'top':menuTop+'px',
			'left':menuLeft+'px',
			'display':'block'
		});
	}
}

var listMenu2 = '';
var sectionMenu2 = '';
var menuContainer2 = '';

jQuery(document).ready(function () {
	listMenu2 = jQuery("#list-menu2");	//cache obj for jquery
	menuContainer2 = jQuery("#menu-container2");	//cache obj for jquery
	menuAutoPosition2 = jQuery("#menu-auto-position2");	//cache obj for jquery
		
	/*Auto Absolute position menu from body tag, gets menu on top of all over site content*/
	if(listMenu2.hasClass('auto-on-top')) {
		jQuery("body").prepend(menuContainer2);
		listMenuAutoPosition2('main');
		jQuery(window).resize(function () { 
      		listMenuAutoPosition2('main');
    	});
	}
	
	/*Sport Grid Menu*/
	if(listMenu2.hasClass('sport-grid')) {
		divTags = jQuery("li.sports ul div",listMenu2);
		totalDivTags = divTags.length;
		widthPerDivTag = jQuery("div.grid").width();
		ulWidth = totalDivTags * widthPerDivTag;
		jQuery("li.sports ul",listMenu2).css("width",ulWidth+"px");
	}	
	/*Accordion Menu*/
    if(listMenu2.hasClass('accordion')) {
    	//Accordion On Click
    	if(listMenu2.hasClass('click')) {
    		jQuery("li.parent",listMenu2).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",listMenu2).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(!listMenu2.hasClass('sub-child')) {
	    	jQuery("li.parent",listMenu2).mouseover(function () {
	    		jQuery(this).addClass("menu-active");
				jQuery(this).children("ul").css("visibility","visible");
				jQuery(this).bind("mouseleave", function(e){
					jQuery(this).removeClass("menu-active");
		      		jQuery(this).children("ul").css("visibility","hidden");
		    	});
		    });
	    }
	    /*Sub-Child Menu, Child menu items show below main menu in horizontal line */
	    else {
	    	jQuery("li",listMenu2).mouseover(function () { 	
	    		id = jQuery(this).attr("id");
	    		menuHtml = jQuery("#"+id+" div.sub-child-menu").html();
	    		subMenu = jQuery("#lm-submenu");
	    		subMenu.html(menuHtml);
				menuContainer2.bind("mouseleave", function(e) {
					subMenu.html("");	
				});
		    });
	    }
    }
    listMenuSizePositionTemplates2();
});

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

function listMenuSizePositionTemplates2() {
	var listMenuTemplateCount = jQuery(".template",listMenu2).length;
    if(listMenuTemplateCount>0) {
    	var menuContainerWidth = menuContainer.width();
    	//console.log("total:"+listMenuTemplateCount);	
    	//console.log("menuContainer width:"+menuContainerWidth);
    	var menuPos = menuAutoPosition2.position();
		var menuOffset = menuAutoPosition2.offset();
		if(menuPos.left>0) {menuLeft = menuPos.left;}
		else {menuLeft = menuOffset.left};
    	
    	var templateUl = false;
    	for(x=0;x<listMenuTemplateCount;x++) {
    		templateUl = jQuery(".template ul:eq("+x+")",listMenu2);
    		var templateOffset = templateUl.offset();
    		var templatePos = templateUl.position();
    		var templateMenuLeftMargin = templateOffset.left - menuLeft;
    		/*
    		console.log("templateMenuLeftMargin:"+templateMenuLeftMargin);
    		console.log("offset:"+templateOffset.left);
    		console.log("position:"+templatePos.left);
    		*/
    		jQuery(".template ul li.template:eq("+x+")",listMenu2).css("width",menuContainerWidth+"px");
    		templateUl.css("margin-left","-"+templateMenuLeftMargin+"px");
    	}
    	
    	/*
   		jQuery("li.template",listMenu).mouseover(function () {
    		jQuery(this).addClass("menu-active");
			jQuery(this).children("ul").css("visibility","visible").css("display","block");
			jQuery(this).bind("mouseleave", function(e){
				jQuery(this).removeClass("menu-active");
	      		jQuery(this).children("ul").css("visibility","hidden").css("display","none");
	    	});
	    });	
	    */
    }
}

//rewrite function with custom menuLeft to fix centering bug
function listMenuAutoPosition2(menuType) {
 var menuLeft = 0;
 var menuTop = 0;
 menuPos = menuAutoPosition2.position();
 menuOffset = menuAutoPosition2.offset();
 menuHeight = menuContainer2.height();
 menuWidth = menuContainer2.width();
 menuNewTop = menuPos.top - menuHeight;
 //if(menuPos.left>0) {menuLeft = menuPos.left;}
 //else {menuLeft = menuOffset.left};
 var body_width = jQuery('body').width();
 menuLeft = (body_width - menuWidth)/2;

 if(menuPos.top>0) {menuTop = menuPos.top;}
 else {menuTop = menuOffset.top;}
 menuContainer2.css({
  'position':'absolute',
  'z-index':'10000',
  'top':menuTop+'px',
  'left':menuLeft+'px',
  'display':'inline'
 });
}

function listMenuAutoPosition2(menuType) {
	var menuLeft = 0;
	var menuTop = 0;
	if(menuType=='main') {
		menuPos = menuAutoPosition2.position();
		menuOffset = menuAutoPosition2.offset();
		menuHeight = menuContainer2.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;}
		//Fix possible centering bug on wider sites
		if(listMenu2.hasClass("auto-on-top-center")) {
			var menuWidth = menuContainer2.width();
			var bodyWidth = jQuery('body').width();
 			menuLeft = (bodyWidth - menuWidth)/2;
		}
		menuContainer2.css({
			'position':'absolute',
			'z-index':'10000',
			'top':menuTop+'px',
			'left':menuLeft+'px',
			'display':'block'
		});
	}
}
