

function BackGround(path,top,left)
	{
	this.name = "hintergrund";
	this.path = path;
	this.top = top;
	this.left = left;
	this.WriteBackGroundStyle = WriteBackGroundStyle;
	this.WriteBackGround = WriteBackGround;
	}
function WriteBackGroundStyle()
	{
	var string = "\n#" +this.name+ "{position:absolute\;top:" +this.top+ "px\;left:" +this.left+ "px}";
	document.write(string);
	}
function WriteBackGround()
	{
	var string = "\n<div id='" +this.name+ "'><IMG src='" +this.path+ "' NAME='" +this.name+ "' BORDER='0' onMouseOver='HideOpenMenu(22)'></div>";
	document.write(string);
	}
function MenuHead(description,left,top,lolite,hilite)
	{
	this.name = "menu" + menu.length;
	this.bildname = this.name + "bild";
	this.description = description;
	this.left = left;
	this.top = top;
	this.lolite = lolite;
	this.hilite = hilite;
	this.item = new Array();
	this.menubox = new MenuBox(this.name,this.top);
	this.WriteMenuHead = WriteMenuHead;
	this.WriteMenuHeadStyle = WriteMenuHeadStyle;
	this.AddMenuItem = AddMenuItem;
	}
function WriteMenuHead()
	{
	var string = "\n<div id='" +this.name+ "' class='styleMenuHead' onMouseOver=\"HiLiteMenuHead(this,'" +this.hilite+ "')\" onMouseOut=\"LoLiteMenuHead(this,'" +this.lolite+ "')\" onMouseDown=\"ShowHideMenu(this)\"><IMG src='" +this.lolite+ "' NAME='" +this.bildname+ "' BORDER='0'></div>";
	document.write(string);
	}
function WriteMenuHeadStyle()
	{
	var string = "\n#" +this.name+ "{top:" +this.top+ "px\;left:" +this.left+ "px}";
	document.write(string);
	}
function AddMenuItem(content,url,info,stil)
	{
	anzahl = this.item.length;
	this.item[anzahl] = new MenuItem(this.name,anzahl,content,url,info,stil);
	}
function MenuBox(name,top)
	{
	this.name = name + "box";
	this.top = top + parseInt(menuboxoffset);
	this.WriteMenuBox = WriteMenuBox;
	this.WriteMenuBoxStyle = WriteMenuBoxStyle;
	}
function WriteMenuBox()
	{
	var string="\n<DIV id='" +this.name+ "' class='styleMenuBox'>";
	document.write(string);
	}
function WriteMenuBoxStyle(menuboxheight)
	{
	if ((this.top + menuboxheight) > parseInt(infofeldtop))
		this.top = parseInt(infofeldtop) - menuboxheight - 12;
	var string = "\n#" +this.name+ "{top:" +this.top+ "px\;height:" +menuboxheight+ "px}";
	document.write(string);
	}	

function MenuItem(name,anzahl,content,url,info,stil)
	{
	this.name = name + "item" + anzahl;
	if (content == "linie") this.name = name + "item" + anzahl + "linie";
	this.content = content;
	this.url = url;
	this.info = info;
	this.stil = stil;
	this.WriteMenuItem = WriteMenuItem;
	this.WriteMenuItemStyle = WriteMenuItemStyle;
	}
function WriteMenuItem()
	{
	if (this.name.indexOf("linie") != -1)
		{
		var string = "\n<div id='" +this.name+ "' class='styleSeparator'>" + "&nbsp\;" + "</div>";
		document.write(string);
		return;
		}
	var string = "\n<div id='" +this.name+ "' class='styleMenuItem' onMouseOver=\"HiLiteMenuItem('" +this.name+ "','" +this.info+ "')\" onMouseOut=\"LoLiteMenuItem('" +this.name+ "')\" onMouseDown=\"OpenMenuItem('" +this.url+ "')\">" +this.content+ "</div>";
	document.write(string);
	}
