//create some drop down menus
var dropDownMenus={
	all:[],
	active:null,
	hideActive:function(anim){
		if(!this.active)return;
		if(anim !== false)anim=true;
		if(anim)this.active.hideMenu();
		else this.active.hide(); 
		this.active=null;
	}
};
var dds=null; 
function menuInit(){
	dds = [{
		id:"ddmnuHistory",
		menu:Ext.get("mnuHistory"),
		width:150,
		items:[
			{id:"mnuStaff",text:"Staff",url:"history/staff.html"},
			{id:"mnuNews",text:"MSP in the News",url:"history/news.html"},
			{id:"mnuEscapes",text:"Escapes",url:"escapes/"},
			{id:"mnuRiot",text:"Riot of 1954",url:"riot/"},
			{id:"mnuInfamous",text:"Infamous Inmates",url:"inmates/"},
			{id:"mnuWomen",text:"Women Behind Bars",url:"history/women.html"},
			{id:"mnuPunishment",text:"Punishment",url:"history/punishment.html"},
			{id:"mnuIndustry",text:"Industry",url:"history/industry.html"},
			{id:"mnuEras",text:"Eras",url:"history/eras.html"},
			{id:"mnuTimeline",text:"Timeline",url: "history/timeline.html"}
		]
	},{
		id:"ddmnuPVA",
		width:196,
		menu:Ext.get("mnuPVA"),
		items:[
			{id:"mnuPhoto",text:"Aerial Photo",url:"pva/photo.html"},
			{id:"mnuVideo",text:"Video Clips",url:"pva/video.html"},
			{id:"mnuAudio",text:"Audio Version of Site",url:"pva/audio.html"}
		]
	},{
		id:"ddmnuContact",
		width:200,
		menu:Ext.get("mnuContact"),
		items:[
			{id:"mnuVisitorBureau",text:"Convention & Visitors Bureau",url:"contact/index.html"},
			{id:"mnuSchreiber",text:"Somewhere In Time",url:"contact/book.html"},
			{id:"mnuRSB",text:"Site Developers",url:"contact/rsb.html"}
		]
	}];
	
	for(var i=0;i<dds.length;i++){
		var m=dds[i];
		var s=['<div id="',m.id,'" class="menu-dropdown x-hidden">'];
		for(var j=0;j<m.items.length;j++){
			var mie = m.items[j];
			s.push('<div class="menu-dropdown-item"><a target="ifrContent" href="' + mie.url + '">' + mie.text + '</a></div>');
		}
		s.push('</div>');
		s=s.join("");
		var el = $g(Ext.getBody().insertHtml('beforeEnd',s));
		var orient=(m.id=="ddmnuContact")?'tr-br':'tl-bl';
		var offset=(m.id=="ddmnuContact")?[24,0]:[0,0];
		if(m.width)el.setWidth(m.width);
		el.anchorTo(m.menu,orient,offset,false,true);
		el.startShowingMenu = function(){
			this.started=true;
			this.hiding=false;
			this.showMenu.defer(500,this);
		}
		el.showMenu = function(){
			//do nothing if the event was cancelled
			if(!this.started)return;
			this.started=false;
			//do nothing if we're already up
			dropDownMenus.active=this;
			if(this.isVisible())return;
			//slide in
			this.slideIn('t',{duration:0.3,scope:this,callback:function(){
				//add overcls
				this.addClass('over-enabled');
				this.select('.menu-item').removeClass('menu-item-over')
			}});
		}
		el.hideMenu = function(){
			this.started=false;
			if(!this.isVisible())return;
			this.hiding=true;
			this.removeClass('over-enabled');
			this.slideOut('t',{duration:0.3});
		}
		//widen the menu to match the header
		var ew = el.getWidth();
		var mw = m.menu.getWidth();
		if(ew<mw)el.setWidth(mw);
		
		//add to the collection
		dropDownMenus.all.push(el);
		m.menu.ddmenu=el;
	}
	//over & click handlers
	var mzz=Ext.select(".menu-item, .menu-dropdown-item")
	mzz.addClassOnOver("menu-item-over");
	mzz.each(function(e){
		var a = e.child("a");
		var r=a.dom.getAttribute("href");
		e.on('click',function(){
			dropDownMenus.hideActive(false);
			Ext.get("ifrContent").dom.src=r;
		});
	});
	
	//make menus hide visible dropdowns
	Ext.select(".menu-item").on("mouseover",function(){
		if(dropDownMenus.active != $g(this).ddmenu)dropDownMenus.hideActive();
	});
	Ext.select(".menu-dropdown-icon").on("click",function(e){
		e.stopEvent();
		var d = $g(this).prev('.menu-item').ddmenu;
		if(!d.isVisible()){
			d.started=true;
			d.showMenu();
		}
		else dropDownMenus.hideActive();
	}).addClassOnOver('menu-dropdown-icon-over');
	Ext.getBody().on("click",function(){dropDownMenus.hideActive();});
}

