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.