var menuTimeoutValue = 1;
var menuTimer = 0;

var activeNavs = new Array();
var currentMouseOver = null;

var isIE = false;
if(document.all)
	isIE = true;
	
var menuLockCount = 0;

function jumpURL(url)
{
	window.location = url;
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	var printstring = '';
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			//printstring += ' element ' + obj.tagName + ' has ' + obj.offsetTop;
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	//window.status = printstring;
	return curtop;
}

function getObj(name)
{
	if (document.getElementById)
	{
		return document.getElementById(name);
	}
	else if (document.all)
	{
		return document.all[name];
	}
	else if (document.layers)
	{
		if (document.layers[name])
		{
			return document.layers[name];
		}
		else
		{
			return document.layers.testP.layers[name];
		}
	}
}

function nitNavRollover(itemName)
{
	if(menuLockCount > 0)
		return;
	
	menuLockCount++;
	
	rolloutClass = menuClasses[itemName];
	if("seoMainNav" == rolloutClass)
	{
		for(var i in menuStruct)
		{
            subnav = getObj(menuStruct[i]);

            if(subnav && (menuStruct[i] != menuStruct[itemName]))
            {
                subnav.style.position = "absolute";
                subnav.style.display = "none";
                subnav.style.left = 0;
                subnav.style.top = 0;
            }
		}
	}

	var nextIndex = activeNavs.length;
	
	var item = getObj(itemName);

	menuName = menuStruct[itemName];
	menu = getObj(menuName);
	
	rolloverClass = menuRolloverClasses[itemName];
	item.className = rolloverClass;
	
	rolloverContent = menuRolloverContent[itemName];
	if(rolloverContent)
		item.innerHTML = rolloverContent;
	
	if(menu)
		activeNavs[nextIndex] = itemName;
		
	if("nitMainNavRollover" == rolloverClass)
		hideAllDropdowns(itemName);
	
	if(menu && menu.style.display == "none")
	{
		if(isIE)
		{
			if(shadow)
			{
				menu.style.filter = "progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#aaaaaa,strength=5) progid:DXImageTransform.Microsoft.Alpha(opacity=" + (opacity) + ") " + selectedEffect;
			}
			else
			{
				menu.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + (opacity) + ") " + selectedEffect;
			}			
			
			if(menu.filters[2])
				menu.filters[2].Apply();
		}
		
		menu.style.display = "inline";

		var width = item.offsetWidth;
		menu.style.width = width;		
		
		var navdir = menuDirs[itemName];
		
		var menuPos = findMenuPosition(item,menu,navdir);
		
		var posX = menuPos['X'];
		var posY = menuPos['Y'];
		
		menu.style.position = "absolute";
		menu.style.left = posX;
		menu.style.top = posY;
		
		if(isIE)
		{
			if(menu.filters[2])
				menu.filters[2].Play();
		}
		else
		{
			menu.style.MozOpacity = (opacity / 100.0);
		}
	}
	
    rolloutClass = menuClasses[itemName];
    
    for(var i in menuClasses)
    {
        if(menuClasses[i] == rolloutClass)
        {
            if(i != itemName)
            {
            	tempItem = getObj(i);
				if(tempItem)
				{
                    tempItem.className = rolloutClass;
					rolloutContent = menuRolloutContent[i];
					if(rolloutContent)
						tempItem.innerHTML = rolloutContent;
                    
				}
				
                subnav = getObj(menuStruct[i]);

                if(subnav)
                {
                    subnav.style.position = "absolute";
                    subnav.style.display = "none";
                    subnav.style.left = 0;
                    subnav.style.top = 0;
                }
            }
        }
    }
	stopMenuTimeout();
	
}

function nitNavRollout(itemName)
{
	menuLockCount--;
	if(menuLockCount < 0)
		menuLockCount = 0;

	currentMouseOver = null;
	var item = getObj(itemName);

	var resetStyle = true;
	for(var i in activeNavs)
	{
		if(itemName == activeNavs[i])
			resetStyle = false;
	}
	
	if(resetStyle)
	{
		rolloutClass = menuClasses[itemName];
		item.className = rolloutClass;

		rolloutContent = menuRolloutContent[itemName];
		if(rolloutContent)
			item.innerHTML = rolloutContent;
		
	}

	resetMenuTimeout();
}

function hideAllDropdowns(exception)
{
        if(activeNavs.length > 0)
        {
                for(var i in activeNavs)
                {
                        var itemName = activeNavs[i];
                        if(itemName != exception)
                        {
                                var item = getObj(itemName);
                                var rolloutClass = menuClasses[itemName];
				if(item)
	                                item.className = rolloutClass;

                                rolloutContent = menuRolloutContent[itemName];
                                if(rolloutContent && item)
                                        item.innerHTML = rolloutContent;
                        }
                }

                activeNavs = new Array();
                if(exception != "ALL")
                {
                        activeNavs[0] = exception;
                }
        }

	
	for(var i in menuStruct)
	{
		subnav = getObj(menuStruct[i]);

		if(subnav)
		{
			subnav.style.position = "absolute";
			subnav.style.display = "none";
			subnav.style.left = 0;
			subnav.style.top = 0;
		}
	}
	
	menuLockCount = 0;
}

function resetMenuTimeout()
{
   menuTimeoutValue = 1;
   clearTimeout(menuTimer);
   menuTimer = 0;

   menuTimer = setTimeout("menuTimeout()",1000);
}

function menuTimeout()
{
     if(menuTimeoutValue == 0)
     {
          hideAllDropdowns("ALL");
          
          menuTimeoutValue = 1;
          clearTimeout(menuTimer);
          menuTimer = 0;
     }
     else
     {
          menuTimeoutValue -= 1;

          menuTimer = setTimeout("menuTimeout()",500);
     }
}

function stopMenuTimeout()
{
    menuTimeoutValue = 1;
    clearTimeout(menuTimer);
    menuTimer = 0;
}

function findMenuPosition(item,menu,navdir)
{
	var posX = 0;
	var posY = 0;
	if(navdir == "Horizontal")
	{
		if(axis == "Up")
		{
			posY = findPosY(item) - menu.offsetHeight - outerBorder;
			posX = findPosX(item);
		}
		else if(axis == "Down")
		{
			posY = findPosY(item) + item.offsetHeight + outerBorder;
			posX = findPosX(item);
		}
	}
	else if(navdir == "Vertical")
	{
		var menuWidth = menu.style.width;
		var rExp = "/px/gi";
   		menuWidth = menuWidth.replace(rExp,"");		
   		menuWidth = parseInt(menuWidth);
   		
		if(axis == "Up")
		{
			if(side == "Left")
			{
				posY = (findPosY(item) + item.offsetHeight) - menu.offsetHeight;
				posX = findPosX(item) - menuWidth - outerBorder;
			}
			else if(side == "Right")
			{
				posY = (findPosY(item) + item.offsetHeight) - menu.offsetHeight;
				posX = findPosX(item) + item.offsetWidth + outerBorder;
			}
		}
		else if(axis == "Down")
		{
			if(side == "Left")
			{
				posY = findPosY(item);
				posX = findPosX(item) - menuWidth - outerBorder;
			}
			else if(side == "Right")
			{
				posY = findPosY(item);
				posX = findPosX(item) + item.offsetWidth + outerBorder;
			}			
		}
	}
	
	var result = new Array();
	result["X"] = posX;
	result["Y"] = posY;
	
	return result;
}

document.onclick = hideAllDropdowns;
