﻿function log(str) { if (console) { console.log(str); } }

// Sub-Menu Positioning

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			if (obj.id == "nav")
			{
				break;
			}
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	
	return [curleft,curtop];
}

function positionSubMenus()
{
    var PAGE_WIDTH = 1000;
    var MAX_UL_WIDTH = 900;
    var menuDiv = document.getElementById("nav");
	var menuULs = menuDiv.getElementsByTagName("ul");
	for (var i = 0; i < menuULs.length; i++)
	{
		var myLIs = menuULs[i].childNodes;
		var ulWidth = 0;
		for (var o = 0; o < myLIs.length; o++)
		{  
		    if(myLIs[o].tagName == "LI")
		    {
			    ulWidth += myLIs[o].clientWidth;
			}
		}
	
	    // if not top level menu, adjust left based on parent
	    if (menuULs[i].className != "AspNet-Menu-No-Center")
		{	
		    menuULs[i].style.width = (ulWidth <= MAX_UL_WIDTH ? ulWidth : MAX_UL_WIDTH) + "px";
	
			var curPos = findPos(menuULs[i]);
			var TARGET_LEFT_POS = Math.floor(PAGE_WIDTH / 2) - Math.floor(ulWidth / 2);
			var leftOffset = TARGET_LEFT_POS - curPos[0];
			menuULs[i].style.left = (ulWidth <= MAX_UL_WIDTH ? leftOffset : Math.floor(leftOffset / 2)) + "px";
		}
	}
	
	var $lis = jQuery("ul.AspNet-SubMenu-Selected li");		
	var lisCount = $lis.size();
	var lisNow = lisCount;
	
	$lis.each(function()
	{
		var newZindex = lisCount + lisNow--;
		jQuery(this).css({ zIndex: newZindex });
	});
	
	var dt = menuDiv.getElementsByTagName("div");
	for (var i = 0; i < dt.length; i++)
	{
	    if (dt[i].className.indexOf("AspNet-SubMenu-Header") != -1)
	    {
	        var curPos = findPos(dt[i]);
	        var TARGET_LEFT_POS = Math.floor(PAGE_WIDTH / 2) - Math.floor(dt[i].clientWidth / 2);
	        var leftOffset = TARGET_LEFT_POS - curPos[0];
	        dt[i].style.left = leftOffset + "px";
	    }
	}
}

// </>