// menu.js Core Functions
// Copyright © 1999 Microsoft Coorpertion.


var heutigesDatum = new Date();
var Tag = heutigesDatum.getDate();
Tag=((Tag<10)?"0":"")+Tag;
var MonatBasis = heutigesDatum.getMonth();
var Monat = MonatBasis+1;
Monat=((Monat<10)?"0":"")+Monat;
var JahrBasis = heutigesDatum.getYear();
var Jahr = (JahrBasis<1000)? JahrBasis+1900:JahrBasis;
var Std=heutigesDatum.getHours();
var Min=heutigesDatum.getMinutes();
Uhrmin=((Min<10)?"0":"")+Min;
UhrStd=((Std<10)?"0":"")+Std;



var ToolBar_Supported = false;
var Frame_Supported   = false;
var DoInstrumentation = false;

if (navigator.userAgent.indexOf("MSIE")    != -1 && 
	navigator.userAgent.indexOf("Windows") != -1 && 
	navigator.appVersion.substring(0,1) > 3)
{
	ToolBar_Supported = true;
}

if (ToolBar_Supported)
{
	var newLineChar = String.fromCharCode(10);
	var char34 = String.fromCharCode(34);
	var LastMSMenu = "";
	var LastICPMenu= "";
	var CurICPMenu = "";
	var IsMSMenu = false;
	var IsMenuDropDown = true;
	var HTMLStr;
	var TBLStr;
	var x = 0;
	var y = 0;
	var x2 = 0;
	var y2 = 0;
	var x3 = 0;
	var MSMenuWidth;
	var ToolbarMinWidth;
	var ToolbarMenu;
	var ToolbarBGColor;
	var ToolbarLoaded = false;
	var aDefMSColor  = new Array(3);
	var aDefICPColor = new Array(3);
	var aCurMSColor  = new Array(3);
	var aCurICPColor = new Array(3);
	var MSFont;
	var ICPFont;
	var MaxMenu = 30;
	var TotalMenu = 0;
	var arrMenuInfo = new Array(30);

	// Output style sheet and toolbar ID
	document.write("<span id='StartMenu' style='display:none;'></span>");


	// Hiho: *** Font-Definition ***

	MSFont  = "xx-small Verdana";
	ICPFont = "bold 12px Verdana";

	// Build toolbar template - HIHO: FONT
	TBLStr = "<table border='0' cellpadding='0' cellspacing='0'><tr valign='middle'><!--ICP_MENU_TITLES--><td width='79%' align='right' nowrap='nowrap'><font face='Verdana, Arial, Helvetica' color='#e8e8e8' size='1'>.</font><font face='Verdana, Arial, Helvetica' color='#000000' size='1' style='font:"+ICPFont+";'><b>"+Tag+'.'+Monat+'.'+Jahr+' '+UhrStd+':'+Uhrmin+"</b></font><font face='Arial, Helvetica' color='#e8e8e8' size='1'>.</font></td></tr><tr><td colspan='17' bgcolor='#c2c2c2'><img src='images/pixel1x1.gif' width='1' height='6'></td></tr></table>";
	
	HTMLStr = 
		"<div id='idToolbar'>" +
		"<div id='idRow1'>" +
		"<div id='idICPBanner'><!--BEG_ICP_BANNER--><!--END_ICP_BANNER--></div>" +
		"<div id='idMSMenuCurve'></DIV>" +
		"<div id='idMSMenuPane'><!--MS_MENU_TITLES--></DIV>" + 
		"</div>" +
		"<div id='idRow2'>" +
		"<div id='idADSBanner'><!--BEG_ADS_BANNER--><!--END_ADS_BANNER--></div>" +
		"<div id='idMSCBanner'><!--BEG_MSC_BANNER--><!--END_MSC_BANNER--></div>" +
		"</div>" +
		"<div id='idRow3' style='position:relative;height:16;width:100%'>" +
		"<div id='idICPMenuPane' style='position:absolute;top:0;left:0;height:16;border:0;color:black;background-color:#e8e8e8;' nowrap='nowrap'><!--ICP_MENU_TITLES--></DIV>" +
		"</div>" +
		"</div>" +
		"<script for='idToolbar' event='onresize'>resizeToolbar();</script>" +
		"<script FOR='idToolbar' event='onmouseover'>hideMenu();</script>" +
		"<script TYPE='text/javascript'>" + 
		"   var ToolbarMenu = StartMenu;" + 
		"</script>" + 
		"<div width='100%'>";

	// Intialize global variables
	ToolbarBGColor	= "white";						// toolbar background color

//	MSFont  = "xx-small Verdana";
//	ICPFont = "bold xx-small Verdana";

	
	aDefMSColor[0]	= aCurMSColor[0]  = "white";	// bgcolor;
	aDefMSColor[1]	= aCurMSColor[1]  = "black";	// text font color
	aDefMSColor[2]  = aCurMSColor[2]  = "red";		// mouseover font color
	
	aDefICPColor[0]	= aCurICPColor[0] = "white";	// bgcolor;
	aDefICPColor[1] = aCurICPColor[1] = "black";	// text font color
	aDefICPColor[2] = aCurICPColor[2] = "orange";	// mouseover font color
	
}

