function ppop(menuTitle,menu,event) {

	//loop thru the child elements in the channel nav and hide all except current one
	navChildren = $('navlist').childElements();	
	for (i=0;i<navChildren.length;i++) {
		liId = navChildren[i].id.substr(3,navChildren[i].id.length);
		if (menu)
			menuId = menu.id.substr(3,menu.id.length);
		else
			menuId = "";
		
		if (liId != menuId) {
			if ($('mu_' + liId) != null) {
				if ($('mu_' + liId).style.display!='none')
					$('mu_' + liId).hide();
			}
		}
	}
	
	if (!menu)
		return;
	
	if(menu.style.display=='none') {
		var timerId;

		menu.show();
		Element.clonePosition(menu, menuTitle, {setLeft: true, setTop: true, setWidth: false, setHeight: false, offsetLeft:0, offsetTop: 20});
	}
	
    menu.mouseOut = function(e) {
    	var el = e.relatedTarget;
    	while (el != document)
    	{
    		el = el.parentNode;
    		if (el == menu)
    			return;
    	}
    	
    	timerId = setTimeout("$('" + menu.id + "').hide()",500);
	}.bind(menu);

	menu.mouseOver = function(e) {
		//now on the menu, stop observing menuTitle.mouseout and clear the timer for hide
		if (timerId)
			clearTimeout(timerId);
						
		Event.stopObserving(menuTitle, 'mouseout', menuTitle.mouseOut);		
	}.bind(menu);
		
	menuTitle.mouseOut = function(e) {
		//if we've left the menu title, start timer to hide
		timerId = setTimeout("$('" + menu.id + "').hide()",500);
		Event.stopObserving(menuTitle, 'mouseout', menuTitle.mouseOut);
	}.bind(menuTitle);		
	
	menuTitle.mouseOver = function(e) {
		//clear timer if moused over title
		if (timerId)
			clearTimeout(timerId);
	}.bind(menuTitle);	
	
	menuTitle.offClick = function(e) {
		//clear everything and fadeout the menus
		if (timerId)
			clearTimeout(timerId);
		
		menu.hide();
		menu.style.display = 'none';
		
		Event.stopObserving(menu, 'mouseout', menu.mouseOut);
		Event.stopObserving(menu, 'mouseover', menu.mouseOut);
		Event.stopObserving(menuTitle, 'mouseout', menuTitle.mouseOut);
		Event.stopObserving(document, 'click', menuTitle.offClick);
	}.bind(menuTitle);
	
	Event.observe(menu, 'mouseout', menu.mouseOut); //event listener for the menu div
	Event.observe(menu, 'mouseover', menu.mouseOver); //event listener for the menu div
	Event.observe(menuTitle, 'mouseout', menuTitle.mouseOut); //event listener for the menu title <a>
	Event.observe(menuTitle, 'mouseover', menuTitle.mouseOver); //event listener for the menu title <a>
	Event.observe(document, 'click', menuTitle.offClick); //event listener for the menu title <a>

	return false;
}