function redrawTopMenu() {
	var output = '';
	var outputList = '';
	var menuItemName;
	var menuItemAction;
	var menuItemIcon = false;
	var curHeight;
	var curLeft;
	for (var i = 0; i < menu.length; i++) {
		if (typeof(menu[i]) != 'string') {
			menuItemName = menu[i][0];
			menuItemAction = 'switchList(\'' + menuItemName + '\'); return false;';
			menuItemIcon = true;
			menuLists.push(menuItemName);
			outputList = '<div id="' + idPre + 'topMenuList-' + menuItemName + '" class="menuList">'
				+ '<ul>';
			for (var j = 0; j < menu[i][1].length; j++) {
				outputList += '<li><a href="#" onclick="currentPage = \'' + menu[i][1][j] + '\'; switchList(\'' + menuItemName + '\'); getPage(); return false;">' + dic['pages'][menu[i][1][j]][1] + '</a></li>';
			}
			outputList += '</ul>'
				+ '</div>';
			document.getElementById('tm-menuLists').innerHTML += outputList;
		}
		else {
			menuItemName = menu[i];
			menuItemAction = 'currentPage = \'' + menuItemName + '\'; getPage(); return false;';
			menuItemIcon = false;
		}
		output += '<a ';
		if (menuItemIcon === true) {
			output += 'onmouseover="switchListArrow(\'' + menuItemName + '\', true);" onmouseout="switchListArrow(\'' + menuItemName + '\', false);" ';
		}
		output += 'href="#' + menuItemName + '" title="' + dic['pages'][menuItemName][0] + '" onclick="this.blur(); ';
			if (menuItemName == 'logout') {
				output += 'logoutUser(); return false;';
			}
			else {
				output += menuItemAction;
			}
		output += '" id="' + idPre + 'topMenuItem-' + menuItemName + '">' + dic['pages'][menuItemName][1];
		if (menuItemIcon === true) {
			output += '&nbsp;<img id="' + idPre + 'topMenuListArrow-' + menuItemName + '" src="icons/arrowDown.png" alt="arrowDown" style="border: none;" />'
		}
		output += '</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
	}
	document.getElementById(idPre + 'topMenuText').innerHTML = output;
	for (var i = 0; i < menuLists.length; i++) {
		menuItemName = menuLists[i];
		curLeft = document.getElementById(idPre + 'topMenuItem-' + menuItemName).offsetLeft + document.getElementById(idPre + 'wrapper').offsetLeft;
		document.getElementById(idPre + 'topMenuList-' + menuItemName).style.left = '' + curLeft + 'px';
		curHeight = topMenuBottomPos - document.getElementById(idPre + 'topMenuList-' + menuItemName).offsetHeight - 1;
		document.getElementById(idPre + 'topMenuList-' + menuItemName).style.top = '' + curHeight + 'px';
		if (BrowserDetect.browser == 'Explorer' && BrowserDetect.version == '7') {
			document.getElementById(idPre + 'topMenuList-' + menuItemName).style.visibility = 'hidden';
		}
	}
}

function switchList(name) {
	if (BrowserDetect.browser == 'Explorer' && BrowserDetect.version == '7') {
		lockMenuSwitching = true;
		if (currentMenuList !== null) {
			if (currentMenuList == name) {
				var curHeight = topMenuBottomPos - document.getElementById(idPre + 'topMenuList-' + name).offsetHeight - 1;
				document.getElementById(idPre + 'topMenuList-' + name).style.top = '' + curHeight + 'px';
				document.getElementById(idPre + 'topMenuList-' + name).style.visibility = 'hidden';
				currentMenuList = null;
			}
			else {
				switchList(currentMenuList);
				currentMenuList = name;
				document.getElementById(idPre + 'topMenuList-' + name).style.top = '' + topMenuBottomPos + 'px';
				document.getElementById(idPre + 'topMenuList-' + name).style.visibility = 'visible';
			}
		}
		else {
			currentMenuList = name;
			document.getElementById(idPre + 'topMenuList-' + name).style.top = '' + topMenuBottomPos + 'px';
			document.getElementById(idPre + 'topMenuList-' + name).style.visibility = 'visible';
		}
		setTimeout('lockMenuSwitching = false;', 500);
	}
	else {
		lockMenuSwitching = true;
		if (currentMenuList !== null) {
			if (currentMenuList == name) {
				var curHeight = topMenuBottomPos - document.getElementById(idPre + 'topMenuList-' + name).offsetHeight - 1;
				document.getElementById(idPre + 'topMenuList-' + name).style.top = '' + curHeight + 'px';
				currentMenuList = null;
			}
			else {
				switchList(currentMenuList);
				currentMenuList = name;
				document.getElementById(idPre + 'topMenuList-' + name).style.top = '' + topMenuBottomPos + 'px';
			}
		}
		else {
			currentMenuList = name;
			document.getElementById(idPre + 'topMenuList-' + name).style.top = '' + topMenuBottomPos + 'px';
		}
		setTimeout('lockMenuSwitching = false;', 500);
	}
}

function switchListArrow(name, on) {
	if (on == true) {
		document.getElementById(idPre + 'topMenuListArrow-' + name).src = menuListArrowHover.scr
	}
	else {
		document.getElementById(idPre + 'topMenuListArrow-' + name).src = menuListArrow.scr
	} 
}

function getFirstPage() {
	showWindowLoading();
	document.body.style.visibility = 'visible';
	fitBody();
	redrawTopMenu();
	currentPage = 'calendar';
	getPage();
}

function getPage() {
	showWindowLoading();
	currentState['list'] = false;
	document.getElementById(idPre + 'headline').innerHTML = dic['pages'][currentPage][2];
	eval(currentPage + 'Page()');
}


