2 var gaButtons=new Array();
3 var gaTypes=new Array();
4 var gaBtnBgColor=new Array();
5 var gaSelBtnBgColor=new Array();
7 var gaObjBtns=new Array();
16 var gsBgColor="#99ccff";
17 var gsShadow="#cccccc";
19 var gnShowHideStyle=0;
21 var gbTocInfoInited=false;
23 var gsTBFontFamily="Arial";
24 var gsTBFontSize="xx-small";
25 var gsTBFontColor="#003063";
26 var gsTBDarkColor="#808080";
27 var gsTBLightColor="#FFFAFA";
28 var gsTBSelectedBgColor="#639ace";
29 var gsTBFontSelectedColor="#ffffff";
30 var gaOnLoads=new Array();
31 var goWebSearchEnable=true;
57 var gbEqualSize=false;
58 var goCusButton=new Array();
70 var gsIGlossaryS=null;
80 var gsIWebSearch=null;
81 var gsIWebSearchD=null;
83 var gbAveButttnInited=false;
84 var goNextParent=null;
85 var goPrevParent=null;
86 var gsSearchPrompt="- Search -";
91 var gsSearchFormTitle="";
94 var gaBtns=new Array();
97 var goSelTextFont=null;
99 var gbNeedUpdateAve=false;
100 var gbUpdateTimerCount=0;
102 function setGoImage(sGoImage)
110 function btnBgColor(sType,sColor)
116 function setBackground(sBgImage)
121 function setBackgroundcolor(sBgColor)
126 function setAlignment(strAlignment)
129 if(strAlignment=="left")
131 gnButtonLayout=HLAYOUT|BALIGN;
133 else if(strAlignment=="right")
135 gnButtonLayout=HLAYOUT|EALIGN;
137 else if(strAlignment=="top")
139 gnButtonLayout=VLAYOUT|BALIGN;
141 else if(strAlignment=="bottom")
143 gnButtonLayout=VLAYOUT|EALIGN;
147 function writeStyle(bMiniBar)
150 sStyle+="<style type='text/css'>\n";
152 sStyle+=".clsBtnNormal {\n";
153 if(!(gbNav4&&!gbNav6))
155 sStyle+="padding:2px;\n";
157 sStyle+="padding:5px;\n";
158 sStyle+="cursor:hand;\n";
159 sStyle+="font-family:"+gsTBFontFamily+";\n";
160 sStyle+="font-size:"+gsTBFontSize+";\n";
161 sStyle+="color:"+gsTBFontColor+";}\n";
163 sStyle+=".clsNoBNormal {\n";
164 sStyle+="padding-left:2px;padding-right:2px;\n";
165 sStyle+="cursor:hand;\n";
166 sStyle+="font-family:"+gsTBFontFamily+";\n";
167 sStyle+="font-size:"+gsTBFontSize+";\n";
168 sStyle+="color:"+gsTBFontColor+";}\n";
170 sStyle+=".clsBtnDisable {\n";
171 if(!(gbNav4&&!gbNav6))
173 sStyle+="padding:2px;\n";
175 sStyle+="padding:5px;\n";
176 sStyle+="cursor:default;\n";
177 sStyle+="font-family:"+gsTBFontFamily+";\n";
178 sStyle+="font-size:"+gsTBFontSize+";\n";
179 sStyle+="color:"+gsTBFontColor+";}\n";
181 sStyle+=".clsNoBDisable {\n";
182 sStyle+="padding-left:2px;padding-right:2px;\n";
183 sStyle+="cursor:default;\n";
184 sStyle+="font-family:"+gsTBFontFamily+";\n";
185 sStyle+="font-size:"+gsTBFontSize+";\n";
186 sStyle+="color:"+gsTBFontColor+";}\n";
189 sStyle+=".clsNotBtn {\n";
190 if(!(gbNav4&&!gbNav6))
192 sStyle+="padding:2px;\n";
194 sStyle+="padding:5px;\n";
195 sStyle+="font-family:"+gsTBFontFamily+";\n";
196 sStyle+="font-size:"+gsTBFontSize+";\n";
197 sStyle+="color:"+gsTBFontColor+";}\n";
199 sStyle+=".clsBtnUp{\n";
200 if(!(gbNav4&&!gbNav6))
202 sStyle+="padding:1px;\n";
204 sStyle+="padding:4px;\n";
205 sStyle+="border-bottom:"+gsTBDarkColor+" 1px solid;\n";
206 sStyle+="border-left:"+gsTBLightColor+" 1px solid;\n";
207 sStyle+="border-right:"+gsTBDarkColor+" 1px solid;\n";
208 sStyle+="border-top:"+gsTBLightColor+" 1px solid;\n";
209 sStyle+="cursor:hand;";
210 sStyle+="font-family:"+gsTBFontFamily+";\n";
211 sStyle+="font-size:"+gsTBFontSize+";\n";
212 sStyle+="color:"+gsTBFontColor+";}\n";
214 sStyle+=".clsNoBUp{\n";
215 sStyle+="padding-left:2px;padding-right:2px;\n";
216 sStyle+="cursor:hand;";
217 sStyle+="font-family:"+gsTBFontFamily+";\n";
218 sStyle+="font-size:"+gsTBFontSize+";\n";
219 sStyle+="color:"+gsTBFontColor+";}\n";
221 sStyle+=".clsBtnDown{\n";
222 if(!(gbNav4&&!gbNav6))
224 sStyle+="padding:1px;\n";
226 sStyle+="padding:4px;\n";
227 sStyle+="border-bottom:"+gsTBLightColor+" 1px solid;\n";
228 sStyle+="border-left:"+gsTBDarkColor+" 1px solid;\n";
229 sStyle+="border-right:"+gsTBLightColor+" 1px solid;\n";
230 sStyle+="border-top:"+gsTBDarkColor+" 1px solid;\n";
231 sStyle+="color:"+gsTBFontColor+";\n";
232 sStyle+="cursor:hand;\n";
233 sStyle+="font-family:"+gsTBFontFamily+";\n";
234 sStyle+="font-size:"+gsTBFontSize+";}\n";
236 sStyle+=".clsNoBDown{\n";
237 sStyle+="padding-left:2px;padding-right:2px;\n";
238 sStyle+="cursor:hand;";
239 sStyle+="font-family:"+gsTBFontFamily+";\n";
240 sStyle+="font-size:"+gsTBFontSize+";\n";
241 sStyle+="color:"+gsTBFontColor+";}\n";
243 sStyle+=getDefaultButtonFont();
245 sStyle+=".clsToolbarBackground{\n";
246 sStyle+="margin:2px;}\n";
250 sStyle+="border-top:"+gsBgColor+" 1px solid;}\n";
252 sStyle+="border-top:black 1px solid;}\n";
254 sStyle+="</style>\n";
255 document.write(sStyle);
258 function button(sType,sText,nWidth,nHeight)
263 this.nHeight=nHeight;
265 this.aIs=new Array();
267 while(button.arguments.length>i+4)
269 if (button.arguments[4+i])
270 this.aIs[i]=_getFullPath(_getPath(document.location.href),button.arguments[4+i]);
277 function getImage(oImage,sTitle)
284 sI+="<img alt=\""+sTitle+"\" src=\""+oImage.aIs[0]+"\"";
286 sI+=" width="+oImage.nWidth;
288 sI+=" height="+oImage.nHeight;
289 sI+=" border=0 align=\"absmiddle\">";
295 function getCurrentAveName()
297 var oSelect=getElement("avenue");
299 return oSelect.value;
304 function updateWebSearch(bEnable)
306 var oWebSearch=getElement("btnwebsearch");
307 var oWebSearchParent=null;
309 oWebSearchParent=getParentNode(oWebSearch);
310 goWebSearchEnable=bEnable;
314 enableButton(oWebSearchParent,goWebSearch);
316 disableButton(oWebSearchParent,goWebSearch);
321 function setState(oEL,sState)
324 oEL.setAttribute("state",sState);
329 function updateAvenueIfNeeded()
331 gbUpdateTimerCount--;
332 if (gbNeedUpdateAve&&gbUpdateTimerCount==0)
338 function updateAvenue()
340 var sSelect=getAvenueHTML(gaAvenues);
341 var oSelect=getElement("avenue");
346 var oParent=getParentNode(oSelect);
351 oParent.insertAdjacentHTML("afterBegin",sSelect);
355 oSelect.outerHTML=sSelect;
356 oSelect=getElement("avenue");
357 if(isValidAvenue(gaAvenues,gsCurAveName))
358 oSelect.value=gsCurAveName;
363 function initAveButtonObj()
365 if(!gbAveButttnInited)
367 var oNext=getElement("btnavnext");
369 goNextParent=getParentNode(oNext);
371 var oPrev=getElement("btnavprev");
373 goPrevParent=getParentNode(oPrev);
375 gbAveButttnInited=true;
378 function disableAveButton()
382 disableButton(goNextParent,goNext);
384 disableButton(goPrevParent,goPrev);
387 function disableButton(oEl,oBtn)
389 setState(oEl,"disable");
390 var sPF=oEl.className.substring(0,6);
391 oEl.className=sPF+"Disable";
392 var oAs = getElementsByTag(oEl,"a");
395 oAs[0].style.cursor="default";
397 var oIs=getElementsByTag(oEl,"img");
398 if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>3)
401 oIs[0].src=oBtn.aIs[3];
404 oEl.style.visibility="hidden";
407 function enableButton(oEl,oBtn)
409 setState(oEl,"normal");
412 var sPF=oEl.className.substring(0,6);
413 oEl.className=sPF+"Up";
415 var oAs = getElementsByTag(oEl,"a");
418 oAs[0].style.cursor="hand";
420 var oIs=getElementsByTag(oEl,"img");
421 if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>0)
424 oIs[0].src=oBtn.aIs[0];
426 oEl.style.visibility="visible";
429 function updateAveButton()
432 var strAveName=getCurrentAvenue();
437 for(var i=0;i<gaAvenues.length;i++)
438 if(gaAvenues[i].sName==strAveName)
442 if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext!="")
443 enableButton(goNextParent,goNext);
445 disableButton(goNextParent,goNext);
449 if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev!="")
450 enableButton(goPrevParent,goPrev);
452 disableButton(goPrevParent,goPrev);
462 if(gaAvenues&&gaAvenues.length>0)
464 for(var i=0;i<gaAvenues.length&&(!bNext||!bPrev);i++)
467 if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext!="")
470 if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev!="")
477 enableButton(goNextParent,goNext);
479 disableButton(goNextParent,goNext);
485 enableButton(goPrevParent,goPrev);
487 disableButton(goPrevParent,goPrev);
493 function isValidAvenue(aAvenues,sValue)
497 for(var i=0;i<aAvenues.length;i++)
499 if(aAvenues[i].sName==sValue)
506 function getAvenueHTML(aAvenues)
508 var sSelect="<select id=\"avenue\" size=\"1\" name=\"avenue\" onchange=\"updateAveButton();\">";
509 sSelect+="<option value=\"\" selected> - Select Avenue - </option>";
512 for(var i=0;i<aAvenues.length;i++)
514 sSelect+="<option value=\""+aAvenues[i].sName+"\">"+aAvenues[i].sName+"</option>";
517 sSelect+="</select>";
521 function addAvenueSelection()
523 var oMsg=new whMessage(WH_MSG_GETAVIAVENUES,this,1,new Object());
525 if(SendMessage(oMsg))
527 sButton=getAvenueHTML(oMsg.oParam.aAvenues);
531 sButton=getAvenueHTML(null);
533 gaButtons[gaButtons.length]="<td NOWRAP align=\"center\" valign=\"middle\">"+sButton+"</td>";
536 function setSearchFormTitle(sTitle)
538 gsSearchFormTitle=sTitle;
541 function highLightIfNeeded()
543 if(document.searchForm.searchString.value==gsSearchPrompt)
545 document.searchForm.searchString.select();
549 function addSearchForm()
551 var sPropmptString=gsSearchPrompt;
554 if(!nWidth) nWidth=20;
555 if(gbNav4) nWidth=nWidth*.6;
557 if(gsSearchFormTitle)
559 var sButton="<table id=\"searchInput\" CELLSPACING=0 CELLPADDING=1><tr><td valign=\"middle\" NOWRAP class=\"clsNotBtn\"><span class=\"btnsearchform\">"+_textToHtml(gsSearchFormTitle)+"</span></td><td NOWRAP valign=\"middle\"><input class=\"inputsearchform\" type=\"text\" onfocus=\"highLightIfNeeded();\" name=\"searchString\" value=\""+sPropmptString+"\" size=\""+nWidth+"\"></td>";
561 sButton="<form id=\"searchInput\" name=\"searchForm\" method=\"POST\" action=\"javascript:searchB()\">"+sButton;
564 sButton+="<td NOWRAP valign=\"middle\"><a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"searchForm.submit(); return false;\"></a></td>";
566 else if("image"=="image"&&gsIGo)
568 sButton+="<td NOWRAP valign=\"middle\"><a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"searchForm.submit(); return false;\">"
569 sButton+="<img alt=\"Go\" src=\""+gsIGo+"\" border=0 align=\"absmiddle\"></a></td>";
571 sButton+="</tr></table>";
574 var nBtn=gaButtons.length;
575 gaButtons[nBtn]="<td NOWRAP align=\"center\" valign=\"middle\">"+sButton+"</td>";
576 gaTypes[nBtn]="searchform";
579 function getShowHide()
587 if(gnShowHideStyle&BTN_TEXT)
589 if(gnShowHideStyle&BTN_IMG)
590 sI=getImage(goHide,"Hide");
597 if(gnShowHideStyle&BTN_TEXT)
599 if(gnShowHideStyle&BTN_IMG)
600 sI=getImage(goShow,"Show");
603 var sButton=genButton(sText,sI,gnShowHideStyle);
607 function addBanner(sImage)
611 var nBtn=gaButtons.length;
612 gaButtons[nBtn]="<td NOWRAP align=\"center\" valign=\"middle\"> <a href=\"javascript:void(0);\" onclick=\"showBanner();return false;\"><img alt=\"About WebHelp\"src=\""+sImage+"\" border=0 align=\"absmiddle\"></a></td>";
613 gaTypes[nBtn]="banner";
617 function showBanner()
623 var nScreenWidth=screen.width;
624 var nScreenHeight=screen.height;
625 var nLeft=(nScreenWidth-nWidth)/2;
626 var nTop=(nScreenHeight-nHeight)/2;
633 window.showModalDialog("whskin_banner.htm","","dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:no;status:no;scroll:no;help:no;center:yes;");
636 window.open("whskin_banner.htm","banner","dependent,innerHeight="+nHeight+",innerWidth="+nWidth+",height="+nHeight+",width="+nWidth+",resizable=no,menubar=no,location=no,personalbar=no,status=no,scrollbar=no,toolbar=no,screenX="+nLeft+",screenY="+nTop);
640 function addButton(sType,nStyle,sTitle,sHref,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6)
647 var nBtn=gaButtons.length;
649 if(sType=="show"&&isShowHideEnable())
651 var svTitle="Show Navigation Component";
652 sButton="<a title=\""+svTitle+"\" id=\"btnshowhide\" class=\"btnshow\" href=\"javascript:void(0);\" onclick=\"showHidePane();return false;\">";
653 gnShowHideStyle=nStyle;
654 goShow=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);
655 gaObjBtns[nBtn]=goShow;
664 sButton+=getShowHide();
668 else if(sType=="hide"&&isShowHideEnable())
670 var svTitle="Hide Navigation Component";
671 sButton="<a title=\""+svTitle+"\" id=\"btnshowhide\" class=\"btnhide\" href=\"javascript:void(0);\" onclick=\"showHidePane();return false;\">";
672 gnShowHideStyle=nStyle;
673 goHide=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);
674 gaObjBtns[nBtn]=goHide;
683 sButton+=getShowHide();
687 else if(sType=="hide2"&&(!gbNav4)&&(!gbOpera))
689 var svTitle="Hide Navigation Component";
690 sButton="<a title=\""+svTitle+"\" id=\"btnhide\" class=\"btnhide\" href=\"javascript:void(0);\" onclick=\"showHidePane();return false;\">";
691 gnShowHideStyle=nStyle;
694 goHide2=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);
695 gaObjBtns[nBtn]=goHide2;
700 sI=getImage(goHide2,svTitle);
701 sButton+=genButton(sText,sI,nStyle);
705 else if(sType=="synctoc")
707 var svTitle="Sync TOC";
708 sButton="<a title=\""+svTitle+"\" id=\"btnsynctoc\" class=\"btnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";
711 goSync=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);
712 gaObjBtns[nBtn]=goSync;
717 sI=getImage(goSync,svTitle);
718 sButton+=genButton(sText,sI,nStyle);
722 else if(sType=="toc")
724 var svTitle="Contents";
725 sButton="<a title=\""+svTitle+"\" id=\"btntoc\" class=\"btntoc\" href=\"javascript:void(0);\" onclick=\"showToc();return false;\">";
732 goToc=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
733 gaObjBtns[nBtn]=goToc;
738 sI=getImage(goToc,svTitle);
739 sButton+=genButton(sText,sI,nStyle);
743 else if(sType=="idx")
746 sButton="<a title=\""+svTitle+"\" id=\"btnidx\" class=\"btnidx\" href=\"javascript:void(0);\" onclick=\"showIndex();return false;\">";
753 goIdx=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
754 gaObjBtns[nBtn]=goIdx;
759 sI=getImage(goIdx,svTitle);
760 sButton+=genButton(sText,sI,nStyle);
764 else if(sType=="fts")
766 var svTitle="Search";
767 sButton="<a title=\""+svTitle+"\" id=\"btnfts\" class=\"btnfts\" href=\"javascript:void(0);\" onclick=\"showFts();return false;\">";
774 goFts=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
775 gaObjBtns[nBtn]=goFts;
780 sI=getImage(goFts,svTitle);
781 sButton+=genButton(sText,sI,nStyle);
785 else if(sType=="glo")
787 var svTitle="Glossary";
788 sButton="<a title=\""+svTitle+"\" id=\"btnglo\" class=\"btnglo\" href=\"javascript:void(0);\" onclick=\"showGlossary();return false;\">";
795 goGlo=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
796 gaObjBtns[nBtn]=goGlo;
801 sI=getImage(goGlo,svTitle);
802 sButton+=genButton(sText,sI,nStyle);
806 else if(sType=="avnext")
808 var svTitle="Next Topic";
809 sButton="<a title=\""+svTitle+"\" id=\"btnavnext\" class=\"btnavnext\" href=\"javascript:void(0);\" onclick=\"goAveNext();return false;\">";
814 goNext=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
815 gaObjBtns[nBtn]=goNext;
820 sI=getImage(goNext,svTitle);
821 sButton+=genButton(sText,sI,nStyle);
825 else if(sType=="avprev")
827 var svTitle="Previous Topic";
828 sButton="<a title=\""+svTitle+"\" id=\"btnavprev\" class=\"btnavprev\" href=\"javascript:void(0);\" onclick=\"goAvePrev();return false;\">";
833 goPrev=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
834 gaObjBtns[nBtn]=goPrev;
839 sI=getImage(goPrev,svTitle);
840 sButton+=genButton(sText,sI,nStyle);
844 else if(sType=="blankblock")
846 gaButtons[nBtn]=null;
849 else if(sType=="websearch")
851 var svTitle="WebSearch";
852 sButton="<a title=\""+svTitle+"\" id=\"btnwebsearch\" class=\"btnwebsearch\" href=\"javascript:void(0);\" onclick=\"doWebSearch();return false;\">";
857 goWebSearch=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
858 gaObjBtns[nBtn]=goWebSearch;
860 sText=goWebSearch.sText
863 sI=getImage(goWebSearch,svTitle);
864 sButton+=genButton(sText,sI,nStyle);
867 else if(sType.indexOf("custom")==0)
869 var nCusBtnIdx=goCusButton.length;
870 goCusButton[nCusBtnIdx]=new cusButton(sType,sTitle,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sI1,sI2,sI3);
871 gaObjBtns[nBtn]=goCusButton[nCusBtnIdx];
872 var re=new RegExp("\"","g");
873 var svTitle=sTitle.replace(re, """);
874 if(sHref&&sHref.length!=0)
876 sButton="<a title=\""+svTitle+"\" id=\"btn"+sType+"\" class=\"btn"+sType+"\" target=\"bsscright\" href=\""+sHref+"\" onclick=\"cusOnClick("+nCusBtnIdx+");";
880 sButton="<a title=\""+svTitle+"\" id=\"btn"+sType+"\" class=\"btn"+sType+"\" href=\"javascript:void(0);\" onclick=\"cusOnClick("+nCusBtnIdx+");return false;";
881 sButton+="\" onmouseover=\"cusOnMouseOver("+nCusBtnIdx+");\" title=\""+sType+"\">";
885 sI+=getImage(goCusButton[nCusBtnIdx],sTitle);
886 sButton+=genButton(sText,sI,nStyle);
889 if(sButton.length!=0)
893 btnClass="clsBtnNormal";
895 btnClass="clsNoBNormal";
900 gaButtons[nBtn]="<td NOWRAP valign=\"middle\" align=\"center\" class="+btnClass+" onclick=\"onBtnClick(event);\" onmousedown=\"onBtnMouseDown(event, "+nBtn+");\" onmouseup=\"onBtnMouseUp(event, "+nBtn+");\" onmouseover=\"onBtnMouseOver(event, "+nBtn+");\" onmouseout=\"onBtnMouseOut(event, "+nBtn+");\">"+sButton+"</td>";
902 gaButtons[nBtn]="<td NOWRAP valign=\"middle\" align=\"center\" class="+btnClass+" onclick=\"onBtnClick(event);return false;\" onmousedown=\"onBtnMouseDown(event, "+nBtn+");\" onmouseup=\"onBtnMouseUp(event, "+nBtn+");\" onmouseover=\"onBtnMouseOver(event, "+nBtn+");\" onmouseout=\"onBtnMouseOut(event, "+nBtn+");\">"+sButton+"</td>";
905 gaButtons[nBtn]="<td NOWRAP valign=\"middle\" align=\"center\" class="+btnClass+" state=\"up\" onclick=\"onBtnClick(event);return false;\" onmousedown=\"onBtnMouseDown(event, "+nBtn+");\" onmouseup=\"onBtnMouseUp(event, "+nBtn+");\" onmouseover=\"onBtnMouseOver(event, "+nBtn+");\" onmouseout=\"onBtnMouseOut(event, "+nBtn+");\">"+sButton+"</td>";
909 if(sType=="avenuesel")
910 addAvenueSelection();
911 else if(sType=="searchform")
913 else if(sType=="banner")
921 function isShowHideEnable()
929 function genButton(sText,sI,nStyle)
932 var sShowText=_textToHtml(sText);
933 if (gbNav4 && !gbNav6)
934 sShowText += " ";
935 if(sText!=""&&sI!="")
937 if(nStyle&BTN_IMG_TOP)
938 sButton+=sI+"<br>"+ sShowText;
939 else if(nStyle&BTN_IMG_BOTTOM)
940 sButton+=sText+"<br>"+sI;
941 else if(nStyle&BTN_IMG_RIGHT)
942 sButton+=sText+" "+sI;
944 sButton+=sI+" "+sShowText;
959 var onMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null);
962 var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,document.searchForm.searchString.value);
963 if(!SendMessage(oMsg))
964 gstrSearch=document.searchForm.searchString.value;
969 function ReSortToolbarButtons()
971 var bSearchEnabled=isSearchEnabled();
973 var oMsg=new whMessage(WH_MSG_TOOLBARORDER,this,1,null);
974 if(SendMessage(oMsg))
976 strOrder=oMsg.oParam;
978 if(strOrder.length>0)
980 gaOrders=strOrder.split("|");
981 var aTempButtons=new Array();
983 for(var si=0;si<gaOrders.length;si++)
985 if(gaOrders[si]!="searchform"||bSearchEnabled)
988 for(var st=0;st<gaTypes.length;st++)
990 if(gaOrders[si]==gaTypes[st])
998 aTempButtons[aTempButtons.length]=gaButtons[sb];
1002 gaButtons=aTempButtons;
1006 function isSyncEnabled()
1009 var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null);
1010 if(SendMessage(oMsg))
1012 bEnabled=oMsg.oParam;
1017 function isAvenueEnabled()
1020 var oMsg=new whMessage(WH_MSG_ISAVENUESUPPORT,this,1,null);
1021 if(SendMessage(oMsg))
1023 bEnabled=oMsg.oParam;
1028 function isSearchEnabled()
1031 var oMsg=new whMessage(WH_MSG_ISSEARCHSUPPORT,this,1,null);
1032 if(SendMessage(oMsg))
1034 bEnabled=oMsg.oParam;
1039 function ReSortMinibarButtons()
1041 var bSyncEnabled=isSyncEnabled();
1042 var bAvenueEnabled=isAvenueEnabled();
1044 var oMsg=new whMessage(WH_MSG_MINIBARORDER,this,1,null);
1045 if(SendMessage(oMsg))
1047 strOrder=oMsg.oParam;
1049 if(strOrder.length>0)
1051 gaOrders=strOrder.split("|");
1052 var aTempButtons=new Array();
1054 for(var si=0;si<gaOrders.length;si++)
1056 if((gaOrders[si]!="synctoc"||bSyncEnabled)&&
1057 ((gaOrders[si]!="avnext"&&gaOrders[si]!="avprev")||bAvenueEnabled))
1060 for(var st=0;st<gaTypes.length;st++)
1062 if(gaOrders[si]==gaTypes[st])
1070 aTempButtons[aTempButtons.length]=gaButtons[sb];
1074 gaButtons=aTempButtons;
1078 function writeToolBar()
1081 if(gaButtons.length>0)
1083 var strHeight="100%";
1084 var strWidth="100%";
1087 strHeight=window.innerHeight-4;
1088 strWidth=window.innerWidth-4;
1092 strHeight=document.body.clientHeight-4;
1093 strWidth=document.body.clientWidth-4;
1096 sHTML="<table class=\"clsToolbarBackground\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" height=\""+strHeight+"\" width=\""+strWidth+"\">";
1098 sHTML="<form name=\"searchForm\" method=\"POST\" action=\"javascript:searchB()\"><table class=\"clsToolbarBackground\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" height=\""+strHeight+"\" width=\""+strWidth+"\">";
1099 if((gnButtonLayout&LAYOUT)==HLAYOUT)
1102 for(var i=0;i<gaButtons.length;i++)
1105 sHTML+=gaButtons[i];
1107 sHTML+="<td width=\"100%\"></td>";
1113 for(var i=0;i<gaButtons.length;i++)
1116 sHTML+="<tr width=\"100%\">"+gaButtons[i]+"</tr>";
1118 sHTML+="<tr height=\"100%\"><td></td></tr>";
1124 sHTML+="</table></form>";
1126 document.write(sHTML);
1128 document.body.onselectstart=onSelect;
1132 function hasNavPane()
1134 if(gnHasNavPane==-1)
1137 var oParam=new Object();
1138 oParam.bVisible=false;
1139 var oMsg=new whMessage(WH_MSG_ISPANEVISIBLE,this,1,oParam);
1140 if(SendMessage(oMsg))
1153 function getTocInfo()
1155 var oParam=new Object();
1156 oParam.oTocInfo=null;
1157 var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);
1158 if(SendMessage(oMsg))
1160 goTocInfo=oParam.oTocInfo;
1161 gbTocInfoInited=true;
1165 function onBtnClick(e)
1172 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1177 oElo=event.srcElement;
1179 event.cancelBubble=true;
1181 while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1183 oEl=getParentNode(oEl);
1186 if(oElo.tagName=="A"||oElo.tagName=="IMG") return true;
1187 var oaA=getElementsByTag(oElo,"A");
1193 var sCmd=oA.getAttribute("onclick");
1194 var nCmd=sCmd.indexOf("return false;");
1196 sCmd=sCmd.substring(0,nCmd);
1204 function onBtnMouseDown(e,nBtn)
1210 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1215 oEl=event.srcElement;
1216 event.cancelBubble=true;
1218 while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1220 oEl=getParentNode(oEl);
1223 var sPF=oEl.className.substring(0,6);
1224 var oIs=getElementsByTag(oEl,"img");
1225 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>2)
1227 if(gaObjBtns[nBtn].aIs[2])
1228 oIs[0].src=gaObjBtns[nBtn].aIs[2];
1230 var sState=getState(oEl);
1231 if(sState!="disable")
1233 oEl.className=sPF+"Down";
1237 function onBtnMouseUp(e,nBtn)
1243 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1248 oEl=event.srcElement;
1249 event.cancelBubble=true;
1251 while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1253 oEl=getParentNode(oEl);
1256 var sPF=oEl.className.substring(0,6);
1257 var sState=getState(oEl);
1258 if(sState=="down"||sState=="disable")
1260 var oIs=getElementsByTag(oEl,"img");
1261 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>3)
1263 if(gaObjBtns[nBtn].aIs[3])
1264 oIs[0].src=gaObjBtns[nBtn].aIs[3];
1269 var oIs=getElementsByTag(oEl,"img");
1270 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>0)
1272 if(gaObjBtns[nBtn].aIs[0])
1273 oIs[0].src=gaObjBtns[nBtn].aIs[0];
1278 if(sState!="down"&&sState!="disable")
1280 oEl.className=sPF+"Up";
1285 function getState(oEl)
1289 sState=oEl.getAttribute("state");
1296 function onBtnMouseOver(e,nBtn)
1303 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1308 oEl=event.srcElement;
1309 event.cancelBubble=true;
1311 while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1313 oEl=getParentNode(oEl);
1316 var sPF=oEl.className.substring(0,6);
1317 var sState=getState(oEl);
1318 if(sState=="down"||sState=="disable")
1321 oEl.className=sPF+"Down";
1322 var oIs=getElementsByTag(oEl,"img");
1323 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>4)
1325 if(gaObjBtns[nBtn].aIs[4])
1326 oIs[0].src=gaObjBtns[nBtn].aIs[4];
1331 oEl.className=sPF+"Up";
1332 var oIs=getElementsByTag(oEl,"img");
1333 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>1)
1335 if(gaObjBtns[nBtn].aIs[1])
1336 oIs[0].src=gaObjBtns[nBtn].aIs[1];
1341 function onBtnMouseOut(e,nBtn)
1348 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1353 oEl=event.srcElement;
1354 event.cancelBubble=true;
1356 while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1358 oEl=getParentNode(oEl);
1361 var sPF=oEl.className.substring(0,6);
1362 var sState=getState(oEl);
1363 if(sState=="down"||sState=="disable")
1365 var oIs=getElementsByTag(oEl,"img");
1366 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>3)
1368 if(gaObjBtns[nBtn].aIs[3])
1369 oIs[0].src=gaObjBtns[nBtn].aIs[3];
1372 oEl.className=sPF+"Down";
1376 var oIs=getElementsByTag(oEl,"img");
1377 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>0)
1379 if(gaObjBtns[nBtn].aIs[0])
1380 oIs[0].src=gaObjBtns[nBtn].aIs[0];
1382 oEl.className=sPF+"Normal";
1388 var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)
1392 function showIndex()
1394 var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)
1400 var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)
1404 function showGlossary()
1406 var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)
1410 function syncWithShow()
1412 if(!gbTocInfoInited)
1419 var oParam=goTocInfo;
1420 var oMsg=new whMessage(WH_MSG_SYNCTOC,this,1,oParam);
1425 function markButton(e)
1431 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1435 oEl=event.srcElement;
1436 while(oEl&&oEl.tagName!="TD") oEl=getParentNode(oEl);
1441 function showHidePane()
1445 oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null);
1447 oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);
1451 function goAveNext()
1456 function goAvePrev()
1461 function doWebSearch()
1463 if (goWebSearchEnable)
1465 var oMsg=new whMessage(WH_MSG_WEBSEARCH,this,1,null);
1470 function goAvenue(bNext)
1474 gsCurAveName=getCurrentAveName();
1481 oMsg=new whMessage(WH_MSG_NEXT,this,1,null);
1488 oMsg=new whMessage(WH_MSG_PREV,this,1,null);
1494 if(bNext&&goNextParent)
1496 var sState=getState(goNextParent);
1497 if(sState!="disable")
1500 gbNeedUpdateAve=true;
1501 gbUpdateTimerCount++;
1502 setTimeout("updateAvenueIfNeeded();", 2000);
1503 oMsg=new whMessage(WH_MSG_NEXT,this,1,null);
1507 else if(!bNext&&goPrevParent)
1509 var sState=getState(goPrevParent);
1510 if(sState!="disable")
1513 gbNeedUpdateAve=true;
1514 gbUpdateTimerCount++;
1515 setTimeout("updateAvenueIfNeeded();", 2000);
1516 oMsg=new whMessage(WH_MSG_PREV,this,1,null);
1523 function window_Unload()
1527 UnRegisterListener2(this,WH_MSG_GETSEARCHS);
1528 UnRegisterListener2(this,WH_MSG_PANESTATUE);
1529 UnRegisterListener2(this,WH_MSG_SYNCINFO);
1530 UnRegisterListener2(this,WH_MSG_PANEINFO);
1531 UnRegisterListener2(this,WH_MSG_AVENUEINFO);
1532 UnRegisterListener2(this,WH_MSG_GETCURRENTAVENUE);
1533 UnRegisterListener2(this,WH_MSG_ENABLEWEBSEARCH);
1534 UnRegisterListener2(this,WH_MSG_INITSEARCHSTRING);
1535 UnRegisterListener2(this,WH_MSG_NOSEARCHINPUT);
1536 UnRegisterListener2(this,WH_MSG_NOSYNC);
1540 function window_OnLoad()
1542 if(!gbOpera7&&document.body)
1544 if(gsBgImage&&gsBgImage.length>0)
1546 document.body.background=gsBgImage;
1548 if(gsBgColor&&gsBgColor.length>0)
1550 document.body.bgColor=gsBgColor;
1554 var oMsg=new whMessage(WH_MSG_GETPANEINFO,this,1,null);
1555 if(SendMessage(oMsg))
1557 setTimeout("flipPaneButton(\""+oMsg.oParam+"\");",1);
1561 var oMsg2=new whMessage(WH_MSG_GETAVIAVENUES,this,1,new Object());
1562 if(SendMessage(oMsg2))
1564 gaAvenues=oMsg2.oParam.aAvenues;
1565 gbNeedUpdateAve=false;
1566 setTimeout("updateAvenue();",1);
1571 function onSendMessage(oMsg)
1573 var nMsgId=oMsg.nMessageId;
1574 if(nMsgId==WH_MSG_GETSEARCHS)
1576 if(document.searchForm&&document.searchForm.searchString)
1578 oMsg.oParam.sValue=document.searchForm.searchString.value;
1582 else if(nMsgId==WH_MSG_PANESTATUE)
1584 if(oMsg.oParam=="visible")
1586 if(isShowHideEnable())
1587 setTimeout("flipShowHide(true);",1);
1588 setTimeout("showPaneButton();",1);
1592 if(isShowHideEnable())
1593 setTimeout("flipShowHide(false);",1);
1594 setTimeout("hidePaneButton();",1);
1597 else if(nMsgId==WH_MSG_PANEINFO)
1600 setTimeout("flipPaneButton(\""+oMsg.oParam+"\");",1);
1602 setTimeout("hidePaneButton();",1);
1604 else if(nMsgId==WH_MSG_SYNCINFO)
1607 goTocInfo=oMsg.oParam;
1610 gbTocInfoInited=true;
1612 else if(nMsgId==WH_MSG_AVENUEINFO)
1614 gaAvenues=oMsg.oParam;
1615 gbNeedUpdateAve=false;
1616 setTimeout("updateAvenue();",1);
1618 else if(nMsgId==WH_MSG_GETCURRENTAVENUE)
1620 var sAveName=getCurrentAvenue();
1623 oMsg.oParam.sAvenue=sAveName;
1629 else if(nMsgId==WH_MSG_ENABLEWEBSEARCH)
1631 setTimeout("updateWebSearch("+oMsg.oParam+");",1);
1633 else if(nMsgId==WH_MSG_INITSEARCHSTRING)
1637 oMsg.oParam=gstrSearch;
1642 else if(nMsgId==WH_MSG_NOSEARCHINPUT)
1644 var oSearchInput = getElement("searchInput");
1647 oSearchInput.style.visibility = "hidden";
1651 else if(nMsgId==WH_MSG_NOSYNC)
1653 var oSync = getElement("btnsynctoc");
1656 oSync.style.visibility = "hidden";
1663 function getCurrentAvenue()
1666 var oSelect=getElement("avenue");
1669 strAveName=oSelect.value;
1677 oBtn=getElement("btntoc");
1679 gaBtns[gaBtns.length]=oBtn;
1680 oBtn=getElement("btnidx");
1682 gaBtns[gaBtns.length]=oBtn;
1683 oBtn=getElement("btnfts");
1685 gaBtns[gaBtns.length]=oBtn;
1686 oBtn=getElement("btnglo");
1688 gaBtns[gaBtns.length]=oBtn;
1692 function showPaneButton()
1694 flipPaneButton(gsPane);
1697 function hidePaneButton()
1702 function flipPaneButton(sPane)
1712 oUp=getElement("btn"+sPane);
1714 for(var i=0;i<gaBtns.length;i++)
1720 var oEl=getParentNode(oUp);
1721 var sPF=oEl.className.substring(0,6);
1722 var sState=getState(oEl);
1725 setState(oEl,"down");
1726 oEl.className=sPF+"Down";
1731 var sColor=getBtnColor(gaBtns[i].id.substring(3),true);
1734 oEl.style.backgroundColor=sColor
1738 oEl.style.backgroundColor="";
1741 var oaA=getElementsByTag(oEl,"A");
1744 var strClassName=oaA[0].className;
1745 oaA[0].className="btnsel"+strClassName.substring(3);
1748 var oIs=getElementsByTag(oEl,"img");
1749 var oBtn=getButtonObjByType(gaBtns[i].id.substring(3));
1750 if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>3)
1753 oIs[0].src=oBtn.aIs[3];
1759 var oEl=getParentNode(gaBtns[i]);
1760 var sState=getState(oEl);
1761 var sPF=oEl.className.substring(0,6);
1766 oEl.className=sPF+"Up";
1768 oEl.className=sPF+"Normal";
1774 var sColor=getBtnColor(gaBtns[i].id.substring(3),false);
1777 oEl.style.backgroundColor=sColor
1781 oEl.style.backgroundColor="";
1785 var oaA=getElementsByTag(oEl,"A");
1788 var strClassName=oaA[0].className;
1789 oaA[0].className="btn"+strClassName.substring(6);
1792 var oIs=getElementsByTag(oEl,"img");
1793 var oBtn=getButtonObjByType(gaBtns[i].id.substring(3));
1794 if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>0)
1797 oIs[0].src=oBtn.aIs[0];
1805 function flipShowHide(bShow)
1808 var oA=getElement("btnshowhide");
1811 var oEl=getParentNode(oA);
1812 var sPF=oEl.className.substring(0,6);
1818 oEl.className=sPF+"Down";
1825 oEl.className=sPF+"Up";
1827 oEl.className=sPF+"Normal";
1830 oA.innerHTML=getShowHide();
1834 function cusOnClick(nIdx)
1836 if(goCusButton.length>nIdx)
1838 var sOnClick=goCusButton[nIdx].sOnClick;
1839 if(sOnClick&&sOnClick.length>0)
1849 function cusOnMouseOver(nIdx)
1851 if(goCusButton.length>nIdx)
1853 var sOnMouseOver=goCusButton[nIdx].sOnMouseOver;
1854 if(sOnMouseOver&&sOnMouseOver.length>0)
1864 function doCusOnLoad()
1866 if(!gbPreview&&gaOrders)
1868 for(var i=0;i<gaOrders.length;i++)
1870 for(var j=0;j<gaOnLoads.length;j++)
1872 if(gaOrders[i]==gaOnLoads[j].sType)
1874 eval(gaOnLoads[j].sOnLoad);
1882 function registerOnLoad(sOnLoad,sType)
1884 gaOnLoads[gaOnLoads.length]=new cusOnLoad(sType,sOnLoad);
1887 function cusOnLoad(sType,sOnLoad)
1890 this.sOnLoad=sOnLoad;
1893 function cusButton(sType,sText,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight)
1897 this.sOnClick=sOnClick;
1898 this.sOnMouseOver=sOnMouseOver;
1899 this.sOnLoad=sOnLoad;
1901 this.nHeight=nHeight;
1902 this.aIs=new Array();
1904 while(cusButton.arguments.length>i+7)
1906 if (cusButton.arguments[7+i])
1907 this.aIs[i]=_getFullPath(_getPath(document.location.href),cusButton.arguments[7+i]);
1914 registerOnLoad(sOnLoad,sType);
1918 function getBtnColor(sType,bSel)
1920 var aBtnColors=null;
1922 aBtnColors=gaSelBtnBgColor;
1924 aBtnColors=gaBtnBgColor;
1927 for(var i=0;i<aBtnColors.length;i++)
1929 if(aBtnColors[i].sType==sType)
1930 return aBtnColors[i].sColor;
1936 function setButtonBgColor(sType,sColor,bSel)
1940 var aBtnColors=null;
1942 aBtnColors=gaSelBtnBgColor;
1944 aBtnColors=gaBtnBgColor;
1945 if(aBtnColors!=null)
1947 for(var i=0;i<aBtnColors.length;i++)
1949 if(aBtnColors[i].sType==sType)
1951 aBtnColors[i].sColor=sColor;
1955 aBtnColors[aBtnColors.length]=new btnBgColor(sType,sColor);
1960 function getDefaultButtonFont()
1962 var strFontStyle="";
1963 for(var i=0;i<gaTypes.length;i++)
1965 strFontStyle+=".btnsel"+gaTypes[i]+"{"+getFontStyle(goSelTextFont)+"}";
1966 strFontStyle+=".btn"+gaTypes[i]+"{"+getFontStyle(goTextFont)+"}";
1968 return strFontStyle;
1971 function setButtonFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration,bSel)
1975 var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
1977 gsBtnStyle+=".btnsel"+sType+"{"+getFontStyle(vFont)+"}\n";
1979 gsBtnStyle+=".btn"+sType+"{"+getFontStyle(vFont)+"}\n";
1981 if (sType=="searchform"&&!bSel)
1983 var vFont1=new whFont(sFontName,sFontSize,"black",sFontStyle,sFontWeight,sFontDecoration);
1984 gsBtnStyle+=".inputsearchform {" + getFontStyle(vFont1)+"}\n";
1988 function getButtonObjByType(sType)
1990 for(var i=0;i<gaObjBtns.length;i++)
1992 if(gaObjBtns[i].sType==sType)
1993 return gaObjBtns[i];
2000 if (event.srcElement&&event.srcElement.name)
2002 if (event.srcElement.name=="searchString")
2008 function window_onResize()
2011 setTimeout("tryReload();", 100);
2014 function tryReload()
2017 document.location.reload();
2021 if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)
2023 RegisterListener2(this,WH_MSG_GETSEARCHS);
2024 RegisterListener2(this,WH_MSG_PANESTATUE);
2025 RegisterListener2(this,WH_MSG_SYNCINFO);
2026 RegisterListener2(this,WH_MSG_PANEINFO);
2027 RegisterListener2(this,WH_MSG_AVENUEINFO);
2028 RegisterListener2(this,WH_MSG_GETCURRENTAVENUE);
2029 RegisterListener2(this,WH_MSG_ENABLEWEBSEARCH);
2030 RegisterListener2(this,WH_MSG_INITSEARCHSTRING);
2031 RegisterListener2(this,WH_MSG_NOSEARCHINPUT);
2032 RegisterListener2(this,WH_MSG_NOSYNC);
2034 window.onload=window_OnLoad;
2035 window.onunload=window_Unload;
2036 window.onresize=window_onResize;
2037 goTextFont=new whFont("Verdana","8pt","#003063","normal","normal","none");
2038 goSelTextFont=new whFont("Verdana","8pt","white","normal","normal","none");
2042 document.location.reload();