function WriteMenuItemStyle(position)
	{
	if (this.name.indexOf("linie") != -1)
		{
		var string = "\n#" +this.name+ "{top:" +position+ "px}";
		document.write(string);
		position = position + parseInt(separatorheight);
		return (position);
		}
	var stilstring = "";
	var zeilenzahl = 1;
	if (this.content.indexOf("<BR>") != -1)
		{
		zeilenzahl = 1.7;
		var hoehe = parseInt(menuheight) * zeilenzahl;
		var stilstring = "\;clip:rect(0px " +menuwidth+ " " +hoehe+ "px 0px)";
		if (ie45 && mac)
			{
			var mac_breite = parseInt(menuwidth) + ie45macoffset;
			var mac_hoehe = hoehe + (Math.abs(ie45macoffset) * zeilenzahl);
			var stilstring = "\;clip:rect(" +ie45macoffset+ "px " +mac_breite+ "px " +mac_hoehe+ "px " +ie45macoffset+ "px)";
			}
		}
	if (this.stil == "fett")
		{
		fontsizefett = (mac)?(parseInt(menufontsize) + 1):parseInt(menufontsize);
		fontgewicht = (ns4 && mac)?700:600;
		stilstring = stilstring + "\;font-weight:" +fontgewicht+ "\;font-size:" +fontsizefett+ "px\;";
		}
		
	var string = "\n#" +this.name+ "{top:" +position+ "px" +stilstring+ "}";
	document.write(string);
	position = position + parseInt(menuheight) * zeilenzahl;
	if (ie45 && mac && zeilenzahl == 1.7) position = position + ie45macoffset * zeilenzahl;
	return (position);
	}

var ns6 = false;
var ns4 = false;
var ie4 = false;
var ie45 = false;
var mac = false;
var ie45macoffset = -2.2;
var menuoffen = false;

function HideOpenMenu()
	{
	if (!menuoffen) return;
	HideInfo();
	if (ns4)
		{
		document.layers[document.layers[menuoffen].container.menubox.name].visibility = "hidden";
		LoLiteMenuHead(document.layers[menuoffen]);
		menuoffen = false;
		}
	if (ns6)
		{
		var myElement = document.getElementById(menuoffen);
		myElement.style.visibility = 'hidden';
		var objekt = document.getElementById(menuoffen.substring(0,menuoffen.indexOf('box')));
		var name = objekt.id.substring(4,menuoffen.length);
		var number = parseInt(name);
		var source = menu[number].lolite;
		LoLiteMenuHead(objekt,source);
		menuoffen = false;
		}
	if (ie4)
		{
		document.all[menuoffen].style.visibility = "hidden";
		var objekt = document.all[menuoffen.substring(0,menuoffen.indexOf('box'))];
		var name = objekt.id.substring(4,menuoffen.length);
		var number = parseInt(name);
		var source = menu[number].lolite;
		LoLiteMenuHead(objekt,source);
		menuoffen = false;
		}
	}
	
function HiLiteMenuHead(objekt,source)
	{ 
	HideOpenMenu();
	if (ns4)
		{
		this.document.images[this.container.bildname].src = this.container.hilite;
		}
	if (ie4 || ns6)
		{
		var bildname = objekt.id + "bild";
		document.images[bildname].src = source;
		}
	}

function LoLiteMenuHead(objekt,source)
	{
	if (ns4)
		{
		if (objekt.id)
			{
			objekt.document.images[objekt.container.bildname].src = objekt.container.lolite;
			return;
			}
		name = this.id + "box";
		if (document.layers[name].visibility == "show") return;
		this.document.images[this.container.bildname].src = this.container.lolite;
		}
	if (ns6)
		{
		var layername = objekt.id + "box";
		var myElement = document.getElementById(layername);
		if (myElement.style.visibility == "visible") return;
		var bildname = objekt.id + "bild";
		document.images[bildname].src = source;
		}
	if (ie4)
		{
		var layername = objekt.id + "box";
		if (document.all[layername].style.visibility == "visible") return;
		var bildname = objekt.id + "bild";
		document.images[bildname].src = source;
		}
	}

function HiLiteMenuItem(objektname,info)
	{
	if (ns4)
		{
		this.bgColor = menuitemcolorhi;
		ShowInfo(this.container.info);
		}
	if (ns6)
		{
		var myElement = document.getElementById(objektname);
		myElement.style.backgroundColor = menuitemcolorhi;
		myElement.style.color = menufontcolorhi;
		ShowInfo(info);
		}
	if (ie4)
		{
		document.all[objektname].style.backgroundColor = menuitemcolorhiie4;
		document.all[objektname].style.color = menufontcolorhiie4;
		ShowInfo(info);
		}
	}
function LoLiteMenuItem(objektname)
	{
	if (ns4)
		{
		this.bgColor = menuitemcolorlo;
		}
	if (ns6)
		{
		var myElement = document.getElementById(objektname);
		myElement.style.backgroundColor = menuitemcolorlo;
		myElement.style.color = menufontcolor;
		}
	if (ie4)
		{
		document.all[objektname].style.backgroundColor = menuitemcolorlo;
		document.all[objektname].style.color = menufontcolor;
		}
	}
