// HMDTreeMenu V 1.00 2003-02-12
// C. DI Meitz Helmut, 8042 Graz
// 
// History
// 
// 2003-02-12 Target als 5. Element in HMDMenuItems eingefügt
//            
//

// Aktuell geöffnetes Menü
var HMDMenuActOpen = 9999;
var HMDMenuLastOpen = 9999;

// Start des Menüs in y-Richtung
var HMDMenuTop = 150;

// Step für Ein/Ausblenden
var HMDMenuXStep = 3;
var HMDMenuXCount = 6;

var HMDMenuMovingUp = 0;

var HMDMenuOpenItems = new Array();

var HMDMenuPicDir = 'images/';

function moveDown(actMenu, actPos, actStep)
{
	if (actMenu >= HMDMenuOpenItems.length)
	{
		return;
	}

	if(document.layers)
	{
		document.layers[HMDMenuOpenItems[actMenu]].top=actPos;
		document.layers[HMDMenuOpenItems[actMenu]].visibility="visible";
	}
	else
	{
		document.all[HMDMenuOpenItems[actMenu]].style.top=actPos;
		document.all[HMDMenuOpenItems[actMenu]].style.visibility="visible";
	}

	actPos += HMDMenuXStep;
	actStep++;
	if (actStep == HMDMenuXCount)
	{
		actMenu++;
		actStep = 0;
	}

	if ( actMenu < HMDMenuOpenItems.length)
	{
		eval('setTimeout("moveDown('+actMenu+','+actPos+','+actStep+')", 27);');
	}
}

function moveUp(untilWhich, actOpenItem, actPos, actStep)
{
	HMDMenuMovingUp = 1;

	if (untilWhich == actOpenItem && actStep == 1)
	{
		HMDMenuMovingUp = 0;
		actOpenMenu = parseInt(HMDMenuOpenItems[untilWhich].substr(4,3));
		//buildOpenMenu(actOpenMenu);
		buildOpenMenu(HMDMenuActOpen);
		moveDown(untilWhich+1, HMDMenuTop+(untilWhich+1)*HMDMenuXStep*HMDMenuXCount, 0);
		return;
	}

	//alert(actPos);

	if(document.layers)
	{
		document.layers[HMDMenuOpenItems[actOpenItem]].top=actPos;
	}
	else
	{
		document.all[HMDMenuOpenItems[actOpenItem]].style.top=actPos;
	}

	if ((actOpenItem+1) < HMDMenuOpenItems.length)
	{
		if(document.layers)
		{
			document.layers[HMDMenuOpenItems[actOpenItem+1]].visibility="hidden";
		}
		else
		{
			document.all[HMDMenuOpenItems[actOpenItem+1]].style.visibility="hidden";
		}
	}

	actPos -= HMDMenuXStep;
	actStep++;
	if (actStep == HMDMenuXCount)
	{
		actOpenItem--;
		actStep = 0;
	}

	eval('setTimeout("moveUp('+untilWhich+','+actOpenItem+','+actPos+','+actStep+')", 27);');
}

function openMenu(whichMenu)
{
	if (HMDMenuActOpen == whichMenu)
	{
		return;
	}

	if (HMDMenuItems[whichMenu*5] > 1)
	{
		return;
	}

	// Entspricht welchem Eintrag in den geöffneten Menüs ?
	for (openedMenu = 0;openedMenu < HMDMenuOpenItems.length;openedMenu++)
	{
		if (HMDMenuOpenItems[openedMenu] == ("hmdm"+whichMenu))
		{
			break;
		}
	}

	HMDMenuActOpen = whichMenu;

	if (HMDMenuLastOpen < openedMenu)
	{
		openedMenu = HMDMenuLastOpen;
	}

	actOpenItem = HMDMenuOpenItems.length-1;
	if(document.layers)
	{
		moveUp(openedMenu, actOpenItem, parseInt(document.layers[HMDMenuOpenItems[actOpenItem]].top), 0 );
	}
	else
	{
		moveUp(openedMenu, actOpenItem, parseInt(document.all[HMDMenuOpenItems[actOpenItem]].style.top), 0 );
	}
}

function buildOpenMenu(whichMenu)
{
	var menuCount = 0;
	var actOpenMenu = 0;

	HMDMenuOpenItems = new Array();

	for (i = 0;i < HMDMenuItems.length; i += 5, menuCount++)
	{
		if(document.layers)
		{
			document.layers["hmdm"+(i/5)].visibility="hidden";
		}
		else
		{
			document.all["hmdm"+(i/5)].style.visibility="hidden";
		}

		if (HMDMenuItems[i] == 1)
		{
			if (menuCount == whichMenu)
			{
				HMDMenuLastOpen = actOpenMenu;

				// Haupteintrag inkl. aller Untereinträge anzeigen
				do
				{
					HMDMenuOpenItems[actOpenMenu++] = "hmdm"+(i/5);
					//alert("Adding "+(i/5));
					i += 5;
				}
				while ( (i < HMDMenuItems.length) && (HMDMenuItems[i] > 1) );
				i -= 5;
			}
			else
			{
				// nur diesen Haupteintrag anzeigen
				HMDMenuOpenItems[actOpenMenu++] = "hmdm"+(i/5);
				//alert("Adding "+(i/5));
			}
		}
	}

	for (i = 0; i <= HMDMenuLastOpen && i < HMDMenuOpenItems.length;i++)
	{
		if(document.layers)
		{
			document.layers[HMDMenuOpenItems[i]].visibility="visible";
		}
		else
		{
			document.all[HMDMenuOpenItems[i]].style.visibility="visible";
		}
	}
}

function initMenu()
{
	buildOpenMenu(9999);
	moveDown(0, HMDMenuTop, 0);
}

function buildMenu()
{
	var html = "";
	var strTarget = "";

	for (i = 0;i < HMDMenuItems.length; i += 5)
	{
		html += '<div id="hmdm'+(i/5)+'" class="HMDMenuStyle" style="left: '+HMDMenuItems[i]*10+
				'; font-size: '+(13-HMDMenuItems[i])+'px; z-index: '+(50-i/5)+'">';

		if (HMDMenuItems[i+4] != '')
		{
			strTarget = HMDMenuItems[i+4];
		}
		else
		{
			strTarget = "bodyFrame";
		}

		if (HMDMenuItems[i+1])
		{
			html += '<img src="'+HMDMenuPicDir+HMDMenuItems[i+1]+'" border="0">&nbsp;'+
			'<a class="HMDMenu" href="'+HMDMenuItems[i+3]+'" target="'+strTarget+'" onclick="openMenu('+(i/5)+')">'+
			HMDMenuItems[i+2]+'</a>';
		}
				
		html += '</div>';

		//alert(html);
	}

	//alert(html);

	document.writeln(html);
}


