var Spry;if(!Spry) {Spry = {};}if(!Spry.Widget) {Spry.Widget = {};}Spry.Widget.MenuBar = function(element, opts) {this.init(element, opts);};Spry.Widget.MenuBar.prototype.init = function(element, opts) {this.element = this.getElement(element);this.currMenu = null;var isie = (typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE');if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (isie && typeof document.uniqueID == 'undefined')) {return;}if(opts) {for(var k in opts) {var rollover = new Image;rollover.src = opts[k];}}if(this.element) {this.currMenu = this.element;var items = this.element.getElementsByTagName('li');for(var i=0; i<items.length; i++) {this.initialize(items[i], element, isie);if(isie) {this.addClassName(items[i], "MenuBarItemIE");items[i].style.position = "static";} } if(isie) {if(this.hasClassName(this.element, "MenuBarVertical")) {this.element.style.position = "relative";}var linkitems = this.element.getElementsByTagName('a');for(var i=0; i<linkitems.length; i++) {linkitems[i].style.position = "relative";} }}};Spry.Widget.MenuBar.prototype.getElement = function(ele) {if (ele && typeof ele == "string") return document.getElementById(ele);return ele;};Spry.Widget.MenuBar.prototype.hasClassName = function(ele, className) {if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1) {return false;}return true;};Spry.Widget.MenuBar.prototype.addClassName = function(ele, className) {if (!ele || !className || this.hasClassName(ele, className)) return;ele.className += (ele.className ? " " : "") + className;};Spry.Widget.MenuBar.prototype.removeClassName = function(ele, className) {if (!ele || !className || !this.hasClassName(ele, className)) return;ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");};Spry.Widget.MenuBar.prototype.addEventListener = function(element, eventType, handler, capture) {try {if (element.addEventListener) {element.addEventListener(eventType, handler, capture);} else if (element.attachEvent) {element.attachEvent('on' + eventType, handler);}}catch (e) {}};Spry.Widget.MenuBar.prototype.createIframeLayer = function(menu) {var layer = document.createElement('iframe');layer.tabIndex = '-1';layer.src = 'javascript:false;';menu.parentNode.appendChild(layer);layer.style.left = menu.offsetLeft + 'px';layer.style.top = menu.offsetTop + 'px';layer.style.width = menu.offsetWidth + 'px';layer.style.height = menu.offsetHeight + 'px';};Spry.Widget.MenuBar.prototype.removeIframeLayer = function(menu) {var layers = menu.parentNode.getElementsByTagName('iframe');while(layers.length > 0) {layers[0].parentNode.removeChild(layers[0]);}};Spry.Widget.MenuBar.prototype.clearMenus = function(root) {var menus = root.getElementsByTagName('ul');for(var i=0; i<menus.length; i++) {this.hideSubmenu(menus[i]);}this.removeClassName(this.element, "MenuBarActive");};Spry.Widget.MenuBar.prototype.bubbledTextEvent = function() {return (navigator.vendor == 'Apple Computer, Inc.' && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget)));};Spry.Widget.MenuBar.prototype.showSubmenu = function(menu) {if(this.currMenu) {this.clearMenus(this.currMenu);this.currMenu = null;}if(menu) {this.addClassName(menu, "MenuBarSubmenuVisible");if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE') {if(!this.hasClassName(this.element, "MenuBarHorizontal") || menu.parentNode.parentNode != this.element) {menu.style.top = menu.parentNode.offsetTop + 'px';} } if(typeof document.uniqueID != "undefined") {this.createIframeLayer(menu);}}this.addClassName(this.element, "MenuBarActive");};Spry.Widget.MenuBar.prototype.hideSubmenu = function(menu) {if(menu) {this.removeClassName(menu, "MenuBarSubmenuVisible");if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE') {menu.style.top = '';menu.style.left = '';} this.removeIframeLayer(menu);}};Spry.Widget.MenuBar.prototype.initialize = function(listitem, element, isie) {var opentime, closetime;var link = listitem.getElementsByTagName('a')[0];var submenus = listitem.getElementsByTagName('ul');var menu = (submenus.length > 0 ? submenus[0] : null);var hasSubMenu = false;if(menu) {this.addClassName(link, "MenuBarItemSubmenu");hasSubMenu = true;}if(!isie) {listitem.contains = function(testNode) {if(testNode == null) {return false;}if(testNode == this) {return true;}else {return this.contains(testNode.parentNode);} };}var self = this;this.addEventListener(listitem, 'mouseover', function(e) {if(self.bubbledTextEvent()) {return;} clearTimeout(closetime);if(self.currMenu == listitem) {self.currMenu = null;} self.addClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");if(menu && !self.hasClassName(menu, "MenuBarSubmenuVisible")) {opentime = window.setTimeout(function(){self.showSubmenu(menu);}, 250);}}, false);this.addEventListener(listitem, 'mouseout', function(e) {if(self.bubbledTextEvent()) {return;} var related = (typeof e.relatedTarget != 'undefined' ? e.relatedTarget : e.toElement);if(!listitem.contains(related)) {clearTimeout(opentime);self.currMenu = listitem;self.removeClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");if(menu) {closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, 600);} }}, false);};