PageSourceSearch

https://www.healthychildren.org/ScriptResource.axd?d=QjTYQgeaGaGGi…EroWEma1NhogTENQ4XCP0De0&t=ffffffffa5405632

js healthychildren.org collected 2026-09-24 08:26:12 UTC 33,256 bytes, 897 lines download raw bytes

1var __rootMenuItem;
2var __menuInterval;
3var __scrollPanel;
4var __disappearAfter = 500;
5function Menu_ClearInterval() {
6    if (__menuInterval) {
7        window.clearInterval(__menuInterval);
8    }
9}
10function Menu_Collapse(item) {
11    Menu_SetRoot(item);
12    if (__rootMenuItem) {
13        Menu_ClearInterval();
14        if (__disappearAfter >= 0) {
15            __menuInterval = window.setInterval("Menu_HideItems()", __disappearAfter);
16        }
17    }
18}
19function Menu_Expand(item, horizontalOffset, verticalOffset, hideScrollers) {
20    Menu_ClearInterval();
21    var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
22    var horizontal = true;
23    if (!tr.id) {
24        horizontal = false;
25        tr = tr.parentNode;
26    }
27    var child = Menu_FindSubMenu(item);
28    if (child) {
29        var data = Menu_GetData(item);
30        if (!data) {
31            return null;
32        }
33        child.rel = tr.id;
34        child.x = horizontalOffset;
35        child.y = verticalOffset;
36        if (horizontal) child.pos = "bottom";
37        PopOut_Show(child.id, hideScrollers, data);
38    }
39    Menu_SetRoot(item);
40    if (child) {
41        if (!document.body.__oldOnClick && document.body.onclick) {
42            document.body.__oldOnClick = document.body.onclick;
43        }
44        if (__rootMenuItem) {
45            document.body.onclick = Menu_HideItems;
46        }
47    }
48    Menu_ResetSiblings(tr);
49    return child;
50}
51function Menu_FindMenu(item) {
52    if (item && item.menu) return item.menu;
53    var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
54    if (!tr.id) {
55        tr = tr.parentNode;
56    }
57    for (var i = tr.id.length - 1; i >= 0; i--) {
58        if (tr.id.charAt(i) < '0' || tr.id.charAt(i) > '9') {
59            var menu = WebForm_GetElementById(tr.id.substr(0, i)
59);
60            if (menu) {
61                item.menu = menu;
62                return menu;
63            }
64        }
65    }
66    return null;
67}
68function Menu_FindNext(item) {
69    var a = WebForm_GetElementByTagName(item, "A");
70    var parent = Menu_FindParentContainer(item);
71    var first = null;
72    if (parent) {
73        var links = WebForm_GetElementsByTagName(parent, "A");
74        var match = false;
75        for (var i = 0; i < links.length; i++) {
76            var link = links[i];
77            if (Menu_IsSelectable(link)) {
78                if (Menu_FindParentContainer(link) == parent) {
79                    if (match) {
80                        return link;
81                    }
82                    else if (!first) {
83                        first = link;
84                    }
85                }
86                if (!match && link == a) {
87                    match = true;
88                }
89            }
90        }
91    }
92    return first;
93}
94function Menu_FindParentContainer(item) {
95    if (item.menu_ParentContainerCache) return item.menu_ParentContainerCache;
96    var a = (item.tagName.toLowerCase() == "a") ? item : WebForm_GetElementByTagName(item, "A");
97    var menu = Menu_FindMenu(a);
98    if (menu) {
99        var parent = item;
100        while (parent && parent.tagName &&
101            parent.id != menu.id &&
102            parent.tagName.toLowerCase() != "div") {
103            parent = parent.parentNode;
104        }
105        item.menu_ParentContainerCache = parent;
106        return parent;
107    }
108}
109function Menu_FindParentItem(item) {
110    var parentContainer = Menu_FindParentContainer(item);
111    var parentContainerID = parentContainer.id;
112    var len = parentContainerID.length;
113    if (parentContainerID && parentContainerID.substr(len - 5) == "Items") {
114        var parentItemID = parentContainerID.substr(0, len - 5);
115        return WebForm_GetElementById(parentItemID);
116    }
117    return null;
118}
119function Menu_FindPrevious(item) {
120    var a = WebForm_GetElementByTagName(item, "A");
121    var parent = Menu_FindParentContainer(item);
122    var last = null;
123    if (parent) {
124        var links = WebForm_GetElementsByTagName(parent, "A");
125        for (var i = 0; i < links.length; i++) {
126            var link = links[i];
127            if (Menu_IsSelectable(link)) {
128                if (link == a && last) {
129                    return last;
130                }
131                if (Menu_FindParentContainer(link) == parent) {
132                    last = link;
133                }
134            }
135        }
136    }
137    return last;
138}
139function Menu_FindSubMenu(item) {
140    var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
141    if (!tr.id) {
142        tr=tr.parentNode;
143    }
144    return WebForm_GetElementById(tr.id + "Items");
145}
146function Menu_Focus(item) {
147    if (item && item.focus) {
148        var pos = WebForm_GetElementPosition(item);
149        var parentContainer = Menu_FindParentContainer(item);
150        if (!parentContainer.offset) {
151            parentContainer.offset = 0;
152        }
153        var posParent = WebForm_GetElementPosition(parentContainer);
154        var delta;
155        if (pos.y + pos.height > posParent.y + parentContainer.offset + parentContainer.clippedHeight) {
156            delta = pos.y + pos.height - posParent.y - parentContainer.offset - parentContainer.clippedHeight;
157            PopOut_Scroll(parentContainer, delta);
158        }
159        else if (pos.y < posParent.y + parentContainer.offset) {
160            delta = posParent.y + parentContainer.offset - pos.y;
161            PopOut_Scroll(parentContainer, -delta);
162        }
163        PopOut_HideScrollers(parentContainer);
164        item.focus();
165    }
166}
167function Menu_GetData(item) {
168    if (!item.data) {
169        var a = (item.tagName.toLowerCase() == "a" ? item : WebForm_GetElementByTagName(item, "a"));
170        var menu = Menu_FindMenu(a);
171        try {
172            item.data = eval(menu.id + "_Data");
173        }
174        catch(e) {}
175    }
176    return item.data;
177}
178function Menu_HideItems(items) {
179    if (document.body.__oldOnClick) {
180        document.body.onclick = document.body.__oldOnClick;
181        document.body.__oldOnClick = null;
182    }
183    Menu_ClearInterval();
184    if (!items || ((typeof(items.tagName) == "undefined") && (items instanceof Event))) {
185        items = __rootMenuItem;
186    }
187    var table = items;
188    if ((typeof(table) == "undefined") || (table == null) || !table.tagName || (table.tagName.toLowerCase() != "table")) {
189        table = WebForm_GetElementByTagName(table, "TABLE");
190    }
191    if ((typeof(table) == "undefined") || (table == null) || !table.tagName || (table.tagName.toLowerCase() != "table")) {
192        return;
193    }
194    var rows = table.rows ? table.rows : table.firstChild.rows;
195    var isVertical = false;
196    for (var r = 0; r < rows.length; r++) {
197        if (rows[r].id) {
198            isVertical = true;
199            break;
200        }
201    }
202    var i, child, nextLevel;
203    if (isVertical) {
204        for(i = 0; i < rows.length; i++) {
205            if (rows[i].id) {
206                child = WebForm_GetElementById(rows[i].id + "Items");
207                if (child) {
208                    Menu_HideItems(child);
209                }
210            }
211            else if (rows[i].cells[0]) {
212                nextLevel = WebForm_GetElementByTagName(rows[i].cells[0], "TABLE");
213                if (nextLevel) {
214                    Menu_HideItems(nextLevel);
215                }
216            }
217        }
218    }
219    else if (rows[0]) {
220        for(i = 0; i < rows[0].cells.length; i++) {
221            if (rows[0].cells[i].id) {
222                child = WebForm_GetElementById(rows[0].cells[i].id + "Items");
223                if (child) {
224                    Menu_HideItems(child);
225                }
226            }
227            else {
228                nextLevel = WebForm_GetElementByTagName(rows[0].cells[i], "TABLE");
229                if (nextLevel) {
230                    Menu_HideItems(rows[0].cells[i].firstChild);
231                }
232            }
233        }
234    }
235    if (items && items.id) {
236        PopOut_Hide(items.id);
237    }
238}
239function Menu_HoverDisabled(item) {
240    var node = (item.tagName.toLowerCase() == "td") ?
241        item:
242        item.cells[0];
243    var data = Menu_GetData(item);
244    if (!data) return;
245    node = WebForm_GetElementByTagName(node, "table").rows[0].cells[0].childNodes[0];
246    if (data.disappearAfter >= 200) {
247        __disappearAfter = data.disappearAfter;
248    }
249    Menu_Expand(node, data.horizontalOffset, data.verticalOffset); 
250}
251function Menu_HoverDynamic(item) {
252    var node = (item.tagName.toLowerCase() == "td") ?
253        item:
254        item.cells[0];
255    var data = Menu_GetData(item);
256    if (!data) return;
257    var nodeTable = WebForm_GetElementByTagName(node, "table");
258    if (data.hoverClass) {
259        nodeTable.hoverClass = data.hoverClass;
260        WebForm_AppendToClassName(nodeTable, data.hoverClass);
261    }
262    node = nodeTable.rows[0].cells[0].childNodes[0];
263    if (data.hoverHyperLinkClass) {
264        node.hoverHyperLinkClass = data.hoverHyperLinkClass;
265        WebForm_AppendToClassName(node, data.hoverHyperLinkClass);
266    }
267    if (data.disappearAfter >= 200) {
268        __disappearAfter = data.disappearAfter;
269    }
270    Menu_Expand(node, data.horizontalOffset, data.verticalOffset); 
271}
272function Menu_HoverRoot(item) {
273    var node = (item.tagName.toLowerCase() == "td") ?
274        item:
275        item.cells[0];
276    var data = Menu_GetData(item);
277    if (!data) {
278        return null;
279    }
280    var nodeTable = WebForm_GetElementByTagName(node, "table");
281    if (data.staticHoverClass) {
282        nodeTable.hoverClass = data.staticHoverClass;
283        WebForm_AppendToClassName(nodeTable, data.staticHoverClass);
284    }
285    node = nodeTable.rows[0].cells[0].childNodes[0];
286    if (data.staticHoverHyperLinkClass) {
287        node.hoverHyperLinkClass = data.staticHoverHyperLinkClass;
288        WebForm_AppendToClassName(node, data.staticHoverHyperLinkClass);
289    }
290    return node;
291}
292function Menu_HoverStatic(item) {
293    var node = Menu_HoverRoot(item);
294    var data = Menu_GetData(item);
295    if (!data) return;
296    __disappearAfter = data.disappearAfter;
297    Menu_Expand(node, data.horizontalOffset, data.verticalOffset); 
298}
299function Menu_IsHorizontal(item) {
300    if (item) {
301        var a = ((item.tagName && (item.tagName.toLowerCase == "a")) ? item : WebForm_GetElementByTagName(item, "A"));
302        if (!a) {
303            return false;
304        }
305        var td = a.parentNode.parentNode.parentNode.parentNode.parentNode;
306        if (td.id) {
307            return true;
308        }
309    }
310    return false;
311}
312function Menu_IsSelectable(link) {
313    return (link && link.href)
314}
315function Menu_Key(item) {
316    var event;
317    if (item.currentTarget) {
318        event = item;
319        item = event.currentTarget;
320    }
321    else {
322        event = window.event;        
323    }
324    var key = (event ? event.keyCode : -1);
325    var data = Menu_GetData(item);
326    if (!data) return;
327    var horizontal = Menu_IsHorizontal(item);
328    var a = WebForm_GetElementByTagName(item, "A");
329    var nextItem, parentItem, previousItem;
330    if ((!horizontal && key == 38) || (horizontal && key == 37)) {
331        previousItem = Menu_FindPrevious(item);
332        while (previousItem && previousItem.disabled) {
333            previousItem = Menu_FindPrevious(previousItem);
334        }
335        if (previousItem) {
336            Menu_Focus(previousItem);
337            Menu_Expand(previousItem, data.horizontalOffset, data.verticalOffset, true);
338            event.cancelBubble = true;
339            if (event.stopPropagation) event.stopPropagation();
340            return;
341        }
342    }
343    if ((!horizontal && key == 40) || (horizontal && key == 39)) {
344        if (horizontal) {
345            var subMenu = Menu_FindSubMenu(a);
346            if (subMenu && subMenu.style && subMenu.style.visibility && 
347                subMenu.style.visibility.toLowerCase() == "hidden") {
348                Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true);
349                event.cancelBubble = true;
350                if (event.stopPropagation) event.stopPropagation();
351                return;
352            }
353        }
354        nextItem = Menu_FindNext(item);
355        while (nextItem && nextItem.disabled) {
356            nextItem = Menu_FindNext(nextItem);
357        }
358        if (nextItem) {
359            Menu_Focus(nextItem);
360            Menu_Expand(nextItem, data.horizontalOffset, data.verticalOffset, true);
361            event.cancelBubble = true;
362            if (event.stopPropagation) event.stopPropagation();
363            return;
364        }
365    }
366    if ((!horizontal && key == 39) || (horizontal && key == 40)) {
367        var children = Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true);
368        if (children) {
369            var firstChild;
370            children = WebForm_GetElementsByTagName(children, "A");
371            for (var i = 0; i < children.length; i++) {
372                if (!children[i].disabled && Menu_IsSelectable(children[i])) {
373                    firstChild = children[i];
374                    break;
375                }
376            }
377            if (firstChild) {
378                Menu_Focus(firstChild);
379                Menu_Expand(firstChild, data.horizontalOffset, data.verticalOffset, true);
380                event.cancelBubble = true;
381                if (event.stopPropagation) event.stopPropagation();
382                return;
383            }
384        }
385        else {
386            parentItem = Menu_FindParentItem(item);
387            while (parentItem && !Menu_IsHorizontal(parentItem)) {
388                parentItem = Menu_FindParentItem(parentItem);
389            }
390            if (parentItem) {
391                nextItem = Menu_FindNext(parentItem);
392                while (nextItem && nextItem.disabled) {
393                    nextItem = Menu_FindNext(nextItem);
394                }
395                if (nextItem) {
396                    Menu_Focus(nextItem);
397                    Menu_Expand(nextItem, data.horizontalOffset, data.verticalOffset, true);
398                    event.cancelBubble = true;
399                    if (event.stopPropagation) event.stopPropagation();
400                    return;
401                }
402            }
403        }
404    }
405    if ((!horizontal && key == 37) || (horizontal && key == 38)) {
406        parentItem = Menu_FindParentItem(item);
407        if (parentItem) {
408            if (Menu_IsHorizontal(parentItem)) {
409                previousItem = Menu_FindPrevious(parentItem);
410                while (previousItem && previousItem.disabled) {
411                    previousItem = Menu_FindPrevious(previousItem);
412                }
413                if (previousItem) {
414                    Menu_Focus(previousItem);
415                    Menu_Expand(previousItem, data.horizontalOffset, data.verticalOffset, true);
416                    event.cancelBubble = true;
417                    if (event.stopPropagation) event.stopPropagation();
418                    return;
419                }
420            }
421            var parentA = WebForm_GetElementByTagName(parentItem, "A");
422            if (parentA) {
423                Menu_Focus(parentA);
424            }
425            Menu_ResetSiblings(parentItem);
426            event.cancelBubble = true;
427            if (event.stopPropagation) event.stopPropagation();
428            return;
429        }
430    }
431    if (key == 27) {
432        Menu_HideItems();
433        event.cancelBubble = true;
434        if (event.stopPropagation) event.stopPropagation();
435        return;
436    }
437}
438function Menu_ResetSiblings(item) {
439    var table = (item.tagName.toLowerCase() == "td") ?
440        item.parentNode.parentNode.parentNode :
441        item.parentNode.parentNode;
442    var isVertical = false;
443    for (var r = 0; r < table.rows.length; r++) {
444        if (table.rows[r].id) {
445            isVertical = true;
446            break;
447        }
448    }
449    var i, child, childNode;
450    if (isVertical) {
451        for(i = 0; i < table.rows.length; i++) {
452            childNode = table.rows[i];
453            if (childNode != item) {
454                child = WebForm_GetElementById(childNode.id + "Items");
455                if (child) {
456                    Menu_HideItems(child);
457                }
458            }
459        }
460    }
461    else {
462        for(i = 0; i < table.rows[0].cells.length; i++) {
463            childNode = table.rows[0].cells[i];
464            if (childNode != item) {
465                child = WebForm_GetElementById(childNode.id + "Items");
466                if (child) {
467                    Menu_HideItems(child);
468                }
469            }
470        }
471    }
472    Menu_ResetTopMenus(table, table, 0, true);
473}
474function Menu_ResetTopMenus(table, doNotReset, level, up) {
475    var i, child, childNode;
476    if (up && table.id == "") {
477        var parentTable = table.parentNode.parentNode.parentNode.parentNode;
478        if (parentTable.tagName.toLowerCase() == "table") {
479            Menu_ResetTopMenus(parentTable, doNotReset, level + 1, true);
480        }
481    }
482    else {
483        if (level == 0 && table != doNotReset) {
484            if (table.rows[0].id) {
485                for(i = 0; i < table.rows.length; i++) {
486                    childNode = table.rows[i];
487                    child = WebForm_GetElementById(childNode.id + "Items");
488                    if (child) {
489                        Menu_HideItems(child);
490                    }
491                }
492            }
493            else {
494                for(i = 0; i < table.rows[0].cells.length; i++) {
495                    childNode = table.rows[0].cells[i];
496                    child = WebForm_GetElementById(childNode.id + "Items");
497                    if (child) {
498                        Menu_HideItems(child);
499                    }
500                }
501            }
502        }
503        else if (level > 0) {
504            for (i = 0; i < table.rows.length; i++) {
505                for (var j = 0; j < table.rows[i].cells.length; j++) {
506                    var subTable = table.rows[i].cells[j].firstChild;
507                    if (subTable && subTable.tagName.toLowerCase() == "table") {
508                        Menu_ResetTopMenus(subTable, doNotReset, level - 1, false);
509                    }
510                }
511            }
512        }
513    }
514}
515function Menu_RestoreInterval() {
516    if (__menuInterval && __rootMenuItem) {
517        Menu_ClearInterval();
518        __menuInterval = window.setInterval("Menu_HideItems()", __disappearAfter);
519    }
520}
521function Menu_SetRoot(item) {
522    var newRoot = Menu_FindMenu(item);
523    if (newRoot) {
524        if (__rootMenuItem && __rootMenuItem != newRoot) {
525            Menu_HideItems();
526        }
527        __rootMenuItem = newRoot;
528    }
529}
530function Menu_Unhover(item) {
531    var node = (item.tagName.toLowerCase() == "td") ?
532        item:
533        item.cells[0];
534    var nodeTable = WebForm_GetElementByTagName(node, "table");
535    if (nodeTable.hoverClass) {
536        WebForm_RemoveClassName(nodeTable, nodeTable.hoverClass);
537    }
538    node = nodeTable.rows[0].cells[0].childNodes[0];
539    if (node.hoverHyperLinkClass) {
540        WebForm_RemoveClassName(node, node.hoverHyperLinkClass);
541    }
542    Menu_Collapse(node);
543}
544function PopOut_Clip(element, y, height) {
545    if (element && element.style) {
546        element.style.clip = "rect(" + y + "px auto " + (y + height) + "px auto)";
547        element.style.overflow = "hidden";
548    }
549}
550function PopOut_Down(scroller) {
551    Menu_ClearInterval();
552    var panel;
553    if (scroller) {
554        panel = scroller.parentNode
555    }
556    else {
557        panel = __scrollPanel;
558    }
559    if (panel && ((panel.offset + panel.clippedHeight) < panel.physicalHeight)) {
560        PopOut_Scroll(panel, 2)
561        __scrollPanel = panel;
562        PopOut_ShowScrollers(panel);
563        PopOut_Stop();
564        __scrollPanel.interval = window.setInterval("PopOut_Down()", 8);
565    }
566    else {
567        PopOut_ShowScrollers(panel);
568    }
569}
570function PopOut_Hide(panelId) {
571    var panel = WebForm_GetElementById(panelId);
572    if (panel && panel.tagName.toLowerCase() == "div") {
573        panel.style.visibility = "hidden";
574        panel.style.display = "none";
575        panel.offset = 0;
576        panel.scrollTop = 0;
577        var table = WebForm_GetElementByTagName(panel, "TABLE");
578        if (table) {
579            WebForm_SetElementY(table, 0);
580        }
581        if (window.navigator && window.navigator.appName == "Microsoft Internet Explorer" &&
582            !window.opera) {
583            var childFrameId = panel.id + "_MenuIFrame";
584            var childFrame = WebForm_GetElementById(childFrameId);
585            if (childFrame) {
586                childFrame.style.display = "none";
587            }
588        }
589    }
590}
591function PopOut_HideScrollers(panel) {
592    if (panel && panel.style) {
593        var up = WebForm_GetElementById(panel.id + "Up");
594        var dn = WebForm_GetElementById(panel.id + "Dn");
595        if (up) {
596            up.style.visibility = "hidden";
597            up.style.display = "none";
598        }
599        if (dn) {
600            dn.style.visibility = "hidden";
601            dn.style.display = "none";
602        }
603    }
604}
605function PopOut_Position(panel, hideScrollers) {
606    if (window.opera) {
607        panel.parentNode.removeChild(panel);
608        document.forms[0].appendChild(panel);
609    }
610    var rel = WebForm_GetElementById(panel.rel);
611    var relTable = WebForm_GetElementByTagName(rel, "TABLE");
612    var relCoordinates = WebForm_GetElementPosition(relTable ? relTable : rel);
613    var panelCoordinates = WebForm_GetElementPosition(panel);
614    var panelHeight = ((typeof(panel.physicalHeight) != "undefined") && (panel.physicalHeight != null)) ?
615        panel.physicalHeight :
616        panelCoordinates.height;
617    panel.physicalHeight = panelHeight;
618    var panelParentCoordinates;
619    if (panel.offsetParent) {
620        panelParentCoordinates = WebForm_GetElementPosition(panel.offsetParent);
621    }
622    else {
623        panelParentCoordinates = new Object();
624        panelParentCoordinates.x = 0;
625        panelParentCoordinates.y = 0;
626    }
627    var overflowElement = WebForm_GetElementById("__overFlowElement");
628    if (!overflowElement) {
629        overflowElement = document.createElement("img");
630        overflowElement.id="__overFlowElement";
631        WebForm_SetElementWidth(overflowElement, 1);
632        document.body.appendChild(overflowElement);
633    }
634    WebForm_SetElementHeight(overflowElement, panelHeight + relCoordinates.y + parseInt(panel.y ? panel.y : 0));
635    overflowElement.style.visibility = "visible";
636    overflowElement.style.display = "inline";
637    var clientHeight = 0;
638    var clientWidth = 0;
639    if (window.innerHeight) {
640        clientHeight = window.innerHeight;
641        clientWidth = window.innerWidth;
642    }
643    else if (document.documentElement && document.documentElement.clientHeight) {
644        clientHeight = document.documentElement.clientHeight;
645        clientWidth = document.documentElement.clientWidth;
646    }
647    else if (document.body && document.body.clientHeight) {
648        clientHeight = document.body.clientHeight;
649        clientWidth = document.body.clientWidth;
650    }
651    var scrollTop = 0;
652    var scrollLeft = 0;
653    if (typeof(window.pageYOffset) != "undefined") {
654        scrollTop = window.pageYOffset;
655        scrollLeft = window.pageXOffset;
656    }
657    else if (document.documentElement && (typeof(document.documentElement.scrollTop) != "undefined")) {
658        scrollTop = document.documentElement.scrollTop;
659        scrollLeft = document.documentElement.scrollLeft;
660    }
661    else if (document.body && (typeof(document.body.scrollTop) != "undefined")) {
662        scrollTop = document.body.scrollTop;
663        scrollLeft = document.body.scrollLeft;
664    }
665    overflowElement.style.visibility = "hidden";
666    overflowElement.style.display = "none";
667    var bottomWindowBorder = clientHeight + scrollTop;
668    var rightWindowBorder = clientWidth + scrollLeft;
669    var position = panel.pos;
670    if ((typeof(position) == "undefined") || (position == null) || (position == "")) {
671        position = (WebForm_GetElementDir(rel) == "rtl" ? "middleleft" : "middleright");
672    }
673    position = position.toLowerCase();
674    var y = relCoordinates.y + parseInt(panel.y ? panel.y : 0) - panelParentCoordinates.y;
675    var borderParent = (rel && rel.parentNode && rel.parentNode.parentNode && rel.parentNode.parentNode.parentNode
676        && rel.parentNode.parentNode.parentNode.tagName.toLowerCase() == "div") ?
677        rel.parentNode.parentNode.parentNode : null;
678    WebForm_SetElementY(panel, y);
679    PopOut_SetPanelHeight(panel, panelHeight, true);
680    var clip = false;
681    var overflow;
682    if (position.indexOf("top") != -1) {
683        y -= panelHeight;
684        WebForm_SetElementY(panel, y); 
685        if (y < -panelParentCoordinates.y) {
686            y = -panelParentCoordinates.y;
687            WebForm_SetElementY(panel, y); 
688            if (panelHeight > clientHeight - 2) {
689                clip = true;
690                PopOut_SetPanelHeight(panel, clientHeight - 2);
691            }
692        }
693    }
694    else {
695        if (position.indexOf("bottom") != -1) {
696            y += relCoordinates.height;
697            WebForm_SetElementY(panel, y); 
698        }
699        overflow = y + panelParentCoordinates.y + panelHeight - bottomWindowBorder;
700        if (overflow > 0) {
701            y -= overflow;
702            WebForm_SetElementY(panel, y); 
703            if (y < -panelParentCoordinates.y) {
704                y = 2 - panelParentCoordinates.y + scrollTop;
705                WebForm_SetElementY(panel, y); 
706                clip = true;
707                PopOut_SetPanelHeight(panel, clientHeight - 2);
708            }
709        }
710    }
711    if (!clip) {
712        PopOut_SetPanelHeight(panel, panel.clippedHeight, true);
713    }
714    var panelParentOffsetY = 0;
715    if (panel.offsetParent) {
716        panelParentOffsetY = WebForm_GetElementPosition(panel.offsetParent).y;
717    }
718    var panelY = ((typeof(panel.originY) != "undefined") && (panel.originY != null)) ?
719        panel.originY :
720        y - panelParentOffsetY;
721    panel.originY = panelY;
722    if (!hideScrollers) {
723        PopOut_ShowScrollers(panel);
724    }
725    else {
726        PopOut_HideScrollers(panel);
727    }
728    var x = relCoordinates.x + parseInt(panel.x ? panel.x : 0) - panelParentCoordinates.x;
729    if (borderParent && borderParent.clientLeft) {
730        x += 2 * borderParent.clientLeft;
731    }
732    WebForm_SetElementX(panel, x);
733    if (position.indexOf("left") != -1) {
734        x -= panelCoordinates.width;
735        WebForm_SetElementX(panel, x);
736        if (x < -panelParentCoordinates.x) {
737            WebForm_SetElementX(panel, -panelParentCoordinates.x);
738        }
739    }
740    else {
741        if (position.indexOf("right") != -1) {
742            x += relCoordinates.width;
743            WebForm_SetElementX(panel, x);
744        }
745        overflow = x + panelParentCoordinates.x + panelCoordinates.width - rightWindowBorder;
746        if (overflow > 0) {
747            if (position.indexOf("bottom") == -1 && relCoordinates.x > panelCoordinates.width) {
748                x -= relCoordinates.width + panelCoordinates.width;
749            }
750            else {
751                x -= overflow;
752            }
753            WebForm_SetElementX(panel, x);
754            if (x < -panelParentCoordinates.x) {
755                WebForm_SetElementX(panel, -panelParentCoordinates.x);
756            }
757        }
758    }
759}
760function PopOut_Scroll(panel, offsetDelta) {
761    var table = WebForm_GetElementByTagName(panel, "TABLE");
762    if (!table) return;
763    table.style.position = "relative";
764    var tableY = (table.style.top ? parseInt(table.style.top) : 0);
765    panel.offset += offsetDelta;
766    WebForm_SetElementY(table, tableY - offsetDelta);
767}
768function PopOut_SetPanelHeight(element, height, doNotClip) {
769    if (element && element.style) {
770        var size = WebForm_GetElementPosition(element);
771        element.physicalWidth = size.width;
772        element.clippedHeight = height;
773        WebForm_SetElementHeight(element, height - (element.clientTop ? (2 * element.clientTop) : 0));
774        if (doNotClip && element.style) {
775            element.style.clip = "rect(auto auto auto auto)";
776        }
777        else {
778            PopOut_Clip(element, 0, height);
779        }
780    }
781}
782function PopOut_Show(panelId, hideScrollers, data) {
783    var panel = WebForm_GetElementById(panelId);
784    if (panel && panel.tagName.toLowerCase() == "div") {
785        panel.style.visibility = "visible";
786        panel.style.display = "inline";
787        if (!panel.offset || hideScrollers) {
788            panel.scrollTop = 0;
789            panel.offset = 0;
790            var table = WebForm_GetElementByTagName(panel, "TABLE");
791            if (table) {
792                WebForm_SetElementY(table, 0);
793            }
794        }
795        PopOut_Position(panel, hideScrollers);
796        var z = 1;
797        var isIE = window.navigator && window.navigator.appName == "Microsoft Internet Explorer" && !window.opera;
798        if (isIE && data) {
799            var childFrameId = panel.id + "_MenuIFrame";
800            var childFrame = WebForm_GetElementById(childFrameId);
801            var parent = panel.offsetParent;
802            if (!childFrame) {
803                childFrame = document.createElement("iframe");
804                childFrame.id = childFrameId;
805                childFrame.src = (data.iframeUrl ? data.iframeUrl : "about:blank");
806                childFrame.style.position = "absolute";
807                childFrame.style.display = "none";
808                childFrame.scrolling = "no";
809                childFrame.frameBorder = "0";
810                if (parent.tagName.toLowerCase() == "html") {
811                    document.body.appendChild(childFrame);
812                }
813                else {
814                    parent.appendChild(childFrame);
815                }
816            }
817            var pos = WebForm_GetElementPosition(panel);
818            var parentPos = WebForm_GetElementPosition(parent);
819            WebForm_SetElementX(childFrame, pos.x - parentPos.x);
820            WebForm_SetElementY(childFrame, pos.y - parentPos.y);
821            WebForm_SetElementWidth(childFrame, pos.width);
822            WebForm_SetElementHeight(childFrame, pos.height);
823            childFrame.style.display = "block";
824            if (panel.currentStyle && panel.currentStyle.zIndex && panel.currentStyle.zIndex != "auto") {
825                z = panel.currentStyle.zIndex;
826            }
827            else if (panel.style.zIndex) {
828                z = panel.style.zIndex;
829            }
830        }
831        panel.style.zIndex = z;
832    }
833}
834function PopOut_ShowScrollers(panel) {
835    if (panel && panel.style) {
836        var up = WebForm_GetElementById(panel.id + "Up");
837        var dn = WebForm_GetElementById(panel.id + "Dn");
838        var cnt = 0;
839        if (up && dn) {
840            if (panel.offset && panel.offset > 0) {
841                up.style.visibility = "visible";
842                up.style.display = "inline";
843                cnt++;
844                if (panel.clientWidth) {
845                    WebForm_SetElementWidth(up, panel.clientWidth
846                        - (up.clientLeft ? (2 * up.clientLeft) : 0));
847                }
848                WebForm_SetElementY(up, 0);
849            }
850            else {
851                up.style.visibility = "hidden";
852                up.style.display = "none";
853            }
854            if (panel.offset + panel.clippedHeight + 2 <= panel.physicalHeight) {
855                dn.style.visibility = "visible";
856                dn.style.display = "inline";
857                cnt++;
858                if (panel.clientWidth) {
859                    WebForm_SetElementWidth(dn, panel.clientWidth
860                        - (dn.clientLeft ? (2 * dn.clientLeft) : 0));
861                }
862                WebForm_SetElementY(dn, panel.clippedHeight - WebForm_GetElementPosition(dn).height
863                    - (panel.clientTop ? (2 * panel.clientTop) : 0));
864            }
865            else {
866                dn.style.visibility = "hidden";
867                dn.style.display = "none";
868            }
869            if (cnt == 0) {
870                panel.style.clip = "rect(auto auto auto auto)";
871            }
872        }
873    }
874}
875function PopOut_Stop() {
876    if (__scrollPanel && __scrollPanel.interval) {
877        window.clearInterval(__scrollPanel.interval);
878    }
879    Menu_RestoreInterval();
880}
881function PopOut_Up(scroller) {
882    Menu_ClearInterval();
883    var panel;
884    if (scroller) {
885        panel = scroller.parentNode
886    }
887    else {
888        panel = __scrollPanel;
889    }
890    if (panel && panel.offset && panel.offset > 0) {
891        PopOut_Scroll(panel, -2);
892        __scrollPanel = panel;
893        PopOut_ShowScrollers(panel);
894        PopOut_Stop();
895        __scrollPanel.interval = window.setInterval("PopOut_Up()", 8);
896    }
897}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.