var	eintraege		= new Array()
var	bildname		= ""
var	body_bgcolor		= "ebebeb"
var	body_background		= "images/commbkgd.gif"
var	body_text		= "000000"
var	body_link		= "100070"
var	body_alink		= "ff0000"
var	body_vlink		= "100070"
var	body_hover		= "ff0000"
var	a_underline		= false
var	menue_pre		= "<b><h3></b>"
var	menue_post		= "<b></SMALL></b>"
var	eintrag_pre		= "</SMALL>"
var	eintrag_post	= "</SMALL>"
var	menue_titel		= ""
/*<TABLE WIDTH=\"100%\" CELLPADDING=\"0\" CELLSPACING=\"0\" BORDER=\"3\" bordercolordark=\"#0e7e7e\" bordercolorlight=\"#ebebeb\" BGCOLOR=\"#359f65\">" +
"<TR ALIGN=\"CENTER\">" +
"<TD><B><FONT COLOR=\"#200070\">menü</FONT></B></TD>" +
"</TR>" +
"</TABLE>"
*/
var	menue_style		= "font-family:Arial, sans-serif;"
var	rand			= 20
var	cookie_name		= "OpenNodes"
var	bild_leer		= "images/leer.gif"
var	bild_eintrag		= "images/geschlossen.gif"
var	bild_menue_offen	= "images/extra_offen.gif"
var	bild_menue_geschlossen	= "images/extra_ges.gif"
var	bild_breite		= 12
var	bild_hoehe		= 12
var	frame_name		= "menuetree"
var	extra			= false
var	extra_text_expand	= "alle öffnen"
var	extra_text_collapse	= "alle schließen"
var	extra_pre		= "</SMALL>"
var	extra_post		= "</SMALL>"
var	exclusive		= true
function read_cookie(cookiename)
{
	var cookie_string	= document.cookie
	var cookie_array	= cookie_string.split(";")
	var array_size		= cookie_array.length
	var cookie_teile
	var i	= 0
	for(i = 0; i < array_size; i++)
	{
		cookie_teile	= cookie_array[i].split("=")
		if(cookie_teile[0].substring(0, 1) == " ")
		cookie_teile[0] = cookie_teile[0].substring(1, cookie_teile[0].length)
		if(cookie_teile[0] == cookiename)
		return unescape(cookie_teile[1])
	}
	return ""
}
function write_cookie(cookiename, cookie_wert, gueltigkeitszeitraum)
{
	if(gueltigkeitszeitraum)
	{
		var ablauf_datum	= new Date()
		ablauf_datum.setTime(ablauf_datum.getTime() + gueltigkeitszeitraum)
		document.cookie = cookiename + "=" + escape(cookie_wert) + "; " +
		"expires=" + ablauf_datum.toGMTString()
	}
	else
	document.cookie = cookiename + "=" + escape(cookie_wert)
}
function set_nodes()
{
	var	i
	for(i = 0; i < (eintraege.length - 1); i++)
	if(eintraege[i + 1].level > eintraege[i].level)
	{
		eintraege[i].node	=  true
		eintraege[i].open	=  false
	}
}
function neuer_eintrag(level, name, url, target, desc, image, image_open)
{
	this.level		= level
	this.name		= name
	this.url		= url
	this.target		= target
	this.node		= false
	this.open		= false
	this.description	= desc
	this.image		= image
	this.image_open		= image_open
}
function eintrag(level, name, url, target, desc, image, image_open)
{
	var	pos	= eintraege.length
	if(level < 1)
	{
		alert("Level-Werte bitte ab 1 anlegen!")
		return
	}
	if(arguments.length < 2)
	{
		alert("Es muessen mindestens die ersten beiden Argumente angegeben werden.")
		return
	}
	eintraege[pos]	= new neuer_eintrag(level,
		name,
		(arguments.length > 2) ? url : null,
		(arguments.length > 3) ? target : null,
		(arguments.length > 4) ? desc : null,
		(arguments.length > 5) ? image : null,
		(arguments.length > 6) ? image_open : null)
}
function submenue(nr)
{
	function close_submenues(nr)
	{
		var	i
		for(i = 0; i < eintraege.length; i++)
		if((i != nr) && eintraege[i].node)
		eintraege[i].open	= false
	}
	function open_submenues(nr)
	{
		function open_super_level(nr, lvl)
		{
			if((nr == 0) || (lvl < 1))
			return
			var	i
			for(i = nr - 1; i >= 0; i--)
			{
				if((eintraege[i].level == lvl) && eintraege[i].node)
				{
					eintraege[i].open	= true
					open_super_level(i, lvl - 1)
					return
				}
			}
			return
		}
		
		open_super_level(nr, eintraege[nr].level - 1)
	}
	eintraege[nr].open	= !eintraege[nr].open
	if((eintraege[nr].target != null) && (eintraege[nr].url != null))
	frames[eintraege[nr].target].location.href	= eintraege[nr].url
	if(eintraege[nr].open && exclusive)
	{
		close_submenues(nr)
		open_submenues(nr)
	}
	write_menue()
}
function expand()
{
	var	i
	
	for(i = 0; i < eintraege.length; i++)
	if(eintraege[i].node)
	eintraege[i].open	= true
	write_menue()
}
function collapse()
{
	var	i
	
	for(i = 0; i < eintraege.length; i++)
	if(eintraege[i].node)
	eintraege[i].open	= false
	write_menue()
}
function show(comment)
{
	status	= comment
}
function hide()
{
	status	= ""
}
function ausgabe(nr)
{
	with(self[frame_name].document)
	{
		var	i
		var	tag_a_anfang	= ""
		var	tag_a_ende	= ""
		var	tags_pre	= ""
		var	tags_post	= ""
		var	tag_img		= ""
		var	titel		= ""
		var	bild		= ""
		write("<TABLE CELLSPACING=\"0\" CELLPADDING=\"0\" BORDER=\"0\">\n<TR ALIGN=\"LEFT\" VALIGN=\"CENTER\">\n<TD>")
		if(eintraege[nr].level > 1)
		write("<IMG SRC=\"" + bild_leer + "\" WIDTH=\"" + String(bild_breite * (eintraege[nr].level - 1)) + "\" HEIGHT=\"" + String(bild_hoehe) + "\" BORDER=\"0\" ALT=\"\">")
		tag_a_ende	= "</A>"
		if(eintraege[nr].node)
		{
			titel	= eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name
			bild	= eintraege[nr].open ?
			(eintraege[nr].image_open ? eintraege[nr].image_open : bild_menue_offen) :
			(eintraege[nr].image ? eintraege[nr].image : bild_menue_geschlossen)
			tags_pre	= menue_pre
			tags_post	= menue_post
			tag_a_anfang	= "<A " +
			"HREF=\"javascript:parent.submenue(" + String(nr) + ")\" " +
			"onMouseOver=\"parent.show('" + titel + "'); return true\" " +
			"onMouseOut=\"parent.hide()\" " +
			"TITLE=\"" + titel + "\"" +
			">"
		}
		else
		{
			titel	= eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name
			bild	= eintraege[nr].image ? eintraege[nr].image : bild_eintrag
			tags_pre	= eintrag_pre
			tags_post	= eintrag_post
			tag_a_anfang	= "<A " +
			"HREF=\"" + eintraege[nr].url + "\" " +
			"onMouseOver=\"parent.show('" + titel + "'); return true\" " +
			"onMouseOut=\"parent.hide()\" " +
			(eintraege[nr].target ? (" TARGET=\"" + eintraege[nr].target + "\" ") : "") +
			"TITLE=\"" + titel + "\"" +
			">"
		}
		tag_img	= "<IMG " +
		"SRC=\"" + bild + "\" " +
		"WIDTH=\"" + String(bild_breite) + "\" " +
		"HEIGHT=\"" + String(bild_hoehe) + "\" " +
		"BORDER=\"0\" " +
		"NAME=\"" + bildname + String(nr) + "\" " +
		"ALT=\"" + titel + "\"" +
		">"
		write(tag_a_anfang + tag_img + tag_a_ende)
		write("</TD>\n<TD>")
		write(tag_a_anfang + tags_pre + eintraege[nr].name + tags_post + tag_a_ende)
		writeln("</TD>\n</TR>\n</TABLE>")
	}
}
function ausgabe_eintraege(lvl, start)
{
	var	i
	with(self[frame_name].document)
	{
		for(i = start; i < eintraege.length; i++)
		{
			if(eintraege[i].level < lvl)
			return
			if(eintraege[i].level == lvl)
			{
				ausgabe(i)
				if(eintraege[i].node)
				if(eintraege[i].open)
				ausgabe_eintraege(lvl + 1, i + 1)
			}
		}
	}
}
function write_menue()
{
	with(self[frame_name].document)
	{
		open("text/html", "replace")
		
		// Kopf
		writeln("<HTML>\n<HEAD>\n<TITLE>Men&uuml;</TITLE>")
		writeln("<META NAME=\"ROBOTS\" CONTENT=\"NONE\">")
		writeln("<META HTTP-EQUIV=\"CONTENT-TYPE\" CONTENT=\"text/html; CHARSET=iso-8859-1\">")
		writeln("<STYLE TYPE=\"text/css\">\n<!--")
		if(!a_underline)
		writeln("A {text-decoration: none;}")
		writeln("A:hover {color: #" + body_hover + ";}")
		if(menue_style != "")
		writeln("BODY, A, P, TD, H1, H2, H3, H4, H5, H6 {" + menue_style + "}")
		writeln("//-->\n</STYLE>")
		writeln("</HEAD>")
		writeln("<BODY BGCOLOR=\"#" + body_bgcolor + "\" TEXT=\"#" + body_text +
			"\" LINK=\"#" + body_link + "\" ALINK=\"#" + body_alink +
			"\" VLINK=\"#" + body_vlink + "\" LEFTMARGIN=\"" + rand +
			"\" TOPMARGIN=\"" + rand + "\" MARGINWIDTH=\"" + rand +
			"\" MARGINHEIGHT=\"" + rand + "\"" +
		(((body_background != "") && (body_background != null)) ? (" BACKGROUND=\"" + body_background + "\"") : "" ) + ">")
		if(menue_titel != "")
		writeln(menue_titel)
		write("<P>")
		ausgabe_eintraege(1, 0)
		writeln("</P>")
		if(extra)
		{
			write("<P ALIGN=\"CENTER\">" + extra_pre)
			if(!exclusive)
			write("<NOBR>[ <A HREF=\"javascript:parent.expand()\" TITLE=\"" + extra_text_expand + "\">" + extra_text_expand + "</A> ]<WBR></NOBR> ")
			write("<NOBR>[ <A HREF=\"javascript:parent.collapse()\" TITLE=\"" + extra_text_collapse + "\">" + extra_text_collapse + "</A> ]<WBR></NOBR>")
			writeln(extra_post + "</P>")
		}
		writeln("</BODY>")
		writeln("</HTML>")
		close()
	}
	if(rebuild)
	{
		var	s	= ""
		var	i
		for(i = 0; i < eintraege.length; i++)
		if(eintraege[i].node)
		if(eintraege[i].open)
		s	+= ((s == "") ? "" : ",") + String(i)
		write_cookie(cookie_name, s, 1000 * 60 * 60 * 24 * 92)
	}
}
function menue()
{
	set_nodes()
	if(rebuild)
	{
		var	s	= read_cookie(cookie_name)
		var	sarr	= s.split(",")
		var	i
		var	nr
		for(i = 0; i < sarr.length; i++)
		{
			nr	= parseInt(sarr[i])
			if(!isNaN(nr))
			if(nr < eintraege.length)
			if(eintraege[nr].node)
			eintraege[nr].open	= true
		}
	}
	
	write_menue()
}
function oeffne_menue_pfad(ids)
{
	set_nodes()
	var	sarr	= ids.split(",")
	var	i
	var	nr
	for(i = 0; i < sarr.length; i++)
	{
		nr	= parseInt(sarr[i])
		if(!isNaN(nr))
		if(eintraege[nr].node)
		eintraege[nr].open	= true
	}
	
	write_menue()
}
