
// GLOBAL VARIABLES ----------------------------------------------------------
// ---------------------------------------------------------------------------

var _currentMenuLevel = new Array(0,0,0,0,0,0);
//var _currentContentPage = "content.html";
var _currentContentPage = "";
var _currentMenu;
var _selectedLevelArray = new Array();
var _hasNextMenuLevel = new Array(0,0,0,0,0,0);
var _allMenuItems;
//var _indexPageName=window.location.href;
var _projectDir="/atmsSP";
var _indexPageName=_projectDir;

_allMenuItems = new MenuItem();

// ---------------------------------------------------------------------------
// GLOBAL VARIABLES END ------------------------------------------------------


// THE MENU OBJECT
function MenuItem(menuName, menuID, menuTarget, menuSelected, menuArray)
{
	this.menuName = menuName;
	this.menuID = menuID;
	this.menuTarget = menuTarget;
	this.menuSelected = menuSelected;
	this.menuArray = menuArray;
}

function writeMenuItem(aMenu, anArrayStr, aMenuName, isSelected)
{
	var outString="";
	var className="nav2";
	if(isSelected)
	{
		className="nav1";
	}
	if(aMenu.menuID.length>0)
	{
		if((aMenu.menuArray.length>0) && (aMenu.menuSelected==0))
		{
			outString += "<A HREF=\"javascript:top.slc(" + anArrayStr + ");\" class=" + className + ">" + aMenuName + "</A>";
		}
		else
		{
			outString += "<A HREF=\"javascript:top.sl(" + anArrayStr + ");\" class=" + className + ">" + aMenuName + "</A>";
		}
	}
	else
	{
		if((aMenu.menuArray.length>0) && (aMenu.menuSelected==0))
		{
			outString += "<A HREF=\"javascript:top.changeMenu(" + anArrayStr + ");\" class=" + className + ">" + aMenuName + "</A>";
		}
		else
		{
			outString += aMenuName;
		}
	}
	return outString;
}

function writeMenu(aMenu, level, pos)
{
	var i;
	var menuArray;
	var arrayStr;
	var outString="";
	var isSelected;

	menuArray = aMenu.menuArray;
	if(level>=0)
	{
		_currentMenuLevel[level]=pos;
		isSelected = 0;
		if(_selectedLevelArray.length > level)
		{
			for(i=level;i>=0;i--)
			{
				if(_selectedLevelArray[i]!=_currentMenuLevel[i])
				{
					break;
				}
			}
			if(i<0)
			{
				isSelected = 1;
			}
		}

		outString += "<tr><td bgcolor=\"" + ((level==0)?"#004D9C":"#99B3D6") + "\">\n";
		outString += "<table border=0 cellpadding=0 cellspacing=0><tr><td nowrap>\n";
		if(level>=1)
		{
			for(i=1;i<level;i++)
			{
				if(_hasNextMenuLevel[i]==1)
				{
					outString += "<img src=\""+_projectDir+"/img/navimg/line_straight.gif\" width=18 height=20>";
				}
				else
				{
					outString += "<img src=\"/s.gif\" width=18 height=20>";
				}
			}
			if(_hasNextMenuLevel[level]==1)
			{
				outString += "<img src=\""+_projectDir+"/img/navimg/line_junction.gif\" width=18 height=20>";
			}
			else
			{
				outString += "<img src=\""+_projectDir+"/img/navimg/line_edge.gif\" width=18 height=20>";
			}
		}
		arrayStr = getArrayStringFor(_currentMenuLevel, level+1);
		if(menuArray.length>0)
		{
			outString += "<A HREF=\"javascript: top.changeMenu(";
			outString += arrayStr + ")\">";
			if(aMenu.menuSelected == 1)
			{
				nodeImageName = "node_open";
				//outString += "<img src=\"/img/navimg/node_open.gif\" width=18 height=22 border=0></A>";
			}
			else
			{
				nodeImageName = "node_closed";
				//outString += "<img src=\"/img/navimg/node_closed.gif\" width=18 height=22 border=0></A>";
			}
		}
		else
		{
			nodeImageName = "node_end";
			//outString += "<img src=\"/img/navimg/node_end.gif\" width=18 height=22>";
		}
		if(isSelected)
		{
			nodeImageName += "_hl";
		}
		if(level==0)
		{
			outString += "<img src=\""+_projectDir+"/img/navimg/l_" + nodeImageName + ".gif\" width=18 height=22 border=0>";
		}
		else
		{
			outString += "<img src=\""+_projectDir+"/img/navimg/s_" + nodeImageName + ".gif\" width=18 height=20 border=0>";
		}
		outString += "</td><td nowrap>";
		outString += writeMenuItem(aMenu, arrayStr, aMenu.menuName, isSelected);
		outString += "</td></tr></table></td></tr>\n";
	}
	if(aMenu.menuSelected == 1)
	{
		_hasNextMenuLevel[level+1]=1;
		for(i=0;i<menuArray.length;i++)
		{
			if(i==(menuArray.length-1))
			{
				_hasNextMenuLevel[level+1]=0;
			}
			outString += writeMenu(menuArray[i], level+1, i);
		}
	}
	else if(level==0)
	{
		outString += "<tr><td><img src=\"/s.gif\" width=6 height=6></td></tr>";
	}
	return outString;
}

