function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var activeMenu;

function createMenu(name){
	var el = Ext.get(name + '-link');
	var tid = 0, menu, doc = Ext.getDoc();
	
	var handleOver = function(e, t){
		if(t != el.dom && t != menu.dom && !e.within(el) && !e.within(menu)){
			hideMenu();
		}	
	};
			
	var hideMenu = function(){
		if(menu){
			menu.hide();
			//el.setStyle('text-decoration', '');
			doc.un('mouseover', handleOver);
			doc.un('mousedown', handleDown);
		}
	}
	
	var handleDown = function(e){
		if(!e.within(menu)){
			hideMenu();
		}
	}
	
	var showMenu = function(){
		clearTimeout(tid);
		tid = 0;
		
		if (!menu) {
			menu = new Ext.Layer({shadow:'sides', hideMode: 'display'}, name + '-menu');
		}
		menu.hideMenu = hideMenu;
			
		menu.el = el;
		if(activeMenu && menu != activeMenu){
			activeMenu.hideMenu();
		}
		activeMenu = menu;
		
		if (!menu.isVisible()) {
			menu.show();
			menu.alignTo(el, 'tl-bl?');
			menu.sync();
			//el.setStyle('text-decoration', 'underline');
			
			doc.on('mouseover', handleOver, null, {buffer:150});
			doc.on('mousedown', handleDown);
		}
	}
	
	el.on('mouseover', function(e){
		if(!tid){
			tid = showMenu.defer(150);				
		}
	});
	
	el.on('mouseout', function(e){
		if(tid && !e.within(el, true)){
			clearTimeout(tid);
			tid = 0;				
		}
	});
}

Ext.onReady(function() {
	MM_preloadImages('/images/menu/bt_information-contact_over.gif','/images/menu/bt_exhibitions_over.gif','/images/menu/bt_performance_over.gif','/images/menu/bt_calendar_over.gif','/images/menu/bt_membership-giving_over.gif','/images/menu/bt_store-cafe_over.gif','/images/menu/bt_councils_over.gif','/images/li_menu.gif');
})