
var dataOpen = new Array();
				
var html = "";
var selectedMenu = 0;

var currentRoot = 0;
var parentSelectable = false;

var selMenuID = -1;
var selBranchID = -1;

var rewriteTimerID = 0;

var openPageLink = "";

var lastLangSel = "";

function menuImgTag(img, depth) {
	if (depth==0)
		return '<img src="..\/..\/common\/images\/' +img+ '" border="0" hspace="1">&nbsp;&nbsp;';
	else
		return '<img width="16" height="16" src="..\/..\/common\/images\/' +img+ '" border="0" hspace="' +(4)+ '">&nbsp;';
}

function menuImgTagWH(img, w, h) {
	return '<img style="padding:0;line-height:0;margin:0;" width="' + w + '" height="' + h + '" src="..\/..\/common\/images\/' +img+ '" border="0" hspace="4" vspace="0">&nbsp;';
}

function writeMenu() {
	if (rewriteTimerID) {
		try {
			clearTimeout(rewriteTimerID);
		} catch (e) {}
	}

	html='';
	
	html+=beforeMainMenu;
	
	// for m, see menustr.js
	for(var i=0;i<m.length;i+=2) {
		currentRoot=i*0.5;
		parentSelectable=(currentRoot!=selectedMenu);
		
		var goDown = ((selectedMenu*2)==i);
		getMenuFromObj(m[i], m[i+1], 0, goDown);
	}
	
	html+=afterMainMenu;
	
	var themenu = document.getElementById("menu");
	themenu.innerHTML=html;
}

var jstack = new Array();

function getMenuFromObj(nitem, obj, depth, godown) {
	if (isString(obj)) {
		getMenuItem(nitem, depth, obj);
	} else {
		
		insertSpace(20/(depth*2+1));
		getMenuParent(nitem, depth, null);
		if (godown) {
			var arr = new Array()
			arr = obj;
			for(var j=0;j<arr.length;j+=2) {
				parentSelectable=false;
				getMenuFromObj(arr[j], arr[j+1], depth+1, true);
			}
		}
	}
}

function getMenuParent(nitem, depth, path) {
	html+= beforeParentMenu;
	if (parentSelectable) {
		// 2007.03.24:
		var parentMenuHREF = default_m[nitem];

		if (depth==0)
			html+= spanIdent(depth, linkParentFrom(dataLabels[nitem], parentMenuHREF, linkTarget + parentUnselClass));
		else
			html+= spanIdent(depth, linkParentFrom(dataLabels[nitem], parentMenuHREF, linkTarget + parentUnselClassS));

		if (depth==0)
			if (currentRoot==selBranchID)
				html+=menuImgTagWH('menu.arrow.gif', 16, 16);
	} else {
		if (depth==0)
			html+= spanIdent(depth, dataLabelsO[nitem], parentSelClass);
		else
			html+= spanIdent(depth, dataLabelsO[nitem], parentSelClassS);
	}
	html+= afterParentMenu;
}

function getMenuItem(nitem, depth, link) {
	html+= beforeItemMenu;
	if (link=="!") {
		html+= spanIdent(depth, linkItemFrom(dataLabels[nitem], home, 'target="_top" ' + itemClass));
	} else {
		html+= spanIdent(depth, linkItemFrom(dataLabels[nitem], link, linkTarget+itemClass));
	}
	if (selMenuID==nitem) {
		openPageLink = link;
		html+=menuImgTagWH('menu.arrow.gif', 16, 16);
	}
	html+= afterItemMenu;
}

function isString(arr) {
	return (typeof(arr)=='string');
}

function spanIdent(depth, str, additional) {
	return '<span ' +additional+ ' style="margin-left:' +depth*30+ 'px">' + str + '<\/span>';
}

function linkParentFrom(str, link, additional) {
	return '<a ' + additional + ' href="' + link + '" onclick="javascript:selectMenu('+currentRoot+');scheduleRewrite();">' + str + '<\/a>';
}

function linkItemFrom(str, link, additional) {
	return '<a ' + additional + ' href="' + link + '" onclick="javascript:selMenuID=0;scheduleRewrite();">' + str + '<\/a>';
}

function selectMenu(n) {
	selectedMenu=n;
	writeMenu();
}

function IAM(n, smi) {
	selectMenu(n);
	selBranchID = n;
	selMenuID = smi;
	writeMenu();
}

function insertSpace(npixel) {
	html+='<tr height="' +npixel+ '"><td><\/td><\/tr>';
}

function scheduleRewrite()
{
	if (rewriteTimerID) {
		try {
			clearTimeout(rewriteTimerID);
		} catch (e) {}
	}		
	rewriteTimerID = setTimeout("writeMenu()", 500);
}

function switchLang(lang)
{
	try {
		if (lastLangSel == lang) {
			lastLangSel = "";
			return true;
		}
		lastLangSel = lang;
		if (openPageLink == "") {
			return true;
		} else {
			parent.frameContents.location = "..\/..\/" + lang + openPageLink.substr(2);
		}
		return false;
	} catch (e) {
		return true;
	}
}

var beforeMainMenu = '<table width="100%" border="0" cellspacing="0">';
var beforeParentMenu = '<tr><td class="textal" height="20" valign="bottom">';
var beforeItemMenu = '<tr><td class="textal">';
var afterItemMenu = '<\/td><\/tr>';
var afterParentMenu = '<\/td><\/tr>';
var afterMainMenu = '<\/table>';

var parentSelClass = ' class="menuParentSel" ';
var parentUnselClass = ' class="menuParentUnsel" ';
var parentSelClassS = ' class="menuParentSelSmall" ';
var parentUnselClassS = ' class="menuParentUnselSmall" ';
var itemClass = ' class="menuItem" ';

var linkTarget=' target="frameContents" ';


