function SI(LayerIdx, ItemIdx, Text, Link, Icon, NewWindow, TextColor, TextBack, TextColorHov, TextBackHov, HasSubMenue, HasOtherImgs)
{					    
	this.LayerIdx = LayerIdx;
   this.ItemIdx = ItemIdx;
   Text == '' ? this.Text = 'Unnamed' : this.Text = Text;
   Link == '' ? this.Link = 'javascript:void 0;' : this.Link = Link;
   Icon == '' ? this.Icon = 'std.gif' : this.Icon = Icon;
	this.NewWindow = NewWindow;
   TextColor == '' ? this.TextColor = '#000000' : this.TextColor = TextColor;
   TextBack == '' ? this.TextBack = '#E1FFFF' : this.TextBack = TextBack;
   TextColorHov == '' ? this.TextColorHov = '#FFFFFF' : this.TextColorHov = TextColorHov;
   TextBackHov == '' ? this.TextBackHov = '#007A7A' : this.TextBackHov = TextBackHov;
	this.HasSubMenue = HasSubMenue;
	this.HasOtherImgs = HasOtherImgs;
}      

function PrevUeberItem() 
{ 
	this.Hover = void 0;
}

function PrevMainMenueItem()
{
	this.Idx = void 0;																											// Index
	this.Click = void 0;																											// Eingedr&uuml;ckt
}

function PrevSubMenueItem()
{
	this.Idx = void 0;																											// Index
	this.HasSub = void 0;																										// Item hat Submen&uuml;
	this.ParentDiv = void 0;																									// Idx Des DIVs in dem es ist
}



var ResetTimer;
var SubTimer;
var MainTimer;
var UeberTimer;

PrevMain = new PrevMainMenueItem();																							// Daten des letzten Buttons im Hauptmen&uuml;
PrevUeber = new PrevUeberItem();

ShownDIVs = new Array();																										// Array mit Idx-Nummern der angezeigten DIVs
ShownDIVs.PrevLen = 0;
ShownSubItems = new Array();																									// Array mit Idx-Nummern der markieren Eintr&auml;ge aller Untermen&uuml;s