function getArrayStringFor(anArray, count)
{
	var i;
	var arrayStr = "new Array(";

	for(i=0;i<count;i++)
	{
		if(i==0)
		{
			arrayStr += "'" + anArray[i] + "'";
		}
		else
		{
			arrayStr += ",'" + anArray[i] + "'";
		}
	}
	arrayStr += ")";
	return arrayStr;
}

function getMenuItemFor(levelArray)
{
	var aMenuItem=null;

	aMenuItem = _allMenuItems;
	for(i=0;i<levelArray.length;i++)
	{
		aMenuItem = aMenuItem.menuArray[levelArray[i]];
	}
	return aMenuItem;
}

function changeMenu(levelArray)
{
	var aMenuItem = getMenuItemFor(levelArray);
	if(aMenuItem!=null)
	{
		if(aMenuItem.menuSelected==0)
		{
			aMenuItem.menuSelected=1;
		}
		else
		{
			aMenuItem.menuSelected=0;
		}
	}
	repaintMenu();
}

function slcById(id)
{
	slc(_mIds[id]);
}

function slc(levelArray)
{
	var aMenuItem = _allMenuItems;
	for(i=0;i<levelArray.length;i++)
	{
		aMenuItem = aMenuItem.menuArray[levelArray[i]];
		if(aMenuItem.menuArray.length>0)
		{
			aMenuItem.menuSelected=1;
		}
	}
	if(slc.arguments.length>1)
	{
		return sl(levelArray, slc.arguments[1]);
	}
	return sl(levelArray);
}

function slById(id)
{
	sl(_mIds[id]);
}

function sl(levelArray)
{
	var now;
	var secs;
	var i;
	var nextPage;
	var aMenuItem=null;

	currentSelectedMenuArray = new Array();
	aMenuItem = _allMenuItems;
	for(i=0;i<levelArray.length;i++)
	{
		aMenuItem = aMenuItem.menuArray[levelArray[i]];
		currentSelectedMenuArray[i]=aMenuItem;
	}
	if(aMenuItem==null)
	{
		return;
	}
	if((_selectedLevelArray.length>0) && (_selectedLevelArray[0]!=levelArray[0]))
	{
		_allMenuItems.menuArray[_selectedLevelArray[0]].menuSelected=0;
	}
	_selectedLevelArray = levelArray;
	_currentMenu = aMenuItem;
//	if(top.ftop.pageLoaded)
//	{
//		top.ftop.setHistory(currentSelectedMenuArray);
//	}

	now = new Date();
	secs = String(now.getTime()/1000);
	nextPage = aMenuItem.menuID;
	if(sl.arguments.length>1)
	{
		nextPage = sl.arguments[1];
	}
	if((nextPage.substr(0,1)=="/") || (nextPage.substr(0,7)=="http://"))
	{
		idx = nextPage.indexOf("?");
		if(idx==-1)
		{
			nextPage = nextPage + "?time="+secs;
		}
		else
		{
			nextPage = nextPage + "&time="+secs;		
		}
	}
	else
	{
		idx = nextPage.indexOf("?");
		if(idx==-1)
		{
			nextPage = _indexPageName + "/../" + nextPage + "?time="+secs;
		}
		else
		{
			nextPage = _indexPageName + "/../" + nextPage + "&time="+secs;
		}
	}
	if (!isOpera)
	{
		if(aMenuItem.menuTarget == "_top")
		{
			top.location=nextPage;
		}
		else if(aMenuItem.menuTarget == "_blank")
		{
			window.open(nextPage);
		}
		else if(aMenuItem.menuTarget.substr(0,8) == "_blank__")
		{
			var myOptions = aMenuItem.menuTarget.substr(8, aMenuItem.menuTarget.length-8);
			var anArray = myOptions.split("_");
			var myStr = "";

			for(i=1;i<anArray.length;i++)
			{
				if(i%2) {
					if(i>1)
						myStr += ",";
					myStr += anArray[i];
				} else {
					myStr += "="+anArray[i];
				}
			}
			window.open(nextPage, anArray[0], myStr);
		}
		else
		{
			this.fbody.frames[aMenuItem.menuTarget].location = nextPage;
			_currentContentPage = nextPage;
		}
	}
	else
	{
		fbody.content.location.href = nextPage;
		_currentContentPage = nextPage;
	}
	if(isIE)
	{
		repaintMenu();
	}
	else
	{
		window.setTimeout("repaintMenu()", 1);
	}
}

function startupMenu()
{
//	this.fbody.content.location=_currentContentPage;
	repaintMenu();
}