// The hard-coded numbers in functions - drawToolbar() & resizeToolbar()
// correspond to the dimension of the four gif files:
//		ICP_BANNER: 60h x 250w
//		ADS_BANNER: 40h x 200w
//		MSC_BANNER: 40h x 112w
//		Curve:	    20h x 18w



function MM_Kopf_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_Kopf_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_Kopf_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_Kopf_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_Kopf_findObj(n,d.layers[i].document); return x;
}

function MM_Kopf_swapImage() { //v3.0
  var i,j=0,x,a=MM_Kopf_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_Kopf_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function drawToolbar()
{
	HTMLStr += "</DIV>";
	document.write(HTMLStr);
	ToolbarLoaded = true;
	MSMenuWidth     = Math.max(idMSMenuPane.offsetWidth, (200+112));
    ToolbarMinWidth = (250+18) + MSMenuWidth;

	idToolbar.style.backgroundColor     = "#e8e8e8"; // ToolbarBGColor;
	idMSMenuPane.style.backgroundColor  = aDefMSColor[0];
	idICPMenuPane.style.backgroundColor = "#e8e8e8"; // aDefICPColor[0];
	idMSMenuPane.style.color			= aDefMSColor[1];
	idICPMenuPane.style.color			= aDefICPColor[1];
	resizeToolbar();

	for (i = 0; i < TotalMenu; i++) 
	{
		thisMenu = document.all(arrMenuInfo[i].IDStr);
		if (thisMenu != null)
		{
			if (arrMenuInfo[i].IDStr == LastMSMenu && arrMenuInfo[i].type == "R")
			{
				//Last MSMenu has to be absolute width
				arrMenuInfo[i].type = "A";
				arrMenuInfo[i].unit = 200;
			}
			if (arrMenuInfo[i].type == "A")
				thisMenu.style.width = arrMenuInfo[i].unit;
			else 
				thisMenu.style.width = Math.round(arrMenuInfo[i].width * arrMenuInfo[i].unit) + 'em';
		}
	}

}

function resizeToolbar()
{
	if (ToolBar_Supported == false) return;

	w = Math.max(ToolbarMinWidth, document.body.clientWidth) - ToolbarMinWidth;
	
	idMSMenuCurve.style.left  = (250+w);
	idMSMenuPane.style.left   = (250+w+18);
	idMSMenuPane.style.width  = MSMenuWidth;

	idADSBanner.style.left    = (w+18);

	idMSCBanner.style.left    = (w+18+200);
	idMSCBanner.style.width   = (MSMenuWidth - 200);
	
//	idICPMenuPane.style.width = ToolbarMinWidth + w;

	idICPMenuPane.style.top = 1;
	idICPMenuPane.style.width = '100%';

}

function setToolbarBGColor(color)
{	
	ToolbarBGColor = color;
	if (ToolbarLoaded == true)
		idToolbar.style.backgroundColor = ToolbarBGColor;
}	

function setMSMenuFont(sFont)
{	MSFont = sFont;
}

function setICPMenuFont(sFont)
{	ICPFont = sFont;
}

function setDefaultMSMenuColor(bgColor, fontColor, mouseoverColor, bgMouseoverColor)
{	
	if (bgColor   != "")	    aDefMSColor[0] = bgColor;
	if (fontColor != "")	    aDefMSColor[1] = fontColor;
	if (mouseoverColor != "")   aDefMSColor[2] = mouseoverColor;
}

function setDefaultICPMenuColor(bgColor, fontColor, mouseoverColor, bgMouseoverColor)
{	
	if (bgColor   != "")	    aDefICPColor[0] = bgColor;
	if (fontColor != "")	    aDefICPColor[1] = fontColor;
	if (mouseoverColor != "")   aDefICPColor[2] = mouseoverColor;
}

function setICPMenuColor(MenuIDStr, bgColor, fontColor, mouseoverColor, bgMouseoverColor)
{	
	if (ToolbarLoaded == false) return;

	// Reset previous ICP Menu color if any
	if (CurICPMenu != "")
	{
		PrevID = CurICPMenu.substring(4);
		CurICPMenu = "";
		setICPMenuColor(PrevID, aDefICPColor[0], aDefICPColor[1], aDefICPColor[2]);
	}

	var	id = "AM_" + "ICP_" + MenuIDStr;
	var thisMenu = document.all(id);
	if (thisMenu != null)
	{
		CurICPMenu = "ICP_" + MenuIDStr;
		aCurICPColor[0] = bgColor;
		aCurICPColor[1] = fontColor;
		aCurICPColor[2] = mouseoverColor;

		// Change menu color
		if (bgColor != "")
			thisMenu.style.backgroundColor = bgColor;
		if (fontColor != "")
			thisMenu.children(0).style.color = fontColor;

		// Change subMenu color
		id = "ICP_" + MenuIDStr;
		thisMenu = document.all(id);
		if (thisMenu != null)
		{
			if (bgColor != "")
				thisMenu.style.backgroundColor = bgColor;
			
			if (fontColor != "")
			{
				i = 0;
				id = "AS_" + "ICP_" + MenuIDStr;
				thisMenu = document.all.item(id,i);
				while (thisMenu != null)
				{
					thisMenu.style.color = fontColor;
					i += 1;
					thisMenu = document.all.item(id,i);
				}
			}
		}
	}
}

function setAds(Gif,Url,AltStr)
{	setBanner(Gif,Url,AltStr,"<!--BEG_ADS_BANNER-->","<!--END_ADS_BANNER-->");
}

function setICPBanner(Gif,Url,AltStr)
{	setBanner(Gif,Url,AltStr,"<!--BEG_ICP_BANNER-->","<!--END_ICP_BANNER-->");
}

function setMSBanner(Gif,Url,AltStr)
{	tempGif = "/library/toolbarimages/" + Gif;
	setBanner(tempGif,Url,AltStr,"<!--BEG_MSC_BANNER-->","<!--END_MSC_BANNER-->");
}

function setBanner(BanGif, BanUrl, BanAltStr, BanBegTag, BanEndTag)
{
	begPos = HTMLStr.indexOf(BanBegTag);
	endPos = HTMLStr.indexOf(BanEndTag) + BanEndTag.length;
	
	SubStr = HTMLStr.substring(begPos, endPos);
	SrcStr = "";
	if (BanUrl != "")
		SrcStr += "<a target='_top' href='" + formatURL(BanUrl, BanGif) + "'>";
	SrcStr += "<img src='" + BanGif + "' alt='" + BanAltStr + "' border='0'>";
	if (BanUrl != "")
		SrcStr += "</a>";
	SrcStr = BanBegTag + SrcStr + BanEndTag;
	HTMLStr = HTMLStr.replace(SubStr, SrcStr);	
}

function setICPSubMenuWidth(MenuIDStr, WidthType, WidthUnit)
{	tempID = "ICP_" + MenuIDStr;
	setSubMenuWidth(tempID, WidthType, WidthUnit);
}

function setMSSubMenuWidth(MenuIDStr, WidthType, WidthUnit)
{	tempID = "MS_" + MenuIDStr;
	setSubMenuWidth(tempID, WidthType, WidthUnit);
}

function setSubMenuWidth(MenuIDStr, WidthType, WidthUnit)
{
	var fFound = false;
	if (TotalMenu == MaxMenu)
	{
		alert("Unable to process menu. Maximum of " + MaxMenu + " reached.");
		return;
	}
	
	for (i = 0; i < TotalMenu; i++)
		if (arrMenuInfo[i].IDStr == MenuIDStr)
		{
			fFound = true;
			break;
		}

	if (!fFound)
	{
		arrMenuInfo[i] = new menuInfo(MenuIDStr);
		TotalMenu += 1;
	}

	if (!fFound && WidthType.toUpperCase().indexOf("DEFAULT") != -1)
	{
		arrMenuInfo[i].type = "A";
		
		// Hiho: Dropdown-breite
		arrMenuInfo[i].unit = 160;
	}
	else
	{
		arrMenuInfo[i].type = (WidthType.toUpperCase().indexOf("ABSOLUTE") != -1)? "A" : "R";
		arrMenuInfo[i].unit = WidthUnit;
	}
}

// This function creates a menuInfo object instance.
function menuInfo(MenuIDStr)
{
	this.IDStr = MenuIDStr;
	this.type  = "";
	this.unit  = 0;
	this.width = 0;
	this.count = 0;
}

function updateSubMenuWidth(MenuIDStr)
{
	for (i = 0; i < TotalMenu; i++)
		if (arrMenuInfo[i].IDStr == MenuIDStr)
		{
			if (arrMenuInfo[i].width < MenuIDStr.length) 
				arrMenuInfo[i].width = MenuIDStr.length;
			arrMenuInfo[i].count = arrMenuInfo[i].count + 1;
			break;
		}
}

function addICPMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr, MenuURLTarget, lItemNr)
{ 	
	if (LastICPMenu == "") HTMLStr = HTMLStr.replace("<!--ICP_MENU_TITLES-->", TBLStr);

	if (addICPMenu.arguments.length > 4)
	 	TargetStr = addICPMenu.arguments[4];
	else
		TargetStr = "_top";
	tempID = "ICP_" + MenuIDStr;
	addMenu(tempID, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, true, lItemNr); 
	LastICPMenu = tempID;
}

function addMSMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr)
{	
	TargetStr = "_top";
	tempID = "MS_" + MenuIDStr;
	addMenu(tempID, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, false); 
	LastMSMenu = tempID;
}

function addMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, bICPMenu, lItemNr)
{
	cFont   = bICPMenu? ICPFont : MSFont;
	cColor0 = bICPMenu? aDefICPColor[0] : aDefMSColor[0];
	cColor1 = bICPMenu? aDefICPColor[1] : aDefMSColor[1];
	cColor2 = bICPMenu? aDefICPColor[2] : aDefMSColor[2];
	// cStyle  = "font:" + cFont + ";background-color:" + cColor0 + ";color:" + cColor1 + "width:85;";
	cStyle  = "font:" + cFont + ";background-color:#e8e8e8;color:" + cColor1 + "width:85;";
	tagStr  = bICPMenu? "<!--ICP_MENU_TITLES-->" : "<!--MS_MENU_TITLES-->";
	
	if (MenuHelpStr == "") MenuHelpStr = MenuDisplayStr;
	MenuStr = newLineChar;
	if (bICPMenu) 
		// MenuStr += "<td style='" + cStyle + "' id='AM_" + MenuIDStr + "' nowrap='nowrap'>";
		MenuStr += "<td height='16' align='left' valign='middle'>";
	else
	{
		MenuStr += "<span style='" + cStyle + "'>";
		if (LastMSMenu != "") MenuStr += "|"; 
		MenuStr += "&nbsp;";
	}

	MenuStr += "<a style='text-decoration:none;cursor:hand;font:" + cFont + ";color:" + cColor1 + ";'" +
			   "   target='" + TargetStr + "'" +
			   "   title=" + char34 + MenuHelpStr + char34;

	MenuStr += "<a " + " target='" + TargetStr + "'" + " title=" + char34 + MenuHelpStr + char34;

	if (MenuURLStr != "")
		MenuStr += " href='" + formatURL(MenuURLStr, ((bICPMenu? "ICP_":"MS_") + MenuDisplayStr)) + "'";
	else
		MenuStr += " href='' onclick='window.event.returnValue=false;'";

	MenuStr += " onmouseout="  + char34 + "mouseMenuTitle('out' ,'" + MenuIDStr + "'); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "mouseMenuTitle('over','" + MenuIDStr + "'); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "&nbsp;" + MenuDisplayStr + "&nbsp;</a>";




/*	if (lItemNr == 2)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
	 		   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_1','','images/mbb1hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_1' src='images/mbb1.gif' alt='Homepage' border='0' width='90' height='20'></a>";
	
	if (lItemNr == 4)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_2','','images/mbb2hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_2' src='images/mbb2.gif' alt='Firmenprofil' border='0' width='90' height='20'></a>";

	if (lItemNr == 6)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_3','','images/mbb3hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_3' src='images/mbb3.gif' alt='Gußprodukte' border='0' width='90' height='20'></a>";

	if (lItemNr == 8)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_4','','images/mbb4hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_4' src='images/mbb4.gif' alt='Modellbau' border='0' width='90' height='20'></a>";

	if (lItemNr == 10)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_5','','images/mbb5hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_5' src='images/mbb5.gif' alt='Werkzeuge' border='0' width='90' height='20'></a>";

	if (lItemNr == 12)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_6','','images/mbb6hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_6' src='images/mbb6.gif' alt='Nostalgieguß' border='0' width='90' height='20'></a>";

	if (lItemNr == 14)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_7','','images/mbb7hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_7' src='images/mbb7.gif' alt='Einrichtungen' border='0' width='90' height='20'></a>";

	if (lItemNr == 16)
	MenuStr += " onmouseout=" + char34 + "MM_Kopf_swapImgRestore(); hideMenu();" + char34 + 
			   " onmouseover=" + char34 + "MM_Kopf_swapImage('menu_dropdown_8','','images/mbb8hi.gif',1); doMenu('"+ MenuIDStr + "');" + char34 + ">" +
			   "<img name='menu_dropdown_8' src='images/mbb8.gif' alt='Anschrift, Tel, FAX, eM@il' border='0' width='90' height='20'></a>";

*/
	if (bICPMenu) 

// HIHO: Wir verwenden schoene Querstriche, keine '|'
		 MenuStr += "&nbsp;</td><td style='" + cStyle + "'>&nbsp; </td>";

//	    MenuStr += "</td><td><img src='images/mbspace.gif' border='0' width='1' height='20'></td>";
	else
		MenuStr += "</span>";

	MenuStr += tagStr;
	HTMLStr = HTMLStr.replace(tagStr, MenuStr);	
	setSubMenuWidth(MenuIDStr,"default",0);
}

function addICPSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr)
{	
	if (addICPSubMenu.arguments.length > 3)
		TargetStr = addICPSubMenu.arguments[3];
	else
		TargetStr = "_top";
	tempID = "ICP_" + MenuIDStr;
	addSubMenu(tempID,SubMenuStr,SubMenuURLStr,TargetStr,true); 
}

function addMSSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr)
{	
	TargetStr = "_top";
	tempID = "MS_" + MenuIDStr;
	addSubMenu(tempID,SubMenuStr,SubMenuURLStr,TargetStr,false); 
}

function addSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr, TargetStr, bICPMenu)
{
	cFont   = bICPMenu? ICPFont : MSFont;
	cColor0 = bICPMenu? aDefICPColor[0] : aDefMSColor[0];
	cColor1 = bICPMenu? aDefICPColor[1] : aDefMSColor[1];
	cColor2 = bICPMenu? aDefICPColor[2] : aDefMSColor[2];
	
	var MenuPos = MenuIDStr.toUpperCase().indexOf("MENU");
	if (MenuPos == -1) { MenuPos = MenuIDStr.length; }
	InstrumentStr = MenuIDStr.substring(0 , MenuPos) + "|" + SubMenuStr;;
	URLStr        = formatURL(SubMenuURLStr, InstrumentStr);

	var LookUpTag  = "<!--" + MenuIDStr + "-->";
	var sPos = HTMLStr.indexOf(LookUpTag);
	if (sPos <= 0)
	{
		HTMLStr += newLineChar + newLineChar +
				"<span id='" + MenuIDStr + "'" +
				" style='display:none;position:absolute;width:160;background-color:" + cColor0 + ";padding-top:0;padding-left:0;padding-bottom:20;z-index:9;'" +
				" onmouseout='hideMenu();' class='MenuBorder'>";
		if (Frame_Supported == false || bICPMenu == false)
			// HTMLStr += "<hr style='position:absolute;left:0;top:0;color:" + cColor1 + "' size='1'>";
			// HTMLStr += "<hr style='position:absolute;left:0;top:0;color:#ececec' size='1'>";
		HTMLStr += "<div style='position:relative;left:0;top:8;'>";
	}

	TempStr = newLineChar +
				"<a id='AS_" + MenuIDStr + "'" +
				"   style='text-decoration:none;cursor:hand;font:" + cFont + ";color:" + cColor1 + "'" +
				"   href='" + URLStr + "' target='" + TargetStr + "'" +
				" onmouseout="  + char34 + "mouseMenu('out' ,'" + MenuIDStr + "');" + char34 + 
				" onmouseover=" + char34 + "mouseMenu('over','" + MenuIDStr + "');" + char34 + ">" +
				"&nbsp;" + SubMenuStr + "</a><br />" + LookUpTag;
	if (sPos <= 0)
		HTMLStr += TempStr + "</div></span>";
	else
		HTMLStr = HTMLStr.replace(LookUpTag, TempStr);	

	updateSubMenuWidth(MenuIDStr);	
}

