//////////BSSCDHTML Section 2////////// // RoboHELP® Dynamic HTML Effects Script // Copyright © 1998-1999 Blue Sky Software Corporation. All rights reserved. // Version=3.56 // Warning: Do not modify this file. It is generated by RoboHELP® and changes will be overwritten. function RemoveNavBar() { // See if we are in a popup and if so remove the NavBar if (BSSCPopup_IsPopup()) { if (gbIE4) { var tempColl = document.all.tags("DIV"); for (var iDiv = 0; iDiv 0) && (document.images[0].src.indexOf('bsscnav1.gif') != -1)) { document.links[0].href = "javascript:void(null);"; } } } return; } ////////////////////////////////////////////////////////////////////////////////////////////// // // Begin DHTML Popup Functions // ////////////////////////////////////////////////////////////////////////////////////////////// //variables used to isolate the browser type var gBsDoc = null; var gBsSty = null; var gBsHtm = null; var gBsStyVisShow = null; var gBsStyVisHide = null; var gBsClientWidth = 640; var gBsClientHeight = 480; var gBsBrowser = null; //the browser information itself function _BSPSBrowserItself() { var agent = navigator.userAgent.toLowerCase(); this.major = parseInt(navigator.appVersion); this.minor = parseFloat(navigator.appVersion); this.ns = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1))); this.ns2 = ((this.ns) && (this.major == 2)); this.ns3 = ((this.ns) && (this.major == 3)); this.ns4 = ((this.ns) && (this.major >= 4)); this.ie = (agent.indexOf("msie") != -1); this.ie3 = ((this.ie) && (this.major == 2)); this.ie4 = ((this.ie) && (this.major >= 4)); this.op3 = (agent.indexOf("opera") != -1); if (this.ns4) { gBsDoc = "document"; gBsSty = ""; gBsHtm = ".document"; gBsStyVisShow = "show"; gBsStyVisHide = "hide"; } else if (this.ie4) { gBsDoc = "document.all"; gBsSty = ".style"; gBsHtm = ""; gBsStyVisShow = "visible"; gBsStyVisHide = "hidden"; } } //Here is the browser type function _BSPSGetBrowserInfo() { gBsBrowser = new _BSPSBrowserItself(); } //Get client size info function _BSPSGetClientSize() { if (gBsBrowser.ns4) { gBsClientWidth = innerWidth; gBsClientHeight = innerHeight; } else if (gBsBrowser.ie4) { gBsClientWidth = document.body.clientWidth; gBsClientHeight = document.body.clientHeight; } } var gstrPopupID = 'BSSCPopup'; var gstrPopupShadowID = 'BSSCPopupShadow'; var gstrPopupTopicID = 'BSSCPopupTopic'; var gstrPopupIFrameID = 'BSSCPopupIFrame'; var gstrPopupIFrameName = 'BSSCPopupIFrameName'; var gstrPopupSecondWindowName = 'BSSCPopup'; var gPopupDiv = null; var gPopupDivStyle = null; var gPopupShadow = null; var gPopupTopic = null; var gPopupIFrame = null; var gPopupIFrameStyle = null; var gPopupWindow = null; var gnPopupClickX = 0; var gnPopupClickY = 0; var gbPopupTimeoutExpired = false; if (BSSCPopup_IsPopup()) { document.write(" "); } function DHTMLPopupSupport() { if ((gbIE4) && (!gbMac)) { return true; } return false; } function BSSCPopup_IsPopup() { if (DHTMLPopupSupport() && (this.name == gstrPopupIFrameName)) { return true; } else if ((gbNav4 || gbIE4) && (this.name == gstrPopupID)) { return true; } else { return false; } } function _BSSCCreatePopupDiv() { if (gPopupDiv == null) { if (DHTMLPopupSupport()) { document.write(" "); var tempColl = document.all.tags("DIV"); for (var iDiv = 0; iDiv screen.availHeight) { nY = screen.availHeight - nHeight - 40; } if (nX + nWidth + 40 > screen.availWidth) { nX = screen.availWidth - nWidth - 40; } } else { nX = window.gnPopupClickX; nY = window.gnPopupClickX; } // Launch a separate window var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,"; strParam += "height=" + nHeight + ",width=" + nWidth; strParam += ",screenX=" + nX + ",screenY=" + nY; window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); if (gBsBrowser.ns4) { window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE); window.gPopupWindow.onclick = NonIEPopup_HandleClick; window.gPopupWindow.onblur = NonIEPopup_HandleBlur; } else if (gBsBrowser.ie4) { window.gPopupWindow.focus(); } } } return; } function NonIEPopup_HandleBlur(e) { window.gPopupWindow.focus(); } function NonIEPopup_HandleClick(e) { // Because navigator will give the event to the handler before the hyperlink, let's // first route the event to see if we are clicking on a Popup menu in a popup. document.routeEvent(e); // If a popup menu is active then don't do anything with the click if (window.gPopupWindow.gbInPopupMenu) { window.gPopupWindow.captureEvents(Event.CLICK); window.gPopupWindow.onclick = NonIEPopup_HandleClick; return false; } // Close the popup window if (e.target.href != null) { window.location.href = e.target.href; if (e.target.href.indexOf("BSSCPopup") == -1) { this.close(); } } else { this.close(); } return false; } function BSSCPopup_AfterLoad() { if ((window.gPopupIFrame.document.readyState == "complete") && (window.gPopupIFrame.document.body != null)) { BSSCPopup_ResizeAfterLoad(); } else { setTimeout("BSSCPopup_AfterLoad()", 200); } } function BSSCPopup_ResizeAfterLoad() { window.gPopupDivStyle.visibility = gBsStyVisHide; // Determine the width and height for the window var size = new BSSCSize(0, 0); BSSCGetContentSize(window.gPopupIFrame, size); var nWidth = size.x; var nHeight = size.y; _BSPSGetClientSize(); if (nWidth > gBsClientWidth) { // Adjust the height by 1/3 of how much we are reducing the width var lfHeight = 1.0; lfHeight = (((nWidth / (gBsClientWidth - 20.0)) - 1.0) * 0.3333) + 1.0; lfHeight *= nHeight; nHeight = lfHeight; nWidth = gBsClientWidth - 20; } if (nHeight > gBsClientHeight * .67) { nHeight = gBsClientHeight / 2; } window.gPopupDivStyle.width = nWidth; window.gPopupDivStyle.height = nHeight; // Determine the position of the window var nClickX = window.gnPopupClickX; var nClickY = window.gnPopupClickY; var nTop = 0; var nLeft = 0; if (nClickY + nHeight + 20 0; i--) { x = i * 100; thisWindow.resizeTo(x, miny); thisWindow.resizeTo(x, miny); // alert('testsizex :' + x + " testsizey :" + miny); if ((thisWindow.document.body.scrollHeight > miny) || (thisWindow.document.body.scrollWidth > x)) { x = (i + 1) * 100; thisWindow.resizeTo(x, y); thisWindow.resizeTo(x, y); size.x = thisWindow.document.body.scrollWidth + 20; size.y = thisWindow.document.body.scrollHeight + 20; break; } } // Handle absurd cases just in case IE flakes if (size.y "); if (gbNav4) { //Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... // document.write(".PopupOver {color:white; background:navy; font-size:9pt; text-decoration:none;}"); // document.write(".PopupNotOver {color:black; background:#c0c0c0; font-size:9pt; text-decoration:none;}"); } else if (gbIE4) { document.write(""); } } //Define variable arguments as: strTitle, strUrl function PopupMenuTopicEntry() { this.strTitle = PopupMenuTopicEntry.arguments[0]; this.strURL = PopupMenuTopicEntry.arguments[1]; } // If the topic list is set, it is an array of TopicEntry objects (defined in WebHelp3.html) function PopupMenu_SetTopicList(aPopupTopicArray) { gbPopupMenuTopicList = aPopupTopicArray; } //Seek for the bsscright frame function _SeekFrameByName( cRoot, strName ) { if( cRoot == null ) return null; if( cRoot.frames == null ) return null; if( cRoot.frames[strName] != null ) return cRoot.frames[strName]; for (var i=0; i "); wndPopupLinks.document.write(""); var strParaLine = ""; for (var i = 0; i ' // If the destination is a number then look it up in the topic list if (isNaN(fn_arguments[i])) { strMenu += '
'; } else { strMenu += '' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + ''; } 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