var cmsMenuVisible = false;

function showCMSMenu(){
	var myAnim = new YAHOO.util.Anim('cmsmenucontent', {
  		height: {to: 100} 
	}, 0.7, YAHOO.util.Easing.easeBoth);
	myAnim.onComplete.subscribe(function(){
		cmsMenuVisible = true;
	});
	myAnim.animate();
}

function hideCMSMenu(){
	var myAnim = new YAHOO.util.Anim('cmsmenucontent', {
  		height: {to: 0} 
	}, 0.7, YAHOO.util.Easing.easeBoth);
	myAnim.onComplete.subscribe(function(){
		cmsMenuVisible = false;
	});
	myAnim.animate();
}

function toggleCMSMenu() {
	if(cmsMenuVisible)
		hideCMSMenu();
	else
		showCMSMenu();
}


var activeCMSSubmenu = null;
var activeCMSSubmenuName = null;

function invokeCMSMenu(parent, name, items) {
	if(activeCMSSubmenu && activeCMSSubmenuName == name)
		hideCMSSubmenu();
	else
		showCMSSubmenu(parent, name, items);
}

function showCMSSubmenu(parent, name, items) {
	var submenuElement = document.createElement("div");
	submenuElement.className = "cmssubmenu";
	var contentElement = document.getElementById("cmsmenucontent");
	contentElement.appendChild(submenuElement);
	
	submenuElement.style.left = parent.offsetLeft + "px";
	submenuElement.style.top = (parent.clientTop + parent.clientHeight) + "px";
	submenuElement.style.width = (parent.offsetWidth) + "px";
	
	var listElement = document.createElement("ul");
	submenuElement.appendChild(listElement);
	
	for(var title in items) {
		var url = items[title];
		
		var itemElement = document.createElement("li");
		listElement.appendChild(itemElement);
		var linkElement = document.createElement("a");
		itemElement.appendChild(linkElement);
		linkElement.href = url;
		linkElement.innerHTML = title;
	}
	activeCMSSubmenu = submenuElement;
	activeCMSSubmenuName = name;
	
	var fullHeight = submenuElement.clientHeight;
	submenuElement.style.height = 0;
	
	var myAnim = new YAHOO.util.Anim(submenuElement, {
  		height: {to: fullHeight, from: 0} 
	}, 0.3, YAHOO.util.Easing.easeBoth);
	myAnim.animate();
}

function hideCMSSubmenu() {
	if(activeCMSSubmenu) {
		var myAnim = new YAHOO.util.Anim(activeCMSSubmenu, {
				height: {to: 0} 
		}, 0.3, YAHOO.util.Easing.easeBoth);
		myAnim.onComplete.subscribe(function(){
			activeCMSSubmenu.parentNode.removeChild(activeCMSSubmenu);
			activeCMSSubmenu = null;
		});
		myAnim.animate();
	}
}