var	eintraege=new Array()
var	bildname="Bild"
var szMenu = "";

function debugmsg(msg) { alert("Deb: \n" + msg); }

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, name1, url, target, name2, desc,image, image_open)
{	this.level=level
	this.name1=name1
	this.name2=name2
	this.url=url
	this.target=target
	this.node=false
	this.description=desc
	this.image=image
	this.image_open=image_open
	this.open=false
}

function menu(level, name1, url, target, name2, desc, image, image_open)
{  	var	pos	= eintraege.length
	eintraege[pos]	= new neuer_eintrag(level,name1,
		(arguments.length > 2) ? url : null,
		(arguments.length > 3) ? target : null,
		(arguments.length > 4) ? name2 : name1,
		(arguments.length > 5) ? desc : null,
		(arguments.length > 6) ? image : null,
		(arguments.length > 7) ? image_open : null)
}

function submenue(nr)
{	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)
	}
	if (eintraege[nr].node)
		eintraege[nr].open = !eintraege[nr].open;
	if((eintraege[nr].target != null) && (eintraege[nr].url != null))
        if (eintraege[nr].target != "_blank")
		    frames[eintraege[nr].target].location.href	= eintraege[nr].url
	if(eintraege[nr].open)
	{	close_submenues(nr)
		open_submenues(nr)
	}
	if (genSiteMap == true)
		expand();
    
    // fre: feb2003 .... if (!window.opera)    if (navigator.userAgent.indexOf("Opera")!==-1) opera=1
    write_menue()
}

function expand()
{	var	i
	for(i=0; i < eintraege.length; i++)
		if(eintraege[i].node)
			eintraege[i].open	= true
	write_menue()
}

function close_submenues(nr)
{	var	i
	for(i=0; i < eintraege.length; i++)
		if((i != nr) && eintraege[i].node)
			eintraege[i].open	= false
}

function collapse()
{   close_submenues(999);
	write_menue()
}

function OnMenuOvr(nr) { status=eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name2 }

function OnMenuOut(nr) { status="" }

function OnMenuClk(nr)
{	var bild=eintraege[nr].name2;
	
	if(eintraege[nr].level <= 1) {
		if (eintraege[nr].node == 0 ) 
			close_submenues(nr)
        parent.top1.UpdateTopMenu(bild)
	}
}


function ausgabe(nr)
{
	with(self[frame_name].document)
	{	var	i
		var	tag_a_anfang= ""
		var	tag_img		= ""
		var	titel		= ""
		var	bild		= ""
			
		if (eintraege[nr].level == 1 && offset_entry > 0)
			szMenu += "<table height=\"" + String(offset_entry) + "\" width=\"110%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td></td></tr></table>";

		szMenu += "\n<table width=\"110%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">";
		szMenu += "<tr align=\"left\" valign=\"center\">\n<td class=\"MentryLogo\">";

		if(eintraege[nr].level > 1)
			szMenu += "<img src=\"" + bild_leer + "\" WIDTH=\"" + String(bild_leer_breite * (eintraege[nr].level - 1)) + "\" HEIGHT=\"" + String(bild_hoehe) + "\" BORDER=\"0\" ALT=\"\">";

		titel	= eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name1
		
        if(eintraege[nr].node)
		    bild	= eintraege[nr].open ? (eintraege[nr].image_open ? eintraege[nr].image_open : bild_menu_open) :
					(eintraege[nr].image ? eintraege[nr].image : bild_menu_close)
        else if(eintraege[nr].level <= 1)
			bild	= eintraege[nr].image ? eintraege[nr].image : bild_menu_entry
        else
			bild	= eintraege[nr].image ? eintraege[nr].image : bild_menu_docu
		if (genSiteMap == true)
			tag_a_anfang = "<a href=\"" + eintraege[nr].url + "\" " + (eintraege[nr].target ? (" TARGET=\"" + eintraege[nr].target + "\" ") : "") +"TITLE=\"" + titel + "\"" + ">"

		else
		{
			tag_a_anfang = "<a href=\"javascript:parent.submenue(" + String(nr) + ")\" " +
						"onMouseOver=\"parent.OnMenuOvr(" + String(nr) + "); return true\" " +
						"onMouseOut=\"parent.OnMenuOut(" + String(nr) + ")\" " +
						"onclick=\"parent.OnMenuClk(" + String(nr) + ")\" " +
						"TITLE=\"" + titel + "\"" + ">"
		}
        szMenu += tag_a_anfang;

		szMenu += "<img src=\"" + bild + "\" " +
				"WIDTH=\"" + String(bild_breite) + "\" " +
				"HEIGHT=\"" + String(bild_hoehe) + "\" " +
				"BORDER=\"0\" " +
				"NAME=\"" + bildname + String(nr) + "\" " +
				"ALT=\"" + titel + "\"" +
				"></a></td>\n<td width=\"100%\"";
		if(eintraege[nr].level == 1)
			szMenu += " class=\"MentryLev1\" >";
		else if (eintraege[nr].level == 2)
			szMenu += " class=\"MentryLev2\" >";
		else
			szMenu += " class=\"MentryLev3\" >";
		szMenu += tag_a_anfang;
        szMenu += eintraege[nr].name1;
		szMenu += "</a></td>\n</tr>\n</table>";
		if (nr == 0 && offset_home_2 > 0)
			szMenu += "<table height=\"" + String(offset_home_2) + "\" width=\"110%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td></td></tr></table>";
	}
}

function ausgabe_eintraege(lvl, start)
{   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()
{
    var szHeader ;
	with(self[frame_name].document)
	{	open("text/html", "replace")
	    szHeader = "<html>\n<head>\n<title>Sitemap</title>";
		szHeader += "<meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\">";
		szHeader += "<style type=\"text/css\">\n<!--";
        szHeader += "body { margin-top:0px; margin-bottom:0px; margin-left:2px; margin-right:0px;}\n";
		szHeader += ".MentryLogo " + css_entryLogo;
		szHeader += ".MentryLev1 " + css_entryLev1;
		szHeader += ".MentryLev2 " + css_entryLev2;
		szHeader += ".MentryLev3 " + css_entryLev3;
		szHeader += "a:link   " +  css_lnk_norm;
		szHeader += "a:visited" +  css_lnk_visited;
		szHeader += "a:active " +  css_lnk_active; 
		szHeader += "a:hover  " +  css_lnk_hover;
		if(css_menue_style != "")
			szHeader += "body, a, p, td, h1, h2, h3, h4, h5, h6 " + css_menue_style;
		szHeader += "//-->\n</style>";
		szHeader += "</head>";
		szHeader += "<body bgcolor=\"" + body_bgcolor +
				"\" TEXT=\"" + body_fgcolor +
				(((body_backimage != "") && (body_backimage != null)) ? (" BACKGROUND=\"" + body_backimage + "\"") : "" ) + ">";
        szMenu="";
        ausgabe_eintraege(1, 0)
        szMenu+="</body></html>";
        writeln(szHeader+szMenu);
		close()
	}
 	if(useCookie)
	{   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)
	}
}

var blocked = 0;
// Ausgabe kompletten Menues durch 'onLoad' im Body
function LoadMenue()
{	
	if(useCookie)
	{	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()
}

function oeffne_submenu(name)
{	for(i=0; i < eintraege.length; i++)
	{	if (eintraege[i].name2.toLowerCase() == name.toLowerCase())
		{	submenue(i);
			return;
		}			
	}
}