function addICPSubMenuLine(MenuIDStr)
{	
	tempID = "ICP_" + MenuIDStr;
	addSubMenuLine(tempID,true);
}

function addMSSubMenuLine(MenuIDStr)
{	
	tempID = "MS_" + MenuIDStr;
	addSubMenuLine(tempID,false);
}

function addSubMenuLine(MenuIDStr, bICPMenu)
{
	var LookUpTag = "<!--" + MenuIDStr + "-->";
	var sPos = HTMLStr.indexOf(LookUpTag);
	if (sPos > 0)
	{
		cColor  = bICPMenu? aDefICPColor[1] : aDefMSColor[1];
//		TempStr = newLineChar + "<HR STYLE='color:" + cColor + "' SIZE='1'>" + LookUpTag;
		TempStr = newLineChar + "<HR STYLE='color:#e8e8e8' SIZE='1'>" + LookUpTag;
		HTMLStr = HTMLStr.replace(LookUpTag, TempStr);
	}
}

function mouseMenu(id, MenuIDStr) 
{
	IsMSMenu   = (MenuIDStr.toUpperCase().indexOf("MS_") != -1);
	IsMouseout = (id.toUpperCase().indexOf("OUT") != -1);

	if (IsMouseout)
	{
		color = IsMSMenu? aDefMSColor[1] : aDefICPColor[1];
		bgcolor = IsMSMenu? aDefMSColor[0] : aDefICPColor[0];
		if (MenuIDStr == CurICPMenu && aCurICPColor[1] != "") 
			color = aCurICPColor[1];
	}
	else
	{
		color = IsMSMenu? aDefMSColor[2] : aDefICPColor[2];
		bgcolor = IsMSMenu? aDefMSColor[3] : aDefICPColor[3];
		if (MenuIDStr == CurICPMenu && aCurICPColor[2] != "") 
			color = aCurICPColor[2];
	}
	window.event.srcElement.style.color = color;
	window.event.srcElement.style.backgroundColor = "#c2c2c2";
}