function ShowHideMenu(objekt)
	{
	if (ns4)
	{
	var layername = this.name.substring(0,this.name.indexOf('bild'));
	if (menuoffen && menuoffen != layername)
		{
		document.layers[document.layers[menuoffen].container.menubox.name].visibility = "hidden";
		LoLiteMenuHead(document.layers[menuoffen]);
		menuoffen = false;
		}
	var sichtbar = document.layers[document.layers[layername].container.menubox.name].visibility;
	if (sichtbar == "show")
		{
		document.layers[document.layers[layername].container.menubox.name].visibility = "hidden";
		menuoffen = false;
		return;
		}
	if (sichtbar == "hide")
		{
		document.layers[document.layers[layername].container.menubox.name].visibility = "visible";
		menuoffen = layername;
		return;
		}
	}
	if (ns6)
		{		
		layername = objekt.id + "box";
		var myElement = document.getElementById(layername);
		if (menuoffen && menuoffen != layername)
			{
			myElement.style.visibility = "hidden";
			LoLiteMenuHead(myElement);
			menuoffen = false;
			}
		var sichtbar = myElement.style.visibility;
		if (sichtbar == "visible")
			{
			myElement.style.visibility = "hidden";
			menuoffen = false;
			return;
			}
		if (sichtbar == "hidden")
			{
			myElement.style.visibility = "visible";
			menuoffen = layername;
			return;
			}
		}
	if (ie4)
		{		
		layername = objekt.id + "box";
		if (menuoffen && menuoffen != layername)
			{
			document.all[layername].style.visibility = "hidden";
			LoLiteMenuHead(document.all[menuoffen]);
			menuoffen = false;
			}
		var sichtbar = document.all[layername].style.visibility;
		if (sichtbar == "visible")
			{
			document.all[layername].style.visibility = "hidden";
			menuoffen = false;
			return;
			}
		if (sichtbar == "hidden")
			{
			document.all[layername].style.visibility = "visible";
			menuoffen = layername;
			return;
			}
		}
	}

function HideAllMenus(exception)
	{
	if (ns4)
		{
		for (i=0;i<menu.length;i++)
			{
			if (menu[i].name != exception)
				{
				document.layers[menu[i].menubox.name].visibility = "hidden";
				LoLiteMenuHead(document.layers[menu[i].name]);
				}
			}
		HideInfo();
		}
	if (ns6)
		{
		var myElement = document.getElementbyID(menu[0].menubox.name);
		for (i=0;i<menu.length;i++)
			{
			if (menu[i].name != exception)
				{
				myElement = document.getElementbyID(menu[i].menubox.name);
				myElement.style.visibility = "hidden";
				LoLiteMenuHead(myElement,menu[i].lolite);
				}
			}
		HideInfo();
		}
	if (ie4)
		{
		for (i=0;i<menu.length;i++)
			{
			if (menu[i].name != exception)
				{
				document.all[menu[i].menubox.name].style.visibility = "hidden";
				LoLiteMenuHead(document.all[menu[i].name],menu[i].lolite);
				}
			}
		HideInfo();
		}
	}
function OpenMenuItem(url)
	{
	if (ns4)
		{
		parent.frames["main"].location.href = this.container.url;
		}
	if (ie4 || ns6)
		{
		parent.frames["main"].location.href = url;
		}
	HideOpenMenu();
	}
function ShowInfo(inhalt)
	{
	string = "<p style='width:140px;color:white;font-family:Arial,Helvetica,sans-serif;font-size:11px;'>" + inhalt + "</p>";
	if (ns4)
		{
//		document.layers['searchfield'].visibility = "hidden";
		info = GetObject("infofeld");
		info.document.write(string);
		info.document.close();
		info.visibility = "visible";
		}
	if (ns6)
		{
//		var myElement = document.getElementById('searchfield')
//		myElement.style.visibility = "hidden";
		var myElement2 = document.getElementById('infofeld')		
		myElement2.style.innerHTML = "";
		myElement2.style.visibility = "visible";
		}
	if (ie4)
		{
//		document.all['searchfield'].style.visibility = "hidden";
		info = GetObject("infofeld");
		document.all.infofeld.innerHTML = "";
		document.all.infofeld.insertAdjacentHTML("BeforeEnd",string);
		info.visibility = "visible";
		}
	}
function MouseMove()
	{
	return false;
	}
function HideInfo()
	{
	if (ns4)
		{
      document.layers['infofeld'].visibility = "hidden";
//      document.layers['searchfield'].visibility = "visible";
		}
	if (ns6)
		{
	var myElement = document.getElementById('infofeld')		
      myElement.style.visibility = "hidden";
//      myElement.style.visibility = "visible";
		}
	if (ie4)
		{
      document.all['infofeld'].style.visibility = "hidden";
//      document.all['searchfield'].style.visibility = "visible";
		}
	}