function GenerateSubLayers()
{
	var SubItemHTML;
	var Start = false;
	var NoLink;
	var Counter = 0;

	GenerateConnectorLayer();

	for (var LayerIdx = 0; LayerIdx <= Layers.length; LayerIdx++)
	{
		SubItemHTML = ' <div class="submenue" id="DivSubItem_Idx' + Layers[LayerIdx] + '" style="visibility:hidden" onMouseOver="StopEvent(event)">\n';
		SubItemHTML += ' <table border="0" cellpadding="0" cellspacing="0" style="border: 2px solid #007A7A" width="100%" id="TableDiv_Idx' + Layers[LayerIdx] + '">\n';
		SubItemHTML += '  <tr>\n';
		SubItemHTML += '   <td align="left" valign="top" bgcolor="#E1FFFF">\n';
		SubItemHTML += '    <table border="0" cellpadding="0" cellspacing="0" width="100%">\n';
		SubItemHTML += '     <tr><td height="2"></td></tr>\n';

		for (var SubItem in AllSIs)
		{
			if (Layers[LayerIdx] == AllSIs[SubItem].LayerIdx)
			{
				Counter ++; 

				if ((AllSIs[SubItem].HasSubMenue == false) && (AllSIs[SubItem].Link != ''))
				{
					if (AllSIs[SubItem].Link.substring(0, 11) == 'javascript:')
						OnClick = 'SubItem_Click(event, \'' + AllSIs[SubItem].Link.replace(/'/g, '\\\'')+ '\')';
					else
						OnClick = 'SubItem_Click(event, \'' + AllSIs[SubItem].Link + '\', \'' + AllSIs[SubItem].NewWindow + '\')';
					HasLink = false;
				}
				else
				{
					OnClick = 'SubItem_Click(event)';
					HasLink = true;
				}
				
				onMouseOver =  'SubItem_Hover(event, ' + AllSIs[SubItem].HasSubMenue + ', ' + AllSIs[SubItem].ItemIdx + ', \' \', ' + AllSIs[SubItem].LayerIdx + ', ' + HasLink + ')';
				
				SubItemHTML += '<tr><td>\n';
				SubItemHTML += ' <table id="TableSubItem_Idx' + AllSIs[SubItem].ItemIdx + '" border="0" cellpadding="0" cellspacing="0" style="height:24px" width="100%"><tr>\n';
				SubItemHTML += '  <td class="subitem-icon" onMouseOver="ResTimer()"><img src="menue/icons/' + AllSIs[SubItem].Icon + '" height="14" width="14"></td>\n';
				SubItemHTML += '  <td id="TDSubItem_Idx' + AllSIs[SubItem].ItemIdx + '" class="subitem" bgcolor="' + AllSIs[SubItem].TextBack + '" onClick="' + OnClick + '" onMouseOver="' + onMouseOver + '" nowrap>\n';
				SubItemHTML += '   <div id="ASubItem_Idx' + AllSIs[SubItem].ItemIdx + '" class="subitem" style="color:' + AllSIs[SubItem].TextColor + '">' + AllSIs[SubItem].Text + '</div>\n';
				SubItemHTML += '  </td>';
				
				if (AllSIs[SubItem].HasOtherImgs)
				{
					if (AllSIs[SubItem].HasSubMenue)
					{
						SubItemHTML += '<td id="Pfeil_Idx' + AllSIs[SubItem].ItemIdx + '" align="left" valign="middle" width="8" class="subitem-pfeil" bgcolor="' + AllSIs[SubItem].TextBack + '" onMouseOver="' + onMouseOver + '" >\n';
						SubItemHTML += '<img id="ImgSubItem_Idx' + AllSIs[SubItem].ItemIdx + '" src="menue/bilder/subitem_pfeil.gif" height="8" width="8">\n';
					}
					else
					{
						SubItemHTML += '<td id="Pfeil_Idx' + AllSIs[SubItem].ItemIdx + '" align="left" valign="middle" width="8" class="subitem-pfeil" bgcolor="' + AllSIs[SubItem].TextBack + '" onMouseOver="' + onMouseOver + '"  onClick="' + OnClick + '" style="cursor:hand">\n';
						SubItemHTML += '<img src="menue/bilder/spacer.gif" height="8" width="8">\n';
					}
					SubItemHTML += '</td>\n';
				}
		
				SubItemHTML += ' </tr></table>\n';
				SubItemHTML += '</td></tr>\n';
			}
		}
		
		SubItemHTML += '     <tr><td height="2"></td></tr>\n';
		SubItemHTML += '    </table>\n';
		SubItemHTML += '   </td>\n';
		SubItemHTML += '  </tr>\n';
		SubItemHTML += ' </table>\n';
		SubItemHTML += '</div>\n';
		
		document.write(SubItemHTML);

		if (Counter == AllSIs.length) break;
	}
}

function GenerateConnectorLayer()
{
	var ConnectorHTML;
	
	ConnectorHTML = '<div class="SubconnectorHor" style="height: 9px;" id="DivSubconnectorHor" onMouseOver="Prev_SubItem_Reset(); StopEvent(event)" style="visibility:hidden">'
	ConnectorHTML += ' <table border="0" bgcolor="#007A7A" width="100%" height="100%" cellpadding="0" cellspacing="0">'
	ConnectorHTML += '  <tr><td><img src="menue/bilder/spacer.gif" height="9"></td></tr>'
	ConnectorHTML += ' </table>'
	ConnectorHTML += '</div>'
	
	document.write(ConnectorHTML);
	
	for (var i=1; i<=8; i++)
	{
		ConnectorHTML = '<div class="SubconnectorVer" style="width: 9px;" id="DivSubconnectorVer' + i + '" onMouseOver="StopEvent(event)" style="visibility:hidden">'
		ConnectorHTML += ' <table border="0" bgcolor="#007A7A" width="100%" height="100%" cellpadding="0" cellspacing="0">'
		ConnectorHTML += '  <tr><td><img src="menue/bilder/spacer.gif" width="9"></td></tr>'
		ConnectorHTML += ' </table>'
		ConnectorHTML += '</div>'
		
		document.write(ConnectorHTML);
	}
}

