var __rootMenuItem; var __menuInterval; var __scrollPanel; var __disappearAfter = 500; function Menu_ClearInterval() { if (__menuInterval) { window.clearInterval(__menuInterval); } } function Menu_Collapse(item) { Menu_SetRoot(item); if (__rootMenuItem) { Menu_ClearInterval(); if (__disappearAfter >= 0) { __menuInterval = window.setInterval("Menu_HideItems()", __disappearAfter); } } } function Menu_Expand(item, horizontalOffset, verticalOffset, hideScrollers) { Menu_ClearInterval(); var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode; var horizontal = true; if (!tr.id) { horizontal = false; tr = tr.parentNode; } var child = Menu_FindSubMenu(item); if (child) { var data = Menu_GetData(item); if (!data) { return null; } child.rel = tr.id; child.x = horizontalOffset; child.y = verticalOffset; if (horizontal) child.pos = "bottom"; PopOut_Show(child.id, hideScrollers, data); } Menu_SetRoot(item); if (child) { if (!document.body.__oldOnClick && document.body.onclick) { document.body.__oldOnClick = document.body.onclick; } if (__rootMenuItem) { document.body.onclick = Menu_HideItems; } } Menu_ResetSiblings(tr); return child; } function Menu_FindMenu(item) { if (item && item.menu) return item.menu; var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode; if (!tr.id) { tr = tr.parentNode; } for (var i = tr.id.length - 1; i >= 0; i--) { if (tr.id.charAt(i) <'0' || tr.id.charat(i)> '9') { var menu = WebForm_GetElementById(tr.id.substr(0, i)); if (menu) { item.menu = menu; return menu; } } } return null; } function Menu_FindNext(item) { var a = WebForm_GetElementByTagName(item, "A"); var parent = Menu_FindParentContainer(item); var first = null; if (parent) { var links = WebForm_GetElementsByTagName(parent, "A"); var match = false; for (var i = 0; i posParent.y + parentContainer.offset + parentContainer.clippedHeight) { delta = pos.y + pos.height - posParent.y - parentContainer.offset - parentContainer.clippedHeight; PopOut_Scroll(parentContainer, delta); } else if (pos.y = 200) { __disappearAfter = data.disappearAfter; } Menu_Expand(node, data.horizontalOffset, data.verticalOffset); } function Menu_HoverDynamic(item) { var node = (item.tagName.toLowerCase() == "td") ? item: item.cells[0]; var data = Menu_GetData(item); if (!data) return; var nodeTable = WebForm_GetElementByTagName(node, "table"); if (data.hoverClass) { nodeTable.hoverClass = data.hoverClass; WebForm_AppendToClassName(nodeTable, data.hoverClass); } node = nodeTable.rows[0].cells[0].childNodes[0]; if (data.hoverHyperLinkClass) { node.hoverHyperLinkClass = data.hoverHyperLinkClass; WebForm_AppendToClassName(node, data.hoverHyperLinkClass); } if (data.disappearAfter >= 200) { __disappearAfter = data.disappearAfter; } Menu_Expand(node, data.horizontalOffset, data.verticalOffset); } function Menu_HoverRoot(item) { var node = (item.tagName.toLowerCase() == "td") ? item: item.cells[0]; var data = Menu_GetData(item); if (!data) { return null; } var nodeTable = WebForm_GetElementByTagName(node, "table"); if (data.staticHoverClass) { nodeTable.hoverClass = data.staticHoverClass; WebForm_AppendToClassName(nodeTable, data.staticHoverClass); } node = nodeTable.rows[0].cells[0].childNodes[0]; if (data.staticHoverHyperLinkClass) { node.hoverHyperLinkClass = data.staticHoverHyperLinkClass; WebForm_AppendToClassName(node, data.staticHoverHyperLinkClass); } return node; } function Menu_HoverStatic(item) { var node = Menu_HoverRoot(item); var data = Menu_GetData(item); if (!data) return; __disappearAfter = data.disappearAfter; Menu_Expand(node, data.horizontalOffset, data.verticalOffset); } function Menu_IsHorizontal(item) { if (item) { var a = ((item.tagName && (item.tagName.toLowerCase == "a")) ? item : WebForm_GetElementByTagName(item, "A")); if (!a) { return false; } var td = a.parentNode.parentNode.parentNode.parentNode.parentNode; if (td.id) { return true; } } return false; } function Menu_IsSelectable(link) { return (link && link.href) } function Menu_Key(item) { var event; if (window.event) { event = window.event; } else { event = item; item = event.currentTarget; } var key = (event ? event.keyCode : -1); var data = Menu_GetData(item); if (!data) return; var horizontal = Menu_IsHorizontal(item); var a = WebForm_GetElementByTagName(item, "A"); var nextItem, parentItem, previousItem; if ((!horizontal && key == 38) || (horizontal && key == 37)) { previousItem = Menu_FindPrevious(item); while (previousItem && previousItem.disabled) { previousItem = Menu_FindPrevious(previousItem); } if (previousItem) { Menu_Focus(previousItem); Menu_Expand(previousItem, data.horizontalOffset, data.verticalOffset, true); event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return; } } if ((!horizontal && key == 40) || (horizontal && key == 39)) { if (horizontal) { var subMenu = Menu_FindSubMenu(a); if (subMenu && subMenu.style && subMenu.style.visibility && subMenu.style.visibility.toLowerCase() == "hidden") { Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true); event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return; } } nextItem = Menu_FindNext(item); while (nextItem && nextItem.disabled) { nextItem = Menu_FindNext(nextItem); } if (nextItem) { Menu_Focus(nextItem); Menu_Expand(nextItem, data.horizontalOffset, data.verticalOffset, true); event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return; } } if ((!horizontal && key == 39) || (horizontal && key == 40)) { var children = Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true); if (children) { var firstChild; children = WebForm_GetElementsByTagName(children, "A"); for (var i = 0; i 0) { for (i = 0; i clientHeight - 2) { clip = true; PopOut_SetPanelHeight(panel, clientHeight - 2); } } } else { if (position.indexOf("bottom") != -1) { y += relCoordinates.height; WebForm_SetElementY(panel, y); } overflow = y + panelParentCoordinates.y + panelHeight - bottomWindowBorder; if (overflow > 0) { y -= overflow; WebForm_SetElementY(panel, y); if (y <-panelparentcoordinates.y) y="2" panelparentcoordinates.y scrolltop; webform_setelementy(panel, y); clip="true;" popout_setpanelheight(panel, clientheight 2); if (!clip) popout_setpanelheight(panel, panel.clippedheight, true); var panelparentoffsety="0;" if (panel.offsetparent) panelparentoffsety="WebForm_GetElementPosition(panel.offsetParent).y;" var panely="((typeof(panel.originY)" !="undefined" && (panel.originy !="null))" panel.originy panelparentoffsety; panel.originy="panelY;" if (!hidescrollers) popout_showscrollers(panel); else popout_hidescrollers(panel); var x="relCoordinates.x" parseint(panel.x panel.x 0) panelparentcoordinates.x; if (borderparent && borderparent.clientleft) +="2" borderparent.clientleft; webform_setelementx(panel, x); if (position.indexof("left") !="-1)" -="panelCoordinates.width;" webform_setelementx(panel, x); if (x -panelparentcoordinates.x) webform_setelementx(panel, -panelparentcoordinates.x); else if (position.indexof("right") !="-1)" +="relCoordinates.width;" webform_setelementx(panel, x); overflow="x" panelparentcoordinates.x panelcoordinates.width rightwindowborder; if (overflow> 0) { if (position.indexOf("bottom") == -1 && relCoordinates.x > panelCoordinates.width) { x -= relCoordinates.width + panelCoordinates.width; } else { x -= overflow; } WebForm_SetElementX(panel, x); if (x <-panelparentcoordinates.x) webform_setelementx(panel, -panelparentcoordinates.x); function popout_scroll(panel, offsetdelta) var table="WebForm_GetElementByTagName(panel," "table"); if (!table) return; table.style.position="relative" var tabley="(table.style.top" parseint(table.style.top) 0); panel.offset +="offsetDelta;" webform_setelementy(table, tabley offsetdelta); function popout_setpanelheight(element, height, donotclip) if (element && element.style) var size="WebForm_GetElementPosition(element);" element.physicalwidth="size.width;" element.clippedheight="height;" webform_setelementheight(element, height (element.clienttop (2 element.clienttop) 0)); if (donotclip && element.style) element.style.clip="rect(auto auto auto auto)" else popout_clip(element, 0, height); function popout_show(panelid, hidescrollers, data) var panel="WebForm_GetElementById(panelId);" if (panel && panel.tagname.tolowercase()="=" "div") panel.style.visibility="visible" panel.style.display="inline" if (!panel.offset || hidescrollers) panel.scrolltop="0;" panel.offset="0;" var table="WebForm_GetElementByTagName(panel," "table"); if (table) webform_setelementy(table, 0); popout_position(panel, hidescrollers); var z="1;" var isie="window.navigator" && window.navigator.appname="=" "microsoft internet explorer" && !window.opera; if (isie && data) var childframeid="panel.id" "_menuiframe"; var childframe="WebForm_GetElementById(childFrameId);" var parent="panel.offsetParent;" if (!childframe) childframe="document.createElement("iframe");" childframe.id="childFrameId;" childframe.src="(data.iframeUrl" data.iframeurl "about:blank"); childframe.style.position="absolute" childframe.style.display="none" childframe.scrolling="no" childframe.frameborder="0" if (parent.tagname.tolowercase()="=" "html") document.body.appendchild(childframe); else parent.appendchild(childframe); var pos="WebForm_GetElementPosition(panel);" var parentpos="WebForm_GetElementPosition(parent);" webform_setelementx(childframe, pos.x parentpos.x); webform_setelementy(childframe, pos.y parentpos.y); webform_setelementwidth(childframe, pos.width); webform_setelementheight(childframe, pos.height); childframe.style.display="block" if (panel.currentstyle && panel.currentstyle.zindex) z="panel.currentStyle.zIndex;" else if (panel.style.zindex) z="panel.style.zIndex;" panel.style.zindex="z;" function popout_showscrollers(panel) if (panel && panel.style) var up="WebForm_GetElementById(panel.id" "up"); var dn="WebForm_GetElementById(panel.id" "dn"); var cnt="0;" if (up && dn) if (panel.offset && panel.offset> 0) { up.style.visibility = "visible"; up.style.display = "inline"; cnt++; if (panel.clientWidth) { WebForm_SetElementWidth(up, panel.clientWidth - (up.clientLeft ? (2 * up.clientLeft) : 0)); } WebForm_SetElementY(up, 0); } else { up.style.visibility = "hidden"; up.style.display = "none"; } if (panel.offset + panel.clippedHeight + 2 < ="panel.physicalHeight)" dn.style.visibility="visible" dn.style.display="inline" cnt++; if (panel.clientwidth) webform_setelementwidth(dn, panel.clientwidth (dn.clientleft (2 dn.clientleft) 0)); webform_setelementy(dn, panel.clippedheight webform_getelementposition(dn).height (panel.clienttop (2 panel.clienttop) 0)); else dn.style.visibility="hidden" dn.style.display="none" if (cnt="=" 0) panel.style.clip="rect(auto auto auto auto)" function popout_stop() if (__scrollpanel && __scrollpanel.interval) window.clearinterval(__scrollpanel.interval); menu_restoreinterval(); function popout_up(scroller) menu_clearinterval(); var panel; if (scroller) panel="scroller.parentNode" else panel="__scrollPanel;" if (panel && panel.offset && panel.offset> 0) { PopOut_Scroll(panel, -2); __scrollPanel = panel; PopOut_ShowScrollers(panel); PopOut_Stop(); __scrollPanel.interval = window.setInterval("PopOut_Up()", 8); } } if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();