// Copyright pin GmbH / Gerd Hartmann, Feb.2001   (ins include)
// last change :
//	05.03.2001
//	06.03.2001 +menuEntry(....,highlight) um image bei rollover zu highlighten
//
//	07.05.2001 menuInit(): +spacing  und  a_class statt font
//
//	14.05.2001 BUGFIX !!!! IE 4.0 !!!! (onload in body-tag wird nicht ausgefuert, wenn document.write(...) im head !)
//
//	13.06.2001 BUGFIX ! bei spacing vor erstem menuentry kein space!


NS=(document.layers)?true:false
IE=(document.all)?true:false

function dummyobj() {}
glob=new dummyobj()
glob.images=new dummyobj()
glob.menus=new dummyobj()
glob.lmenu=new dummyobj()
glob.lmenu[1]=null
glob.lmenu[2]=null
glob.lmenu[3]=null
glob.initready=false
glob.initready2=false


function NSreload(){
	function reDo() { if (innerWidth != origWidth || innerHeight != origHeight) location.reload() }
	if (NS) {origWidth = innerWidth;origHeight = innerHeight;onresize = reDo;}
}




function showObj(o){if (!o) alert("undefined");else {var s="";for (var x in o) s+=x+" = "+o[x]+"\n";alert(s)}}




function getImage(name) {
	var im=document.images[name]
	if ((!im)&&NS){for (var i=0;i<document.layers.length;i++){
		im=document.layers[i].document.images[name];if (im) return im}}
	return im
}




function getX(o) { return (IE)?getIEXY(o  ):o.x}
function getY(o) { return (IE)?getIEXY(o,1):o.y}
function getIEXY(o,yy) {
		if (!o) return 0
		if (o.nodeName=="BODY") return 0
		if (yy) return o.offsetTop +getIEXY(o.offsetParent,1)
		else	return o.offsetLeft+getIEXY(o.offsetParent)
}




function setLayerXY(layer,x,y){if(IE){layer.style.pixelLeft=x;layer.style.pixelTop=y;}else{layer.x=x;layer.y=y;}}
function showLayer(layer) {shLayer(layer,"visible")}
function hideLayer(layer) {shLayer(layer,"hidden")}
function shLayer(layer,sh) {if (IE) layer.style.visibility=sh; else layer.visibility=sh}
function lmovr1() {glob.lmenu[1].mo=true}
function lmovr2() {glob.lmenu[2].mo=true}
function lmovr3() {glob.lmenu[3].mo=true}
function lmout1() {glob.lmenu[1].mo=false}
function lmout2() {glob.lmenu[2].mo=false}
function lmout3() {glob.lmenu[3].mo=false}
function getLayer(name) {
	if (IE) {var l=document.all.tags("div");for (var i=0; i<l.length;i++) {if (l[i].id==name) return l[i]};return null}//Copyright pin GmbH
	else return document.layers[name]
}





function scanImages(glob) {
	scanImagesSub(document.images,glob)
	if (NS) { for (var i=0;i<document.layers.length;i++) scanImagesSub(document.layers[i].document.images,glob) }//Copyright pin GmbH
}
function scanImagesSub(images,glob) {
	for (var idx=0;idx<images.length;idx++) {
		var im=images[idx];var name=im.name
		var backscan=new dummyobj()
		while (name) {
			var p=name.indexOf(";")+1
			if (p)	{s=name.substring(0,p-1);name=name.substring(p,name.length)}
			else	{s=name;name=""}
			p=s.indexOf(":")+1
			if (p) {
				var key=s.substring(0,p-1);var arg=s.substring(p,s.length);var src_hl=arg
				if (src_hl.charAt(0)=="_") {		// <img name="BLA:_d" src="/images/bla_d.gif">
					p=im.src.lastIndexOf("_")
					var p2=im.src.lastIndexOf(".")
					src_hl=im.src.substring(0,p)+src_hl+im.src.substring(p2,im.src.length)
				}
				else if (src_hl.charAt(0)!="/") {	// <img name="BLA:/images/balbla2.gif" .....
					p=im.src.lastIndexOf("/")
					src_hl=im.src.substring(0,p+1)+src_hl
				}
				if (key.charAt(0)=="@") {			// check url <img name="@profil:_h;BLA:_h" ....
					key=key.substring(1,key.length)
					if (window.document.URL.indexOf(key)!=-1) {
						im.src=src_hl
						for (key in backscan) glob.images[key].src_ll=src_hl
					}
				}
				else if (key=="!HIGHLIGHT") {
					var hli=glob.images[arg]
					if (hli) {hli.src_ll=hli.src_hl;hli.real_image.src=hli.src_hl}
				}
				else {
					var i=new Image();i.src=src_hl
					i.src_ll=im.src
					i.src_hl=src_hl
					i.real_image=im
					glob.images[key]=i;backscan[key]=1
	}	}	}	}	
	glob.initready=true;
}


