function PopupMenu(id,zIndex,dxShadow){var _this=this;this.menu_id=id;this.controlDiv=null;this.zIndex=100;this.dxShadow=3;this.menuItems=null;this.submenus=[];this.bDoHide=false;this.parentItem=null;this.parentMenu=null;this.submenuIndex=null;this.bHasSubmenus=false;this.OnClose=null;if(!isNaN(zIndex))this.zIndex=zIndex;if(!isNaN(dxShadow))this.dxShadow=dxShadow;this.Create=function(e,t){if(!isNaN(e))this.zIndex=e;if(!isNaN(t))this.dxShadow=t;var i=document.createElement("DIV");i.id=this.menu_id;i.className="bx-popup-menu";i.style.position="absolute";i.style.zIndex=this.zIndex;i.style.left="-1000px";i.style.top="-1000px";i.style.visibility="hidden";i.onclick=_this.PreventDefault;document.body.appendChild(i);i.innerHTML='
"};this.ClearItemsStyle=function(){var e=document.getElementById(this.menu_id+"_items");for(var t=0;t=m&&u<=r&&l>=o&&l<=d)return false;if(_this.controlDiv){var h=jsUtils.GetRealPos(_this.controlDiv);if(u>=h["left"]&&u<=h["right"]&&l>=h["top"]&&l<=h["bottom"])return false}_this.PopupHide();return true};this.OnKeyPress=function(e){if(!e)e=window.event;if(!e)return;if(e.keyCode==27)_this.PopupHide()};this.PreventDefault=function(e){if(!e)e=window.event;if(e.stopPropagation){e.preventDefault();e.stopPropagation()}else{e.cancelBubble=true;e.returnValue=false}return false};this.GetItemIndex=function(e){var t=_this.menu_id+"_item_";var i=parseInt(e.id.substr(t.length));return i};this.ShowSubmenu=function(item,bMouseOver,bDontShow){if(!item)item=this;var item_index=_this.GetItemIndex(item);if(bMouseOver==true){if(!_this.menuItems[item_index]["__time"])return;var dxTime=(new Date).valueOf()-_this.menuItems[item_index]["__time"];if(dxTime<500)return}var menu;if(!_this.submenus[item_index]){menu=new PopupMenu(_this.menu_id+"_sub_"+item_index);menu.Create(_this.zIndex+10,_this.dxShadow);menu.SetItems(_this.menuItems[item_index].MENU);menu.BuildItems();menu.parentItem=document.getElementById(_this.menu_id+"_item_"+item_index);menu.parentMenu=_this;menu.OnClose=function(){jsUtils.addEvent(document,"keypress",_this.OnKeyPress)};_this.submenus[item_index]=menu;if(_this.menuItems[item_index].ONMENUPOPUP)eval(_this.menuItems[item_index].ONMENUPOPUP)}else menu=_this.submenus[item_index];_this.submenuIndex=item_index;if(menu.IsVisible()||bDontShow==true)return;var item_pos=jsUtils.GetRealPos(item);var menu_pos=jsUtils.GetRealPos(document.getElementById(_this.menu_id));var pos={left:menu_pos["right"]-1,right:menu_pos["left"]+1,top:item_pos["bottom"]+1,bottom:item_pos["top"]};jsUtils.removeEvent(document,"keypress",_this.OnKeyPress);menu.controlDiv=item;menu.PopupShow(pos)};this.OnSubmenuMouseOver=function(){_this.OnItemMouseOver(this);var e=_this.GetItemIndex(this);if(!_this.menuItems[e]["__time"])_this.menuItems[e]["__time"]=(new Date).valueOf();var t=this;setTimeout(function(){_this.ShowSubmenu(t,true)},550)};this.OnItemMouseOver=function(e){if(_this.bHasSubmenus)_this.ClearItemsStyle();var t=e?e:this;t.className="popupitem popupitemover";if(_this.parentItem){_this.bDoHide=false;if(_this.parentItem.className!="popupitem popupitemover"){_this.parentMenu.ClearItemsStyle();_this.parentItem.className="popupitem popupitemover"}}if(_this.submenuIndex!=null){var i=_this.GetItemIndex(t);if(_this.submenuIndex!=i&&_this.submenus[_this.submenuIndex]){_this.submenus[_this.submenuIndex].bDoHide=true;setTimeout(function(){_this.HideSubmenu()},500)}}};this.OnSubmenuMouseOut=function(){var e=_this.GetItemIndex(this);_this.menuItems[e]["__time"]=null};this.OnItemMouseOut=function(){this.className="popupitem"};this.HideSubmenu=function(){if(_this.submenuIndex==null)return;if(_this.submenus[_this.submenuIndex].bDoHide!=true)return;_this.submenus[_this.submenuIndex].PopupHide()};this.SetItems=function(e){this.menuItems=e;this.submenus=[]};this.SetItemIcon=function(e,t){if(typeof e=="string"||e instanceof String){for(var i in this.menuItems){if(this.menuItems[i].ID&&this.menuItems[i].ID==e){this.menuItems[i].ICONCLASS=t;var s=document.getElementById(e);if(s){var n=jsUtils.FindChildObject(s,"div");if(n)n.className="icon "+t}break}}}else{var n=jsUtils.FindChildObject(jsUtils.FindChildObject(e,"td","gutter",true),"div");if(n){this.menuItems[this.GetItemIndex(e)].ICONCLASS=t;n.className="icon "+t}}};this.SetAllItemsIcon=function(e){for(var t=0,i=this.menuItems.length;t0)i.deleteRow(0);var s=e.length;for(var n=0;n