function MainButton_Hover(EventObj, HasSubMenue, Idx, Link, Statustext)
{
 	if (!Undef(ResetTimer)) { window.clearTimeout(ResetTimer); ResetTimer = void 0; }

	if ((PrevMain.Idx == Idx) && (!PrevUeber.Hover)) { StopEvent(EventObj); return true; }					// Event ausgel&ouml;st im selben Button, Exit 
	
	if (!Undef(SubTimer)) { window.clearTimeout(SubTimer); SubTimer = void 0; }
	if (!Undef(MainTimer)) { window.clearTimeout(MainTimer); MainTimer = void 0; }

	if(GetElemRef('StartGraHead')) GetElemRef('StartGraHead').style.visibility = 'hidden';

	if(!Undef(PrevMain.Idx) || (ShownDIVs.length != 0)) 
	{
		Prev_MainButton_Reset();																								// Zuletzt gew&auml;hlten Button im Hauptmen&uuml; resetten
		if (ShownDIVs.lenght != 0) 
		{
			Prev_HideSubMenue();																									// Wenn Submen&uuml;s automatisch ausgeklappt werden, letztes angezeigtes Submen&uuml; verbergen
			Prev_SubItem_Reset();
		}
	}

	PrevMain.Idx = Idx;																											// Daten des aktuellen Elements speichern (f&uuml;r sp&auml;ter)
	ImgName = 'ImgButton_Idx' + Idx;
	
	if (HasSubMenue)
	{
		ImgReplace(ImgName, 'menue/bilder/mainbutton_pfeil_h.gif');
		if ((PrevMain.Click) || (PrevUeber.Hover))
			MainButton_Click('x', HasSubMenue, Idx, Link, true);
		else
			if (Undef(MainTimer)) MainTimer = window.setTimeout('MainButton_Click(\'x\',' + HasSubMenue + ',' + Idx + ', \'' + Link + '\',true)', 150); 
	}
	else
	{
		ImgReplace(ImgName, 'menue/bilder/mainbutton_pfeil_h_d.gif'); 
	}
	defaultStatus = Statustext;
		
	StopEvent(EventObj);
	
	return true;
}

function MainButton_Click(EventObj, HasSubMenue, Idx, Link, AutoKlick)
{
	if(Undef(EventObj)) return true;																							// Event ausgel&ouml;st im selben Button, Exit 
	
	if (GetElemRef('SelectKat')) GetElemRef('SelectKat').style.visibility  = 'hidden';
	MainTimer = void 0;

	TableName = 'TabButton_Idx' + Idx;
	ImgTDName = 'ImgTDButton_Idx' + Idx;
	TDName = 'TDButton_Idx' + Idx;
	ImgName = 'ImgButton_Idx' + Idx;

	PrevMain.Click = true;																										// Akt. Button wurde gedr&uuml;ckt (f&uuml;r sp&auml;ter)
	GetElemRef(TableName).className = '';
	GetElemRef(TDName).className = 'mainbutton-click';
	GetElemRef(ImgTDName).className = 'mainbutton-pfeil-click';

	if (HasSubMenue)																												// Wenn akt. Button Submen&uuml; hat
	{
		ImgReplace(ImgName, 'menue/bilder/mainbutton_pfeil_c.gif'); 
		ShowSubMenue(Idx);																										// Submen&uuml; passend zu dem Button anzeigen
	}
	else
	{
		ImgReplace(ImgName, 'menue/bilder/mainbutton_pfeil_c_d.gif'); 
	}
		
	if (!AutoKlick && !HasSubMenue) top.location.href = Link;														// Link des Buttons im Browser laden, falls dieser kein Untermen&uuml;hat

	if (EventObj != 'x') StopEvent(EventObj);
	return false;
}

