function sendMenuState(e,t,s,o,i,n,u){if((!this.beforeMenuSubmit||beforeMenuSubmit(e,t,s))&&(!i||doFieldValidation(t,null,n,getFormElems(s),!0,s,u))){null==s&&(s="");var r=getForm(s);null!=r&&null!=r.MODE&&(r.MODE.value=t),setMenuState(s,e,o),r.action=getVariable(s,"act"),r.submit()}}function setMenuState(e,t,s){var o=getForm(e);if(null!=o){var i=o.elements[s+"MENUSTATE"];null==i&&((i=document.createElement("input")).setAttribute("name",s+"MENUSTATE"),i.setAttribute("type","HIDDEN"),o.appendChild(i));var n="";for(var u in t)n+=u+"^"+t[u]+"#";n.indexOf("#")==n.length-1&&(n=n.substring(0,n.length-1)),n.indexOf("|")==n.length-1&&(n=n.substring(0,n.length-1)),i.value=n}}var MenubarItem=function(e,t){this.menu=t,this.domNode=e,this.popupMenu=!1,this.hasFocus=!1,this.hasHover=!1,this.isMenubarItem=!0,this.keyCode=Object.freeze({TAB:9,RETURN:13,ESC:27,SPACE:32,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40})};MenubarItem.prototype.init=function(){this.domNode.addEventListener("keydown",this.handleKeydown.bind(this)),this.domNode.addEventListener("focus",this.handleFocus.bind(this)),this.domNode.addEventListener("blur",this.handleBlur.bind(this)),this.domNode.addEventListener("mouseover",this.handleMouseover.bind(this)),this.domNode.addEventListener("mouseout",this.handleMouseout.bind(this));var e=this.domNode.nextElementSibling;e&&"SPAN"===e.tagName&&(e=e.nextElementSibling),e&&"UL"===e.tagName&&(this.domNode.parentElement.classList.add("has-popout"),this.popupMenu=new PopupMenu(e,this),this.popupMenu.init())},MenubarItem.prototype.handleKeydown=function(e){var t,s=e.key,o=!1;switch(e.keyCode){case this.keyCode.SPACE:case this.keyCode.RETURN:case this.keyCode.DOWN:"vertical"===this.menu.orientation?(this.menu.setFocusToNextItem(this),o=!0):this.popupMenu&&"vertical"!==this.menu.orientation&&(this.popupMenu.open(),this.popupMenu.setFocusToFirstItem(),o=!0);break;case this.keyCode.LEFT:"vertical"===this.menu.orientation&&this.popupMenu?(this.popupMenu.open(),this.popupMenu.setFocusToLastItem(),o=!0):(this.menu.setFocusToPreviousItem(this),o=!0);break;case this.keyCode.RIGHT:"vertical"===this.menu.orientation&&this.popupMenu?(this.popupMenu.open(),this.popupMenu.setFocusToFirstItem(),o=!0):(this.menu.setFocusToNextItem(this),o=!0);break;case this.keyCode.UP:"vertical"===this.menu.orientation?(this.menu.setFocusToPreviousItem(this),o=!0):this.popupMenu&&"vertical"!==this.menu.orientation&&(this.popupMenu.open(),this.popupMenu.setFocusToLastItem(),o=!0);break;case this.keyCode.HOME:case this.keyCode.PAGEUP:this.menu.setFocusToFirstItem(),o=!0;break;case this.keyCode.END:case this.keyCode.PAGEDOWN:this.menu.setFocusToLastItem(),o=!0;break;case this.keyCode.ESC:this.popupMenu.close(!0);break;default:1===(t=s).length&&t.match(/\S/)&&(this.menu.setFocusByFirstCharacter(this,s),o=!0)}o&&(e.stopPropagation(),e.preventDefault())},MenubarItem.prototype.setExpanded=function(e){e?this.domNode.setAttribute("aria-expanded","true"):this.domNode.setAttribute("aria-expanded","false")},MenubarItem.prototype.handleFocus=function(e){this.menu.hasFocus=!0},MenubarItem.prototype.handleBlur=function(e){this.menu.hasFocus=!1},MenubarItem.prototype.handleMouseover=function(e){this.hasHover=!0,this.popupMenu&&this.popupMenu.open()},MenubarItem.prototype.handleMouseout=function(e){this.hasHover=!1,this.popupMenu&&setTimeout(this.popupMenu.close.bind(this.popupMenu,!1),300)};var Menubar=function(e){var t="Menubar constructor argument menubarNode ";if(e instanceof Element==!1)throw new TypeError(t+"is not a DOM Element.");if(0===e.childElementCount)throw new Error(t+"has no element children.");for(var s=e.firstElementChild;s;){var o=s.firstElementChild;if(o&&"A"!==o.tagName)throw new Error(t+"has child elements are not A elements.");s=s.nextElementSibling}this.isMenubar=!0,this.domNode=e,this.menubarItems=[],this.firstChars=[],this.firstItem=null,this.lastItem=null,this.hasFocus=!1,this.hasHover=!1,this.orientation="horizontal"};Menubar.prototype.init=function(){var e,t,s,o,i=this.domNode.firstElementChild;for(this.domNode.parentElement.parentElement.matches(".menuvert")&&(this.orientation="vertical");i;)(t=i.firstElementChild)&&"A"===t.tagName&&((e=new MenubarItem(t,this)).init(),this.menubarItems.push(e),s=t.textContent.trim(),this.firstChars.push(s.substring(0,1).toLowerCase())),i=i.nextElementSibling;(o=this.menubarItems.length)>0&&(this.firstItem=this.menubarItems[0],this.lastItem=this.menubarItems[o-1]),this.firstItem.domNode.tabIndex=0},Menubar.prototype.setFocusToItem=function(e){for(var t=!1,s=0;s-1&&this.setFocusToItem(this.menubarItems[o])},Menubar.prototype.getIndexFirstChars=function(e,t){for(var s=e;s0&&(this.firstItem=this.menuitems[0],this.lastItem=this.menuitems[i-1])},PopupMenu.prototype.handleMouseover=function(e){this.hasHover=!0},PopupMenu.prototype.handleMouseout=function(e){this.hasHover=!1,setTimeout(this.close.bind(this,!1),1)},PopupMenu.prototype.setFocusToController=function(e,t){if("string"!=typeof e&&(e=""),""!==e){if(this.controller.isMenubarItem)"previous"===e?this.controller.menu.setFocusToPreviousItem(this.controller,t):"next"===e&&this.controller.menu.setFocusToNextItem(this.controller,t);else if(this.controller.domNode.focus(),this.close(),"next"===e){var s=function(e,t){for(;e;){if(e.isMenubarItem)return e.domNode.focus(),e;t&&e.menu.close(!0),e.hasFocus=!1,e=e.menu.controller}return!1}(this.controller,!1);s&&s.menu.setFocusToNextItem(s,t)}}else this.controller&&this.controller.domNode&&this.controller.domNode.focus()},PopupMenu.prototype.setFocusToFirstItem=function(){this.firstItem.domNode.focus()},PopupMenu.prototype.setFocusToLastItem=function(){this.lastItem.domNode.focus()},PopupMenu.prototype.setFocusToPreviousItem=function(e){var t;e===this.firstItem?this.controller.domNode.focus():(t=this.menuitems.indexOf(e),this.menuitems[t-1].domNode.focus())},PopupMenu.prototype.setFocusToNextItem=function(e){var t;e===this.lastItem?this.controller.domNode.focus():(t=this.menuitems.indexOf(e),this.menuitems[t+1].domNode.focus())},PopupMenu.prototype.setFocusByFirstCharacter=function(e,t){var s,o;t=t.toLowerCase();(s=this.menuitems.indexOf(e)+1)===this.menuitems.length&&(s=0),-1===(o=this.getIndexFirstChars(s,t))&&(o=this.getIndexFirstChars(0,t)),o>-1&&this.menuitems[o].domNode.focus()},PopupMenu.prototype.getIndexFirstChars=function(e,t){for(var s=e;s=t?(this.domNode.style.right=e.width+"px",this.domNode.style.left="auto"):(this.domNode.style.left=e.width+"px",this.domNode.style.right="auto"),this.domNode.style.top=0,this.domNode.style.zIndex=100),this.controller.setExpanded(!0)},PopupMenu.prototype.close=function(e){for(var t=this.controller.hasHover,s=this.hasFocus,o=0;o