// JavaScript Document
document.attachEvent("onclick", HandleDocumentClick);

function initMenu() {
	PositionMenus(document.all.tblMenu);
	TurnMenusOff(document.all.tblMenu)
}

function HandleDocumentClick() {        
	for (e=event.srcElement; e && e.id != "tblMenu"; e = e.parentElement) {}
	if (!e) {
		// close all menus
		TurnMenusOff(document.all.tblMenu)
	}
}

function PositionMenus(TableMenu) {
	var oRows = TableMenu.rows
	for (var r=0; r<oRows.length; r++) {
		var oCells= oRows[r].cells
		for(var c=0;c<oCells.length;c++) {
			var divs = oCells[c].children.tags('div')
			if(oCells[c].id=="tdMenu") {
				var divLeft = oCells[c].offsetLeft
				var divTop = oCells[c].offsetTop + oCells[c].offsetHeight
			} else { 
				var divLeft = oCells[c].offsetLeft + oCells[c].offsetWidth
				var divTop = oCells[c].offsetTop
			}
			for(var d=0;d<divs.length;d++) {
				divs[d].style.left = divLeft
				divs[d].style.top = divTop
				var divTbl = divs[d].all.tags("TABLE")
				if(divTbl.length>0) {
					PositionMenus(divTbl[0])
				}
			}
		}
	}
}

function TurnMenusOff(oTable) {
	var oDivs= oTable.all.tags("DIV")
	for(d=0;d<oDivs.length;d++) {
		oDivs[d].style.display=""
		oDivs[d].style.display="none"
	}
	if(oTable.id=="tblMenu") {
		_mb_showControls(true)
	}
}

function _mb_showControls(bShow) {
	var myVisibility = "hidden";
	var i;
	if (bShow) {
		myVisibility = "visible";
	}
	var _tagsToHide = document.all.tblMenu.summary.split(",")
	for (i=0; i<_tagsToHide.length; i++) {
		var ctrls = document.body.all.tags(_tagsToHide[i]);
		for (j=0; j<ctrls.length; j++) {
			if (ctrls[j].parentElement.parentElement.className != "menuBar") {
				ctrls[j].style.visibility = myVisibility;
			}
		}
	}
}

function MenuHoverOff(TableMenu) {
	var oRows = TableMenu.rows
	for (var r=0; r<oRows.length; r++) {
		var oCells= oRows[r].cells
		for(var c=0;c<oCells.length;c++) {
			oCells[c].className = ""
			var divs = oCells[c].children.tags('div')
			for(var d=0;d<divs.length;d++) {
				var divTbl = divs[d].all.tags("TABLE")
				if(divTbl.length>0) {
					MenuHoverOff(divTbl[0])
				}
			}
		}
	}
}
function MenuSelOff(TableMenu) {
	var oRows = TableMenu.rows
	for (var r=0; r<oRows.length; r++) {
		var oCells= oRows[r].cells
		for(var c=0;c<oCells.length;c++) {
			if(oCells[c].id != "tdMenu") {
				oCells[c].id = ""
			}
			var divs = oCells[c].children.tags('div')
			for(var d=0;d<divs.length;d++) {
				var divTbl = divs[d].all.tags("TABLE")
				if(divTbl.length>0) {
					MenuSelOff(divTbl[0])
				}
			}
		}
	}
}

function ShowMenu(oTable) {
	if(window.event.srcElement.tagName!="TD") {
		var SrcEl = window.event.srcElement.parentElement	
	} else {
		var SrcEl = window.event.srcElement 
	}
	try {
		if(SrcEl.tagName=="TD") {
			//  Turn siblings off
			TurnMenusOff(SrcEl.offsetParent)
			MenuSelOff(SrcEl.offsetParent)
			if(SrcEl.tagName=="TD" && SrcEl.id!="tdMenu") {
				SrcEl.id = "MenuSel"
			}
			if(SrcEl.all.tags('div').length<=0) {
/*				if(!SrcEl.onclick) {
					alert("This function is currently not available.")
				}*/
				TurnMenusOff(document.all.tblMenu)
			} else {
					
				//  Turn selected menu on
				if(SrcEl.all.tags('div')[0].style.display=='none') {
					SrcEl.all.tags('div')[0].style.display=''
					_mb_showControls(false)
				} else {
					SrcEl.all.tags('div')[0].style.display='none'
				}
			}
		}
		throw "an error";
	}
	catch(e) {}
}

function MenuHover(oTable) {
	if(window.event.srcElement.tagName!="TD") {
		var SrcEl = window.event.srcElement.parentElement	
	} else {
		var SrcEl = window.event.srcElement 
	}
	try {
		if(SrcEl.tagName=="TD" && SrcEl.id!="tdMenu") {
			//  Turn siblings off
			MenuHoverOff(SrcEl.offsetParent)
			//  Turn selected menu on
			SrcEl.className = "MenuHover"
		}
		throw "an error";
	}
	catch(e) {}
}