function Prev_MainButton_Reset()
{
	PrevTableName = 'TabButton_Idx' + PrevMain.Idx;
	PrevImgName = 'ImgButton_Idx' + PrevMain.Idx;
	PrevImgTDName = 'ImgTDButton_Idx' + PrevMain.Idx;
	PrevTDName = 'TDButton_Idx' + PrevMain.Idx;

	ImgReplace(PrevImgName, 'menue/bilder/mainbutton_pfeil.gif'); 													// Wenn letzter Button Hover hatte
	if(PrevMain.Click) { GetElemRef(PrevTableName).className = 'mainbutton-table';							// Wenn letzter Button eingedr&uuml;ckt war
								GetElemRef(ImgTDName).className = 'mainbutton-pfeil';
								GetElemRef(TDName).className = 'mainbutton';}
								
	if (GetElemRef('SelectKat')) GetElemRef('SelectKat').style.visibility  = 'visible';
}

function ShowSubMenue(Idx, SubSub)
{
	if (ShownDIVs[ShownDIVs.length - 1] == Idx) return true;
 	SubTimer = void 0;

	ShownDIVs[ShownDIVs.length] = Idx;																						// Idx ins Array mit den angezeigten DIVs eintragen

	DivName = 'DivSubItem_Idx' + Idx;
	Undef(SubSub) ? TableName = 'TabButton_Idx' + Idx : TableName = 'TableSubItem_Idx' + Idx;

	Coords = GetTopLeft(GetElemRef(TableName));
	TableTop = Coords.top;
	TableLeft = Coords.left;

	if (!Undef(SubSub))																											// Weitere Berechnung f&uuml;r Submen&uuml; vom Submen&uuml;
	{
		TableTop -= 2;

		DivSubConLeft = (TableLeft + GetElemRef(TableName).offsetWidth - 2) + "px";							// Position und Abmaße des Verbindungsgliedes der Submen&uuml;s berechnen
		DivSubConTop = TableTop + 2 + "px";
		DivSubConWidth = GetElemRef('DivSubconnectorVer' + (ShownDIVs.length-1)).style.width;
		DivSubConHeight = (parseInt(GetElemRef(TableName).style.height)) + "px";
		
		if (ns6) 
		{ 
			DivSubConTop = parseInt(DivSubConTop) - 2 + "px"; 
			DivSubConHeight = parseInt(DivSubConHeight) + 4 + "px"; 
		}
		
		DivSubLeft = (TableLeft + GetElemRef(TableName).offsetWidth + 3) + "px";								// Position und ABmaße des DIVs berechnen das da Submen&uuml; enth&auml;lt
		DivSubTop = (TableTop - 2) + "px";
		DivSubHeight = DivSubConHeight;
		DivSubWidth = "1px";

		if (opera) DivSubLeft = parseInt(DivSubLeft) - 1 + "px"; 

		ShowSubConnector(DivSubConLeft, DivSubConTop, DivSubConWidth, DivSubConHeight, 'Ver' + (ShownDIVs.length-1));		// Verbindungsglied anzeigen
	}
	else																																// Weitere Berechnung f&uuml;r Submen&uuml; vom Hauptmen&uuml;
	{
		DivSubConLeft = (parseInt(TableLeft) - 0) + "px";																					// Position und Abmaße des Verbindungsgliedes der Submen&uuml;s berechnen
		DivSubConTop = (TableTop + parseInt(GetElemRef(TableName).style.height) - 1) + "px";
		DivSubConWidth = GetElemRef(TableName).offsetWidth + "px";
		DivSubConHeight = GetElemRef('DivSubconnectorHor').style.height;
		
		DivSubLeft = DivSubConLeft;																							// Position und ABmaße des DIVs berechnen das da Submen&uuml; enth&auml;lt
		DivSubTop = (parseInt(DivSubConTop) + parseInt(DivSubConHeight)) + "px";
		DivSubWidth = GetElemRef(TableName).offsetWidth;

		ShowSubConnector(DivSubConLeft, DivSubConTop, DivSubConWidth, DivSubConHeight, 'Hor');				// Verbindungsglied anzeigen
	}

	GetElemRef(DivName).style.left = DivSubLeft;																			// Position des DIVs mit dem Submen&uuml; setzten uns anzeigen
	GetElemRef(DivName).style.top = DivSubTop;
	GetElemRef(DivName).style.width = DivSubWidth;
	if (!Undef(SubSub)) GetElemRef(DivName).style.height = DivSubHeight;
	GetElemRef(DivName).style.visibility = 'visible';
}

