// BMS Menu				author: Tuomas Laatikainen, 2002

var mnuItems = new Array;
var mnuMenus = new Array;
var mnuNro = 0;
var subNro = 0;
var wndmnu = null;
var frameMain = 'main';
var frameTop = 'header';
var menusClear = true;
var menu_debug = false;
var printContent = '';

var BrowserInfo = navigator.userAgent.toLowerCase();
var NS = (navigator.appName == 'Netscape');
var NS4 = ((NS) && !(document.getElementById)) ;
var NS6 = (BrowserInfo.indexOf("netscape6") > 0);
var NS7 = (BrowserInfo.indexOf("netscape/7") > 0);
var IE4 = (BrowserInfo.indexOf("msie 4.") > 0);
var DOM = (document.getElementById) ? 1 : 0;

var debug_lastwarning = '';

function debugInfo(text) {
	if (text != debug_lastwarning) window.alert(text);
	debug_lastwarning = text;
}

function checkReady(div_item) {
	var wnd = eval('parent.' + frameMain);
	if (wnd) {
		var doc = eval('parent.' + frameMain + '.document');
		if (doc) {
			if (NS4) {
				if (div_item == 'mnu') wndmnu = doc.layers[div_item]; else wndmnu = doc.layers['mnu'].document.layers[div_item];
			} else if (DOM) { wndmnu = doc.getElementById(div_item); } else if (IE4) { wndmnu = doc.all(div_item); }
			if (wndmnu) return true; else {
				if (menu_debug) debugInfo('Layeriä ' + div_item + ' ei löydy. Tarkista menujen luonti koodi!');	
				return false;
			}
		} else return false;
	} else {
		if (menu_debug) debugInfo('Framea ' + frameMain + ' ei löydy. Tarkista index-dokumentti!');
	}
}

function getPageTop() {
	var wnd = eval('parent.' + frameMain);
	if (wnd) {
		if ((frameMain != 'window') && (frameTop != 'window')){
			if (IE4 || DOM) return eval('parent.' + frameMain + '.document.body.scrollTop');
			if (NS4) return eval('parent.' + frameMain + '.pageYOffset');
		} else return 0;
	} else return 0;
}

function getMenuTop(menuName) {
	for (i=0;i<mnuNro;i++) {
		if (mnuMenus[i][0] == menuName) return mnuMenus[i][2];
	}
}

function setContent() {
	if (checkReady('mnu')) {
		if (NS4) { 
			wndmnu.document.open();wndmnu.document.write(printContent);wndmnu.document.close(); 
		} else if (DOM || IE4) wndmnu.innerHTML = printContent;
	}
}


function getMenuNro(menuName) {
	var menu = -1;
	for (i=0;i<mnuNro;i++) {
		if (mnuMenus[i][0] == menuName) menu = i; 
	}
	return menu;
}

function clearMenu(menuName) {
	var menu;
	menu = getMenuNro(menuName);
	if (menu > -1) {
		for (i=0;i<mnuItems[menu].length;i++) {
			if (mnuItems[menu][i][2] != '') {
				popUp(mnuItems[menu][i][2], false);
				window.setTimeout('clearMenu("' + mnuItems[menu][i][2] + '")',1);
			}
		}
	}
}

function clearAllMenusExcept(menuName) {
	for (i=0;i<mnuNro;i++) {
		if (menuName != mnuMenus[i][0]) popUp(mnuMenus[i][0], false);
	}
}

function clearAllMenus() {
	if (!menusClear) {
		for (i=0;i<mnuNro;i++) popUp(mnuMenus[i][0], false);
	}
	menusClear = true;
}

function popUp(menuName, on)
{
	if (checkReady(menuName)) {
		if (on) {
			menusClear = false
			if (NS4) {parent[frameMain].document.layers['mnu'].top = (getPageTop());wndmnu.visibility = "show"; }
			if ((DOM || IE4) && !(NS6)) {wndmnu.style.pixelTop = getMenuTop(menuName) + getPageTop();wndmnu.style.visibility = "visible";}
			if (NS6) {wndmnu.style.pixelTop = getMenuTop(menuName) + getPageTop();wndmnu.style.display = "block";}
		} else {
			if (NS4) wndmnu.visibility = "hide";
			if ((DOM || IE4) && !(NS6)) {
				if (wndmnu.style.visibility != "hidden") wndmnu.style.visibility = "hidden";
			}
			if (NS6) wndmnu.style.display = "none";
		}
	} else { 
		if (getMenuNro(menuName) != -1)	{ printMenus(); window.setTimeout('popUp("' + menuName + '",' + on + ')',100); }
	}
}

