<!--

var menuPrefix = "mnu";
var menuCurrent = null;


function preLoad(src)
{
	document.imageCache[src] = new Image();
	document.imageCache[src].src = menuImgPath + src + ".gif";
}
document.imageCache = new Object();


var pic;
for(pic = 0; pic <menuBottomPics.length ;pic++) {preLoad(menuBottomPics[pic]);}
for(pic = 0; pic <menuArrowPics.length ;pic++) {preLoad(menuArrowPics[pic]);}
preLoad(menuSpacer);

function preloadPics()
{
	var out = "";
	return out;
}

var menuTimeout;

function menuClearTimeout()
{
	clearTimeout(menuTimeout);
}

function menuInstallTimeout(timeoutTime)
{
	menuClearTimeout();
	menuTimeout = setTimeout("menuCloser();", timeoutTime > 0?timeoutTime:200);
}

function menuCloser()
{
	setObjPosVis(document.menu,-300,-300,false);
	setFormsVisible(true,0,0,640,480);
	if(isNav)
	{
		document.menu.document.writeln("");
		document.menu.document.close();
	}
	else
	{
		document.menu.innerHTML = "";
	}
	menuCurrent = null;
	
}

var isNav,isIE,isIE5;
if(parseInt(navigator.appVersion) >= 4)
{
	if(navigator.appName == "Netscape")
	{
		isNav = true;
	}
	else
	{
		isIE = true;
		if(navigator.appVersion.indexOf("MSIE 5") != -1)
			isIE5 = true;
	}
}

function getLayer(name)
{
	if(isNav) return document.menu.layers[name];
	return document.all[name];
}

function getMenuLayer()
{
	if(isNav) return document.layers['menu'];
	return document.all['menu'];
}

function getImage(name,layer)
{
	var img;
	if(isNav) 
	{
		if(layer) return getLayer(layer).document.images[name];
		return document.images[name];
	}
	img = document.all[name];
	img.x = img.clientLeft;
	img.y = img.clientTop;
	
	if(!img.clientLeft)
	{
		img.x = img.offsetLeft;
		img.y = img.offsetTop+9;
	}
	return img;
}

function menuHiLo(menu,hilo)
{
	if(menu.style)
	{
//		alert(menu.style);
		if(hilo)
			menu.style.backgroundColor = menuBgHiColor;
		else
			menu.style.backgroundColor = menuBgColor;
	}
}

function setObjPosVis(obj,x,y,isVisible)
{
	if(isNav) 
	{
		obj.left = x;
		obj.top = y;
		obj.visibility = (isVisible?"visible":"hidden");
	}
	else
	{
		obj.style.left = x;
		obj.style.top = y;
		obj.style.posLeft = x;
		obj.style.posTop = y;
		obj.pixelLeft = x;
		obj.pixelTop = y;
		obj.style.visibility = (isVisible?"visible":"hidden");
	}
}

// string property
function sprop(name,val)
{
	if(val && val != "")
		return name + '="' + val + '" ';
	return ""; 
}

// string integer property
function iprop(name,val,force)
{
	if(val != 0 || force)
		return name + '=' + val  + " ";
	return " "; 
}

// wrapper for A Tag
function a(href,cls,onMouseOver,onMouseOut,onClick)
{
	var out = "<A ";
	out += sprop("href",href);
	out += sprop("class",cls);
	out += sprop("onMouseOver",onMouseOver);
	out += sprop("onMouseOut",onMouseOut);
	out += sprop("onClick",onClick);
	return out +">";
}

function e_a() {	return "</A>";}

function img(src,name,width,height,onmouseOver)
{
	var out = "<img ";
	out += sprop("src", menuImgPath + src);
	out += sprop("name",name);
	out += iprop("width",width);
	out += iprop("height",height);
	out += iprop("border",0,1);
	out += sprop("onMouseOver",onmouseOver);
	return out +">";
}


// div tag
function div(xid,width,height,bgcolor)
{
	var out = "";
	if(isNav)
	{
		out += "<LAYER ";
		out += sprop("id",xid);
		out += sprop("width",width);
		out += sprop("height",height);
		out += sprop("pagex",0,true);
		out += sprop("pagey",0,true);
		out += sprop("bgcolor",bgcolor);
		out += sprop("visibility","hidden");
	}
	else
	{
		out += "<DIV ";
		out += sprop("id",xid);
		out += sprop("onMouseOver","menuHiLo(this,1);");
		out += sprop("onMouseOut","menuHiLo(this,0);");
		out += sprop("style","position:absolute; top:0; left: 0;visibility:hidden; background-color:"+ bgcolor +";width:" + width +";height:" + height);
	}
	return out +">";
}

