var menuON=0
var aktline=new Array()

function getXY(a) {
	var y, x, z, v
	while (1) {
		if(a.tagName=="TABLE") {
			z=a.parentNode.offsetLeft
			y=a.parentNode.offsetTop
			v=a.offsetWidth
			x=z+v
			break;
		}
		a=a.parentNode
	}
	return new Array(y,x,z,v);
}

function showsub(id, onoff) {
	var newsub=getObj("s"+id.id)
	if(newsub) {
		if(onoff) {
			if(id.id) {
				if(id.id.length==1) {
					y=id.offsetTop-7
					x=id.offsetLeft+id.offsetWidth
				}
				else {
					var txy=getXY(id)
					y=txy[0]+id.offsetTop+ypad
					x=txy[2]+txy[3]+xpad
				}
				
				if(x+newsub.offsetWidth>=mnumaxwidth) {
					if(id.id.length==1) x-=newsub.offsetWidth-id.offsetWidth
					else x=txy[2]-newsub.offsetWidth-xpad
				}
				newsub.style.top=y+"px"
				newsub.style.left=x+"px"
			}
		}
		newsub.style.visibility=onoff?"visible":"hidden"
	}
}

function clearLevel(lvl) {
	for(c=aktline.length; c>=lvl; c--) {
		if(aktline[c]) {
			aktline[c].className="off"
			if(aktline[c].id) 
				showsub(aktline[c], 0)
		}
		aktline[c]=''
	}
	if(!aktline[0]) {
		var tmp=getObj("menutop").getElementsByTagName("A")
		for(var c=0; c<tmp.length; c++)
			tmp[c].className="off"
		getObj("leftmnubottom").style.width="70px"
		getObj("rightmnubottom").className="bottomline"
		getObj("topmnuline").className="bottomline"
	}
}

function highlight(id) {
	if(aktline[id.name]!=id.name) {
		if(aktline[id.name]) 
			clearLevel(parseInt(aktline[id.name].name))
		id.className="ON"
		if(id.id)
 			showsub(id,1)
		if(!aktline[0]) {
			var tmp=getObj("menutop").getElementsByTagName("A")
			var z=0;
			for(var c=0; c<tmp.length; c++) {
				if(tmp[c]==id) z=1;
				if(tmp[c]!= id) {
					if(!z) tmp[c].className="off"
					else tmp[c].className="neutral"
				}
			}
			getObj("leftmnubottom").style.width="88px"
			getObj("rightmnubottom").className=""
			getObj("topmnuline").className=""
		}
		aktline[id.name]=id
	}
	else if(aktline.length>parseInt(id.name))
		clearLevel(parseInt(aktline[id.name].name)+1)
}

function slowhide() {
	if(shide) {
		clearLevel(0)
		menuON=0
	}
}

function testIfMnu(e) {
	if(menuON) {
		if(shide) clearTimeout(shide)
		var tmpev=(ie5)?event.srcElement:e.target;
		if(!partOf(getObj("mainmenu"),tmpev)) {
			if(!aktline[1]) {
				shide=setTimeout("slowhide()", 0);
			}
			else {
				shide=setTimeout("slowhide()",500);
			}
		}
	}
}
function partOf(a, b) {
	while (b.parentNode) {
		if ((b = b.parentNode) == a)
			return true;
	}
	return false;
}

function initmenu() {
	if(shadow && ie5) {
		var tt=getObj("mainmenu").getElementsByTagName("DIV")
		for(var tl=0; tl<tt.length; tl++) {
			if(tt[tl].id.substring(0,3)=="hsu") {
				tt[tl].style.width=tt[tl].parentNode.childNodes[1].offsetWidth-1+"px"
				tt[tl].style.height=tt[tl].parentNode.childNodes[1].offsetHeight-1+"px"
//				tt[tl].style.background="rgb(90,90,0)"
			}
		}
	}
}

document.onmouseover=testIfMnu

