cr.InitMenu=function(){cr.ctrl.MenuItem=cr.Class(cr.ctrl.Action,{initialize:function(_1,_2,_3,_4){_2.m_dstWin=_1;this.InitBase(cr.ctrl.Action,_2,_3);this.m_link=false;this.m_menu=false;this.m_subMenuList=false;this.set_subMenuList(_4);},set_ownerMenu:function(_5){this.m_menu=_5;},has_submenu:function(){return (typeof this.m_subMenuList!="undefined"&&this.m_subMenuList.length>0);},set_focus:function(_6){if(this.m_link){var _7=new cr.Css(this.m_link);var _8="menuItem";if(this.has_submenu()){_8="menuItemSubMenu";}if(_6){_7.removeClassName(_8);_7.addClassName(_8+"Hover");}else{_7.removeClassName(_8+"Hover");_7.addClassName(_8);}}cr.ctrl.Action.prototype.set_focus.apply(this,[_6]);},set_subMenuList:function(_9){this.m_subMenuList=_9;this._init_submenu();},insert_subMenuItem:function(_a,_b){if(!_a){return;}if(!this.m_subMenuList){this.m_subMenuList=[];}if(typeof _a.has_submenu!="function"){cr.Extend(_a,cr.ctrl.MenuItem.prototype);}_a.set_ownerMenu(this.m_menu);if(typeof _b=="undefined"||_b<0){this.m_subMenuList.push(_a);}else{this.m_subMenuList.splice(_b,0,_a);}this._init_submenu();},_init_submenu:function(){if(this.has_submenu()){this.m_signals.hovered=cr.func.Bind(this._submenu_hovered,this);}else{this.m_signals.hovered=false;}},_submenu_hovered:function(_c,_d){if(!this.m_menu){return;}if(_c==true){var _e=this.m_menu.create_submenu(this,this.m_subMenuList);var _f=function(_10,_11){var _12=0;var el=_10;while(el!=null){_12+=el["offset"+_11];el=el.offsetParent;}return _12;};var _14={x:-2000,y:-2000};_e.popup(_14);_e.getCss().setStyle({zIndex:9999});_14.x=_f(this.m_link,"Left")+this.m_link.offsetWidth;_14.y=_f(this.m_link,"Top");var _15=cr.utils.GetPagePosition(this.m_dstWin);var _16=_15.scrollTop+_15.clientHeight;var _17=_15.scrollLeft+_15.clientWidth;var _18=parseInt(_e.getDom().offsetHeight);var _19=parseInt(_e.getStyle("width"));if(_14.x+_19>_17){_14.x=parseInt(this.m_menu.getStyle("left"))-_19;if(_14.x<_15.scrollLeft){_14.x=_15.scrollLeft;}}if(_14.y+_18>_16){_14.y=_f(this.m_link,"Top")+this.m_link.offsetHeight-_18;if(_14.y<_15.scrollTop){_14.y=_15.scrollTop;}}_e.setPosition(_14.x,_14.y);}}});cr.ctrl.Menu=cr.Class(cr.ctrl.Container,{initialize:function(_1a,_1b,_1c){this.InitBase(cr.ctrl.Container,_1a);this.dstDom=_1b||_1a.document;this._hide_timer=null;if(!_1c){this._menuList=[];}else{this._menuList=this.set_items(_1c);}this.m_parentMenu=false;this.m_subMenu=false;this.m_ownerAction=false;this.setInnerHTML("<ul class=\"menuList\" name=\"menuList\"></ul>");this._menuDom=cr.utils.SubElem(this.getDom(),"menuList","ul");this.getCss().setStyle({zIndex:9999});cr.event.observe(this.getDom(),"mouseout",cr.func.BindAsEventListener(this._menu_on_out,this));},items:function(){return this._menuList;},set_items:function(_1d){for(var i=0;i<_1d.length;i++){this.insert(_1d[i]);}},set_dstDom:function(_1f){this.dstDom=_1f;},clear:function(){this._menuList=[];},insert:function(_20,_21){if(!_20){return;}if(typeof _20.has_submenu!="function"){cr.Extend(_20,cr.ctrl.MenuItem.prototype);}_20.set_ownerMenu(this);if(typeof _21=="undefined"||_21<0){this._menuList.push(_20);}else{this._menuList.splice(_21,0,_20);}},_createDom:function(){var _22="empty";for(var i=0;i<this.items().length;i++){var _24=this.items()[i];if(!_24.m_visible){continue;}var _25=this.m_doc.createElement("li");if(_24.has_submenu()){_25.className="menuItemSubMenu";_25.innerHTML="<div name='icon' class='menuIcon'>&nbsp;</div>";}else{_25.className="menuItem";}_25.title=_24.m_tip;this._menuDom.appendChild(_25);var _26=this.m_doc.createElement("div");_26.setAttribute("name","text");_26.className="menuText";_26.innerHTML=_24.m_text;_25.appendChild(_26);_24.m_link=_25;cr.event.observe(_25,"mouseover",cr.func.BindAsEventListener(this._item_on_over,this,_24));cr.event.observe(_25,"mouseout",cr.func.BindAsEventListener(this._item_on_out,this,_24));cr.event.observe(_25,"click",cr.func.BindAsEventListener(this._item_on_click,this,_24));_22="noEmpty";}return _22;},_item_on_over:function(_27,_28){this.hide_submenu();_28.set_focus(true);this.showMenu();_28.hover(true,_27);},_menu_on_out:function(_29){this.hideMenu();if(this.m_parentMenu){this.m_parentMenu._menu_on_out(_29);}},_item_on_out:function(_2a,_2b){_2b.set_focus(false);_2b.hover(false,_2a);},_item_on_click:function(_2c,_2d){try{this.hideMenu(0);if(this.m_parentMenu){this.m_parentMenu.hideMenu(0);}}catch(e){}_2d.trigger(false,_2c);},set_width:function(_2e){if(!_2e){return;}if(cr.browser.isGecko||cr.browser.isStdIE||cr.browser.isIE7){_2e=parseInt(_2e)-2;}else{if(cr.browser.isIE){_2e=parseInt(_2e)-6;}}var _2f=this._menuDom.childNodes;for(var i=_2f.length-1;i>=0;i--){if(_2f[i].style){if(cr.browser.isGecko||cr.browser.isIE7){_2f[i].style.width=(_2e-12)+"px";}else{_2f[i].style.width=_2e+"px";}}var _31=cr.utils.SubElem(_2f[i],"icon","div");var _32=cr.utils.SubElem(_2f[i],"text","div");if(_31){if(cr.browser.isGecko||cr.browser.isIE7){_32.style.width=(_2e-19)+"px";}else{_32.style.width=(_2e-7)+"px";}}else{if(cr.browser.isGecko||cr.browser.isIE7){_32.style.width=(_2e-12)+"px";}else{_32.style.width=_2e+"px";}}}this.getCss().setStyle({width:_2e+"px"});},_adjust_width:function(){var _33=0;var _34=this._menuDom.childNodes;for(var i=_34.length-1;i>=0;i--){var _36=cr.utils.SubElem(_34[i],"icon","div");var _37=cr.utils.SubElem(_34[i],"text","div");var _38=parseInt(_37.scrollWidth);if(_36){_38+=7;}if(_38>_33){_33=_38;}}this.set_width(_33+14);},_clearDom:function(){for(var i=this._menuDom.childNodes.length-1;i>=0;i--){this._menuDom.removeChild(this._menuDom.childNodes[i]);}},redraw:function(){this._clearDom();return this._createDom();},popup:function(_3a,_3b){this.setPosition(-2000,-2000);this.hideMenu(0);if(this.redraw()=="empty"){return;}this.getCss().setStyle({width:"1px"});this.showMenu();if(typeof _3b!="undefined"&&_3b>0){this.set_width(_3b);}else{this._adjust_width();}var _3c=cr.utils.GetPagePosition(this.m_dstWin);var _3d=_3c.scrollTop+_3c.clientHeight;var _3e=_3c.scrollLeft+_3c.clientWidth;var _3f=this.getDom().offsetHeight;var _40=this.getDom().offsetWidth;if(_3a.x+_40>_3e){_3a.x=_3a.x-_40;if(_3a.x<_3c.scrollLeft){_3a.x=_3c.scrollLeft;}}if(_3a.y+_3f>_3d){_3a.y=_3a.y-_3f;if(_3a.y<_3c.scrollTop){_3a.y=_3c.scrollTop;}}this.setPosition(_3a.x,_3a.y);},popupNear:function(_41,_42,_43,_44){_42=_42?_42:"down";var _45=cr.utils.GetOffset(_41);var css=new cr.Css(_41);if(_42==="down"){var _47=_41.clientHeight;var _48=parseInt(css.getStyle("borderTopWidth"));if(isNaN(_48)){_48=0;}this.popup(new cr.Position(_45[0]+_43,_45[1]+_47+_48+_44));}else{if(_42==="right"){var _49=_41.clientWidth;var _4a=parseInt(css.getStyle("borderLeftWidth"));if(isNaN(_4a)){_4a=0;}this.popup(new cr.Position(_45[0]+_49+_4a+_43,_45[1]+_44));}}},showMenu:function(){if(this._hide_timer){window.clearTimeout(this._hide_timer);}this._hide_timer=0;this.show();if(this.m_parentMenu){this.m_parentMenu.showMenu();}if(this.m_ownerAction){this.m_ownerAction.set_focus(true);}},_do_hide:function(){this.hide();this.hide_submenu();if(this.m_ownerAction){this.m_ownerAction.set_focus(false);}},hideMenu:function(_4b){if(typeof _4b!="number"){_4b=800;}else{if(_4b==0){return this._do_hide();}}if(!this._hide_timer){this._hide_timer=window.setTimeout(cr.func.Bind(this._do_hide,this),_4b);}},hide_submenu:function(){if(this.m_subMenu){this.m_subMenu.hideMenu(0);}},create_submenu:function(_4c,_4d){if(this.m_subMenu){this.m_subMenu.clear();}else{this.m_subMenu=new cr.ctrl.Menu(this.m_dstWin,this.dstDom);this.m_subMenu.appendTo(this.dstDom);this.m_subMenu.getCss().addClassName("window");this.m_subMenu.getCss().addClassName("menuWin");}this.m_subMenu.set_items(_4d);this.m_subMenu.m_parentMenu=this;this.m_subMenu.m_ownerAction=_4c;this.m_subMenu.redraw();return this.m_subMenu;}});cr.Provide("cr.ctrl.menu");};cr.Require(["cr.ctrl"],cr.InitMenu);