function mouseMenuTitle(id, MenuIDStr) 
{
	IsMSMenu   = (MenuIDStr.toUpperCase().indexOf("MS_") != -1);
	IsMouseout = (id.toUpperCase().indexOf("OUT") != -1);

	if (IsMouseout)
	{
		color = IsMSMenu? aDefMSColor[1] : aDefICPColor[1];
		//bgcolor = IsMSMenu? aDefMSColor[0] : aDefICPColor[0];
		if (MenuIDStr == CurICPMenu && aCurICPColor[1] != "") 
			color = aCurICPColor[1];
	}
	else
	{
		color = IsMSMenu? aDefMSColor[2] : aDefICPColor[2];
		//bgcolor = IsMSMenu? aDefMSColor[3] : aDefICPColor[3];
		if (MenuIDStr == CurICPMenu && aCurICPColor[2] != "") 
			color = aCurICPColor[2];
	}
	window.event.srcElement.style.color = color;
	window.event.srcElement.style.backgroundColor = "#e8e8e8";
}


function doMenu(MenuIDStr) 
{
	var thisMenu = document.all(MenuIDStr);
	if (ToolbarMenu == null || thisMenu == null || thisMenu == ToolbarMenu) 
	{
		window.event.cancelBubble = true;
		return false;
	}
	// Reset dropdown menu
	window.event.cancelBubble = true;
	ToolbarMenu.style.display = "none";
	showElement("SELECT");
	showElement("OBJECT");
	showElement("IFRAME");
	ToolbarMenu = thisMenu;
	IsMSMenu = (MenuIDStr.toUpperCase().indexOf("MS_") != -1);

	// Set dropdown menu display position
	x  = window.event.srcElement.offsetLeft +
	 	 window.event.srcElement.offsetParent.offsetLeft;
	if (MenuIDStr == LastMSMenu) 
		x += (window.event.srcElement.offsetWidth - thisMenu.style.posWidth);

// HIHO: Die Hoehe der Menues (Bubbles) ist jetzt die Kopfbildhoehe (65) und die Leistenhoehe

//	y  = (IsMSMenu)? 
//		 (idRow1.offsetHeight) :
//		 (idRow1.offsetHeight + idRow2.offsetHeight + idRow3.offsetHeight);

	y  = (IsMSMenu)? 
		 (idRow1.offsetHeight) :
		 (65 + idRow3.offsetHeight + 2);

	// Get main menu width
	x2 = x + (MenuIDStr == LastMSMenu? thisMenu.style.posWidth : window.event.srcElement.offsetWidth);
	// Get dropdown menu width
	x3 = x + 160;
	for (i = 0; i < TotalMenu; i++)
		if (arrMenuInfo[i].IDStr == MenuIDStr)
		{
			x3 = x + arrMenuInfo[i].unit;
			break;
		}
	thisMenu.style.top  = y + 5;   // 15
	thisMenu.style.left = x + 0;  // 10
//	thisMenu.style.clip = "rect(0 0 0 0)";
	thisMenu.style.display = "block";

	// delay 2 millsecond to allow the value of ToolbarMenu.offsetHeight be set
	window.setTimeout("showMenu()", 2);
	return true;
}

