// JavaScript Document

var space = 0;
var activeIndex;
var rekursion = false;
var activeNodes = new Array();

function leftMenu( index ) //ez_Menu[index] soll offen sein 
{
	//############################################		
	if( !ez_Menu[index] ) //sonst undefiniert beim ersten Aufruf
	{
		index = 0;	
	}
	//############################################
	if( !rekursion ) //nur wenn sich die Funktion nicht selber aufgerufen hat fängt das Menü am Anfang an 
	{
		activeIndex = index; //Das Menü welches geöffnet sein soll
		index = 0;	
	}
	//############################################
	//Aktive Knoten ermitteln 
	var emptyArray = new Array;
	activeNodes = emptyArray;
	var searchFor = activeIndex;
	for( var i = searchFor; i >= 0; i-- ) //ez_Menu[ersteInstanz]
	{
		for( var j = 0; j < ez_Menu[i].length; j++ ) //ez_Menu[i][zweiteInstanz]
		{
			var menuItem = new splitString( ez_Menu[i][j] );
			if( menuItem.um == searchFor )
			{
				activeNodes[activeNodes.length] = menuItem.um; // ans Array anhängen,
				searchFor = i;
			}
		}
	}

	 //############################################	
	

	for( var j = 0; j < ez_Menu[index].length; j++ )	//ez_Menu[Alle][Alle] durchlaufen ( Nur alle vom übergebenen Untermenü )
	{
		var menuItem = new splitString(ez_Menu[index][j]);
		//############################################
		//Wenn das aktuelle Menü oder das akt. Menü darunter liegt 
		//Untermenüs werden angelegt !		
		if(  menuItem.um == activeIndex ||checkActiveNode( menuItem.um ) ) 
		{			
			writeSpace( space );
			if( menuItem.url )
			{				
				//Link
				var url = "\'" + menuItem.url + "\'";	
				var target = menuItem.target ? "target = \'" + menuItem.target + "\'"  : "";
				document.write( "<a href ="  + url +  target + " >" );
			}
			//Titel
			
			document.write( "<b>" + menuItem.title + "</b><br>" );
			if( menuItem.url )
			{
				document.write( "</a>" );
			}		
			space++;
			rekursion = true;
			//Rekursiver Aufruf leftMenu( menuitem.um )
			leftMenu( menuItem.um );
			space--;
		}
		//############################################
		else
		{
			//Keine Untermenüs 	
			//Html Item generieren
			writeSpace( space );
			if( menuItem.url )
			{				
				//Link
				var url = "\'" + menuItem.url + "\'";	
				var target = menuItem.target ? "target = \'" + menuItem.target + "\'"  : "";
				document.write( "<a href ="  + url +  target + " >" );
			}
			//Titel
			document.write( menuItem.um ? "<b>" : "" );
			document.write( "" + menuItem.title + "<br>" );
			document.write( menuItem.um ? "</b>" : "" );
			if( menuItem.url )
			{
				document.write( "</a>" );
			}
		
		}
	}
}

function checkActiveNode( number )
{
	for( var i = 0; i < activeNodes.length; i++ )
	{
		if( number == activeNodes[i] )
		{
			return true;
		}
	}
	return false;
}


function splitString( str )
{
	var ergebnis;
	
	ergebnis = str.split( '^' );
	this.title 	= ergebnis[0];
	this.url	= ergebnis[1].split( ',' )[0];
	this.um		= ergebnis[2];			//Untermenü
	this.target	= ergebnis[1].split( ',' )[1];
}

function writeSpace( anzahl )
{	
	for( var i = 0; i < anzahl; i++ )
	{	
		if( i == anzahl - 1)
		{
			document.write( "<b>&nbsp;</b>" );//kann man auch das Zeichen '>' einsetzen
		}
		else
		{
			document.write( "&nbsp;" );//kann man auch das Zeichen '-' einsetzen
		}
	}
}