function e_div()
{
	if(isNav)
		return "</LAYER>\n";
	return "</DIV>\n";
}


function bar(index)
{
	return img(menuBarPic+".gif","menuWeiss"+index,1,10,null);
}

function menupic(path,indent,isSub)
{
	var out = "";
	out += img(menuSpacer+".gif","sp",indent*8,8,null);
	out += img((isSub?menuArrowPics[0]+".gif":menuSpacer+".gif"),"menupic"+path,9,9,null);
	out += img(menuSpacer+".gif","sp",8,8,null);
	return out;
}

function menuItemCreate(arr,indent)
{
	//
}

function menuDoOpenClose(arr,doOpen)
{
	arr.isOpen = doOpen;
	if(arr.hasSub && !doOpen)
	{
		var i;
		for(i=2; i<arr.length;i++)
		{
			menuDoOpenClose(arr[i],doOpen);
		}
	}
}

function menuItemClick(p)
{
	var obj;
	eval("obj = mbarArray."+p);
	
	if(obj && obj.hasSub)
	{
		menuDoOpenClose(obj,!obj.isOpen)
//		obj.isOpen = !obj.isOpen;
	
		menuPosY = 0;
		menuShow(menuCurrent,0);
		setObjPosVis(getLayer("menubottom"),0,menuPosY,true);
	}
}

var menuPosY = 0;

function menuShow(arr,doShow)
{
	var layer,i,a;

	if(doShow)
		menuPosY+=menuItemHeight;
	
	if(arr.path!= menuPrefix)
	{
		layer = getLayer(arr.path);
		menuLoadImages(arr.path);
		
		if(layer)
			setObjPosVis(layer,0,menuPosY-menuItemHeight,doShow);
		else
			alert("Object " + arr.path + "not found!");
	}
	
	if(arr.hasSub)
	{
		if(layer)
		{
			var img = layer.document.images["menupic"+arr.path];
			var arrowName = menuArrowPics[(arr.isOpen?1:0)];
			
			if(img)
				img.src = document.imageCache[arrowName].src;
			else
				alert("Pic menupic"+arr.path+" not found!");
		}
		for(i=2;i<arr.length;i++)
		{
			if(arr.parent)
				doOpen = arr.parent.isOpen;
			else
				doOpen = arr.isOpen;
				
			 menuShow(arr[i], arr.isOpen);
		}
	}
}

function menuBuild(arr,indent,path)
{

	var out = "",i;
	var subString = "", currPath = "", onclick = null;
	
	arr.name = arr[0];
	arr.url = arr[1];
	arr.hasSub = (arr.url == "sub");

	currPath = "|" + path;
	
	if(indent> 0)
	{
		var pic = menupic(path,indent,arr.hasSub);
		if(!arr.hasSub)
		{
			onclick = null;
		}
		else
		{
			onclick = "menuItemClick('"+path+"')";
			subString = "(sub)";
			arr.url = "#";
		}
		out += div(path,menuWidth,menuBarHeight,menuBgColor);
		var label = arr.name;
		if(arr.hasSub) 
			label = label.bold();
		
		out += a(arr.url,"menuitem",null,null,onclick) + pic + label + e_a();
		out += "<br>";
		out += e_div();
		if(!arr.isOpen)
			arr.isOpen = false;
		arr.path = path;
		eval("mbarArray."+path+" = arr");
	}
	else
	{
		arr.path = path;
		arr.isOpen = true;
	}
	if(arr.hasSub)
	{
		indent++;
		for(i=2;i<arr.length;i++)
		{
			currPath = path+"_"+i;
			arr[i].parent = arr;
			out += menuBuild(arr[i],indent,currPath);
		}
		indent--;
	}
	if(indent == 0)
		out += div("menubottom",menuWidth+1,8,null)+
		img(menuBottomPics[0]+".gif","bg_lu",8,8)+
		img(menuBottomPics[1]+".gif","bg_mi",menuWidth-2*8,8)+
		img(menuBottomPics[2]+".gif","bg_ru",8,8)+"<br>"+
		e_div();

	return out;
}