function Prev_HideSubMenue(DivIdx)
{
	if (!Undef(DivIdx)) 
	{
		for (i=0; i < ShownDIVs.length; i++) if(ShownDIVs[i] == DivIdx) break; 
		StartIdx = i + 1;
	}
	else
		StartIdx = 0;
		
	for (i=StartIdx, j=ShownDIVs.length-1; i < ShownDIVs.length; i++, j--)
	{
		PrevDivName = "DivSubItem_Idx" + ShownDIVs[i];
		GetElemRef(PrevDivName).style.visibility = 'hidden';
		if (j > 0) GetElemRef('DivSubconnectorVer' + j).style.visibility = 'hidden';
	}
	
	if (!Undef(DivIdx))
		ShownDIVs.length -= (ShownDIVs.length - StartIdx);
	else
	{
		ShownDIVs.length = 0;
		GetElemRef('DivSubconnectorHor').style.visibility = 'hidden';
	}
}

function ShowSubConnector(Left, Top, Width, Height, Typ)
{
	GetElemRef('DivSubconnector' + Typ).style.left = Left;															// Position des Verbindungsgliedes der Submen&uuml;s setzen und anzeigen
	GetElemRef('DivSubconnector' + Typ).style.top = Top;
	GetElemRef('DivSubconnector' + Typ).style.width = Width;
	GetElemRef('DivSubconnector' + Typ).style.height = Height;
	GetElemRef('DivSubconnector' + Typ).style.visibility = 'visible';
}

function SubItem_Hover(EventObj, HasSubMenue, SubIdx, Statustext, ActualDiv, NoLink)
{
 	if(!Undef(ResetTimer)) { window.clearTimeout(ResetTimer); ResetTimer = void 0; }
	if((ShownSubItems.length != 0) && (ShownSubItems[ShownSubItems.length - 1].Idx == SubIdx)) { StopEvent(EventObj); return true; }
	if(!Undef(SubTimer)) { window.clearTimeout(SubTimer); SubTimer = void 0; }

	Prev_HideSubMenue(ActualDiv);																							// Wenn letztes Item Submen&uuml; hatte, Submen&uuml; verbergen
	
	if(ShownSubItems.length == 0)
	{
		ShownSubItems[ShownSubItems.length] = new PrevSubMenueItem();
	}
	else
	{
		FoundIdxSub = void 0;
		for(i=ShownSubItems.length-1; i >= 0 ; i--) { if(ShownSubItems[i].Idx == SubIdx) { FoundIdxSub = i; break; }}

		if(Undef(FoundIdxSub))
		{
			if(ShownDIVs.length >= ShownDIVs.PrevLen)
			{
				if(ShownSubItems[ShownSubItems.length - 1].ParentDiv != ActualDiv)
				{
					Prev_SubItem_Reset(ShownDIVs.length-1);
					ShownSubItems[ShownSubItems.length] = new PrevSubMenueItem();
				}
				else
					Prev_SubItem_Reset(ShownSubItems.length-1);
			}
			else
			{
				Prev_SubItem_Reset(ShownDIVs.length-1);
				ShownSubItems.length = ShownDIVs.length;
			}
		}
		else
		{
			Prev_SubItem_Reset(FoundIdxSub);
			ShownSubItems.length = FoundIdxSub+1;
		}	
	}

	ShownDIVs.PrevLen = ShownDIVs.length;

	if (ShownSubItems.length != 0) LastIdx = ShownSubItems.length-1;
	ShownSubItems[LastIdx].Idx = SubIdx;
	ShownSubItems[LastIdx].HasSub = HasSubMenue;
	ShownSubItems[LastIdx].ParentDiv = ActualDiv;

	TableName = 'TDSubItem_Idx' + SubIdx;
	PfeilName = 'Pfeil_Idx' + SubIdx;
	ImgName = 'ImgSubItem_Idx' + SubIdx;
	AName = 'ASubItem_Idx' + SubIdx;

	if (HasSubMenue || NoLink)
		GetElemRef(TableName).style.cursor = 'default';
	else
	{
		if (ns6 || moz) GetElemRef(TableName).style.cursor = 'pointer';
		GetElemRef(TableName).style.cursor = 'hand';
	}

	GetElemRef(AName).style.color = AllSIs[SubIdx].TextColorHov;

	GetElemRef(TableName).style.backgroundColor = AllSIs[SubIdx].TextBackHov;
	if (GetElemRef(PfeilName)) GetElemRef(PfeilName).style.backgroundColor = AllSIs[SubIdx].TextBackHov;

	defaultStatus = Statustext;

	if (HasSubMenue) 																												// Wenn akt. Subitem ein Submen&uuml; hat
	{
		ImgReplace(ImgName, 'menue/bilder/subitem_pfeil_h.gif'); 									
		if (Undef(SubTimer))  SubTimer = window.setTimeout('ShowSubMenue(' + SubIdx + ',true)', 150);	// Passendes Submen&uuml; anzeigen
	}

	StopEvent(EventObj);
	return true;
}