function GetObject(name)
	{
	var objekt;
	if (ns4)
		{
		objekt = document.layers[name];
		}
	if (ns6)
		{
		objekt = document.getElementByID(name);
		}
	if (ie4)
		{
		objekt = document.all[name].style;
		}
	return objekt;
	}

function BrowserCheck()
	{
	ns6 = (document.getElementbyID)?true:false;
	ns4 = (document.layers)?true:false;
	ie4 = (document.all)?true:false;
	ie45 = (ie4 && navigator.appVersion.indexOf("4.5") != -1)?true:false;
	mac = (navigator.platform.indexOf("Mac") != -1)?true:false;
        }
function InitWorkarounds()
	{
	if (ie4)
		{
		menufontsize = parseInt(menufontsize) - 1 + "px";
		}
	if (ns4 && mac)
		{
		menufontsize = parseInt(menufontsize) - 1 + "px";
		}
	}
function InitColors()
	{
	if (ie4 || ns6)
		{
		for (i=0;i<menu.length;i++)
			{
			document.all[menu[i].menubox.name].style.backgroundColor = menubordercolor;
			for (j=0;j<menu[i].item.length;j++)
				{
				document.all[menu[i].item[j].name].style.backgroundColor = menuitemcolorlo;
				if ((menu[i].item[j].name.indexOf("linie")) != -1)
					document.all[menu[i].item[j].name].style.backgroundColor = separatorcolor;
				}
			}
		}
	if (mac && ie4 && !ie45)
		{
		for (i=0;i<menu.length;i++)
			{
			document.all[menu[i].menubox.name].style.width = parseInt(menuwidth) + parseInt(menuborder) * 2 + 4;
			document.all[menu[i].menubox.name].style.left = parseInt(menuleft);
			document.all[menu[i].item[0].name].style.top = parseInt(menuborder) + 2;
			for (j=0;j<menu[i].item.length;j++)
				{
				document.all[menu[i].item[j].name].style.width = parseInt(menuwidth);
				document.all[menu[i].item[j].name].style.height = parseInt(menuheight) -4;
				document.all[menu[i].item[j].name].style.left = parseInt(menuborder) + 2;
				last = j;
				}
			document.all[menu[i].item[last].name].style.height = parseInt(menuheight) -2;
			offset = parseInt(menuheight) + parseInt(document.all[menu[i].item[0].name].style.top);
			document.all[menu[i].item[1].name].style.top = offset;
			document.all[menu[i].item[2].name].style.top = offset + 1;
			}
		}
	}
function PreLoadImages()
	{
	bildhi = new Array()
	bildlo = new Array()
	for (i=0;i<menu.length;i++)
		{
		bildhi[i] = new Image();
		bildhi[i].src = menu[i].hilite;
		bildlo[i] = new Image();
		bildlo[i].src = menu[i].lolite;
		}
	}
