// eHelp® Corporation Dynamic HTML JavaScript // Copyright© 1998-2001 eHelp® Corporation.All rights reserved. // Version=4.66 // Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten. //// Segment Begin -- (JavaScript 1.0) /// Section Begin - General and relative topics(JavaScript 1.0) //{{HH_SYMBOL_SECTION var HH_ChmFilename = "C:\\$HTML Help\\W1W1\\Base\\sr_m\\source\\sr_m.chm"; var HH_WindowName = "$global_main"; var HH_GlossaryFont = ""; var HH_Glossary = "0"; var HH_Avenue = "0"; var HH_ActiveX = false; //}}HH_SYMBOL_SECTION //Begin to support previous generic parameters //Get the information about the browser. var gstrBsAgent = navigator.userAgent.toLowerCase(); var gnBsVer = parseInt(navigator.appVersion); var gbBsIE = (gstrBsAgent.indexOf('msie') != -1); var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)); var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1); var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2)); var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3)); var gbBsNS2 = ((gbBsNS) && (gnBsVer <= 2)); var gbBsNS3 = ((gbBsNS) && (gnBsVer == 3)); var gbBsIE300301 = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1))); var gbBsIE302 = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1)); var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4)); var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5)); var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); var gbBsIE5 = false; var gbBsIE55 = false; gbBsIE = (navigator.appName.indexOf("Microsoft") != -1); if (parseInt(navigator.appVersion) >= 4) { gbBsIE4 = (navigator.appName.indexOf("Microsoft") != -1); if (gbBsIE4) { var nPos = gstrBsAgent.indexOf("msie"); var strIEversion = gstrBsAgent.substring(nPos + 5); var nVersion = parseFloat(strIEversion); if (nVersion >= 5) gbBsIE5 = true; if (nVersion >= 5.5) gbBsIE55 = true; } } var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); var gbBsOp3 = (gstrBsAgent.indexOf('opera') != -1); // Utilities functions. function BsscHasExtJs() { if( gbBsIE3Before || gbBsNS3Before) return false; return true; } // Register event handler var gBsOnLoads = new Array(); // An array holds all the onload event handler. var gBsOnClicks = new Array(); // An array holds all the onClick event handler. var gBsOnUnLoads = new Array(); // An array holds all the OnUnLoad event handler. var gBsOnMouseOvers = new Array(); // An array holds all the OnMouseOver event handler. var gBsOnMouseOuts = new Array(); // An array holds all the OnMouseOut event handler. var gbOrignalOnMouseDown = null; function BsscRegisterOnLoad(funcHandler) { var nLength = gBsOnLoads.length; gBsOnLoads[nLength] = funcHandler; } function BsscRegisterOnClick(funcHandler) { var nLength = gBsOnClicks.length; gBsOnClicks[nLength] = funcHandler; } function BsscRegisterOnUnLoad(funcHandler) { var nLength = gBsOnUnLoads.length; gBsOnUnLoads[nLength] = funcHandler; } function BsscRegisterOnMouseOver(funcHandler) { var nLength = gBsOnMouseOvers.length; gBsOnMouseOvers[nLength] = funcHandler; } function BsscRegisterOnMouseOut(funcHandler) { var nLength = gBsOnMouseOuts.length; gBsOnMouseOuts[nLength] = funcHandler; } function BsGeneralOnLoad() { if (!gbBsIE4 && !gbBsNS4) return; // Make everything visible in navigator if (gbBsNS4 && !gbBsNS6) { // Make some special effects items visible for (var iLayer = 0; iLayer < document.layers.length; iLayer++) { document.layers[iLayer].visibility = "show"; document.layers[iLayer].left = 0; } } } // If resize the netscape browser, need to reload it. function BsReDo() { if (innerWidth != origWidth || innerHeight != origHeight) location.reload(); } // End of the local functions. // The following functions are used by the html files. function BSSCOnLoad() { if( !BsscHasExtJs() ) return; for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--) gBsOnLoads[nElement](); } function BSSCOnClick() { if (!BsscHasExtJs()) return; for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--) gBsOnClicks[nElement](); } function BSSCOnUnload() { if (!BsscHasExtJs()) return; for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--) { gBsOnUnLoads[nElement](); } } function BSSCOnMouseOver() { if (!BsscHasExtJs()) return; for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--) { gBsOnMouseOvers[nElement](); } } function BSSCOnMouseOut() { if (!BsscHasExtJs()) return; for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--) { gBsOnMouseOuts[nElement](); } } // End of invocation of the event handle functions. // Add the GereralOnLoad to the onload array. if (typeof(BsscRegisterOnLoad) != "undefined") { BsscRegisterOnLoad(BsGeneralOnLoad); } if (gbBsNS4&&!gbBsNS6) { origWidth = innerWidth; origHeight = innerHeight; onresize = BsReDo; } //End to support previous generic parameters //Begin to support previous HHActiveX invoking function BsHHActivateComponents() { if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0]))) { var objBody = document.getElementsByTagName("BODY")[0]; if( typeof(objBody) == "object" ) { objBody.insertAdjacentHTML("beforeEnd", ''); if (HHComponentActivator.object) HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue); } } } function BsHHActivXOnLoad() { if( gbBsIE4 ) BsHHActivateComponents(); } if( typeof(BsscRegisterOnLoad) != "undefined" ) { BsscRegisterOnLoad(BsHHActivXOnLoad); } //End to support previous HHActiveX invoking //Begin to support previous relative topics //If webHelp needs Related Topics DHTMLcode, it's supposed to add it here var gbPopupMenuTimeoutExpired = false; var gbInPopupMenu = false; var gbPopupMenuTopicList = null; var gOlddocumentClick = null; ////////////////////////////////////////////////////////////////////////////////////////// // // Popup Menu code // ////////////////////////////////////////////////////////////////////////////////////////// var g_bIsPopupMenuInit = false; function _WritePopupMenuLayer() { if (!g_bIsPopupMenuInit) { if (gbBsNS4) { //Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... if (gbBsNS6) document.write(""); else document.write("
"); } else{ document.write(""); if (gbBsIE4) { document.write(""); } } g_bIsPopupMenuInit = true; } } //Define variable arguments as: strTitle, strUrl function MTE() { this.strTitle = MTE.arguments[0]; if (MTE.arguments.length > 1) this.strURL = MTE.arguments[1]; else this.strURL = this.strTitle; } // If the topic list is set, it is an array of TopicEntry objects (defined in WebHelp3.js) 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 < (argLen - 2) / 2; i++) { strParaLine = ""; strParaLine += ""); wndPopupLinks.document.close(); window.gbInPopupMenu = true; if (!gbBsIE) { wndPopupLinks.focus(); } return false; } if (((argLen < 5) && ((isNaN(fn_arguments[2])) || (gbPopupMenuTopicList == null))) || ((argLen < 4) && ((!isNaN(fn_arguments[2])) && (gbPopupMenuTopicList != null)))) { // Get the place that we will be putting the topic into var strURL = ""; if (isNaN(fn_arguments[2]) || (gbPopupMenuTopicList == null)) { strURL = fn_arguments[3]; } else { strURL = gbPopupMenuTopicList[fn_arguments[2]].strURL; } if (targetDoc != null) { targetDoc.location.href = strURL; } else { if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined") window.open(strURL, fn_arguments[1]); else window.open(strURL); } window.gbInPopupMenu = true; return false; } var strMenu = ""; if (gbBsNS4) { strMenu = ''; } else { strMenu = '
'; } else { strMenu += '' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + ''; } strMenu += ''; if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) { i += 2; } else { i += 1; } } strMenu += "
"; if (gbBsMac) { // totally hack. because ie5 in mac need something. is one of them. mac is mad. strMenu +="
"; } var layerPopup = null; var stylePopup = null; var nEventX = 0; var nEventY = 0; var nWindowWidth = 0; if (gbBsIE4) { layerPopup = document.getElementById("PopupMenu"); layerPopup.innerHTML = strMenu; stylePopup = layerPopup.style; _BSPSGetClientSize(); // Get the position of the item causing the event (relative to its parent) nEventX = window.event.clientX; nEventY = window.event.clientY; if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) { nEventY += document.body.scrollTop + 10; } else { nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20; } stylePopup.top = nEventY; var nPopupWidth = layerPopup.scrollWidth; if (gbBsMac) { nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup. } if (nEventX + nPopupWidth + 20 > gBsClientWidth) { if (gBsClientWidth - nPopupWidth < 5) { stylePopup.left = 5; } else { stylePopup.left = gBsClientWidth - nPopupWidth - 5; } } else { stylePopup.left = nEventX + document.body.scrollLeft + 20; } stylePopup.visibility = "visible"; if (!gOlddocumentClick && document.onclick) gOlddocumentClick = document.onclick; document.onclick = PopupMenu_HandleClick; } else if (gbBsNS6) { layerPopup = document.getElementById("PopupMenu"); layerPopup.style.visibility = "hidden"; var e = fn_arguments[0]; nEventX = e.pageX; nEventY = e.pageY; _BSPSGetClientSize(); layerPopup.innerHTML = strMenu; if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) { nEventY += 20; } else { nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20; } if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) { if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) { nEventX = 5; } else { nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20; } } else { nEventX += 20; } layerPopup.style.top = nEventY; layerPopup.style.left = nEventX; // set again to avoid the stupid frash in netscape 6. layerPopup.innerHTML = strMenu; layerPopup.style.visibility = "visible"; //window.captureEvents(Event.MOUSEDOWN); if (!gOlddocumentClick && document.onclick) gOlddocumentClick = document.onclick; window.onclick = PopupMenu_HandleClick; } else if (gbBsNS4) { layerPopup = document.layers.PopupMenu; layerPopup.visibility = "hide"; stylePopup = layerPopup.document; stylePopup.write(strMenu); stylePopup.close(); var e = fn_arguments[0]; nEventX = e.pageX; nEventY = e.pageY; _BSPSGetClientSize(); if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) { nEventY += 20; } else { nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20; } layerPopup.top = nEventY; if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) { if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) { nEventX = 5; } else { nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20; } } else { nEventX += 20; } layerPopup.left = nEventX; layerPopup.visibility = "show"; window.captureEvents(Event.MOUSEDOWN); if (!gOlddocumentClick && document.onmousedown) gOlddocumentClick = document.onmousedown; window.onmousedown = PopupMenu_HandleClick; } window.gbInPopupMenu = true; window.gbPopupMenuTimeoutExpired = false; setTimeout("PopupMenu_Timeout();", 100); return false; } function PopupMenu_Timeout() { window.gbPopupMenuTimeoutExpired = true; } function PopupMenu_Over(e) { if (gbBsIE4) { e.srcElement.className = "PopupOver"; } else if (gbBsNS4) { // this.bgColor = "red"; // e.target.document.className = "PopupOver"; } return; } function PopupMenu_Out(e) { if (gbBsIE4) { e.srcElement.className = "PopupNotOver"; } else if (gbBsNS4) { this.bgColor = "#f0f0f0"; } return; } function PopupMenu_HandleClick(e) { if (window.gbPopupMenuTimeoutExpired) { window.gbInPopupMenu = false; if (gbBsNS4 && !gbBsNS6) { window.releaseEvents(Event.MOUSEDOWN); } var layerPopup = null; var stylePopup = null; if (gbBsIE4) { layerPopup = document.getElementById("PopupMenu"); stylePopup = layerPopup.style; stylePopup.visibility = "hidden"; } else if (gbBsNS6) { layerPopup = document.getElementById("PopupMenu"); layerPopup.style.visibility = "hidden"; } else if (gbBsNS4) { layerPopup = document.layers.PopupMenu; layerPopup.visibility = "hide"; } if (gOlddocumentClick) { if (gbBsNS4 && !gbBsNS6) document.onmousedown = gOlddocumentClick; else document.onclick = gOlddocumentClick; } } return; } // This function should be deleted when all old projects are cleaned up function BSPSWritePopupFrameForIE4() { return false; } ///////////////////////////////////////////////////////////////////// function BSSCPopup_ClickMac() { if ((!DHTMLPopupSupport()) && (gbBsIE4)) { var bClickOnAnchor = false; var el; if ((window.event != null) && (window.event.srcElement != null)) { el = window.event.srcElement; while (el != null) { if ((el.tagName == "A") || (el.tagName == "AREA")) { bClickOnAnchor = true; break; } if (el.tagName == "BODY") { break; } el = el.parentElement; } } if (BSSCPopup_IsPopup()) { if (!bClickOnAnchor) { parent.window.gPopupWindow = null; self.close(); } } else { bClosePopupWindow = true; if ((bClickOnAnchor) && (el.href) && ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1))) { bClosePopupWindow = false; } if (bClosePopupWindow) { if (window.gPopupWindow != null && !window.gPopupWindow.closed ) { window.gPopupWindow.close(); } } } } } ////////////////////////////////////////////////////////////////////// function BsPopupOnClick() { if (!gbBsIE4) return; BSSCPopup_ClickMac(); } function _BSSCOnError(message) { if(-1 != message.indexOf("denied") || -1 != message.indexOf("Object required")) return true; } //End to support previous relative topics /// Section End - General and relative topics (JavaScript 1.0) /// Section Begin - Popup (JavaScript 1.0) //Begin to support previous popup functions ////////////////////////////////////////////////////////////////////////////////////////////// // // 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; // here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others. var gBRateH_W = 0.618; // 1.618 Golden cut. var gBMaxXOfParent = 0.8; var gBMaxYOfParent = 0.8; var gBscrollHeight = 16; var gBscrollWidth = 16; var gBpermitXDelta = 3; var gBpermitYDelta = 3; var arrayPopupURL = new Array(); var arrayAbsPopupURL = new Array(); var arrayDirty = new Array(); function setAbsPopupURL(nIndex, strURL) { arrayAbsPopupURL[nIndex] = strURL; } function getAbsPopupURL(nIndex) { if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null; else return arrayAbsPopupURL[nIndex]; } function getPopupURL(nIndex) { if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null; else return arrayPopupURL[nIndex]; } function getPopupID(nIndex) { return gstrPopupID + nIndex; } function getPopupShadowID(nIndex) { return gstrPopupShadowID + nIndex; } function getPopupTopicID(nIndex) { return gstrPopupTopicID + nIndex; } function getPopupIFrameID(nIndex) { return gstrPopupIFrameID + nIndex; } function getPopupIFrameName(nIndex) { return gstrPopupIFrameName + nIndex; } function getPopupTopicStyle(nIndex) { return eval("document.getElementsByTagName("*")['" + getPopupTopicID(nIndex) + "']").style; } function getPopupShadowStyle(nIndex) { return eval("document.getElementsByTagName("*")['" + getPopupShadowID(nIndex) + "']").style; } function getPopupIFrame(nIndex) { return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); } function getPopupDivStyle(nIndex) { return eval("document.getElementsByTagName("*")['" + getPopupID(nIndex) + "']").style; } function getPopupIFrameStyle(nIndex) { return eval("document.getElementsByTagName("*")['" + getPopupIFrameName(nIndex) + "'].style"); } function findDiv(strURL) { var i = 0; for (i = 0; i < arrayPopupURL.length; i ++ ) { if (arrayPopupURL[i] == strURL) { return i; } } return -1; } var gnToken = -1; function takeToken() { gnToken ++; if (gnToken > 10000) gnToken = 0; return gnToken; } function IsValidToken(nToken) { return (gnToken == nToken); } function addDiv(strURL) { var i = 0; for (i = 0; i < arrayPopupURL.length; i ++) { if (arrayPopupURL[i] == null) { arrayPopupURL[i] = strURL; return i; } } arrayPopupURL[i] = strURL; arrayDirty[i] = true; return i; } function setDirty() { var i = 0; for (i = 0; i < arrayPopupURL.length; i ++ ) arrayDirty[i] = true; } function IsDirty(nIndex) { if (nIndex == -1) return true; else if (arrayDirty.length > nIndex) return arrayDirty[nIndex]; else return true; } function hideAll() { var i = 0; for (i = 0; i < arrayPopupURL.length; i ++ ) getPopupDivStyle(i).visibility = gBsStyVisHide; } function getCurrentPopupIFrame() { var i = 0; for (i = 0; i < arrayPopupURL.length; i ++) if (getPopupDivStyle(i).visibility == gBsStyVisShow) return getPopupIFrame(i); return null; } function setClear(nIndex) { if (nIndex != -1) arrayDirty[nIndex] = false; } function _BSSCCreatePopupDiv(strURL) { var nIndex = findDiv(strURL); if (nIndex == -1 ) { nIndex = addDiv(strURL); BsPopup_CreateDiv(nIndex); } else { if (IsDirty(nIndex)) { if("object" == typeof(getPopupIFrame(nIndex).document)) getPopupIFrame(nIndex).document.location.href = strURL; } } return nIndex; } //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.ns6 = ((this.ns) && (this.major >= 5)); 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.getElementsByTagName("*")"; gBsSty = ".style"; gBsHtm = ""; gBsStyVisShow = "visible"; gBsStyVisHide = "hidden"; } } //Here is the browser type function _BSPSGetBrowserInfo() { gBsBrowser = new _BSPSBrowserItself(); } _BSPSGetBrowserInfo(); //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 gPopupWindow = null; var gnPopupClickX = 0; var gnPopupClickY = 0; var gnPopupScreenClickX = 0; var gnPopupScreenClickY = 0; var gbPopupTimeoutExpired = false; function DHTMLPopupSupport() { if ((gbBsIE4) && (!gbBsMac)) { return true; } return false; } function BSSCPopup_IsPopup() { if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { return true; } else if ((gbBsNS4 || gbBsIE4) && (this.name.indexOf(gstrPopupID) != -1)) { return true; } else { return false; } } // If there is a hyperlink in a popup window, display the hyperlink in // the original window. (bsscright) if (BSSCPopup_IsPopup() && !gbBsIE4) { document.write(""); } // Local functions. function BsPopup_CreateDiv(nIndex) { if(!DHTMLPopupSupport()) return; // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone. var strPopupDiv = ""; var objBody = document.getElementsByTagName("BODY")[0]; if( typeof(objBody) != "object" ) return; objBody.insertAdjacentHTML("beforeEnd", strPopupDiv); } function BSSCPopup_Timeout(nIndex, nToken) { if (!IsValidToken(nToken)) return; if ((getPopupIFrame(nIndex).document.readyState == "complete") && (getPopupIFrame(nIndex).document.body != null)) { window.getPopupDivStyle(nIndex).visibility = gBsStyVisShow; setClear(nIndex); window.gbPopupTimeoutExpired = true; BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; if (!gbOrignalOnMouseDown && document.onmousedown) gbOrignalOnMouseDown = document.onmousedown; document.onmousedown = BSSCPopupParentClicked; } else { setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100); } } // VH 08/10/00 // do not change target to parent if the href is using javascript function BSSCPopup_ChangeTargettoParent(tagsObject) { var collA = tagsObject.all.tags("A"); BSSCPopup_ChangeTargettoParent2(collA); var collIMG = tagsObject.all.tags("IMG"); BSSCPopup_ChangeTargettoParent2(collIMG); } function BSSCPopup_ChangeTargettoParent2(colls) { var j = 0; if (colls != null) { for (j = 0; j < colls.length; j ++ ) { var strtemp = colls[j].href; strtemp = strtemp.toLowerCase(); if (strtemp.indexOf("javascript:") == -1) if (colls[j].target == "") colls[j].target = "_parent"; } } } function BSPSPopupTopicWinHelp(strURL) { _BSSCPopup(strURL); return; } function _BSSCPopup(strURL, width, height) { var cuswidth = 0; var cusheight = 0; if ("undefined" != typeof(width) && "undefined" != typeof(height)) { cuswidth = width; cusheight= height; } if (DHTMLPopupSupport()) { // If we are already in a popup, replace the contents // if (BSSCPopup_IsPopup()) { // parent._BSSCPopup(strURL, cuswidth, cusheight); //} else { var nToken = takeToken(); // take token first. var nIndex = _BSSCCreatePopupDiv(strURL); window.gbPopupTimeoutExpired = false; var ntWidth = gBsClientWidth; var ntHeight = gBsClientHeight; _BSPSGetClientSize(); if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) { setDirty(); } if (IsDirty(nIndex)) { if (gbBsMac) { setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400); } else { setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100); } } else { MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight); } //} } else { _BSSCPopup2(strURL, cuswidth, cusheight); } return; } if (gbBsIE55) { var ehlpdhtm_fOldBefureUnload = window.onbeforeunload; window.onbeforeunload = window_BUnload; } function window_BUnload() { for (var i = 0; i < arrayPopupURL.length; i ++) document.getElementById(getPopupID(i)).outerHTML = ""; arrayPopupURL.length = 0; if (ehlpdhtm_fOldBefureUnload) ehlpdhtm_fOldBefureUnload(); } function _BSSCPopup2(strURL, width, height) { if (window.name == gstrPopupSecondWindowName) { window.location = strURL; } else { if (!gbBsMac || !gBsBrowser.ns4) { BSSCHidePopupWindow(); } var nX = 0; var nY = 0; var nHeight = 300; var nWidth = 400; if (width > 0 && height > 0) { nHeight = height; nWidth = width; } _BSPSGetClientSize(); nX = window.gnPopupScreenClickX; nY = window.gnPopupScreenClickY; if (nY + nHeight + 40 > screen.availHeight) { nY = screen.availHeight - nHeight - 40; } if (nX + nWidth + 40 > screen.availWidth) { nX = screen.availWidth - nWidth - 40; } // Launch a separate window var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes"; if (gBsBrowser.ns) { if (gBsBrowser.ns6) { strParam += ",Height=" + nHeight + ",Width=" + nWidth; strParam += ",screenX=" + nX + ",screenY=" + nY; strParam += ",dependent=yes"; } else { strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth; strParam += ",screenX=" + nX + ",screenY=" + nY; strParam += ",dependent=yes"; } } else { strParam += ",height=" + nHeight + ",width=" + nWidth; strParam += ",left=" + nX + ",top=" + nY; } window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); if (gBsBrowser.ns4) setEventHandle(); else if (gBsBrowser.ie4) setTimeout("setPopupFocus();", 100); } return; } function setEventHandle() { window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE); window.gPopupWindow.onclick = NonIEPopup_HandleClick; window.gPopupWindow.onblur = NonIEPopup_HandleBlur; } function setPopupFocus() { window.gPopupWindow.focus(); } 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) { if (e.target.target == "") window.location.href = e.target.href; else window.open(e.target.href, e.target.target); if (e.target.href.indexOf("javascript:void(0)") == -1 && e.target.href.indexOf("javascript:null") == -1 && e.target.href.indexOf("BsscPopup") == -1) { this.close(); } } else { this.close(); } return false; } function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) { if (typeof(window.getPopupIFrame(nIndex).document) == "unknown") { _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); return; } if (!IsValidToken(nToken)) return; if ((window.getPopupIFrame(nIndex).document.readyState == "complete") && (window.getPopupIFrame(nIndex).document.body != null)) { if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe. window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); } else { setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); } } else { setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); } } function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight) { if (window.gbPopupTimeoutExpired) return; if (!IsValidToken(nToken)) return; getPopupDivStyle(nIndex).visibility = gBsStyVisHide; // Determine the width and height for the window //var size = new BSSCSize(0, 0); //BSSCGetContentSize(window.getPopupIFrame(nIndex), size); //var nWidth = size.x; //var nHeight = size.y; _BSPSGetClientSize(); var size = new BSSCSize(0, 0); if (cuswidth <= 0 || cusheight <= 0) BSSCGetContentSize(window.getPopupIFrame(nIndex), size); else { size.x = cuswidth; size.y = cusheight; } // Determine the width and height for the window var nWidth = size.x; var nHeight = size.y; // for small popup size, we should allow any size. // The popup size should be ok if bigger than 0 if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. // if (nWidth < 40 || nHeight < 40) return; // there must be something terribly wrong. window.getPopupDivStyle(nIndex).pixelWidth = nWidth; window.getPopupDivStyle(nIndex).pixelHeight = nHeight; window.getPopupShadowStyle(nIndex).pixelWidth = nWidth; window.getPopupShadowStyle(nIndex).pixelHeight = nHeight; window.getPopupTopicStyle(nIndex).pixelWidth = nWidth; window.getPopupTopicStyle(nIndex).pixelHeight = nHeight; if (gbBsIE55) { window.getPopupShadowStyle(nIndex).pixelWidth = nWidth + 2; window.getPopupShadowStyle(nIndex).pixelHeight = nHeight + 2; window.getPopupTopicStyle(nIndex).pixelWidth = nWidth + 2; window.getPopupTopicStyle(nIndex).pixelHeight = nHeight + 2; } window.getPopupIFrameStyle(nIndex).pixelWidth = nWidth; window.getPopupIFrameStyle(nIndex).pixelHeight = nHeight; if (gbBsIE55) { window.getPopupIFrameStyle(nIndex).top = 0; window.getPopupIFrameStyle(nIndex).left = 0; } var strURL = getPopupURL(nIndex); if (strURL.indexOf("#") != -1) getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); } function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight) { if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again. window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); return; } // Determine the position of the window var nClickX = window.gnPopupClickX; var nClickY = window.gnPopupClickY; var nTop = 0; var nLeft = 0; var nWidth = window.getPopupDivStyle(nIndex).pixelWidth; var nHeight = window.getPopupDivStyle(nIndex).pixelHeight; if (nClickY + nHeight + 20 < gBsClientHeight + document.body.scrollTop) { nTop = nClickY + 10; } else { nTop = (document.body.scrollTop + gBsClientHeight) - nHeight - 20; } if (nClickX + nWidth < gBsClientWidth + document.body.scrollLeft) { nLeft = nClickX; } else { nLeft = (document.body.scrollLeft + gBsClientWidth) - nWidth - 8; } if (nTop < document.body.scrollTop ) nTop = document.body.scrollTop + 1; if (nLeft< document.body.scrollLeft) nLeft = document.body.scrollLeft + 1; window.getPopupDivStyle(nIndex).left = nLeft; window.getPopupDivStyle(nIndex).top = nTop; // Set the location of the background blocks window.getPopupShadowStyle(nIndex).left = 6; window.getPopupShadowStyle(nIndex).top = 6; if (gbBsIE55) { window.getPopupShadowStyle(nIndex).left = 4; window.getPopupShadowStyle(nIndex).top = 4; } if (gbBsMac) { // Total hack on the iMac to get the IFrame to position properly window.getPopupIFrameStyle(nIndex).pixelLeft = 100; window.getPopupIFrameStyle(nIndex).pixelLeft = 0; // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it window.getPopupIFrame(nIndex).window.BSSCOnLoad(); } BSSCPopup_Timeout(nIndex , nToken ); return; } function BSSCSize(x, y) { this.x = x; this.y = y; } function BSSCGetContentSize(thisWindow, size) { if (!((gBsBrowser.ie4) || (gBsBrowser.ns4))) return; if (gbBsMac) { size.x = 300; size.y = 300; return; } // Resize the width until it is wide enough to handle the content // The trick is to start wide and determine when the scrollHeight changes // because then we know a scrollbar is necessary. We can then go back // to the next widest size (for no scrollbar) var ClientRate = gBsClientHeight / gBsClientWidth; var GoldenSize = new BSSCSize(0,0); GoldenSize.x = gBsClientWidth * gBMaxXOfParent; GoldenSize.y = gBsClientHeight *gBMaxYOfParent ; if (ClientRate > gBRateH_W) { GoldenSize.y = GoldenSize.x * gBRateH_W; } else { GoldenSize.x = GoldenSize.y / gBRateH_W; } // Try to using parent specified max x. var x = 0; var maxgoldx = GoldenSize.x; var maxx = gBsClientWidth * gBMaxXOfParent; // This double resize causes the document to re-render (and we need it to) if (!gbBsIE5) thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4. thisWindow.resizeTo(1, 1); thisWindow.resizeTo(1, 1); thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); var miny = thisWindow.document.body.scrollHeight + gBscrollHeight; if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can { thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); miny = thisWindow.document.body.scrollHeight + gBscrollHeight; maxy = gBsClientHeight * gBMaxYOfParent; if (miny > maxy) { // the popup must have a scroll, OK let it be. miny = maxy; size.x = maxx; size.y = maxy; thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little. } else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent. size.y = miny; // downsize from maxx , now I try to using binary divide. x = maxx; deltax = -maxx/2; //j = 0; while (true) { x = x + deltax; thisWindow.resizeTo(x, miny); thisWindow.resizeTo(x, miny); diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate; if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter deltax = Math.abs(deltax) /2; else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter deltax = -Math.abs(deltax) /2; else // the y is close enough to wanted. break; if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. break; } size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; thisWindow.document.body.scroll = 'no'; // Handle absurd cases just in case IE flakes // if (size.y < 100) { // size.y = 100; // } } } else { if (thisWindow.document.body.scrollWidth > maxgoldx) { size.x = maxx; size.y = miny; thisWindow.document.body.scroll = 'yes'; } else { // downsize from maxgoldx , now I try to using binary divide. x = maxgoldx; deltax = -maxgoldx/2; //i = 0; while (true) { x = x + deltax; thisWindow.resizeTo(x, miny); thisWindow.resizeTo(x, miny); diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W; if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter deltax = Math.abs(deltax) /2; else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter deltax = -Math.abs(deltax) /2; else // the y is close enough to wanted. break; if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. break; //i ++; } //size.x = x - gBscrollWidth; size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; size.y = thisWindow.document.body.scrollHeight ; thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little. thisWindow.resizeTo(size.x, size.y); if (thisWindow.document.body.scrollWidth > size.x) { size.x = thisWindow.document.body.scrollWidth; } if (thisWindow.document.body.scrollHeight > size.y) { size.y = thisWindow.document.body.scrollHeight; } } } // no reload no scrollbar. //size.x = size.x + 16; //reserve a width for scrollbar (IE 4.0 only) thisWindow.resizeTo(size.x, size.y); thisWindow.resizeTo(size.x, size.y); return; } function BSSCPopupParentClicked() { if (!window.gbPopupTimeoutExpired) { return false; } document.onmousedown = gbOrignalOnMouseDown; // Simply hide the popup hideAll(); window.gbPopupTimeoutExpired = false; return true; } function BSSCPopupClicked() { if (!window.gbPopupTimeoutExpired) { return false; } var popupIFrame = getCurrentPopupIFrame(); if (popupIFrame == null) { return true; } /* if ("undefined" != typeof(popupIFrame.gbInPopupMenu) && popupIFrame.gbInPopupMenu) { return true; }*/ if (!((popupIFrame.window.event != null) && (popupIFrame.window.event.srcElement != null) && ((popupIFrame.window.event.srcElement.tagName == "A") || (popupIFrame.window.event.srcElement.tagName == "IMG")))) { document.onmousedown = gbOrignalOnMouseDown; // Simply hide the popup hideAll(); window.gbPopupTimeoutExpired = false; return true; } } //trace the mouse over's position for hotspot function BSPSPopupOnMouseOver(event) { if (gBsBrowser.ie4) { window.gnPopupClickX = event.clientX + document.body.scrollLeft; window.gnPopupClickY = event.clientY + document.body.scrollTop; window.gnPopupScreenClickX = event.screenX; window.gnPopupScreenClickY = event.screenY; } else if (gBsBrowser.ns4) { window.gnPopupClickX = event.pageX - window.pageXOffset; window.gnPopupClickY = event.pageY - window.pageYOffset; window.gnPopupScreenClickX = event.screenX - window.pageXOffset; window.gnPopupScreenClickY = event.screenY - window.pageYOffset; } } function BSSCHidePopupWindow() { if (window.gPopupWindow != null) { if (gBsBrowser.ns4) { if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) { window.gPopupWindow.close(); window.gPopupWindow = null; } } } return; } // Add the PopupOnClick to the onclick array. if (typeof(BsscRegisterOnClick) != "undefined") { BsscRegisterOnClick(BsPopupOnClick); } //End to support previous popup functions /// Section End - Popup (JavaScript 1.0) /// Section Begin - Embedded Stub (JavaScript 1.0) var s_strAgent = navigator.userAgent.toLowerCase(); var s_nVer = parseInt(navigator.appVersion); var s_bIE = (s_strAgent.indexOf('msie') != -1); var s_bNS = (s_strAgent.indexOf('mozilla') != -1) && ((s_strAgent.indexOf('spoofer') == -1) && (s_strAgent.indexOf('compatible') == -1)); var s_bOpera = (s_strAgent.indexOf('opera') != -1); var s_bIE3Before = ((s_bIE) && (s_nVer <= 2)); var s_bNS3Before = ((s_bNS) && (s_nVer <= 3)); var s_bNS2 = ((s_bNS) && (s_nVer <= 2)); var s_bNS3 = ((s_bNS) && (s_nVer == 3)); var s_bIE300301 = ((s_bIE) && (s_nVer == 2) && ((s_strAgent.indexOf("3.00") != -1)||(s_strAgent.indexOf("3.0a") != -1)||(s_strAgent.indexOf("3.0b")!=-1)||(s_strAgent.indexOf("3.01")!=-1))); var s_bIE302 = ((s_bIE) && (s_nVer == 2) && (s_strAgent.indexOf("3.02") != -1)); function HasExtJs() { if (s_bIE3Before) { return false;} if (s_bNS3Before) { return false;} if (typeof (BsGeneralOnLoad) == "undefined"){ return false; } return true; } function BSSCCreatePopupDiv() { return; } function WritePopupMenuLayer() { if (HasExtJs()) {_WritePopupMenuLayer();} } function BSSCPopup(strURL, width, height) { var re = new RegExp("'", 'g'); strURL = strURL.replace(re, "%27"); if (HasExtJs()) { _BSSCPopup(strURL, width, height); }else{ //Create a temporary window first to ensure the real popup comes up on top var wndTemp = null; if (!s_bNS3) { wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4"); } // Create the real popup window var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400"); // Close the temporary if (!s_bNS3) { wndTemp.close(); } else { wndPopup.focus(); } } } var gbWndTemp = null, gbWndPopupLinks = null; var gbstrParaTotal = ""; function PopupMenu_Invoke() { if (HasExtJs()) { return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); } if (s_bNS3Before || s_bIE3Before ) { var argLen = PopupMenu_Invoke.arguments.length; if (argLen < 5) { window.document.location.href = PopupMenu_Invoke.arguments[3]; return false; } gbWndTemp = null; gbWndPopupLinks = null; gbstrParaTotal = ""; for (var i = 0; i < (argLen - 2) / 2; i++) { var strParaLine = ""; if (s_bNS2 || s_bOpera){ strParaLine += "
" strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; strParaLine += ""; } else { strParaLine += ""); if (s_bNS2 || s_bOpera) { gbWndPopupLinks.document.write(""); } else { //YJ: IE301,302 and NS3.x works fine gbWndPopupLinks.document.write("<"); gbWndPopupLinks.document.write("script>"); gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}"); gbWndPopupLinks.document.write("<"); gbWndPopupLinks.document.write("/script>"); } gbWndPopupLinks.document.write(""); gbWndPopupLinks.document.write(gbstrParaTotal); gbWndPopupLinks.document.write(""); gbWndPopupLinks.document.close(); // Close the temporary if (!s_bNS3 && gbWndTemp != null) { gbWndTemp.close(); }else { gbWndPopupLinks.focus(); } return true; } return false; } /// Section End - Embedded Stub (JavaScript 1.0) //// Segment End -- (JavaScript 1.0) //// Segment Begin -- (JavaScript 1.2) /// Section Begin - kadov DHTM (JavaScript 1.2) //Begin to support extended and dropdown text effects. function kadovIsParagraph(el) { return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false; } function kadovInitEachChild(el) { for(var i=0; i "") ) child.style.setAttribute( "x-on-pageload", "" ); } var href = child.getAttribute("href") if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 ) kadovFilePopupInit(child.id); // Init for Popup else if( child.className == "dropspot" || child.className == "expandspot" || child.className == "glossterm" ) kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text else if( child.className == "trigger") kadovInitTrigger(child.id);// Init for Trigger else { kadovInitEffects(child.id);// Init for DHTML effects CEngine.SetOneTargetInitialState( child.id ); } } if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") ) child.start = "mouseover";// to start a AVI file. fileopen doesn't work kadovInitEachChild(child); } } function kadovRetrieveTextInner(el) { var x = ""; if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" )) return x; if( kadovIsParagraph(el) ) { var strNewID = " "; if( el.id != "" ) strNewID += "id=" + el.id + "_NewSpan "; x = "" + el.innerHTML + ""; } else { for(var i=0; i 0 ) if( (nTagClose - nTagOpen) != nDistance ) return strRawHTML; var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ; return kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose ); } function kadovAdjustObjectTag(strRawHTML, nStartPos) {// adjust object tag for related topics HTML control, because innerHTML misses out the item settings //Is there any DTC? var strDTCTagOpen = ''; var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos ); if( nDTCTagOpen < 0 ) return strRawHTML; var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen ); if( nDTCTagClose < nDTCTagOpen) return strRawHTML; // no Design Time Controls; //Is the DTC HTML Help Control? var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'; var strRTObjTagClose = ''; var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen ); if( nRTObjTagOpen < nDTCTagOpen ) return strRawHTML; var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen ); if( nRTObjTagClose < nRTObjTagOpen ) return strRawHTML; // is not a HTML help control // Is it a related Topics html help control? var strRTObjLabel = ''; } // to insert the reconstructed item params into runtime object tag var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length); return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length); } function kadovTextPopupOnLoad( el ) { if( !CCSSP.bIsWinOS && !CCSSP.bIsSunOS && !(CCSSP.bIsMacOS&&CCSSP.bIsIE5)) return 0; if( typeof(el) == "string" ) el = document.getElementById(el); var src = el.getAttribute( "x-use-popup" ); if(!src) return 0; var name = src; if( src.substr(0,1) == "#" ) name = src.substr(1, src.length-1); var srcDiv = document.getElementById(name); if( !srcDiv ) return 1; var type = el.getAttribute( "x-popup-type" ); var setup = el.getAttribute( "x-tmp-setup" ); var newId = name; if( newId.indexOf( "_tmp") <= 0 ) newId += "_tmp"; if( !setup ) { el.setAttribute( "x-tmp-setup", 1 ); if( type == "pulldown" ) { var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0); var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); //work around the bug in HH.exe that highlight the phrases when use Search tab //this approach is just removing the tag inserted by Microsoft in the runtime strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "", 52); var strStyle = " style='display:none; position:relative;"; var newDiv = "
" + strCleanHTML + "
"; srcDiv.outerHTML = ""; // empty the original DIV tag var elParentPra = kadovFindParentParagraph(el); if( elParentPra ) elParentPra.insertAdjacentHTML( "AfterEnd", newDiv ); } else if( type == "expanding" ) { var inner = kadovRetrieveTextInner(srcDiv); if( inner == "" ) inner = srcDiv.innerHTML; var strAdjust = kadovAdjustObjectTag(inner,0); var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext"; var newSpan = ""; srcDiv.outerHTML = ""; // empty the original DIV tag el.insertAdjacentHTML( "AfterEnd", newSpan ); } } return 0; } function kadovTextPopup( el ) { if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS && !(CCSSP.bIsMacOS&&CCSSP.bIsIE5)) || (window.event == null) ) return; window.event.cancelBubble = true; if( typeof(el) == "string" ) el = document.getElementById(el); var src = el.getAttribute( "x-use-popup" ); if(!src) return; var name = src; if( src.substr(0,1) == "#" ) name = src.substr(1, src.length-1) + "_tmp"; var srcDiv = document.getElementById(name); if( !srcDiv ) return; var type = el.getAttribute( "x-popup-type" ); var setup = el.getAttribute( "x-tmp-setup" ); if( srcDiv ) { if( srcDiv.style.display == "" ) srcDiv.style.display = "none"; else { srcDiv.style.display = ""; if( typeof(srcDiv.bInitialized) == "undefined" ) { srcDiv.bInitialized = true; kadovInitEffects(name); kadovInitEachChild(srcDiv); } } } event.returnValue=false; return; } function kadovFindParentParagraph( el ) { if( typeof(el) == "string" ) el = document.getElementById(el); if( (!el) || el.tagName == "BODY" ) return null; if( kadovIsParagraph(el.parentElement) ) return el.parentElement; else return kadovFindParentParagraph( el.parentElement ); } //Begin HTML code invoked function function kadovRegisterEventHandler( obj, strEvent, strEventHandler ) { if( !gbBsIE4 ) return; CCSSP.RegisterEventHandler( obj, strEvent, strEventHandler ); } function kadovTextPopupInit( el ) { if( (!gbBsIE4) || (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS && !(CCSSP.bIsMacOS&&CCSSP.bIsIE5))) return; if( typeof(el) == "string" ) el = document.getElementById(el); if( el != null ) { CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(" + el.id +");" ); CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(" + el.id +");" ); } } //End HTML code invoked function //End to support extended and dropdown text effects. //Begin to convert iWrite format to RoboEditor Format for DHTML effects function kadovInitTriggersInHead( ) { if( Object.xDelayedInitElements ) { var x = Object.xDelayedInitElements; for(i=0; i= 0 && nNext < values.length ) { functions[nIdx] = values.substr( nStart, nNext-nStart+1); nStart = nNext + 1; nIdx++; nNext = values.indexOf( "\)", nStart); } for( var i=0; i= 0 ) { nPageClick = arrForClickCount[j].indexOf("="); if( nPageClick > 0 ) { nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1; break; } } } var args = srcargs; if( j < arrForClickCount.length ) {// to strip out the "clicks=99" from the arguments string args = ""; for( var k = 0; k < arrForClickCount.length; k ++ ) { if( k != j ) { args += arrForClickCount[k]; if( k < arrForClickCount.length - 1 ) args += ","; } } } bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes ); } } function kadovTranslateProp( prop ) { switch( prop ) { case "x-on-hover" : return "bsschover"; case "x-on-pageclick" : return "bsscpageclick"; case "x-on-pageload" : return "bsscpageload"; case "x-on-trigger-1" : return "bssctrigger1"; case "x-on-trigger-2" : return "bssctrigger2"; } return null; } //End to convert iWrite format to RoboEditor Format for DHTML effects //Begin the definition of one entry to DHTML effects function bsscFXInit( trigger_ID, target_ID, event_type, action_type, action_setting, event_addional ) { if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS && !(CCSSP.bIsMacOS&&CCSSP.bIsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID return; // we don't support Navigator yet if( typeof(event_type) == "string" ) event_type = event_type.toLowerCase(); if( typeof(action_type) == "string" ) action_type = action_type.toLowerCase(); if( typeof(action_setting) == "string" ) action_setting = action_setting.toLowerCase(); // to get the target element then add it to the target list var eleTarget = CCSSP.GetObject( target_ID ); if( (eleTarget != null) && (event_type != null) && (action_type != null) ) { CEngine.AddOneTarget( target_ID, eleTarget ); CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional); } // to validate the trigger_ID parameter if( typeof(trigger_ID) == "string" && trigger_ID != "" ) CEngine.BuildTriggerObject( trigger_ID, target_ID ); } //End the definition of one entry to DHTML effects /// Section End - kadov DHTM (JavaScript 1.2) /// Section Begin - CCSSP DHTM (JavaScript 1.2) //Begin JavaScript libary for cross-platform positioning object. function CCSSP(){} // constructor of CCSSP class CCSSP.strAgent = navigator.userAgent.toLowerCase(); CCSSP.nAppVersion = parseInt(navigator.appVersion); CCSSP.bIsWinOS = ((CCSSP.strAgent.indexOf("win") >= 0) || (CCSSP.strAgent.indexOf("16bit") >= 0)); CCSSP.bIsMacOS = (CCSSP.strAgent.indexOf("mac") >= 0); CCSSP.bIsSunOS = (CCSSP.strAgent.indexOf("sunos") != -1); CCSSP.bIsIE = (navigator.appName.indexOf("Microsoft") >= 0); CCSSP.bIsIE4 = (CCSSP.bIsIE && (CCSSP.nAppVersion >= 4)); CCSSP.bIsIE5 = (CCSSP.bIsIE4 && (CCSSP.strAgent.indexOf("msie 5") != -1) ) CCSSP.bIsNav = (navigator.appName.indexOf("Netscape") >= 0); CCSSP.bIsNav4 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 4)); CCSSP.bIsNav6 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 5)); CCSSP.GetObject = function( obj ) {//convert object name string or reference into a valid object reference if( typeof(obj) == "object" ) return obj; else if( typeof(obj) == "string" && obj != "") { if( CCSSP.bIsNav4 ) return eval("document." + obj); else return eval("document.getElementById(\"" + obj + "\")"); } else return null; } CCSSP.MoveObjectTo = function(obj, x, y) {//positioning an object at a specific pixel coordinate if( CCSSP.bIsNav4 ) obj.moveTo(x,y); else { obj.style.pixelLeft = x; obj.style.pixelTop = y; } } CCSSP.MoveObjectBy = function(obj, dx, dy) {//moveing a object by x and/or y pixel if( CCSSP.bIsNav4 ) obj.moveBy(dx,dy); else { obj.style.pixelLeft += dx; obj.style.pixelTop += dy; } } CCSSP.SetObjectBGColor = function(obj, color) {//set the background color of an object if( CCSSP.bIsNav4 ) obj.bgColor = color; else obj.style.backgroundColor = color; } CCSSP.ShowObject = function(obj, bShow) {// set the object to be visible or invisible if( CCSSP.bIsNav4 ) obj.visibility = (bShow == true) ? 'show' : 'hide'; else obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space. } CCSSP.GetObjectLeft = function(obj) {// retrieve the x coordinate of a posionable object if( CCSSP.bIsNav4 ) return obj.left; else return obj.style.pixelLeft; } CCSSP.GetObjectTop = function(obj) {// retrieve the y coordinate of a posionable object if( CCSSP.bIsNav4 ) return obj.top; else return obj.style.pixelTop; } CCSSP.GetObjectContainLeft = function(obj) {// retrieve the x coordinate of a posionable object relative to it's parent element if( CCSSP.bIsNav4 ) return obj.pageX; else { if( obj == document.body ) return obj.clientLeft; else return obj.offsetLeft; } } CCSSP.GetObjectWindowLeft = function(obj) {// retrieve the x coordinate of a posionable object relative to browser window if( CCSSP.bIsNav4 ) return obj.pageX; else { var nOffsetWindowLeft = 0; for(var element = obj; element; element = element.offsetParent) nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element); return nOffsetWindowLeft; } } CCSSP.GetObjectContainTop = function(obj) {// retrieve the y coordinate of a posionable object relative to it's parent element if( CCSSP.bIsNav4 ) return obj.pageY; else { if( obj == document.body ) return obj.clientTop; else return obj.offsetTop; } } CCSSP.GetObjectWindowTop = function(obj) {// retrieve the y coordinate of a posionable object relative to browser window if( CCSSP.bIsNav4 ) return obj.pageY; else { var nOffsetWindowTop = 0; for(var element = obj; element; element = element.offsetParent) nOffsetWindowTop += CCSSP.GetObjectContainTop(element); return nOffsetWindowTop; } } CCSSP.GetObjectHeight = function(obj) {// retrieve the height of a posionable object if( CCSSP.bIsNav4 ) return obj.clip.height; else return obj.offsetHeight; } CCSSP.GetObjectWidth = function(obj) {// retrieve the width of a posionable object if( CCSSP.bIsNav4 ) return obj.clip.width; else return obj.offsetWidth; } CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler ) { // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined if (CCSSP.bIsNav4 && !CCSSP.bIsNav6) return ; var oldHandler = ""; if (CCSSP.bIsMacOS &&CCSSP.bIsIE4&&!CCSSP.bIsIE5) { if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") { //search for