function showMenu() 
{
	if (ToolbarMenu != null) 
	{ 
		IsMenuDropDown = (Frame_Supported && IsMSMenu == false)? false : true;
		if (IsMenuDropDown == false)
		{
			y = (y - ToolbarMenu.offsetHeight - idRow3.offsetHeight);
			if (y < 0) y = 0;
			ToolbarMenu.style.top = y;
		}
		// Get dropdown menu height
		y2 = y + ToolbarMenu.offsetHeight;

		ToolbarMenu.style.clip = "rect(auto auto auto auto)";
		hideElement("SELECT");
		hideElement("OBJECT");
		hideElement("IFRAME");
	}
}

function hideMenu()
{
	if (ToolbarMenu != null && ToolbarMenu != StartMenu) 

	{
		var cX = event.clientX + document.body.scrollLeft;
		var cY = event.clientY + document.body.scrollTop;
		var bHideMenu = true;

		if (IsMenuDropDown == true)
		{
			if (cY >= (y - idRow3.offsetHeight+10) && cY < y)
			{
				if (cX >= (x+5) && cX <= x2) bHideMenu = false;
			}
			else if (cY >= y && cY <= y2)
			{
				if (cX > (x+5) && cX <= x3) bHideMenu = false;
			}
		}
		else
		{
			if (cY >= y2 && cY < (y2 + idRow3.offsetHeight))
			{
				if (cX >= (x+5) && cX <= x2) bHideMenu = false;
			}
			else if (cY >= y && cY <= y2)
			{
				if (cX > (x+5) && cX <= x3) bHideMenu = false;
			}
		}

		if (! bHideMenu) 
		{
			window.event.cancelBubble = true;
			return; 
		}

		ToolbarMenu.style.display = "none";
		ToolbarMenu = StartMenu;
		window.event.cancelBubble = true;

		showElement("SELECT");
		showElement("OBJECT");
		showElement("IFRAME");
	}
}