function hl(keys,menu)	{multihlll(keys,true );if (menu) showMenu(menu)}
function ll(keys)		{multihlll(keys,false)}
function mri(level) {var o=glob.lmenu[level];if(o)o=o.rootImage;return o}// return menu-rootImage
function multihlll(keys,mo) {
	var k2=keys;var k=""
	while (k2) {
		var p=k2.indexOf(";")+1
		if (p)	{k=k2.substring(0,p-1);k2=k2.substring(p,k2.length)}
		else	{k=k2;k2=""}
		var i=glob.images[k];glob.last_image_hl=k
		if (i) {
			i.mo=mo
			if(mo){var ml=i.isOnMenuLevel;if(ml){hideMenu(ml+2);hideMenu(ml+1)}}
			if( (i!=mri(1))&&(i!=mri(2))&&(i!=mri(3)) ) i.real_image.src=(mo)?i.src_hl:i.src_ll
		}
}	}
function showMenu(name) {
	if ((glob.initready&&glob.initready2)==false) return
	var m=glob.menus[name]
	hideMenu(m.level+2);hideMenu(m.level+1)
	if (m!=glob.lmenu[m.level]) hideMenu(m.level)
	
	var ri=glob.images[glob.last_image_hl]
	if (ri) m.rootImage=ri
	//else alert(glob.last_image_hl+" nicht in glob.images gefunden !") //!!!!!!!!!!!!!!!
	//showObj(glob.images)
	
	m.rootImage.mo=true;m.cnt=0
	var im=m.rootImage.real_image
	var x=getX(im);var y=getY(im)
	if (NS&&(m.level>1)) { // layer.x,y addieren !
		x+=glob.lmenu[m.level-1].layer.x
		y+=glob.lmenu[m.level-1].layer.y
	}
	switch(m.relpos) {
		case "lu": y+=im.height; break
		case "ro": x+=im.width; break
		case "ru": x+=im.width; y+=im.height; break
	}
	x+=m.relposX;y+=m.relposY
	
	var l=getLayer(name+"_u");setLayerXY(l,x,y);showLayer(l);m.layerU=l
	var l=getLayer(name		);setLayerXY(l,x,y);showLayer(l);m.layer=l
	glob.lmenu[m.level]=m;m.mo=false
	var mi=null,mo=null
	if (m.level==1) {mi=lmovr1;mo=lmout1}
	if (m.level==2) {mi=lmovr2;mo=lmout2}
	if (m.level==3) {mi=lmovr3;mo=lmout3}
	l.onmouseover=mi;l.onmouseout=mo
}
function hideMenu(level) {
	if ((1<=level)&&(level<=3)){
	m=glob.lmenu[level]
	if (m!=null) {
		hideLayer(m.layerU);hideLayer(m.layer)
		m.rootImage.real_image.src=m.rootImage.src_ll
		m.layer.onmouseover=null
		m.layer.onmouseout=null
		glob.lmenu[level]=null
}	}}
function checkMenu(level) {
	if (level>3) return false
	var m=glob.lmenu[level];var mo=false
	if (m) {
		var submo=checkMenu(level+1)
		mo=(m.rootImage.mo||m.mo||submo)
		if (mo) m.cnt=0; else {m.cnt++; if (m.cnt>2) hideMenu(level)}
	}
	return mo
}


