' // If the destination is a number then look it up in the topic list if (isNaN(fn_arguments[i])) { strMenu += '
'; } else { strMenu += ''; } strMenu += '
|
"; var layerPopup = null; var stylePopup = null; var nEventX = 0; var nEventY = 0; var nWindowWidth = 0; if (gbIE4) { layerPopup = document.all["PopupMenu"]; layerPopup.innerHTML = strMenu; stylePopup = layerPopup.style; _BSPSGetClientSize(); // Get the position of the item causing the event (relative to its parent) //if (gbMac) { if (true) { nEventX = window.event.clientX; nEventY = window.event.clientY; } else { //??? YJ: Can not remember why we calculate envent position by following code... //but it is wrong in a case like: CENTER->P->TABLE: //the offset positions of TABLE, P and CENTER are same (same offsetTop,offsetLeft) //so we get triple times of offset of x and y as we expect... nEventX = window.event.srcElement.offsetLeft - document.body.scrollLeft; nEventY = window.event.srcElement.offsetTop - document.body.scrollTop; // Get the location of the parent var nParentLocX = 0; var nParentLocY = 0; var ParentItem = window.event.srcElement.offsetParent; while (ParentItem != null) { if (ParentItem.offsetLeft) { nParentLocX += ParentItem.offsetLeft; nParentLocY += ParentItem.offsetTop; } ParentItem = ParentItem.parentElement; } // Adjust the location of the item using the location of the parent(s) nEventX += nParentLocX; nEventY += nParentLocY; } if (nEventY + layerPopup.scrollHeight + 10 gBsClientWidth) { if (gBsClientWidth - layerPopup.scrollWidth gBsClientWidth + window.pageXOffset) { if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width "); wndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}"); wndPopupLinks.document.write(""); } wndPopupLinks.document.write(""); var strParaLine = ""; for (var i = 0; i