function MenuHider(element){this.element=element;this.hideAllSubmenus();this.showMenuForCurrentPage();}MenuHider.prototype.showMenuForCurrentPage=function(){var rootSpan=Elements.getChildByClass(this.element,"subnav-title");var rootMenuAnchor=Elements.getChildByTagName(rootSpan,"A");if(rootMenuAnchor&&this.locationsMatch(rootMenuAnchor.href,window.location.href)){this.addSelected(rootSpan.parentNode,true);}else{this.removeSelected(rootSpan.parentNode,true);}var menuItems=Elements.getElementsByClassName(this.element,"nav");var self=this;Array.each(menuItems,function(element){var anchor=Elements.getChildByTagName(element,"A");if(self.locationsMatch(anchor.href,window.location.href)){self.addSelected(element,false);self.showChildMenus(anchor);self.showParentMenus(anchor);}else{self.removeSelected(element,false);}});};MenuHider.prototype.locationsMatch=function(linkA,linkB){var regStr="^([^?#]+)";var regex=new RegExp(regStr);linkA=regex.exec(linkA)[1];linkB=regex.exec(linkB)[1];return(linkA==linkB);};MenuHider.prototype.addSelected=function(element,isRoot){var selectedClass;var elementClasses=new ClassName(element);if(isRoot){selectedClass="root-selected";elementClasses.removeClass("root");}else{selectedClass="selected";}if(!elementClasses.contains(selectedClass)){elementClasses.addClass(selectedClass);}};MenuHider.prototype.removeSelected=function(element,isRoot){var selectedClass;if(isRoot){selectedClass="root-selected";}else{selectedClass="selected";}var elementClasses=new ClassName(element);if(elementClasses.element){if(elementClasses.contains(selectedClass)){elementClasses.removeClass(selectedClass);}}};MenuHider.prototype.showParentMenus=function(element){var parent=element.parentNode;while(parent.id!="menu-root"){var elementClasses=new ClassName(parent);if(parent.className.contains("menu")){if(elementClasses.contains("toHide")){elementClasses.removeClass("toHide");}}parent=parent.parentNode;}};MenuHider.prototype.showChildMenus=function(element){var linkText=element.innerHTML;var submenuElement=Elements.getElementById("menu-"+linkText);if(submenuElement!=null){var elementClasses=new ClassName(submenuElement);if(elementClasses.contains("toHide")){elementClasses.removeClass("toHide");}}};MenuHider.prototype.hideAllSubmenus=function(){var subMenuItems=Elements.getElementsByClassName(this.element,"menu");Array.each(subMenuItems,function(element){var elementClasses=new ClassName(element);if(!elementClasses.contains("toHide")){elementClasses.addClass("toHide");}});};