function menuLoadImages(name)
{
	if(!(menuUseBrokenImageFix && isNav))
		return;
		
	var layer = getLayer(name);
	 	
	for(var a = 0; a < layer.document.images.length; a++)
	{
		var src = layer.document.images[a].src;
		var path = src.split('/');
		src = path[path.length-1].split('.')[0];
		layer.document.images[a].src = document.imageCache[src].src;
		if(src != '0')
		{
	//		alert(src+","+ layer.document.images[a].name+","+document.imageCache[src].complete);
		}
	}
}

function menuLoadAllImages(arr)
{
	var layer,i,a;

	if(arr.path!= menuPrefix)
	{
		layer = getLayer(arr.path);
		menuLoadImages(arr.path);
	}
	
	if(arr.hasSub)
	{
		for(i=2;i<arr.length;i++)
		{
			 menuLoadAllImages(arr[i]);
		}
	}
}

function menuBarClick(index)
{
	var menu = document.menu;
	if(menuCurrent == mbarArray[index])
		return;
		
	menuCurrent = mbarArray[index];
	
	var out = menuCurrent.menuString;
	if(!out || 1)
	{
		out = menuBuild(menuCurrent,0,menuPrefix);
		menuCurrent.menuString = out;
	}
	if(isNav)
	{
		menu.document.writeln(out);
		menu.document.close();
	}
	else
		menu.innerHTML = out;
	
	menuLoadAllImages(menuCurrent);
	menuLoadImages("menubottom");

	if(isNav && 0)
	{
		var menuTimeout = setTimeout("menuTurnOn("+index+");", 10);
	}
	else
	{
		menuTurnOn(index);
	}
	return false;
}

function menuBarEntry(index)
{
	var out = "", onClick = false, onMouseOver = false, func = "menuBarClick("+index+")";
	onClick = func;
	
	// KORR: 04.09.00/ak Check raus auf Wunsch, Jetzt sind alle mit onMouseOver
	if(1 || isNav && navigator.appVersion.indexOf("Mac") >= 0)
	{
		onMouseOver = "" + func + ";menuClearTimeout()"; // "menuClearTimeout();"
	}
	
	out += a("#","menubar",onMouseOver,"menuInstallTimeout(200)",onClick)+
		menuBarPrePostFix+mbarArray[index][0]+menuBarPrePostFix+
		e_a();
	return  out;
}


function menuTurnOn(index)
{
	var startY = 8;
	var img = getImage("menuWeiss"+index);
	var menu = document.menu;
  
	if(isNav)
	{
		menu.menuTop = document.layers["menuTopLayer"];
//start eb
		startY = menu.menuTop.pageY;
//		startY = menu.menuTop.pageY+2;
//end eb
	}
	else
	{
		menu.menuTop = document.all["menuTopDiv"];
//start eb
		startY = menu.menuTop.offsetTop;
//		startY = menu.menuTop.offsetTop+2;
//end eb
//start eb
		if (startY < 10) startY = 130;
//end eb
		
	}
//openDOMBrowser(menu);
	menuPosY = 0;
	setFormsVisible(false,0,0,800,600);
	menuShow(menuCurrent,0);
	setObjPosVis(menu,img.x,startY,true);
	setObjPosVis(getLayer("menubottom"),0,menuPosY,true);

//	menuInstallTimeout(2000);
}

function menuFinish(index)
{
	var out = "";
	out = div("menu",menuWidth,300,null) +preloadPics()+ e_div();
		
	document.writeln(out);
	
	document.menu = getMenuLayer();
	document.menu.onMouseOver = menuClearTimeout;
	document.menu.onMouseOut = menuInstallTimeout;
	document.menu.onmouseover = menuClearTimeout;
	document.menu.onmouseout = menuInstallTimeout;
	return false;
}

function setFormsVisible(show,x,y,right,bottom)
{
	if(isNav)
	{
		var s;
		for(s = 0; s < document.layers.length; s++)
		{
			if(document.layers[s].id.slice(0,7) == "formlay")
			{
//				if(flag || bottom > document.layers[s].pageY && right > document.layers[s].pageX && left < document.layers[s].pageX + document.layers[s].clip.width)
				if(show)
					document.layers[s].visibility = "visible";
				else
					document.layers[s].visibility = "hidden";
			}
		}
	}
}
//-->
