var menu_timer;
var slide_smootheness = 5;
var slide_delay = 0;
function wm_menuSlide(menuId, menuHeight, menuWidth){
	var oMenu = document.getElementById(menuId);
	var realOffsetHeight = parseInt(oMenu.style.height);
	var newHeight = realOffsetHeight + slide_smootheness;
	if (newHeight >= menuHeight || slide_delay == 0){
		oMenu.style.height = menuHeight;
		return;
	}
	else {
		oMenu.style.height = newHeight;
		setTimeout("wm_menuSlide('" + menuId + "', " + menuHeight + ", " + menuWidth + ")", slide_delay);
	}
}

function wm_menuShow(menuName){
	//menuName have format _[name]
	wm_menuCloseAll(menuName);
	var menuId = "img" + menuName;
	var oImage = document.getElementById(menuId);
	var lastIndexOf_ = oImage.src.lastIndexOf('_');
	var newSrc = oImage.src.substring(0, lastIndexOf_) + "_movr." + wm_2_img_type;
	oImage.src = newSrc;
	var menuId = "menu" + menuName;
	var oMenu = document.getElementById(menuId);
	if (oMenu != null){
		if (oMenu.style.visibility == "hidden"){
			var menuHeight = oMenu.offsetHeight;
			var menuWidth = oMenu.offsetWidth;
			var menuLeft = getLeft(oImage);
			var menuTop = getTop(oImage) + 25;
			oMenu.style.top = menuTop;
			oMenu.style.left = menuLeft;
			oMenu.style.height = 0;
			imageWidth = oImage.offsetWidth;
			m_border_external = document.getElementById("m_border_external");
			if (menuWidth > imageWidth){
				m_border_external.style.left = menuLeft + imageWidth - 1;
			}
			else {
				m_border_external.style.left = menuWidth + menuLeft;
			}
			m_border_external.style.width = Math.abs(imageWidth - menuWidth);
			m_border_external.style.height = 1;
			m_border_external.style.top = menuTop;
			m_border_external.style.visibility = "visible";
			oMenu.style.visibility = "visible";
			wm_menuSlide(menuId, menuHeight, menuWidth);
		}
	}
	clearTimeout(menu_timer);
}

function wm_menuClose(){
	menu_timer = setTimeout("wm_menuCloseAll()", 400);
}

function wm_menuCloseSlide(menuId, originalHeight){
	var oMenu = document.getElementById(menuId);
	var newHeight = oMenu.offsetHeight - slide_smootheness;
	if (newHeight <= 0 || slide_delay == 0){
		oMenu.style.visibility = "hidden";
		oMenu.style.height = originalHeight;
		
		var indexOf_ = menuId.indexOf("_");
		var menuName = menuId.substring(indexOf_, menuId.length);
		var imageId = "img" + menuName;
		var oImage = document.getElementById(imageId);
		var src = oImage.src;
		var lastIndexOf_ = src.lastIndexOf('_');
		if (src.substring(lastIndexOf_ + 1, lastIndexOf_ + 5) == "movr"){
			oImage.src = src.substring(0, lastIndexOf_ + 1) + "mout." + wm_2_img_type;
		}
		var allMenuClosed = true;
		for (var m = 0; m < Menues.length; m++){
			if (Menues[m].style.visibility == "visible"){
				allMenuClosed = false;
				break;
			}
		}
		if (allMenuClosed){
			var m_border_external = document.getElementById("m_border_external");
			m_border_external.style.visibility = "hidden";
		}
	}
	else {
		oMenu.style.height = newHeight;
		setTimeout("wm_menuCloseSlide('" + menuId + "', " + originalHeight + ")", slide_delay);
	}
}

function wm_menuCloseAll(menuName){
	//if menuName then do not close that menu or its parents
	if (menuName == null){
		for (var m = 0; m < Menues.length; m++){
			if (Menues[m].style.visibility == "visible"){
				wm_menuCloseSlide(Menues[m].id, Menues[m].offsetHeight);
			}
		}
	}
	else{
		for (var m = 0; m < Menues.length; m++){
			if (Menues[m].id != "menu" + menuName){
				Menues[m].style.visibility = "hidden";
				var imageId = "img" + Menues[m].id.substring(4, Menues[m].id.length);
				var oImage = document.getElementById(imageId);
				var src = oImage.src;
				var lastIndexOf_ = src.lastIndexOf('_');
				if (src.substring(lastIndexOf_ + 1, lastIndexOf_ + 5) == "movr"){
					oImage.src = src.substring(0, lastIndexOf_ + 1) + "mout." + wm_2_img_type;
				}
			}
		}
	}
}

function InitializeNavigation(){
	MenuBuild();
}