function showMenu(menuName) {
	clearAllMenusExcept(menuName);
	popUp(menuName, true);
}


function createPrintContent() {
	var submenu_visibility = '100%';
	var submenu_tablewidth;
	var mnuTableWidth2 = mnuTableWidth-2;
	var submenu_over, submenu_popup, submenu_location, submenu_name = '';
	var clearallmenus = "parent." + frameTop + ".clearAllMenus()";
	if ((NS4) || (IE4)) mnuTablePaddingNS4 = 2; else mnuTablePaddingNS4 = 0;
	if (NS6) submenu_visibility = 'display: none'; else submenu_visibility = 'visibility: hidden';
	for (i=0;i<mnuNro;i++) {
		printContent += '<div id="' + mnuMenus[i][0] + '" style="position: absolute;left:' + mnuMenus[i][1] + 'px;top: ' + mnuMenus[i][2] + 'px;' + submenu_visibility + '"><table cellspacing="0" cellpadding="0" border="0" width="' + mnuTableWidth + '" class="menuTable"><tr><td colspan="3" width="' + mnuTableWidth + '" bgcolor="' + mnuTableBGColor + '"><img src="/images/dot.gif" width="1" height="1" border="0"></td></tr>';
		for (i2=0;i2<mnuItems[i].length;i2++) {
			submenu_name = "window.status='" + mnuItems[i][i2][0] + "';return true;"
			if (mnuItems[i][i2][2] != '') submenu_popup = "parent." + frameTop + ".clearMenu('" + mnuMenus[i][0] + "');parent." + frameTop + ".popUp('" + mnuItems[i][i2][2] + "',true);"; else submenu_popup = "parent." + frameTop + ".clearMenu('" + mnuMenus[i][0] + "');";
			if (submenu_popup != '') submenu_over = ' onMouseOver="' + submenu_popup + submenu_name + '"'; else submenu_over = ' onMouseOver="' + submenu_name + '"';
			if (mnuItems[i][i2][1] != '') submenu_location = mnuItems[i][i2][1]; else submenu_location = submenu_location = 'javascript:void(0);';
			printContent += '<tr><td width="1" bgcolor="' + mnuTableBGColor + '"><img src="/images/dot.gif" width="1" height="' + menuCellHeight + '"></td><td width="' + mnuTableWidth2 + '" bgcolor="' + mnuTDBGColor + '">' + mnuTDFont + '<a class="menulink" style="text-decoration: none;" target="' + mnuTarget + '" href="' + submenu_location + '" ' + submenu_over + '>' + mnuItems[i][i2][0] + '</a></font></td><td width="1" height="' + menuCellHeight + '" bgcolor="' + mnuTableBGColor + '"><img src="/images/dot.gif" width="1" height="1"></td></tr><tr><td colspan="3" width="' + mnuTableWidth + '" bgcolor="' + mnuTableBGColor + '"><img src="/images/dot.gif" width="1" height="1"></td></tr>';
		}
		printContent += '</table>';
		if ((navigator.appName == 'Netscape') || (IE4)) printContent += '<a href="javascript:void(0)" onMouseOver="' + clearallmenus + '"><img src="/images/dot.gif" width="' + mnuTableWidth + '" height="20" border="0"></a>'; 
		printContent += '</div>';
	}
}

function printMenus() {
	if (printContent == '') createPrintContent();
	setContent();
}

function addMenu(mnu_name, mnu_left, mnu_top)  {
	mnuMenus[mnuNro] = new Array(mnu_name, mnu_left, mnu_top);
	mnuNro++;
	subNro = 0;
}

function addItem(text, link, submenu) { 
	if (subNro == 0) mnuItems[mnuNro] = new Array;
	mnuItems[mnuNro][subNro] = new Array(text, link, submenu);
	subNro++;
}

window.setTimeout('printMenus()',300);
