/* See license.txt for terms of usage */ define("domplate/popupMenu",["domplate/domplate","core/lib","core/trace"],function(Domplate,Lib,Trace){with(Domplate){var Controller={controllers:[],controllerContext:{label:"controller context"},initialize:function(e){this.controllers=[],this.controllerContext=e||this.controllerContext},shutdown:function(){this.removeControllers()},addController:function(){for(var e=0,t;t=arguments[e];e++){typeof t[0]=="string"&&(t[0]=$$(t[0],this.controllerContext));var n=t[2];t[2]=Lib.bind(n,this),t[3]=n,this.controllers.push(t),Lib.addEventListener.apply(this,t)}},removeController:function(){for(var e=0,t;t=arguments[e];e++)for(var n=0,r;r=this.controllers[n];n++)t[0]==r[0]&&t[1]==r[1]&&t[2]==r[3]&&Lib.removeEventListener.apply(this,r)},removeControllers:function(){for(var e=0,t;t=this.controllers[e];e++)Lib.removeEventListener.apply(this,t)}},menuItemProps={"class":"$item.className",type:"$item.type",value:"$item.value",_command:"$item.command"};Lib.isIE6&&(menuItemProps.href="javascript:void(0)");var MenuPlate=domplate({tag:DIV({"class":"popupMenu popupMenuShadow"},DIV({"class":"popupMenuContent popupMenuShadowContent"},FOR("item","$object.items|memberIterator",TAG("$item.tag",{item:"$item"})))),itemTag:A(menuItemProps,"$item.label"),checkBoxTag:A(Lib.extend(menuItemProps,{checked:"$item.checked"}),"$item.label"),radioButtonTag:A(Lib.extend(menuItemProps,{selected:"$item.selected"}),"$item.label"),groupTag:A(Lib.extend(menuItemProps,{child:"$item.child"}),"$item.label"),shortcutTag:A(menuItemProps,"$item.label",SPAN({"class":"popupMenuShortcutKey"},"$item.key")),separatorTag:SPAN({"class":"popupMenuSeparator"}),memberIterator:function(e){var t=[];for(var n=0,r=e.length;n