function menuInit(normal,highlight,border,bordercolor,spacing,a_class) {
	glob.menu_image_ll=new Image;glob.menu_image_ll.src=normal
	glob.menu_image_hl=new Image;glob.menu_image_hl.src=highlight
	glob.menu_bd=(border)?border:0
	glob.menu_bdcol=(bordercolor)?' bgcolor="#'+bordercolor+'"':''
	glob.menu_spacing=spacing
	glob.menu_a_class=(a_class)?' class="'+a_class+'"':''
	glob.menu_cnt=0
}
function menuOpen(level,name,width,root,relpos,rpx,rpy) {
	// level: 1=root 2=submenu 3=subsubmenu !!!
	var t='<table border="0" class="menu" cellpadding="';var tt='" cellspacing="0">'
	glob.lay1=t+glob.menu_bd+tt+'<tr><td'+glob.menu_bdcol+'>'+t+0+tt
	glob.lay2=t+glob.menu_bd+tt+'<tr><td>'+t+0+tt
	glob.layername=name;glob.layerImageCnt=1;glob.menuwidth=width;glob.menuroot=(root)?root:""
	var m=new dummyobj()
	m.relpos=relpos?(relpos):"lu"
	m.relposX=rpx?(rpx):0
	m.relposY=rpy?(rpy):0
	m.level=level;glob.menulevel=level
	m.rootImage=new Image()
	glob.menus[name]=m
	glob.menu_cnt2=0
}
function menuEntry(height,href,text,submenu,highlight) {
		var sm=(submenu)?(",'"+submenu+"'"):""
		var img=glob.layername+'_img'+glob.layerImageCnt;glob.layerImageCnt++;var qi="'"+((highlight)?highlight+";":"")+img+"'"
		var spcg=(glob.menu_spacing!=0)?'<tr><td colspan="2"'+glob.menu_bdcol+'><img src="/robin/dreiviertel/images/blank.gif" width="'+glob.menuwidth+'" height="'+glob.menu_spacing+'"></td></tr>':''
		if (glob.menu_cnt2!=0) {glob.lay1+=spcg; glob.lay2+=spcg;}
		glob.lay1+='<tr><td><img name="'+img+'" src="'+glob.menu_image_ll.src+'" width='+glob.menuwidth+' height='+height+'></td></tr>'
		glob.lay2+='<tr><td><img src="/images/blank.gif" width="1	" height="'+height+'"></td><td><a href="'+glob.menuroot+href+'" onMouseOver="hl('+qi+sm+')" onMouseOut="ll('+qi+')"'+glob.menu_a_class+'>&nbsp;'+text+'</a></td></tr>'
		var i=new Image()
		i.src_ll=glob.menu_image_ll.src
		i.src_hl=glob.menu_image_hl.src
		i.isOnMenuLevel=glob.menulevel
		i.real_image=null
		i.real_image_name=img
		glob.images[img]=i
		glob.menu_cnt+=1; glob.menu_cnt2+=1
}
function menuClose() {
	var t='</table></td></tr><tr><td><img src="/images/blank.gif" width="'+glob.menuwidth+'" height="1"></td></tr></table>'
	if (NS){document.write('<layer class="absolute" visibility=hide id="'+glob.layername+'_u">'+glob.lay1+t+"</layer>")
			document.write('<layer class="absolute" visibility=hide id="'+glob.layername+  '">'+glob.lay2+t+"</layer>")}
	if (IE){
			var lhtml= '<div id="'+glob.layername+'_u" style="position:absolute; visibility:hidden;">'+glob.lay1+t+"</div>"
			    lhtml+='<div id="'+glob.layername+  '" style="position:absolute; visibility:hidden;">'+glob.lay2+t+"</div>"
			document.write(lhtml)
	}
}
function menuFinish() {
	for (name in glob.images) {
		var img=glob.images[name];if (img.real_image_name) img.real_image=getImage(img.real_image_name)
	}
	glob.initready2=true
}