function SubItem_Click(EventObj, Link, NewWindow)
{
	if (!Undef(Link))
	{
		ResetMenue_MouseOver();

		if (Link.substring(0, 11) == 'javascript:')
		{
			Search = new RegExp("%", "gi");
			Link = Link.replace(Search, "'");

			Search = new RegExp("javascript:", "gi");
			Link = Link.replace(Search, "")
			eval(Link); 
		}
		else				
		{
			if (NewWindow == true)
				window.open(Link);
			else
				window.location.href = Link;
		}
	}

	StopEvent(EventObj);
	return false;
}


function Prev_SubItem_Reset(ArrIdx)
{
	if(ShownSubItems.length == 0) return true;

	if(Undef(ArrIdx))
	{ 
		ArrIdx = 0; 
		Undefiniert = true;
	}
	else
		Undefiniert = false;
		
	for (i=ShownSubItems.length - 1; i >= ArrIdx ; i--)
	{	
		PrevPfeilName = 'Pfeil_Idx' + ShownSubItems[i].Idx;
		PrevTableName = 'TDSubItem_Idx' + ShownSubItems[i].Idx;
		PrevImgName = 'ImgSubItem_Idx' + ShownSubItems[i].Idx;
		PrevAName = 'ASubItem_Idx' + ShownSubItems[i].Idx;

		GetElemRef(PrevTableName).style.backgroundColor = AllSIs[ShownSubItems[i].Idx].TextBack;
		if (GetElemRef(PrevPfeilName)) GetElemRef(PrevPfeilName).style.backgroundColor = AllSIs[ShownSubItems[i].Idx].TextBack;														// Zuletzt gew&auml;hltes Subitem nicht mehr hervorheben
		GetElemRef(PrevAName).style.color = AllSIs[ShownSubItems[i].Idx].TextColor;
		if (ShownSubItems[i].HasSub) ImgReplace(PrevImgName, 'menue/bilder/subitem_pfeil.gif');
	}
	
	if(Undefiniert) ShownSubItems.length = 0;
}

function ResetMenue_MouseOver()
{
	ResetTimer = void 0;

	Prev_MainButton_Reset();
	Prev_HideSubMenue();
	Prev_SubItem_Reset();

	if(GetElemRef('StartGraHead')) GetElemRef('StartGraHead').style.visibility = 'hidden';

	window.defaultStatus = ' ';

	PrevUeber.Hover = void 0;
	PrevMain.Idx = void 0;
	PrevMain.Click = void 0;
}

function SetTimer()
{
	if ((Undef(PrevMain.Idx)) && (Undef(ShownDIVs[ShownDIVs.length - 1]))) return true;

	if (!Undef(MainTimer)) { window.clearTimeout(MainTimer); MainTimer = void 0; }
	if (!Undef(SubTimer)) { window.clearTimeout(SubTimer); SubTimer = void 0; }
	if (!Undef(UeberTimer)) { window.clearTimeout(UeberTimer); UeberTimer = void 0; }

	if (Undef(ResetTimer)) ResetTimer = window.setTimeout('ResetMenue_MouseOver()', 250); 
}

