function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
}

function getStyle(el,IEStyleProp, CSSStyleProp)
{
	
	if (el.currentStyle)
		var y = el.currentStyle[IEStyleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(CSSStyleProp);
	return y;
}

function adjustNavigationPadding()
{
	//grab the width of the wrapper
	var navWidth = document.getElementById('wrapper').offsetWidth;
	//var navWidth=983;
	
	//grab all the top level elements which have a name of navA
	var navAnchors = getElementsByClass('topNavEl', document);
	
	
	var numButtons = navAnchors.length;
	
	var anchorsWidth = 0;
	var LImargin = 0;
	
	var ulWidth = 200;
	//This loops through all the items to grab their total width
	if (typeof(paddingExtra) == 'undefined') 
		var paddingExtra = 0;
	
	for (x = 0; x < numButtons; x = x + 1) {
		//Find the width of all the anchor tags parents (the li nodes)
		//We do the parents because they may contain a border, which offsetWidth will grab
		anchorsWidth = anchorsWidth + navAnchors[x].offsetWidth + paddingExtra;
		
		marginLeft = getStyle(navAnchors[x], "marginLeft", "margin-left").replace(/px/, "");
		marginRight = getStyle(navAnchors[x], "marginRight", "margin-right").replace(/px/, "");
		LImargin = LImargin + parseInt(marginLeft) + parseInt(marginRight);
	}
	
	LImargin = parseInt(LImargin);
	
	//calculate the leftover space
	var space = (navWidth - anchorsWidth) - LImargin;
	
	if (space >= 0) {
	
		//calculate the padding and round it down
		var padding = space / (numButtons * 2);
		
		padding = Math.floor(padding);
		
		//calculate the remainder to be added to the very ends
		var remainder = space - (padding * (numButtons * 2));
		
		var outsidePadding = Math.floor(remainder / 4);
		
		if (outsidePadding <= 0) {
			//if the remainder is less than 4, then we'll just set that to extra
			outsidePadding = 0;
			var extra = remainder;
		}
		else {
			//if there is extra leftover after the remainder has been divided, get it here
			var extra = remainder - (outsidePadding * 4);
		}
		
		var wrapper = document.getElementById('wrapper');
		//This loop goes through the middle items
		for (x = 1; x < (numButtons - 1); x = x + 1) {
			var realAnchor = navAnchors[x].getElementsByTagName('a')[0];
			realAnchor.style.paddingRight = padding + "px";
			realAnchor.style.paddingLeft = padding + "px";
		}
		
		var firstAnchor = navAnchors[0].getElementsByTagName('a')[0];
		
		firstAnchor.style.paddingRight = (padding + outsidePadding) + "px";
		firstAnchor.style.paddingLeft = (padding + outsidePadding + extra) + "px";
		
		var lastAnchor = navAnchors[numButtons - 1].getElementsByTagName('a')[0];
		//If items are added, alter this accordingly to be the last item in the index.
		lastAnchor.style.paddingRight = (padding + outsidePadding) + "px";
		lastAnchor.style.paddingLeft = (padding + outsidePadding) + "px";
		
		
		// adjust last element's dropdown if necessary
		var lastDropdown = document.getElementById('tn_last');
		if (lastDropdown)
		{
			// find the position
			var parentEl = lastDropdown.parentNode;
			var leftOffset = parentEl.offsetLeft;
			var diff = navWidth - (leftOffset + lastDropdown.offsetWidth);
			if (diff < 0)
			{
				// adjust left value of dropdown ul
				leftOffset.style.marginLeft = diff + 'px';
			}
			
		}
	}
}

function adjustDropdownPosition()
{
	var navWidth = document.getElementById('wrapper').offsetWidth;

	var topNavEls = jQuery('.topNavEl');
	for (var i=0; i < topNavEls.length; i++)
	{
		var leftOffset = topNavEls[i].offsetLeft;
		var ulList = topNavEls[i].getElementsByTagName('ul');
		if (ulList.length > 0)
		{
			var ul = ulList[0];
			var diff = navWidth - (leftOffset + ul.offsetWidth);
			if (diff < 0)
			{
				jQuery(ul).css({marginLeft: diff});
			}
		}
	}
}