function repaintMenu()
{
	var outString;
	var styles ="<link rel=\"stylesheet\" type=\"text/css\" href=\"" + _indexPageName + "/css/basic.css\">";
	
	if(!this.fbody._hasMenu)
	{
		return;
	}

	if (isIE) 
	{
		var yPos=this.fbody.fmenu.document.body.scrollTop;
		var xPos=this.fbody.fmenu.document.body.scrollLeft;
	}
	if (isNS4)
	{
		var yPos=this.fbody.fmenu.pageYOffset;
		var xPos=this.fbody.fmenu.pageXOffset;
	}
	
//	outString = "<html><head><title>Menu</title>"+styles+"</head>\n<body background=\""+_projectDir+"/img/navimg/bg_menue.gif\">\n";
	outString = "<html><head><title>Menu</title>"+styles+"</head>\n<body>\n";
//	outString += "<table border=0 cellpadding=0 cellspacing=0><tr><td><img src=\"/s.gif\" width=1 height=10 border=0></td><td align=left valign=top>";
	outString += "<table border=0 cellpadding=0 cellspacing=0><tr><td></td><td align=left valign=top>";
//	outString += "<img src=\"/s.gif\" border=0 width=10 height=10>";

	outString += "<table cellspacing=0 cellpadding=0 border=0>\n";
//	outString += "<tr><td><img src=\"/s.gif\" width=6 height=6></td></tr>";
	outString += writeMenu(_allMenuItems, -1, -1);
	
	outString += "<tr><td><img src=\"/s.gif\" width=204 height=2></td></tr>";
	if(_isNormalUser)
	{
	//	outString += "<tr><td>"+_PHP_LIVE_CODE+"</td></tr>";
	}

	outString += "</table>\n";

	outString += "</td><td><img src=\"/s.gif\" width=\"1\" height=\"10\" border=\"0\"></td></tr></table><br></body></html>";

	writeContent(outString);
	if (isIE || isNS4) this.fbody.fmenu.scrollTo(xPos,yPos); 
} 

function showContentPageFor()
{
	var i, ii, count=0;
	var aName, newPage=null;
	var aMenuItem = _allMenuItems;
	var levelArray = new Array();
	
	for(i=0;i<showContentPageFor.arguments.length;i++)
	{
		aName = showContentPageFor.arguments[i].replace(/#/, "&");
		if((aName.length>5) && (aName.substr(0,5)=="page:"))
		{
			newPage = aName.substr(5, aName.length-5);
			continue;
		}
		for(ii=aMenuItem.menuArray.length-1;ii>=0;ii--)
		{
			if(aMenuItem.menuArray[ii].menuName == aName)
			{
				aMenuItem = aMenuItem.menuArray[ii];
				levelArray[count++]=ii;
				break;
			}
		}
		if(ii<0)
		{
			return false;
		}
	}
	if(newPage!=null)
	{
		slc(levelArray, newPage);
	}
	else
	{
		slc(levelArray);
	}
	
	return true;
}

function getHistoryForSelectedMenu()
{
	var i;
	var aString;
	var aMenuItem = _allMenuItems;
	
	aString = "<table cellspacing=0 cellpadding=0>\n<tr>\n";
	if((_selectedLevelArray.length>0) && (aMenuItem.menuArray[_selectedLevelArray[0]].menuName!="Home"))
	{
		aString += "<td><img src=\""+_projectDir+"/img/navimg/pfeil_blue.gif\" width=3 height=5 hspace=5 vspace=5></td>\n";
		aString += "<td><a href=\"javascript:top.sl(new Array('0'))\" class=hist-blue>Home</a></td>";
		aString += "<td><img src=\"/s.gif\" width=10 height=1></td>";
		for(i=0;i<_selectedLevelArray.length-1;i++)
		{
			aMenuItem = aMenuItem.menuArray[_selectedLevelArray[i]];
			aString += "<td><img src=\""+_projectDir+"/img/navimg/pfeil_blue.gif\" width=3 height=5 hspace=5 vspace=5></td>\n";
			aString += "<td><a href=\"javascript:top.sl(" + getArrayStringFor(_selectedLevelArray, i+1) + ")\" class=hist-blue>" + aMenuItem.menuName + "</a></td>";
			aString += "<td><img src=\"/s.gif\" width=10 height=1></td>";
		}
		aMenuItem = aMenuItem.menuArray[_selectedLevelArray[i]];
		aString += "<td><img src=\""+_projectDir+"/img/navimg/pfeil_orange.gif\" width=3 height=5 hspace=5 vspace=5></td>\n";
		aString += "<td><a href=\"javascript:top.sl(" + getArrayStringFor(_selectedLevelArray, i+1) + ")\" class=hist-red>" + aMenuItem.menuName + "</a></td>";
	}
	else
	{
		aString += "<td colspan=2><img src=\"/s.gif\" width=3 height=5 hspace=5 vspace=5></td>\n";
//		aString += "<td><img src=\""+_projectDir+"/img/navimg/pfeil_orange.gif\" width=3 height=5 hspace=5 vspace=5></td>\n";
//		aString += "<td><a href=\"javascript:top.sl(new Array('0'))\" class=hist-red>Home</a></td>";
	}
	aString += "</tr>\n</table>\n";

	return aString;
}

function writeContent(myContent)
{
	this.fbody.fmenu.document.open();
	this.fbody.fmenu.document.write("");
	this.fbody.fmenu.document.write(myContent);
	this.fbody.fmenu.document.close();
}


