var MenuController=Class.create();MenuController.prototype={kL:null,kM:null,ui:null,un:null,oz:null,jh:true,fj:null,jw:80,initialize:function(mapController,menuFrame,expanded,menudiv){try{this.fj=mapController;this.fj.addEventListener("onresize",this.vu.bind(this));this.kL=menuFrame;this.kM=menudiv;if(this.kM==null){var msg="argument menudiv cannot be null.";throw{message:msg};}}catch(e){}var doTruncate=(typeof expanded!="undefined")?expanded==false:false;if(doTruncate){this.truncate();}else{var gR=this.getMenuWidth();this.fj.kC({x:gR+this.jw,y:0,navigationMenuWidth:this.jw,menuWidth:gR});}this.ui=this.addEventType("onmenuexpand");this.un=this.addEventType("onmenutruncate");this.oz=this.addEventType("onmenutoggle");if(this.kL!=null){this.vu();}},wB:function(){this.kM.style.display="block";var gR=this.getMenuWidth();this.fj.kC({x:gR+this.jw,y:0,navigationMenuWidth:this.jw,menuWidth:gR});this.fj.iW();this.ui.fire();this.oz.fire(this.jh);},wu:function(){this.fj.iW();this.un.fire();this.oz.fire(this.jh);},expand:function(){if(!this.jh){this.toggleMenu();var gR=this.getMenuWidth();this.fj.kC({x:gR+this.jw,y:0,navigationMenuWidth:this.jw,menuWidth:gR});}},truncate:function(){if(this.jh){this.toggleMenu();var gR=this.getMenuWidth();this.fj.kC({x:this.jw,y:0,navigationMenuWidth:this.jw,menuWidth:0});}},toggleMenu:function(){if(this.jh){this.fj.kC({x:0,y:0,navigationMenuWidth:0,menuWidth:0});this.kM.style.display="none";this.kM.style.left="-355px";this.wu();this.jh=false;}else{this.kM.style.left="0px";this.wB();this.jh=true;}return!this.jh;},vu:function(su,fK,sn){var bannerHeight=0;if(!$defined(sn)){var gP=Utilities.Window.getSize();var fN=gP.height;fN-=$('mapWrapper').offsetTop;var ji=fN-MapSettings.offsetBottom-bannerHeight;if(this.kL!=null){$("menuFrame").style.height=ji+"px";$("leftmenu").style.overflow="hidden";try{$("menuFrame").contentWindow.setMenuHeight(ji);}catch(e){Event.observe(window,"load",function(){$("menuFrame").contentWindow.setMenuHeight(ji);});}}else{$("leftmenu").style.height=ji+"px";}}else{var ji=sn-25-bannerHeight;if(this.kL!=null){$("menuFrame").style.height=ji+"px";$("leftmenu").style.overflow="hidden";try{$("menuFrame").contentWindow.setMenuHeight(ji);}catch(e){Event.observe(window,"load",function(){$("menuFrame").contentWindow.setMenuHeight(ji);});}}else{$("leftmenu").style.height=ji+"px";}}},getMenu:function(){if(this.kL!=null){return this.kL;}else{return window;}},isVisible:function(){return this.jh;},getMenuWidth:function(){return 365;}};Object.extend(MenuController.prototype,new AbstractEventTrigger());