function CreateCSS()
	{
	var string = "\n<STYLE>";
	document.write(string);
	breite = parseInt(menuwidth) + 2*(parseInt(menuborder));
	var string = "\n.styleMenuBox{position:absolute\;width:" +breite+ "px\;visibility:hidden\;left:" +menuleft+ "\;border:1px none\;layer-background-color:" +menubordercolor+ "}";
	document.write(string);
	var string = "\n.styleMenuItem {position:absolute\;cursor:default\;visibility:inherit\;padding:" +menufontpadding+ "\;font-family:Arial,Helvetica,sans-serif\; color:" +menufontcolor+ "\;font-size:" +menufontsize+ "\;border:0px none black;layer-background-color: " +menuitemcolorlo+ "\;left:" +menuborder+ "\;width:" +menuwidth+ "\;height:" +menuheight+ "\;clip:rect(0px " +menuwidth+ " " +menuheight+ " 0px)}";
	if (ie45 && mac)
		{
		var mac_breite = parseInt(menuwidth) + ie45macoffset;
		var mac_hoehe = parseInt (menuheight) + ie45macoffset; 
		var string = "\n.styleMenuItem {position:absolute\;cursor:default\;visibility:inherit\;padding:" +menufontpadding+ "\;font-family:Arial,Helvetica,sans-serif\; color:" +menufontcolor+ "\;font-size:" +menufontsize+ "\;border:0px none black;layer-background-color: " +menuitemcolorlo+ "\;left:" +menuborder+ "\;width:" +menuwidth+ "\;height:" +menuheight+ "\;clip:rect(" +ie45macoffset+ "px " + mac_breite + "px " + mac_hoehe + "px " +ie45macoffset+ "px)}";
		}
	document.write(string);
	var string = "\n.styleSeparator {position:absolute\;visibility:inherit\;border:0px none black;layer-background-color:" +separatorcolor+ "\;left:" +menuborder + "\;width:" +menuwidth+ "\;height:" +separatorheight+ "\;clip:rect(0px " +menuwidth+ " " +separatorheight+ " 0px)}";
	document.write(string);
	var string = "\n.styleMenuHead {position:absolute;visibility:visible\;width:" +menuheadwidth+ "}";
	document.write (string);
  var string = "\n#infofeld {position:absolute\;width:140px\;color:black\;visibility:visible\;top:" +infofeldtop+ "\;left:25px\;font-family:Arial,Helvetica,sans-serif\; font-size:12px\;font-color:#FFFFFF\;font-weight:normal\;background-color:#336699}";
 document.write(string);
	hintergrund.WriteBackGroundStyle();
	for (i=0;i<menu.length;i++)
		{
		menu[i].WriteMenuHeadStyle();
		var position = 0;
		for (j=0;j<menu[i].item.length;j++)
			{
			if (j==0) position = position+parseInt(menuborder);
			position = menu[i].item[j].WriteMenuItemStyle(position);
			}
		menuboxheight = position + parseInt(menuborder);
		menu[i].menubox.WriteMenuBoxStyle(menuboxheight);
		}
	var string = "\n</STYLE>";
	document.write(string);
	}
function CreateLayers()
	{
	hintergrund.WriteBackGround();
	for (i=0;i<menu.length;i++)
		{
		menu[i].WriteMenuHead();
		}
	for (i=0;i<menu.length;i++)
		{
		menu[i].menubox.WriteMenuBox();
			for (j=0;j<menu[i].item.length;j++)
				{
				menu[i].item[j].WriteMenuItem();
				}
		var string="\n</DIV>";
		document.write(string);
		}
	var string = "\n<div id=\"infofeld\">\&nbsp\;</div>";
	document.write(string);
	}
function InitExplorer()
	{
	if (!(ie4 || ns6)) return;
	HideAllMenus();
	InitColors();
	}
function InitNetscape()
	{
	if (!ns4) return;
	for (i=0;i<menu.length;i++)
		{
		document.layers[menu[i].name].container = menu[i];
		for (j=0;j<menu[i].item.length;j++)
			{
			document.layers[menu[i].menubox.name].document.layers[menu[i].item[j].name].container = menu[i].item[j];
			}
		}
	document.layers[hintergrund.name].document.images[hintergrund.name].onmouseover = HideOpenMenu;
	document.layers[hintergrund.name].document.images[hintergrund.name].onmousedown = HideOpenMenu;
	for (i=0;i<menu.length;i++)
		{
		document.layers[menu[i].name].captureEvents(Event.MOUSEMOVE | Event.MOUSEOVER | Event.MOUSEOUT | Event.MOUSEDOWN | Event.MOUSEUP);
		document.layers[menu[i].name].onmouseover = HiLiteMenuHead;
		document.layers[menu[i].name].onmouseout = LoLiteMenuHead;
		document.layers[menu[i].name].document.images[menu[i].bildname].onmousedown = ShowHideMenu;
		for (j=0;j<menu[i].item.length;j++)
			{
			var ebene = document.layers[menu[i].menubox.name].document.layers[menu[i].item[j].name];
			if ((ebene.name.indexOf("linie")) != -1) j+=1;
			var ebene = document.layers[menu[i].menubox.name].document.layers[menu[i].item[j].name];
			ebene.captureEvents(Event.MOUSEMOVE | Event.MOUSEOVER | Event.MOUSEOUT | Event.MOUSEDOWN | Event.MOUSEUP);
			ebene.onmouseover = HiLiteMenuItem;
			ebene.onmouseout = LoLiteMenuItem;
			ebene.onmousedown = OpenMenuItem;
			ebene.onmousemove = MouseMove;
			}
		}

	}
function ReloadPage()
	{
	if (ns4) self.location.reload();
	}
function CreateDynamicMenu()
	{
	BrowserCheck();
	InitWorkarounds();
	CreateMenus();
	//WriteSearchFieldStyle();
	CreateCSS();
	CreateLayers();
	//WriteSearchField();
	InitNetscape();
	InitExplorer();
	PreLoadImages();
	//LoadSearchImage();
	}

