var MenuController=Class.create();MenuController.prototype={gV:null,gU:null,qt:null,qq:null,mV:null,eE:true,al:null,fM:80,initialize:function(mapController,menuFrame,expanded,menudiv){try{this.al=mapController;this.al.addEventListener("onresize",this.pj.bind(this));this.gV=menuFrame;this.gU=menudiv;if(this.gU==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 co=this.getMenuWidth();this.al.gp({x:co+this.fM,y:0,navigationMenuWidth:this.fM,menuWidth:co});}this.qt=this.addEventType("onmenuexpand");this.qq=this.addEventType("onmenutruncate");this.mV=this.addEventType("onmenutoggle");if(this.gV!=null){this.pj();}},uB:function(){this.gU.style.display="block";var co=this.getMenuWidth();this.al.gp({x:co+this.fM,y:0,navigationMenuWidth:this.fM,menuWidth:co});this.al.eK();this.qt.fire();this.mV.fire(this.eE);},uy:function(){this.al.eK();this.qq.fire();this.mV.fire(this.eE);},expand:function(){if(!this.eE){this.toggleMenu();var co=this.getMenuWidth();this.al.gp({x:co+this.fM,y:0,navigationMenuWidth:this.fM,menuWidth:co});}},truncate:function(){if(this.eE){this.toggleMenu();var co=this.getMenuWidth();this.al.gp({x:this.fM,y:0,navigationMenuWidth:this.fM,menuWidth:0});}},toggleMenu:function(){if(this.eE){this.al.gp({x:0,y:0,navigationMenuWidth:0,menuWidth:0});this.gU.style.display="none";this.gU.style.left="-355px";this.uy();this.eE=false;}else{this.gU.style.left="0px";this.uB();this.eE=true;}return!this.eE;},pj:function(oy,aO,pb){var bannerHeight=0;if(!$defined(pb)){var cf=Utilities.Window.getSize();var aJ=cf.height;aJ-=$('mapWrapper').offsetTop;var eD=aJ-MapSettings.offsetBottom-bannerHeight;if(this.gV!=null){$("menuFrame").style.height=eD+"px";$("leftmenu").style.overflow="hidden";try{$("menuFrame").contentWindow.setMenuHeight(eD);}catch(e){Event.observe(window,"load",function(){$("menuFrame").contentWindow.setMenuHeight(eD);});}}else{$("leftmenu").style.height=eD+"px";}}else{var eD=pb-25-bannerHeight;if(this.gV!=null){$("menuFrame").style.height=eD+"px";$("leftmenu").style.overflow="hidden";try{$("menuFrame").contentWindow.setMenuHeight(eD);}catch(e){Event.observe(window,"load",function(){$("menuFrame").contentWindow.setMenuHeight(eD);});}}else{$("leftmenu").style.height=eD+"px";}}},getMenu:function(){if(this.gV!=null){return this.gV;}else{return window;}},isVisible:function(){return this.eE;},getMenuWidth:function(){return 365;}};Object.extend(MenuController.prototype,new AbstractEventTrigger());