Salome HOME
Porting GUI documentation on Doxygen tool.
[modules/smesh.git] / doc / salome / gui / SMESH / whtopic.js
index 3adaa251e1eded56d4fc3ff9a3c3573ea8e7e1d3..52198a574fffc44772acb2e9c997750050824a67 100755 (executable)
-var gsPPath = "";\r
-var gaPaths = new Array();\r
-var gaAvenues = new Array();\r
-\r
-var goFrame = null;\r
-var gsStartPage = "";\r
-var gsRelCurPagePath = "";\r
-var gsSearchFormHref  = "";\r
-var gnTopicOnly = -1;\r
-var gnOutmostTopic = -1;\r
-\r
-var BTN_TEXT=1;\r
-var BTN_IMG=2;\r
-\r
-var goSync = null;\r
-\r
-var goShow = null;\r
-var goHide = null;\r
-\r
-var goPrev = null;\r
-var goNext = null;\r
-var gnForm = 0;\r
-var goShowNav = null;\r
-var goHideNav = null;\r
-\r
-var goWebSearch = null;\r
-\r
-var gsBtnStyle = "";\r
-var gaButtons = new Array();\r
-var gaTypes = new Array();\r
-var whtopic_foldUnload = null;\r
-var gbWhTopic=false;\r
-var gbCheckSync=false;\r
-var gbSyncEnabled=false;\r
-\r
-function setButtonFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       gsBtnStyle += ".whtbtn" + sType + "{"+getFontStyle(vFont) + "}";\r
-}\r
-\r
-function writeBtnStyle()\r
-{\r
-       if (gaButtons.length > 0)\r
-       {\r
-               if (gsBtnStyle.length > 0)\r
-               {\r
-                       var sStyle = "<style type='text/css'>";\r
-                       sStyle+= gsBtnStyle + "</style>";\r
-                       document.write(sStyle);\r
-               }\r
-       }\r
-}\r
-\r
-function button(sText, nWidth, nHeight)\r
-{\r
-       this.sText = sText;\r
-       this.nWidth = nWidth;\r
-       this.nHeight = nHeight;\r
-       \r
-       this.aImgs = new Array();\r
-       var i = 0;\r
-       while (button.arguments.length > i + 3)\r
-       {\r
-               this.aImgs[i] = button.arguments[3 + i];\r
-               i ++;\r
-       }\r
-}\r
-\r
-// project info\r
-function setRelStartPage(sPath)\r
-{\r
-       if (gsPPath.length == 0)\r
-       {\r
-               gsPPath = _getFullPath(_getPath(document.location.href),  _getPath(sPath));\r
-               gsStartPage = _getFullPath(_getPath(document.location.href), sPath);\r
-               gsRelCurPagePath = _getRelativeFileName(gsStartPage, document.location.href);\r
-       }\r
-}\r
-\r
-function getImage(oImage, sType)\r
-{\r
-       var sImg="";\r
-       if (oImage && oImage.aImgs && (oImage.aImgs.length > 0))\r
-       {\r
-               sImg+="<img alt=\""+ sType + "\" src=\"" + oImage.aImgs[0] + "\"";\r
-               if (oImage.nWidth > 0)\r
-                       sImg+=" width=" + oImage.nWidth;\r
-               if (oImage.nHeight > 0)\r
-                       sImg+=" height=" + oImage.nHeight;\r
-               sImg+=" border=no>";\r
-       }\r
-       return sImg;\r
-}\r
-\r
-function addTocInfo(sTocPath)\r
-{\r
-       gaPaths[gaPaths.length] = sTocPath;\r
-}\r
-\r
-function addAvenueInfo(sName, sPrev, sNext)\r
-{\r
-       gaAvenues[gaAvenues.length] = new avenueInfo(sName, sPrev, sNext);      \r
-}\r
-\r
-function addButton(sType, nStyle, sText, sHref, sOnClick, sOnMouseOver, sOnLoad, nWidth, nHeight, sImg1, sImg2, sImg3)\r
-{\r
-       var sButton = "";\r
-       var nBtn=gaButtons.length;\r
-       if (sType == "prev")\r
-       {\r
-               if (canGo(false))\r
-               {\r
-                       var sTitle = "Previous Topic";\r
-                       goPrev = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnprev\" href=\"javascript:void(0);\" onclick=\"goAvenue(false);return false;\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goPrev.sText;\r
-                       else\r
-                               sButton += getImage(goPrev, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "next")\r
-       {\r
-               if (canGo(true))\r
-               {\r
-                       var sTitle = "Next Topic";\r
-                       goNext = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnnext\" href=\"javascript:void(0);\" onclick=\"goAvenue(true);return false;\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goNext.sText;\r
-                       else\r
-                               sButton += getImage(goNext, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "show")\r
-       {\r
-               if (isTopicOnly())\r
-               {\r
-                       var sTitle = "Show Navigation Component";\r
-                       goShow = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnshow\" href=\"javascript:void(0);\" onclick=\"show();return false;\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goShow.sText;\r
-                       else\r
-                               sButton += getImage(goShow, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "hide")\r
-       {\r
-               if (!isTopicOnly())\r
-               {\r
-                       var sTitle = "Hide Navigation Component";\r
-                       goHide = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnhide\" href=\"javascript:void(0);\" onclick=\"hide();return false;\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goHide.sText;\r
-                       else\r
-                               sButton += getImage(goHide, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "shownav")\r
-       {\r
-               \r
-               if (isShowHideEnable())\r
-               {\r
-                       var sTitle = "Show Navigation Component";\r
-                       goShowNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnshownav\" href=\"javascript:void(0);\" onclick=\"showHidePane(true);return false;\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goShowNav.sText;\r
-                       else\r
-                               sButton += getImage(goShowNav, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "hidenav")\r
-       {\r
-               if (isShowHideEnable())\r
-               {\r
-                       var sTitle = "Hide Navigation Component";\r
-                       goHideNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnhidenav\" href=\"javascript:void(0);\" onclick=\"showHidePane(false);return false;\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goHideNav.sText;\r
-                       else\r
-                               sButton += getImage(goHideNav, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "synctoc")\r
-       {\r
-               if (gaPaths.length > 0)\r
-               {\r
-                       var sTitle = "Sync TOC";\r
-                       goSync = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\""+ sTitle + "\" class=\"whtbtnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goSync.sText;\r
-                       else\r
-                               sButton += getImage(goSync, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "websearch")\r
-       {\r
-               if (gsSearchFormHref.length > 0)\r
-               {\r
-                       var sTitle = "WebSearch";\r
-                       goWebSearch = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
-                       sButton = "<a title=\""+ sTitle + "\" class=\"whtbtnwebsearch\" href=\"" + gsSearchFormHref + "\">";\r
-                       if (nStyle == BTN_TEXT)\r
-                               sButton += goWebSearch.sText;\r
-                       else\r
-                               sButton += getImage(goWebSearch, sTitle);\r
-                       sButton += "</a>";\r
-               }\r
-       }\r
-       else if (sType == "searchform")\r
-       {\r
-               gaButtons[nBtn] = "NeedSearchForm";\r
-               gaTypes[nBtn] = sType;\r
-       }\r
-       if (sButton.length != 0)\r
-       {\r
-               if (nStyle == BTN_TEXT)\r
-                       sButton += "&nbsp;";\r
-               gaButtons[nBtn] = "<td>" + sButton + "</td>";\r
-               gaTypes[nBtn] = sType;\r
-       }\r
-}\r
-\r
-function isSyncEnabled()\r
-{\r
-       if (!gbCheckSync)\r
-       {\r
-               var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null);\r
-               if(SendMessage(oMsg))\r
-               {\r
-                       gbSyncEnabled=oMsg.oParam;\r
-               }\r
-               gbCheckSync=true;\r
-       }\r
-       return gbSyncEnabled;\r
-}\r
-\r
-function isInPopup()\r
-{\r
-       return (window.name.indexOf("BSSCPopup") != -1);\r
-}\r
-\r
-function getIntopicBar(sAlign)\r
-{\r
-       var sHTML = "";\r
-       if (gaButtons.length > 0)\r
-       {\r
-               sHTML += "<div align="+ sAlign + ">";\r
-\r
-               sHTML += "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\"><tr>";\r
-               for (var i = 0; i < gaButtons.length; i++)\r
-               {\r
-                       if (gaTypes[i]!="synctoc" || isSyncEnabled())\r
-                       {\r
-                               if (gaButtons[i] == "NeedSearchForm")\r
-                                       sHTML += getSearchFormHTML();\r
-                               else\r
-                                       sHTML += gaButtons[i];\r
-                       }\r
-               }\r
-               sHTML += "</tr></table>";\r
-\r
-               sHTML += "</div>";\r
-       }\r
-       return sHTML;\r
-}\r
-\r
-\r
-function writeIntopicBar(nAligns)\r
-{\r
-       if (isInPopup()) return;\r
-       if (gaButtons.length > 0)\r
-       {\r
-               var sHTML = "";\r
-               if (nAligns != 0)\r
-               {\r
-                       sHTML += "<table width=100%><tr>"\r
-                       if (nAligns & 1)\r
-                               sHTML += "<td width=33%>" + getIntopicBar("left") + "</td>";\r
-                       if (nAligns & 2)\r
-                               sHTML += "<td width=34%>" + getIntopicBar("center") + "</td>";\r
-                       if (nAligns & 4)\r
-                               sHTML += "<td width=33%>" + getIntopicBar("right") + "</td>";\r
-                       sHTML += "</tr></table>";\r
-                       document.write(sHTML);\r
-               }\r
-       }\r
-}\r
-\r
-function sendAveInfoOut()\r
-{\r
-       if (!isInPopup())\r
-               setTimeout("sendAveInfo();", 100);\r
-}\r
-\r
-function sendAveInfo()\r
-{\r
-       var oMsg = new whMessage(WH_MSG_AVENUEINFO, this, 1, gaAvenues);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-\r
-function onNext()\r
-{\r
-       var oMsg = new whMessage(WH_MSG_NEXT, this, 1, null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function onPrev()\r
-{\r
-       var oMsg = new whMessage(WH_MSG_PREV, this, 1, null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function createSyncInfo()\r
-{\r
-       var oParam = new Object();\r
-       if (gsPPath.length == 0)\r
-               gsPPath = _getPath(document.location.href);\r
-       oParam.sPPath = gsPPath;\r
-       oParam.sTPath = document.location.href;\r
-       oParam.aPaths = gaPaths;\r
-       return oParam;\r
-}\r
-\r
-function syncWithShow()\r
-{\r
-       if (isTopicOnly())\r
-               show();\r
-       else \r
-       {\r
-               sync();\r
-               showTocPane();\r
-       }\r
-}\r
-\r
-function showTocPane()\r
-{\r
-       var oMsg = new whMessage(WH_MSG_SHOWTOC, this, 1, null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function sendSyncInfo()\r
-{\r
-       if (!isInPopup())\r
-       {\r
-               var oParam = null;\r
-               if (gaPaths.length > 0)\r
-               {\r
-                       oParam = createSyncInfo();\r
-               }\r
-               var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, oParam);\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function sendInvalidSyncInfo()\r
-{\r
-       if (!isInPopup())\r
-       {\r
-               var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, null);\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function enableWebSearch(bEnable)\r
-{\r
-       if (!isInPopup())\r
-       {\r
-               var oMsg = new whMessage(WH_MSG_ENABLEWEBSEARCH, this, 1, bEnable);\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function autoSync(nSync)\r
-{\r
-       if (nSync == 0) return;\r
-       if (isInPopup()) return;\r
-       if (isOutMostTopic())\r
-               sync();\r
-}\r
-\r
-function isOutMostTopic()\r
-{\r
-       if (gnOutmostTopic == -1)\r
-       {\r
-               var oMessage = new whMessage(WH_MSG_ISINFRAMESET, this, 1 , null);\r
-               if (SendMessage(oMessage))\r
-                       gnOutmostTopic = 0;\r
-               else\r
-                       gnOutmostTopic = 1;\r
-       }\r
-       return (gnOutmostTopic == 1);\r
-}\r
-\r
-function sync()\r
-{\r
-       if (gaPaths.length > 0)\r
-       {\r
-               var oParam = createSyncInfo();\r
-               var oMessage = new whMessage(WH_MSG_SYNCTOC, this, 1, oParam);\r
-               SendMessage(oMessage);\r
-       }\r
-}\r
-\r
-\r
-function avenueInfo(sName, sPrev, sNext)\r
-{\r
-       this.sName = sName;\r
-       this.sPrev = sPrev;\r
-       this.sNext = sNext;\r
-}\r
-\r
-function getCurrentAvenue()\r
-{\r
-       var oParam = new Object();\r
-       oParam.sAvenue = null;\r
-       var oMessage = new whMessage(WH_MSG_GETCURRENTAVENUE, this, 1, oParam);\r
-       SendMessage(oMessage);\r
-       return oParam.sAvenue;\r
-}\r
-\r
-function unRegisterListener()\r
-{\r
-       sendInvalidSyncInfo();\r
-       enableWebSearch(false);\r
-       if (whtopic_foldUnload)\r
-               whtopic_foldUnload();\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       var nMsgId = oMsg.nMessageId;\r
-       if (nMsgId == WH_MSG_GETAVIAVENUES)\r
-       {\r
-               oMsg.oParam.aAvenues = gaAvenues;\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_GETTOCPATHS)\r
-       {\r
-               if (isOutMostTopic())\r
-               {\r
-                       oMsg.oParam.oTocInfo = createSyncInfo();\r
-                       return false;           \r
-               }\r
-               else\r
-                       return true;\r
-       }\r
-       else if (nMsgId == WH_MSG_NEXT)\r
-       {\r
-               goAvenue(true);\r
-       }\r
-       else if (nMsgId == WH_MSG_PREV)\r
-       {\r
-               goAvenue(false);\r
-       }\r
-       else if (nMsgId == WH_MSG_WEBSEARCH)\r
-       {\r
-               websearch();\r
-       }\r
-       return true;\r
-}\r
-\r
-function goAvenue(bNext)\r
-{\r
-       var sTopic = null;\r
-       var sAvenue = getCurrentAvenue();\r
-       var nAvenue = -1;\r
-       if (sAvenue != null && sAvenue != "")\r
-       {\r
-               for (var i = 0; i < gaAvenues.length ; i ++)\r
-               {\r
-                       if (gaAvenues[i].sName == sAvenue)\r
-                       {\r
-                               nAvenue = i;\r
-                               break;\r
-                       }\r
-               }\r
-               if (nAvenue != -1)\r
-               {\r
-                       if (bNext)\r
-                               sTopic = gaAvenues[nAvenue].sNext;\r
-                       else\r
-                               sTopic = gaAvenues[nAvenue].sPrev;\r
-               }\r
-       }\r
-       else\r
-       { \r
-               for (var i = 0; i < gaAvenues.length ; i ++)\r
-               {\r
-                       if (gaAvenues[i].sNext != null && gaAvenues[i].sNext.length > 0 && bNext)\r
-                       {\r
-                               sTopic = gaAvenues[i].sNext;\r
-                               break;\r
-                       }\r
-                       else if (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext)\r
-                       {\r
-                               sTopic = gaAvenues[i].sPrev;\r
-                               break;\r
-                       }\r
-               }\r
-       }\r
-       \r
-       if (sTopic != null && sTopic != "")\r
-       {\r
-               if (gsPPath != null && gsPPath != "")\r
-               {\r
-                       sFullTopicPath = _getFullPath(gsPPath, sTopic);\r
-                       document.location = sFullTopicPath;\r
-               }\r
-       }\r
-}\r
-\r
-function canGo(bNext)\r
-{\r
-       for (var i = 0; i < gaAvenues.length ; i ++)\r
-       {\r
-               if ((gaAvenues[i].sNext != null && gaAvenues[i].sNext.length > 0 && bNext) ||\r
-                       (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext))\r
-                       return true;\r
-       }\r
-       return false;\r
-}\r
-\r
-function show()\r
-{\r
-       if (gsStartPage != "")\r
-               window.location =  gsStartPage + "#" + gsRelCurPagePath;\r
-}\r
-\r
-function hide()\r
-{\r
-       if (goFrame != null)\r
-       {\r
-               goFrame.location = window.location;\r
-       }\r
-}\r
-\r
-function isTopicOnly()\r
-{\r
-       if (gnTopicOnly == -1)\r
-       {\r
-               var oParam = new Object();\r
-               oParam.oFrame = null;\r
-               var oMsg = new whMessage(WH_MSG_GETSTARTFRAME, this, 1, oParam);\r
-               if (SendMessage(oMsg))\r
-               {\r
-                       goFrame = oParam.oFrame;\r
-                       gnTopicOnly = 0;\r
-               }\r
-               else\r
-                       gnTopicOnly = 1;\r
-       }\r
-       if (gnTopicOnly == 1)\r
-               return true;\r
-       else\r
-               return false;\r
-}\r
-\r
-function websearch()\r
-{\r
-       if (gbNav4)\r
-       {\r
-               if (document.ehelpform)\r
-                       document.ehelpform.submit();\r
-       }\r
-       else\r
-       {\r
-               if (window.ehelpform)\r
-                       window.ehelpform.submit();\r
-       }\r
-}\r
-\r
-function addSearchFormHref(sHref)\r
-{\r
-       gsSearchFormHref = sHref;\r
-       enableWebSearch(true);\r
-}\r
-\r
-function searchB(nForm)\r
-{\r
-       var sValue = eval("document.searchForm" + nForm + ".searchString.value");\r
-       var oMsg = new whMessage(WH_MSG_SEARCHTHIS, this, 1, sValue);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function getSearchFormHTML()\r
-{\r
-       var sHTML = "";\r
-       gnForm ++;\r
-       var sFormName = "searchForm" + gnForm;\r
-       var sButton = "<form name=\"" + sFormName + "\" method=\"POST\" action=\"javascript:searchB("+ gnForm + ")\">"\r
-       sButton += "<input type=\"text\" name=\"searchString\" value=\"- Full Text search -\" size=\"20\"/>";\r
-       if ("" == "text")\r
-       {\r
-               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"" + sFormName + ".submit(); return false;\"></a>";\r
-       }\r
-       else if ("" == "image")\r
-       {\r
-               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"" + sFormName + ".submit(); return false;\">"\r
-               sButton+="<img src=\"\" border=0></a>";\r
-       }\r
-       sButton += "</form>";\r
-       sHTML ="<td align=\"center\">" + sButton + "</td>";\r
-       return sHTML;\r
-}\r
-\r
-function showHidePane(bShow)\r
-{\r
-       var oMsg=null;\r
-       if (bShow)\r
-               oMsg=new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-       else\r
-               oMsg=new whMessage(WH_MSG_HIDEPANE, this, 1, null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function isShowHideEnable()\r
-{\r
-       if (gbIE4)\r
-               return true;\r
-       else\r
-               return false;\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
-       RegisterListener("bsscright", WH_MSG_GETAVIAVENUES);\r
-       RegisterListener("bsscright", WH_MSG_GETTOCPATHS);\r
-       RegisterListener("bsscright", WH_MSG_NEXT);\r
-       RegisterListener("bsscright", WH_MSG_PREV);\r
-       RegisterListener("bsscright", WH_MSG_WEBSEARCH);\r
-       if (gbMac && gbIE4)\r
-       {\r
-               if (typeof(window.onunload) != "unknown")\r
-                       whtopic_foldUnload = window.onunload;\r
-       }\r
-       else\r
-       {\r
-               if (window.onunload)\r
-                       whtopic_foldUnload = window.onunload;\r
-       }\r
-       window.onunload = unRegisterListener;\r
-       setButtonFont("show","","10pt","","","","");\r
-\r
-       gbWhTopic=true;\r
-}\r
-else\r
-       document.location.reload();
\ No newline at end of file
+//     WebHelp 5.10.005
+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="<style type='text/css'>";
+                       sStyle+=gsBtnStyle+"</style>";
+                       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+="<img alt=\""+sType+"\" src=\""+oImage.aImgs[0]+"\"";
+               if(oImage.nWidth>0)
+                       sImg+=" width="+oImage.nWidth;
+               if(oImage.nHeight>0)
+                       sImg+=" height="+oImage.nHeight;
+               sImg+=" border=0>";
+       }
+       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="<a title=\""+sTitle+"\" class=\"whtbtnprev\" href=\"javascript:void(0);\" onclick=\"goAvenue(false);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goPrev.sText;
+                       else
+                               sButton+=getImage(goPrev,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="next")
+       {
+               if(canGo(true))
+               {
+                       var sTitle="Next Topic";
+                       goNext=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnnext\" href=\"javascript:void(0);\" onclick=\"goAvenue(true);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goNext.sText;
+                       else
+                               sButton+=getImage(goNext,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="show")
+       {
+               if(isTopicOnly()&&(!gbOpera6||gbOpera7))
+               {
+                       var sTitle="Show Navigation Component";
+                       goShow=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnshow\" href=\"javascript:void(0);\" onclick=\"show();return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goShow.sText;
+                       else
+                               sButton+=getImage(goShow,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="hide")
+       {
+               if(!isTopicOnly()&&!gbOpera6)
+               {
+                       var sTitle="Hide Navigation Component";
+                       goHide=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnhide\" href=\"javascript:void(0);\" onclick=\"hide();return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goHide.sText;
+                       else
+                               sButton+=getImage(goHide,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="shownav")
+       {
+               if(isShowHideEnable())
+               {
+                       var sTitle="Show Navigation Component";
+                       goShowNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnshownav\" href=\"javascript:void(0);\" onclick=\"showHidePane(true);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goShowNav.sText;
+                       else
+                               sButton+=getImage(goShowNav,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="hidenav")
+       {
+               if(isShowHideEnable())
+               {
+                       var sTitle="Hide Navigation Component";
+                       goHideNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnhidenav\" href=\"javascript:void(0);\" onclick=\"showHidePane(false);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goHideNav.sText;
+                       else
+                               sButton+=getImage(goHideNav,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="synctoc")
+       {
+               if(gaPaths.length>0)
+               {
+                       var sTitle="Sync TOC";
+                       goSync=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goSync.sText;
+                       else
+                               sButton+=getImage(goSync,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="websearch")
+       {
+               if(gsSearchFormHref.length>0)
+               {
+                       var sTitle="WebSearch";
+                       goWebSearch=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnwebsearch\" href=\""+gsSearchFormHref+"\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goWebSearch.sText;
+                       else
+                               sButton+=getImage(goWebSearch,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="searchform")
+       {
+               gaButtons[nBtn]="NeedSearchForm";
+               gaTypes[nBtn]=sType;
+       }
+       if(sButton.length!=0)
+       {
+               if(nStyle==BTN_TEXT)
+                       sButton+="&nbsp;";
+               gaButtons[nBtn]="<td>"+sButton+"</td>";
+               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+="<div align="+sAlign+">";
+
+               sHTML+="<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\"><tr>";
+               for(var i=0;i<gaButtons.length;i++)
+               {
+                       if(gaTypes[i]!="synctoc"||isSyncEnabled())
+                       {
+                               if(gaButtons[i]=="NeedSearchForm")
+                                       sHTML+=getSearchFormHTML();
+                               else
+                                       sHTML+=gaButtons[i];
+                       }
+               }
+               sHTML+="</tr></table>";
+
+               sHTML+="</div>";
+       }
+       return sHTML;
+}
+
+
+function writeIntopicBar(nAligns)
+{
+       if(isInPopup()) return;
+       if(gaButtons.length>0)
+       {
+               var sHTML="";
+               if(nAligns!=0)
+               {
+                       sHTML+="<table width=100%><tr>"
+                       if(nAligns&1)
+                               sHTML+="<td width=33%>"+getIntopicBar("left")+"</td>";
+                       if(nAligns&2)
+                               sHTML+="<td width=34%>"+getIntopicBar("center")+"</td>";
+                       if(nAligns&4)
+                               sHTML+="<td width=33%>"+getIntopicBar("right")+"</td>";
+                       sHTML+="</tr></table>";
+                       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="<form name=\""+sFormName+"\" method=\"POST\" action=\"javascript:searchB("+gnForm+")\">"
+       sButton+="<input type=\"text\" name=\"searchString\" value=\"- Full Text search -\" size=\"20\"/>";
+       if(""=="text")
+       {
+               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\""+sFormName+".submit();return false;\"></a>";
+       }
+       else if(""=="image")
+       {
+               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\""+sFormName+".submit();return false;\">"
+               sButton+="<img src=\"\" border=0></a>";
+       }
+       sButton+="</form>";
+       sHTML="<td align=\"center\">"+sButton+"</td>";
+       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;
+}
+
+
+function PickupDialog_Invoke()
+{
+       if(!gbIE4||gbMac)
+       {
+               if(typeof(_PopupMenu_Invoke)=="function")
+                       return _PopupMenu_Invoke(PickupDialog_Invoke.arguments);
+       }
+       else
+       {
+               if(PickupDialog_Invoke.arguments.length>2)
+               {
+                       var sPickup="whskin_pickup.htm";
+                       var sPickupPath=gsPPath+sPickup;
+                       if(gbIE4)
+                       {
+                               var sFrame=PickupDialog_Invoke.arguments[1];
+                               var aTopics=new Array();
+                               for(var i=2;i<PickupDialog_Invoke.arguments.length;i+=2)
+                               {
+                                       var j=aTopics.length;
+                                       aTopics[j]=new Object();
+                                       aTopics[j].m_sName=PickupDialog_Invoke.arguments[i];
+                                       aTopics[j].m_sURL=PickupDialog_Invoke.arguments[i+1];
+                               }
+
+                               if(aTopics.length>1)
+                               {
+                                       var nWidth=300;
+                                       var nHeight=180;
+                                       var     nScreenWidth=screen.width;
+                                       var     nScreenHeight=screen.height;
+                                       var nLeft=(nScreenWidth-nWidth)/2;
+                                       var nTop=(nScreenHeight-nHeight)/2;
+                                       if(gbIE4)
+                                       {
+                                               var vRet=window.showModalDialog(sPickupPath,aTopics,"dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:yes;status:no;scroll:no;help:no;center:yes;");
+                                               if(vRet)
+                                               {
+                                                       var sURL=vRet.m_url;
+                                                       if(sFrame)
+                                                               window.open(sURL,sFrame);
+                                                       else
+                                                               window.open(sURL,"_self");
+                                               }
+                                       }
+                               }
+                               else if(aTopics.length==1)
+                               {
+                                       var sURL=aTopics[0].m_sURL
+                                       if(sFrame)
+                                               window.open(sURL,sFrame);
+                                       else
+                                               window.open(sURL,"_self");
+                               }
+                       }
+               }
+       }
+}
+
+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")
+                       if(window.onunload.toString!=unRegisterListener.toString)
+                               whtopic_foldUnload=window.onunload;
+       }
+       else
+       {
+               if(window.onunload)
+                       if(window.onunload.toString!=unRegisterListener.toString)
+                               whtopic_foldUnload=window.onunload;
+       }
+       window.onunload=unRegisterListener;
+       setButtonFont("show","","","","","","");
+setButtonFont("hide","","","","","","");
+
+       gbWhTopic=true;
+}
+else
+       document.location.reload();