function UeberLink_Hover(Idx, EventObj)
{
	if (!Undef(ResetTimer)) { window.clearTimeout(ResetTimer); ResetTimer = void 0; }

	if ((ShownDIVs[ShownDIVs.length - 1] == Idx) && (ShownSubItems.length == 0)) { StopEvent(EventObj); return true; }

	Prev_MainButton_Reset();																									// Zuletzt gew&auml;hlten Button im Hauptmen&uuml; resetten
	Prev_HideSubMenue();
	Prev_SubItem_Reset();

	ShownDIVs[ShownDIVs.length] = Idx;																						// Idx ins Array mit den angezeigten DIVs eintragen

	if ((PrevMain.Click) || (PrevUeber.Hover))
		ShowUeberLink(Idx);
	else
		{ if (Undef(UeberTimer)) UeberTimer = window.setTimeout('ShowUeberLink("' + Idx + '")', 150); }

	StopEvent(EventObj);
}

function ShowUeberLink(Idx)
{
	PrevUeber.Hover = true;
	UeberTimer = void 0;
	
	DivName = 'DivSubItem_Idx' + Idx;
	UebName = 'UeberItem_Idx' + Idx;

	Coords = GetTopLeft(GetElemRef(UebName));

	GetElemRef(DivName).style.left = (parseInt(Coords.left) - 0) + "px";																			// Position des DIVs mit dem Submen&uuml; setzten uns anzeigen
	GetElemRef(DivName).style.top = (Coords.top + 18) + "px";
	GetElemRef(DivName).style.visibility = 'visible';
}

function ResTimer()
{
	if(!Undef(ResetTimer)) { window.clearTimeout(ResetTimer); ResetTimer = void 0; }
}

function ShowStartGra(EventObj, Idx, HeadText)
{
	var Coords = {left: 0, top: 0}

	if (!Undef(ResetTimer)) { window.clearTimeout(ResetTimer); ResetTimer = void 0; }

	if(GetElemRef('StartGraHead')) GetElemRef('StartGraHead').style.visibility = 'hidden';
	Prev_MainButton_Reset();																									// Zuletzt gew&auml;hlten Button im Hauptmen&uuml; resetten
	Prev_HideSubMenue();
	Prev_SubItem_Reset();

	ShownDIVs[ShownDIVs.length] = Idx;																						// Idx ins Array mit den angezeigten DIVs eintragen

	var Event = EventObj ? EventObj : window.event;
	DivName = 'DivSubItem_Idx' + Idx;
	DivTableName = 'TableDiv_Idx' + Idx;

	GetElemRef('StartGra').style.cursor = '';
	GetElemRef('StartGraTitle').innerHTML = HeadText;
	GetElemRef('StartGraHead').style.width = "1px";
	GetElemRef(DivName).style.width = "1px";

	(parseInt(GetElemRef('StartGraTable').offsetWidth) > parseInt(GetElemRef(DivTableName).offsetWidth)) ? Width = GetElemRef('StartGraTable').offsetWidth : Width = GetElemRef(DivTableName).offsetWidth;
	
	PosX = CurPosX - 65;
	if (CurPosY + 25 + GetElemRef(DivName).offsetHeight < document.body.offsetHeight)
		PosY = CurPosY - 10;
	else
		PosY = document.body.offsetHeight - 45 - GetElemRef(DivName).offsetHeight;

	GetElemRef('StartGraHead').style.left = PosX + "px";
	GetElemRef('StartGraHead').style.top = PosY + "px";
	GetElemRef('StartGraHead').style.width = Width + "px";
	GetElemRef('StartGraHead').style.visibility = 'visible';
	
	GetElemRef(DivName).style.left = PosX + "px";
	GetElemRef(DivName).style.top = (PosY + 22) + "px";
	GetElemRef(DivName).style.width = Width + "px";
	GetElemRef(DivName).style.visibility = 'visible';
	
	StopEvent(EventObj);
	return true;
}

function GetTopLeft(ElementObj)
{
   var Coords = {left: 0, top: 0};

   while (ElementObj) {																												// Obere linke Koordinaten der Tabelle berechnen
     Coords.left += ElementObj.offsetLeft;
     Coords.top += ElementObj.offsetTop;
     ElementObj = ElementObj.offsetParent;
   }
	
	return Coords;	
}


function Undef(TestObj)
{
	return typeof(TestObj) == 'undefined' ? true : false;
}
