var gsPPath = ""; var gaPaths = new Array(); var gaAvenues = new Array(); var goFrame = null; var gsStartPage = ""; var gsRelCurPagePath = ""; var gsSearchFormHref = ""; var gnTopicOnly = -1; var gnOutmostTopic = -1; var BTN_TEXT=1; var BTN_IMG=2; var goSync = null; var goShow = null; var goHide = null; var goPrev = null; var goNext = null; var gnForm = 0; var goShowNav = null; var goHideNav = null; var goWebSearch = null; var gsBtnStyle = ""; var gaButtons = new Array(); var gaTypes = new Array(); var whtopic_foldUnload = null; var gbWhTopic=false; var gbCheckSync=false; var gbSyncEnabled=false; function setButtonFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) { var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); gsBtnStyle += ".whtbtn" + sType + "{"+getFontStyle(vFont) + "}"; } function writeBtnStyle() { if (gaButtons.length > 0) { if (gsBtnStyle.length > 0) { var sStyle = ""; document.write(sStyle); } } } function button(sText, nWidth, nHeight) { this.sText = sText; this.nWidth = nWidth; this.nHeight = nHeight; this.aImgs = new Array(); var i = 0; while (button.arguments.length > i + 3) { this.aImgs[i] = button.arguments[3 + i]; i ++; } } // project info function setRelStartPage(sPath) { if (gsPPath.length == 0) { gsPPath = _getFullPath(_getPath(document.location.href), _getPath(sPath)); gsStartPage = _getFullPath(_getPath(document.location.href), sPath); gsRelCurPagePath = _getRelativeFileName(gsStartPage, document.location.href); } } function getImage(oImage, sType) { var sImg=""; if (oImage && oImage.aImgs && (oImage.aImgs.length > 0)) { sImg+="\""+ 0) sImg+=" width=" + oImage.nWidth; if (oImage.nHeight > 0) sImg+=" height=" + oImage.nHeight; sImg+=" border=no>"; } return sImg; } function addTocInfo(sTocPath) { gaPaths[gaPaths.length] = sTocPath; } function addAvenueInfo(sName, sPrev, sNext) { gaAvenues[gaAvenues.length] = new avenueInfo(sName, sPrev, sNext); } function addButton(sType, nStyle, sText, sHref, sOnClick, sOnMouseOver, sOnLoad, nWidth, nHeight, sImg1, sImg2, sImg3) { var sButton = ""; var nBtn=gaButtons.length; if (sType == "prev") { if (canGo(false)) { var sTitle = "Previous Topic"; goPrev = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goPrev.sText; else sButton += getImage(goPrev, sTitle); sButton += ""; } } else if (sType == "next") { if (canGo(true)) { var sTitle = "Next Topic"; goNext = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goNext.sText; else sButton += getImage(goNext, sTitle); sButton += ""; } } else if (sType == "show") { if (isTopicOnly()) { var sTitle = "Show Navigation Component"; goShow = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goShow.sText; else sButton += getImage(goShow, sTitle); sButton += ""; } } else if (sType == "hide") { if (!isTopicOnly()) { var sTitle = "Hide Navigation Component"; goHide = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goHide.sText; else sButton += getImage(goHide, sTitle); sButton += ""; } } else if (sType == "shownav") { if (isShowHideEnable()) { var sTitle = "Show Navigation Component"; goShowNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goShowNav.sText; else sButton += getImage(goShowNav, sTitle); sButton += ""; } } else if (sType == "hidenav") { if (isShowHideEnable()) { var sTitle = "Hide Navigation Component"; goHideNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goHideNav.sText; else sButton += getImage(goHideNav, sTitle); sButton += ""; } } else if (sType == "synctoc") { if (gaPaths.length > 0) { var sTitle = "Sync TOC"; goSync = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goSync.sText; else sButton += getImage(goSync, sTitle); sButton += ""; } } else if (sType == "websearch") { if (gsSearchFormHref.length > 0) { var sTitle = "WebSearch"; goWebSearch = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3); sButton = ""; if (nStyle == BTN_TEXT) sButton += goWebSearch.sText; else sButton += getImage(goWebSearch, sTitle); sButton += ""; } } else if (sType == "searchform") { gaButtons[nBtn] = "NeedSearchForm"; gaTypes[nBtn] = sType; } if (sButton.length != 0) { if (nStyle == BTN_TEXT) sButton += " "; gaButtons[nBtn] = "" + sButton + ""; gaTypes[nBtn] = sType; } } function isSyncEnabled() { if (!gbCheckSync) { var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null); if(SendMessage(oMsg)) { gbSyncEnabled=oMsg.oParam; } gbCheckSync=true; } return gbSyncEnabled; } function isInPopup() { return (window.name.indexOf("BSSCPopup") != -1); } function getIntopicBar(sAlign) { var sHTML = ""; if (gaButtons.length > 0) { sHTML += "
"; sHTML += ""; for (var i = 0; i < gaButtons.length; i++) { if (gaTypes[i]!="synctoc" || isSyncEnabled()) { if (gaButtons[i] == "NeedSearchForm") sHTML += getSearchFormHTML(); else sHTML += gaButtons[i]; } } sHTML += "
"; sHTML += "
"; } return sHTML; } function writeIntopicBar(nAligns) { if (isInPopup()) return; if (gaButtons.length > 0) { var sHTML = ""; if (nAligns != 0) { sHTML += "" if (nAligns & 1) sHTML += ""; if (nAligns & 2) sHTML += ""; if (nAligns & 4) sHTML += ""; sHTML += "
" + getIntopicBar("left") + "" + getIntopicBar("center") + "" + getIntopicBar("right") + "
"; document.write(sHTML); } } } function sendAveInfoOut() { if (!isInPopup()) setTimeout("sendAveInfo();", 100); } function sendAveInfo() { var oMsg = new whMessage(WH_MSG_AVENUEINFO, this, 1, gaAvenues); SendMessage(oMsg); } function onNext() { var oMsg = new whMessage(WH_MSG_NEXT, this, 1, null); SendMessage(oMsg); } function onPrev() { var oMsg = new whMessage(WH_MSG_PREV, this, 1, null); SendMessage(oMsg); } function createSyncInfo() { var oParam = new Object(); if (gsPPath.length == 0) gsPPath = _getPath(document.location.href); oParam.sPPath = gsPPath; oParam.sTPath = document.location.href; oParam.aPaths = gaPaths; return oParam; } function syncWithShow() { if (isTopicOnly()) show(); else { sync(); showTocPane(); } } function showTocPane() { var oMsg = new whMessage(WH_MSG_SHOWTOC, this, 1, null); SendMessage(oMsg); } function sendSyncInfo() { if (!isInPopup()) { var oParam = null; if (gaPaths.length > 0) { oParam = createSyncInfo(); } var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, oParam); SendMessage(oMsg); } } function sendInvalidSyncInfo() { if (!isInPopup()) { var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, null); SendMessage(oMsg); } } function enableWebSearch(bEnable) { if (!isInPopup()) { var oMsg = new whMessage(WH_MSG_ENABLEWEBSEARCH, this, 1, bEnable); SendMessage(oMsg); } } function autoSync(nSync) { if (nSync == 0) return; if (isInPopup()) return; if (isOutMostTopic()) sync(); } function isOutMostTopic() { if (gnOutmostTopic == -1) { var oMessage = new whMessage(WH_MSG_ISINFRAMESET, this, 1 , null); if (SendMessage(oMessage)) gnOutmostTopic = 0; else gnOutmostTopic = 1; } return (gnOutmostTopic == 1); } function sync() { if (gaPaths.length > 0) { var oParam = createSyncInfo(); var oMessage = new whMessage(WH_MSG_SYNCTOC, this, 1, oParam); SendMessage(oMessage); } } function avenueInfo(sName, sPrev, sNext) { this.sName = sName; this.sPrev = sPrev; this.sNext = sNext; } function getCurrentAvenue() { var oParam = new Object(); oParam.sAvenue = null; var oMessage = new whMessage(WH_MSG_GETCURRENTAVENUE, this, 1, oParam); SendMessage(oMessage); return oParam.sAvenue; } function unRegisterListener() { sendInvalidSyncInfo(); enableWebSearch(false); if (whtopic_foldUnload) whtopic_foldUnload(); } function onSendMessage(oMsg) { var nMsgId = oMsg.nMessageId; if (nMsgId == WH_MSG_GETAVIAVENUES) { oMsg.oParam.aAvenues = gaAvenues; return false; } else if (nMsgId == WH_MSG_GETTOCPATHS) { if (isOutMostTopic()) { oMsg.oParam.oTocInfo = createSyncInfo(); return false; } else return true; } else if (nMsgId == WH_MSG_NEXT) { goAvenue(true); } else if (nMsgId == WH_MSG_PREV) { goAvenue(false); } else if (nMsgId == WH_MSG_WEBSEARCH) { websearch(); } return true; } function goAvenue(bNext) { var sTopic = null; var sAvenue = getCurrentAvenue(); var nAvenue = -1; if (sAvenue != null && sAvenue != "") { for (var i = 0; i < gaAvenues.length ; i ++) { if (gaAvenues[i].sName == sAvenue) { nAvenue = i; break; } } if (nAvenue != -1) { if (bNext) sTopic = gaAvenues[nAvenue].sNext; else sTopic = gaAvenues[nAvenue].sPrev; } } else { for (var i = 0; i < gaAvenues.length ; i ++) { if (gaAvenues[i].sNext != null && gaAvenues[i].sNext.length > 0 && bNext) { sTopic = gaAvenues[i].sNext; break; } else if (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext) { sTopic = gaAvenues[i].sPrev; break; } } } if (sTopic != null && sTopic != "") { if (gsPPath != null && gsPPath != "") { sFullTopicPath = _getFullPath(gsPPath, sTopic); document.location = sFullTopicPath; } } } function canGo(bNext) { for (var i = 0; i < gaAvenues.length ; i ++) { if ((gaAvenues[i].sNext != null && gaAvenues[i].sNext.length > 0 && bNext) || (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext)) return true; } return false; } function show() { if (gsStartPage != "") window.location = gsStartPage + "#" + gsRelCurPagePath; } function hide() { if (goFrame != null) { goFrame.location = window.location; } } function isTopicOnly() { if (gnTopicOnly == -1) { var oParam = new Object(); oParam.oFrame = null; var oMsg = new whMessage(WH_MSG_GETSTARTFRAME, this, 1, oParam); if (SendMessage(oMsg)) { goFrame = oParam.oFrame; gnTopicOnly = 0; } else gnTopicOnly = 1; } if (gnTopicOnly == 1) return true; else return false; } function websearch() { if (gbNav4) { if (document.ehelpform) document.ehelpform.submit(); } else { if (window.ehelpform) window.ehelpform.submit(); } } function addSearchFormHref(sHref) { gsSearchFormHref = sHref; enableWebSearch(true); } function searchB(nForm) { var sValue = eval("document.searchForm" + nForm + ".searchString.value"); var oMsg = new whMessage(WH_MSG_SEARCHTHIS, this, 1, sValue); SendMessage(oMsg); } function getSearchFormHTML() { var sHTML = ""; gnForm ++; var sFormName = "searchForm" + gnForm; var sButton = "
" sButton += ""; if ("" == "text") { sButton+=""; } else if ("" == "image") { sButton+="" sButton+=""; } sButton += "
"; sHTML ="" + sButton + ""; return sHTML; } function showHidePane(bShow) { var oMsg=null; if (bShow) oMsg=new whMessage(WH_MSG_SHOWPANE, this, 1, null); else oMsg=new whMessage(WH_MSG_HIDEPANE, this, 1, null); SendMessage(oMsg); } function isShowHideEnable() { if (gbIE4) return true; else return false; } if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy) { RegisterListener("bsscright", WH_MSG_GETAVIAVENUES); RegisterListener("bsscright", WH_MSG_GETTOCPATHS); RegisterListener("bsscright", WH_MSG_NEXT); RegisterListener("bsscright", WH_MSG_PREV); RegisterListener("bsscright", WH_MSG_WEBSEARCH); if (gbMac && gbIE4) { if (typeof(window.onunload) != "unknown") whtopic_foldUnload = window.onunload; } else { if (window.onunload) whtopic_foldUnload = window.onunload; } window.onunload = unRegisterListener; setButtonFont("show","","10pt","","","",""); gbWhTopic=true; } else document.location.reload();