//	SWG Menu Code
//	SWG Content Mangement System 2.0
//	Copyright © 2005 Super Web Group.  All Rights Reserved.
//	info@superwebgroup.com

var bFadeIn = true;
var iMenuHoldCount = 300;
var bMenuItemOver;
var bSubMenuItemOver;

function MenuOut(MenuID) {
	clearInterval(bMenuItemOver);
	bMenuItemOver = setTimeout('HideMenu('+MenuID+')',iMenuHoldCount);
}

function MenuItemOver(MenuID) {
	clearInterval(bSubMenuItemOver);
	bSubMenuItemOver = setTimeout('HideSubMenus('+MenuID+')',iMenuHoldCount);	
	MenuOver(MenuID);	
}

function MenuOver(MenuID) {
	clearInterval(bMenuItemOver);
	for(i=0; i<MenuArrayCount; i++){
		if (MenuID == MenuArray[i][0])
		{
			MenuArray[i][2] = 1;
			clearInterval(MenuArray[i][3]);
			for(j=0; j<MenuArrayCount; j++){
				if (MenuArray[i][1] == MenuArray[j][0]){
					MenuOver(MenuArray[j][0]); //recursive check for parents
				}			
			}			
		}
	}
	MenuStates();	
}			

function ShowPulldownMenu(MenuID) {
	for(i=0; i<MenuArrayCount; i++){
		if (MenuID == MenuArray[i][0] && MenuArray[i][2] == 0)
		{	
			var anchorobj = new getObj('Anchor'+MenuArray[i][0]);
			MenuPosition(anchorobj.obj,'Menu'+MenuArray[i][0],iTopNavMenuYOffset,iTopNavMenuXOffset);
			MenuOver(MenuID);
		}
	}
}

function ShowPulloutMenu(MainMenuID,MenuID) {
	MenuItemOver(MenuID)
	HideSubMenus(MainMenuID);
	for(i=0; i<MenuArrayCount; i++){
		if (MenuID == MenuArray[i][0] && MenuArray[i][2] == 0)
		{	
			var anchorobj = new getObj('Anchor'+MenuArray[i][0]);
			MenuPosition(anchorobj.obj,'Menu'+MenuArray[i][0],iMenuYOffset,iMenuXOffset);
			MenuOver(MenuID);
		}
	}
}


function HideMenu(MenuID) {
	for(k=0; k<MenuArrayCount; k++){
		if (MenuID == MenuArray[k][0])
		{
			HideSubMenus(MenuID);
			MenuOut(MenuArray[k][1]);
			MenuArray[k][2] = 0;
			clearInterval(MenuArray[k][3]);
			MenuArray[k][3] = setTimeout('MenuStates()',iMenuHoldCount);
		}
	}
}

function HideSubMenus(MenuID) {
	for(i=0; i<MenuArrayCount; i++){
		if (MenuID == MenuArray[i][0])
		{
			for(j=0; j<MenuArrayCount; j++){
				if (MenuArray[i][0] == MenuArray[j][1]){
					for(p=0; p<MenuArrayCount; p++){
						if (MenuArray[j][0] == MenuArray[p][1]){
							MenuArray[p][2] = 0;
							clearInterval(MenuArray[p][3]);
							MenuArray[p][3] = setTimeout('MenuStates()',iMenuHoldCount);	
						}			
					}				
					MenuArray[j][2] = 0;
					clearInterval(MenuArray[j][3]);
					MenuArray[j][3] = setTimeout('MenuStates()',iMenuHoldCount);	
				}			
			}
		}
	}
}

function HideAllMenus() {
	for(i=0; i<MenuArrayCount; i++){
		MenuArray[i][2] = 0;
	}
	MenuStates();
}

function MenuStates() {
	for(i=0; i<MenuArrayCount; i++){
		if (MenuArray[i][2] == 0){
			hide('Menu'+MenuArray[i][0]);
		}
		if (MenuArray[i][2] == 1){
			show('Menu'+MenuArray[i][0]);
		}
	}
}


function MenuPosition(obj,lyr,mody,modx)
{
	if (is_mac && is_ie5up) { // mac ie position bug fix
		var menuanchor = new getObj('MenuAnchor');
		var newX = modx + findPosX(obj) - findPosX(menuanchor.obj);
		var newY = mody + findPosY(obj) - findPosY(menuanchor.obj);
		var x = new getObj(lyr);
		x.style.top = newY + 'px';
		x.style.left = newX + 'px';
	} else {
		var newX = modx + findPosX(obj);
		var newY = mody + findPosY(obj);
		var x = new getObj(lyr);
		x.style.top = newY + 'px';
		x.style.left = newX + 'px';
	}
	
	if (is_win && is_ie5up) {
		var DivRef = document.getElementById(lyr);
		var IfrRef = document.getElementById('Shim'+lyr);
	    IfrRef.style.width = DivRef.offsetWidth;
	    IfrRef.style.height = DivRef.offsetHeight;
	    IfrRef.style.top = newY + 'px';
	    IfrRef.style.left = newX + 'px';
	    IfrRef.style.zIndex = DivRef.style.zIndex - 1;
	}	
}

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;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function getObj(name)
{
 if (document.getElementById)
 {
	   this.obj = document.getElementById(name);
	   this.style = document.getElementById(name).style;
 }
 else if (document.all)
 {
	   this.obj = document.all[name];
	   this.style = document.all[name].style;
 }
 else if (document.layers)
 {
	   if (document.layers[name])
	   {
	   	this.obj = document.layers[name];
	   	this.style = document.layers[name];
	   }
 }
}

function show(obj)
{
	var x = new getObj(obj);
	x.style.visibility = 'visible';
    x.style.display = "block";
	if (is_win && is_ie5up) {
		var s = new getObj('Shim'+obj);
	    s.style.display = "block";	
		s.style.visibility = 'visible';
	}
}

function hide(obj)
{
	var x = new getObj(obj);
	x.style.visibility = 'hidden';
	if (is_win && is_ie5up) {
		var s = new getObj('Shim'+obj);
	    s.style.display = "none";	
		s.style.visibility = 'hidden';
	}	
}