function hideElement(elmID)
{
	for (i = 0; i < document.all.tags(elmID).length; i++)
	{
		obj = document.all.tags(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;

		// Find the element's offsetTop and offsetLeft relative to the BODY tag.
		objLeft   = obj.offsetLeft;
		objTop    = obj.offsetTop;
		objParent = obj.offsetParent;
		while (objParent.tagName.toUpperCase() != "BODY")
		{
			objLeft  += objParent.offsetLeft;
			objTop   += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}
		// Adjust the element's offsetTop relative to the dropdown menu
		objTop = objTop - y;

		if (x > (objLeft + obj.offsetWidth) || objLeft > (x + ToolbarMenu.offsetWidth))
			;
		else if (objTop > ToolbarMenu.offsetHeight)
			;
		else if (IsMSMenu && (y + ToolbarMenu.offsetHeight) <= 80)
			;
		else
			obj.style.visibility = "hidden";
	}
}

function showElement(elmID)
{
	for (i = 0; i < document.all.tags(elmID).length; i++)
	{
		obj = document.all.tags(elmID)[i];
		if (! obj || ! obj.offsetParent)
			continue;
		obj.style.visibility = "";
	}
}

function formatURL(URLStr, InstrumentStr)
{
	var tempStr = URLStr;

	if (DoInstrumentation && URLStr != "" )
	{
		var ParamPos1 = URLStr.indexOf("?");
		var ParamPos2 = URLStr.lastIndexOf("?");
		var ParamPos3 = URLStr.toLowerCase().indexOf("target=");
		var ParamPos4 = URLStr.indexOf("#");
		var Bookmark  = "";
		var URL = URLStr;
		if (ParamPos4 >= 0)
		{
		 	URL = URLStr.substr(0, ParamPos4);
			Bookmark = URLStr.substr(ParamPos4);
		}
		
		if (ParamPos1 == -1)
			tempStr = "?MSCOMTB=";
		else if (ParamPos1 == ParamPos2 && ParamPos3 == -1)	
			tempStr = "&MSCOMTB=";
		else if (ParamPos1 == ParamPos2 && ParamPos3 != -1)	
			tempStr = "?MSCOMTB=";
		else if (ParamPos1 < ParamPos2)
			tempStr = "&MSCOMTB=";

		tempStr = URL + tempStr + InstrumentStr.replace(" ","%20") + Bookmark;
	}
	return tempStr;
}
