Salome HOME
Help contents is updated.
[tools/siman.git] / Workspace / Siman / WebContent / WebHelp / whtbar.js
1 //      WebHelp 5.10.006
2 var gaButtons=new Array();
3 var     gaTypes=new Array();
4 var gaBtnBgColor=new Array();
5 var gaSelBtnBgColor=new Array();
6 var gaOrders=null;
7 var gaObjBtns=new Array();
8 var BTN_TEXT=1;
9 var BTN_IMG=2;
10 var BTN_IMG_TOP=4
11 var BTN_IMG_BOTTOM=8;
12 var BTN_IMG_LEFT=16;
13 var BTN_IMG_RIGHT=32;
14 var gsAlign="left";
15 var gsBgImage="";
16 var gsBgColor="#99ccff";
17 var gsShadow="#cccccc";
18 var gsTBBgImage="";
19 var gnShowHideStyle=0;
20 var goTocInfo=null;
21 var gbTocInfoInited=false;
22 var goWebSearch=null;
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;
32
33 var goShow=null;
34 var goHide=null;
35 var goHide2=null;
36 var goSync=null;
37
38 var goToc=null;
39 var goIdx=null;
40 var goFts=null;
41 var goGlo=null;
42 var goNext=null;
43 var goPrev=null;
44
45 var LAYOUT=1;
46 var HLAYOUT=0;
47 var VLAYOUT=1;
48 var ALIGN=2;
49 var BALIGN=0;
50 var EALIGN=2;
51 var goEl=null;
52 var gnRE=0;
53
54 var gnButtonLayout=0;
55 var gnShowHide=-1;
56
57 var gbEqualSize=false;
58 var goCusButton=new Array();
59 var gsBtnStyle="";
60 var gaAvenues=null;
61 var gsCurAveName="";
62
63 var gsIToc=null;
64 var gsITocS=null;
65 var gsIIndex=null;
66 var gsIIndexS=null;
67 var gsISearch=null;
68 var gsISearchS=null;
69 var gsIGlossary=null;
70 var gsIGlossaryS=null;
71 var gsIBanner=null;
72 var gsIGo=null;
73
74 var gsIHide=null;
75 var gsIPrev=null;
76 var gsINext=null;
77 var gsISync=null;
78 var gsINextD=null;
79 var gsIPrevD=null;
80 var gsIWebSearch=null;
81 var gsIWebSearchD=null;
82
83 var gbAveButttnInited=false;
84 var goNextParent=null;
85 var goPrevParent=null;
86 var gsSearchPrompt="- Search -";
87
88 var gstrSearch="";
89 var gbPreview=false;
90 gbPreview=false; 
91 var gsSearchFormTitle="";
92 var gnHasNavPane=-1;
93 var gbInitBtn=false;
94 var gaBtns=new Array();
95 var gbWhTBar=false;
96 var goTextFont=null;
97 var goSelTextFont=null;
98 var gsPane="";
99 var gbNeedUpdateAve=false;
100 var gbUpdateTimerCount=0;
101
102 function setGoImage(sGoImage)
103 {
104         if(sGoImage)
105         {
106                 gsIGo=sGoImage;
107         }
108 }
109
110 function btnBgColor(sType,sColor)
111 {
112         this.sType=sType;
113         this.sColor=sColor;
114 }
115
116 function setBackground(sBgImage)
117 {
118         gsBgImage=sBgImage;
119 }
120
121 function setBackgroundcolor(sBgColor)
122 {
123         gsBgColor=sBgColor;
124 }
125
126 function setAlignment(strAlignment)
127 {
128         gnButtonLayout=0;
129         if(strAlignment=="left")
130         {
131                 gnButtonLayout=HLAYOUT|BALIGN;
132         }
133         else if(strAlignment=="right")
134         {
135                 gnButtonLayout=HLAYOUT|EALIGN;
136         }
137         else if(strAlignment=="top")
138         {
139                 gnButtonLayout=VLAYOUT|BALIGN;
140         }
141         else if(strAlignment=="bottom")
142         {
143                 gnButtonLayout=VLAYOUT|EALIGN;
144         }
145 }
146
147 function writeStyle(bMiniBar)
148 {
149         var sStyle="";
150         sStyle+="<style type='text/css'>\n";
151         sStyle+="<!--\n";
152         sStyle+=".clsBtnNormal {\n";
153         if(!(gbNav4&&!gbNav6))
154                 if (bMiniBar)
155                         sStyle+="padding:2px;\n";
156                 else
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";
162
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";
169
170         sStyle+=".clsBtnDisable {\n";
171         if(!(gbNav4&&!gbNav6))
172                 if (bMiniBar)
173                         sStyle+="padding:2px;\n";
174                 else
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";
180
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";
187
188
189         sStyle+=".clsNotBtn {\n";
190         if(!(gbNav4&&!gbNav6))
191                 if (bMiniBar)
192                         sStyle+="padding:2px;\n";
193                 else
194                         sStyle+="padding:5px;\n";
195         sStyle+="font-family:"+gsTBFontFamily+";\n";
196         sStyle+="font-size:"+gsTBFontSize+";\n";
197         sStyle+="color:"+gsTBFontColor+";}\n";
198
199         sStyle+=".clsBtnUp{\n";
200         if(!(gbNav4&&!gbNav6))
201                 if (bMiniBar)
202                         sStyle+="padding:1px;\n";
203                 else
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";
213
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";
220
221         sStyle+=".clsBtnDown{\n";
222         if(!(gbNav4&&!gbNav6))
223                 if (bMiniBar)
224                         sStyle+="padding:1px;\n";
225                 else
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";
235
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";
242
243         sStyle+=getDefaultButtonFont();
244         sStyle+=gsBtnStyle;
245         sStyle+=".clsToolbarBackground{\n";
246         sStyle+="margin:2px;}\n";
247         sStyle+="-->\n";
248         sStyle+=" body {\n";
249         if (gsBgImage)
250                 sStyle+="border-top:"+gsBgColor+" 1px solid;}\n";
251         else
252                 sStyle+="border-top:black 1px solid;}\n";
253         sStyle+="-->\n";
254         sStyle+="</style>\n";
255         document.write(sStyle);
256 }
257
258 function button(sType,sText,nWidth,nHeight)
259 {
260         this.sType=sType;
261         this.sText=sText;
262         this.nWidth=nWidth;
263         this.nHeight=nHeight;
264         
265         this.aIs=new Array();
266         var i=0;
267         while(button.arguments.length>i+4)
268         {
269                 if (button.arguments[4+i])
270                         this.aIs[i]=_getFullPath(_getPath(document.location.href),button.arguments[4+i]);
271                 else
272                         this.aIs[i]="";
273                 i++;
274         }
275 }
276
277 function getImage(oImage,sTitle)
278 {
279         if(oImage.aIs[0])
280         {
281                 var sI="";
282                 if(sTitle=="")
283                         sTitle=oImage.sText;
284                 sI+="<img alt=\""+sTitle+"\" src=\""+oImage.aIs[0]+"\"";
285                 if(oImage.nWidth>0)
286                         sI+=" width="+oImage.nWidth;
287                 if(oImage.nHeight>0)
288                         sI+=" height="+oImage.nHeight;
289                 sI+=" border=0 align=\"absmiddle\">";
290                 return sI;
291         }
292         return "";
293 }
294
295 function getCurrentAveName()
296 {
297         var oSelect=getElement("avenue");
298         if(oSelect)
299                 return oSelect.value;
300         else
301                 return "";
302 }
303
304 function updateWebSearch(bEnable)
305 {
306         var oWebSearch=getElement("btnwebsearch");
307         var oWebSearchParent=null;
308         if(oWebSearch)
309                 oWebSearchParent=getParentNode(oWebSearch);
310         goWebSearchEnable=bEnable;
311         if(oWebSearchParent)
312         {
313                 if(bEnable)
314                         enableButton(oWebSearchParent,goWebSearch);
315                 else
316                         disableButton(oWebSearchParent,goWebSearch);
317         }
318
319 }
320
321 function setState(oEL,sState)
322 {
323         if(gbNav6||gbOpera)
324                 oEL.setAttribute("state",sState);
325         else
326                 oEL.state=sState;       
327 }
328
329 function updateAvenueIfNeeded()
330 {
331         gbUpdateTimerCount--;
332         if (gbNeedUpdateAve&&gbUpdateTimerCount==0)
333         {
334                 updateAvenue();
335         }
336 }
337
338 function updateAvenue()
339 {
340         var sSelect=getAvenueHTML(gaAvenues);
341         var oSelect=getElement("avenue");
342         if(oSelect)
343         {
344                 if(gbNav6)
345                 {
346                         var oParent=getParentNode(oSelect);
347                         
348                         if(oParent)
349                         {
350                                 removeThis(oSelect);
351                                 oParent.insertAdjacentHTML("afterBegin",sSelect);
352                         }
353                 }
354                 else
355                         oSelect.outerHTML=sSelect;      
356                 oSelect=getElement("avenue");
357                 if(isValidAvenue(gaAvenues,gsCurAveName))
358                         oSelect.value=gsCurAveName;
359         }
360         updateAveButton();
361 }
362
363 function initAveButtonObj()
364 {
365         if(!gbAveButttnInited)
366         {
367                 var oNext=getElement("btnavnext");
368                 if(oNext)
369                         goNextParent=getParentNode(oNext);
370
371                 var oPrev=getElement("btnavprev");
372                 if(oPrev)
373                         goPrevParent=getParentNode(oPrev);
374         }
375         gbAveButttnInited=true;
376 }
377
378 function disableAveButton()
379 {
380         initAveButtonObj();
381         if(goNextParent)
382                 disableButton(goNextParent,goNext);
383         if(goPrevParent)
384                 disableButton(goPrevParent,goPrev);
385 }
386
387 function disableButton(oEl,oBtn)
388 {
389         setState(oEl,"disable");
390         var sPF=oEl.className.substring(0,6);
391         oEl.className=sPF+"Disable";
392         var oAs = getElementsByTag(oEl,"a");
393         if (oAs.length>0)
394         {
395                 oAs[0].style.cursor="default";
396         }
397         var oIs=getElementsByTag(oEl,"img");
398         if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>3)
399         {
400                 if(oBtn.aIs[3])
401                         oIs[0].src=oBtn.aIs[3];
402         }
403         else
404                 oEl.style.visibility="hidden";
405 }
406
407 function enableButton(oEl,oBtn)
408 {
409         setState(oEl,"normal");
410         if(oEl==goEl)
411         {
412                 var sPF=oEl.className.substring(0,6);
413                 oEl.className=sPF+"Up";
414         }
415         var oAs = getElementsByTag(oEl,"a");
416         if (oAs.length>0)
417         {
418                 oAs[0].style.cursor="hand";
419         }
420         var oIs=getElementsByTag(oEl,"img");
421         if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>0)
422         {
423                 if(oBtn.aIs[0])
424                         oIs[0].src=oBtn.aIs[0];
425         }
426         oEl.style.visibility="visible";
427 }
428
429 function updateAveButton()
430 {
431         initAveButtonObj();     
432         var strAveName=getCurrentAvenue();
433         if(strAveName!="")
434         {
435                 if(gaAvenues)
436                 {
437                         for(var i=0;i<gaAvenues.length;i++)
438                         if(gaAvenues[i].sName==strAveName)
439                         {
440                                 if(goNextParent)
441                                 {
442                                         if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext!="")
443                                                 enableButton(goNextParent,goNext);
444                                         else
445                                                 disableButton(goNextParent,goNext);
446                                 }
447                                 if(goPrevParent)
448                                 {
449                                         if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev!="")
450                                                 enableButton(goPrevParent,goPrev);
451                                         else
452                                                 disableButton(goPrevParent,goPrev);
453                                 }       
454                                 break;
455                         }
456                 }
457         }
458         else
459         {
460                 var bNext=false;
461                 var bPrev=false;
462                 if(gaAvenues&&gaAvenues.length>0)
463                 {
464                         for(var i=0;i<gaAvenues.length&&(!bNext||!bPrev);i++)
465                         {
466                                 if(!bNext)
467                                         if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext!="")
468                                                 bNext=true;     
469                                 if(!bPrev)
470                                         if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev!="")
471                                                 bPrev=true;     
472                         }
473                 }
474                 if(goNextParent)
475                 {
476                         if(bNext)
477                                 enableButton(goNextParent,goNext);
478                         else
479                                 disableButton(goNextParent,goNext);
480                 }
481                 
482                 if(goPrevParent)
483                 {
484                         if(bPrev)
485                                 enableButton(goPrevParent,goPrev);
486                         else
487                                 disableButton(goPrevParent,goPrev);
488                 }
489         }
490         
491 }
492
493 function isValidAvenue(aAvenues,sValue)
494 {
495         if(aAvenues)
496         {
497                 for(var i=0;i<aAvenues.length;i++)
498                 {
499                         if(aAvenues[i].sName==sValue)
500                                 return true;
501                 }
502         }
503         return false;
504 }
505
506 function getAvenueHTML(aAvenues)
507 {
508         var sSelect="<select id=\"avenue\" size=\"1\" name=\"avenue\" onchange=\"updateAveButton();\">";
509         sSelect+="<option value=\"\" selected> - Select Avenue - </option>";
510         if(aAvenues)
511         {
512                 for(var i=0;i<aAvenues.length;i++)
513                 {
514                         sSelect+="<option value=\""+aAvenues[i].sName+"\">"+aAvenues[i].sName+"</option>";
515                 }
516         }
517         sSelect+="</select>";
518         return sSelect;
519 }
520
521 function addAvenueSelection()
522 {
523         var oMsg=new whMessage(WH_MSG_GETAVIAVENUES,this,1,new Object());
524         var sButton="";
525         if(SendMessage(oMsg))
526         {
527                 sButton=getAvenueHTML(oMsg.oParam.aAvenues);
528         }
529         else
530         {
531                 sButton=getAvenueHTML(null);
532         }
533         gaButtons[gaButtons.length]="<td NOWRAP align=\"center\" valign=\"middle\">"+sButton+"</td>";
534 }
535
536 function setSearchFormTitle(sTitle)
537 {
538         gsSearchFormTitle=sTitle;
539 }
540
541 function highLightIfNeeded()
542 {
543         if(document.searchForm.searchString.value==gsSearchPrompt)
544         {
545                 document.searchForm.searchString.select();
546         }
547 }
548
549 function addSearchForm()
550 {
551         var sPropmptString=gsSearchPrompt;
552
553         var nWidth=20;
554         if(!nWidth) nWidth=20;
555         if(gbNav4) nWidth=nWidth*.6;
556
557         if(gsSearchFormTitle)
558                 sPropmptString="";
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>";
560         if(gbNav6)
561                 sButton="<form id=\"searchInput\" name=\"searchForm\" method=\"POST\" action=\"javascript:searchB()\">"+sButton;
562         if("image"=="text")
563         {
564                 sButton+="<td NOWRAP valign=\"middle\"><a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"searchForm.submit(); return false;\"></a></td>";
565         }
566         else if("image"=="image"&&gsIGo)
567         {
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>";
570         }
571         sButton+="</tr></table>";
572         if(gbNav6)
573                 sButton+="</form>";
574         var nBtn=gaButtons.length;
575         gaButtons[nBtn]="<td NOWRAP align=\"center\" valign=\"middle\">"+sButton+"</td>";
576         gaTypes[nBtn]="searchform";
577 }
578
579 function getShowHide()
580 {
581         var sText="";
582         var sI="";
583         if(hasNavPane())
584         {
585                 if(goHide)
586                 {
587                         if(gnShowHideStyle&BTN_TEXT)
588                                 sText=goHide.sText;
589                         if(gnShowHideStyle&BTN_IMG)
590                         sI=getImage(goHide,"Hide");
591                 }
592         }
593         else
594         {
595                 if(goShow)
596                 {
597                         if(gnShowHideStyle&BTN_TEXT)
598                                 sText=goShow.sText;
599                         if(gnShowHideStyle&BTN_IMG)
600                                 sI=getImage(goShow,"Show");
601                 }
602         }
603         var sButton=genButton(sText,sI,gnShowHideStyle);
604         return sButton;
605 }
606
607 function addBanner(sImage)
608 {
609         if(sImage)
610         {
611                 var nBtn=gaButtons.length;
612                 gaButtons[nBtn]="<td NOWRAP align=\"center\" valign=\"middle\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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";
614         }
615 }
616
617 function showBanner()
618 {
619         if (!gbPreview)
620         {
621                 var nWidth=390;
622                 var nHeight=204;
623                 var     nScreenWidth=screen.width;
624                 var     nScreenHeight=screen.height;
625                 var nLeft=(nScreenWidth-nWidth)/2;
626                 var nTop=(nScreenHeight-nHeight)/2;
627                 if (gbIE4)
628                 {
629                         if (gbIE5)
630                                 nHeight+=20;
631                         else
632                                 nHeight+=40;
633                         window.showModalDialog("whskin_banner.htm","","dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:no;status:no;scroll:no;help:no;center:yes;");
634                 }
635                 else
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);
637         }
638 }
639
640 function addButton(sType,nStyle,sTitle,sHref,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6)
641 {
642         var sButton="";
643         var bMini=false;
644         var sText="";
645         var sI="";
646         var bState=false;
647         var nBtn=gaButtons.length;
648         var bHref=false;
649         if(sType=="show"&&isShowHideEnable())
650         {
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;
656                 if(gnShowHide!=-1)
657                 {
658                         nBtn=gnShowHide;
659                 }
660                 else
661                 {
662                         gnShowHide=nBtn;
663                 }
664                 sButton+=getShowHide();
665                 sButton+="</a>";
666                 bState=true;
667         }
668         else if(sType=="hide"&&isShowHideEnable())
669         {
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;
675                 if(gnShowHide!=-1)
676                 {
677                         nBtn=gnShowHide;
678                 }
679                 else
680                 {
681                         gnShowHide=nBtn;
682                 }
683                 sButton+=getShowHide();
684                 sButton+="</a>";
685                 bState=true;
686         }
687         else if(sType=="hide2"&&(!gbNav4)&&(!gbOpera))
688         {
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;
692                 if(!sI1)
693                         sI1=gsIHide;
694                 goHide2=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);
695                 gaObjBtns[nBtn]=goHide2;
696                 if(nStyle&BTN_TEXT)
697                         sText=goHide2.sText
698                         
699                 if(nStyle&BTN_IMG)
700                         sI=getImage(goHide2,svTitle);
701                 sButton+=genButton(sText,sI,nStyle);
702                 sButton+="</a>";
703                 bMini=true;
704         }
705         else if(sType=="synctoc")
706         {
707                 var svTitle="Sync TOC";
708                 sButton="<a title=\""+svTitle+"\" id=\"btnsynctoc\" class=\"btnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";
709                 if(!sI1)
710                         sI1=gsISync;
711                 goSync=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);
712                 gaObjBtns[nBtn]=goSync;
713                 if(nStyle&BTN_TEXT)
714                         sText=goSync.sText
715                         
716                 if(nStyle&BTN_IMG)
717                         sI=getImage(goSync,svTitle);
718                 sButton+=genButton(sText,sI,nStyle);
719                 sButton+="</a>";
720                 bMini=true;
721         }
722         else if(sType=="toc")
723         {
724                 var svTitle="Contents";
725                 sButton="<a title=\""+svTitle+"\" id=\"btntoc\" class=\"btntoc\" href=\"javascript:void(0);\" onclick=\"showToc();return false;\">";
726                 if(!sI1)
727                         sI1=gsIToc;
728                 if(!sI2)
729                         sI2=gsITocS;
730                 if(!sI4)
731                         sI4=gsITocS;
732                 goToc=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
733                 gaObjBtns[nBtn]=goToc;
734                 if(nStyle&BTN_TEXT)
735                         sText=goToc.sText
736                         
737                 if(nStyle&BTN_IMG)
738                         sI=getImage(goToc,svTitle);
739                 sButton+=genButton(sText,sI,nStyle);
740                 sButton+="</a>";
741                 bState=true;
742         }
743         else if(sType=="idx")
744         {
745                 var svTitle="Index";
746                 sButton="<a title=\""+svTitle+"\" id=\"btnidx\" class=\"btnidx\" href=\"javascript:void(0);\" onclick=\"showIndex();return false;\">";
747                 if(!sI1)
748                         sI1=gsIIndex;
749                 if(!sI2)
750                         sI2=gsIIndexS;
751                 if(!sI4)
752                         sI4=gsIIndexS;
753                 goIdx=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
754                 gaObjBtns[nBtn]=goIdx;
755                 if(nStyle&BTN_TEXT)
756                         sText=goIdx.sText
757                         
758                 if(nStyle&BTN_IMG)
759                         sI=getImage(goIdx,svTitle);
760                 sButton+=genButton(sText,sI,nStyle);
761                 sButton+="</a>";
762                 bState=true;
763         }
764         else if(sType=="fts")
765         {
766                 var svTitle="Search";
767                 sButton="<a title=\""+svTitle+"\" id=\"btnfts\" class=\"btnfts\" href=\"javascript:void(0);\" onclick=\"showFts();return false;\">";
768                 if(!sI1)
769                         sI1=gsISearch;
770                 if(!sI2)
771                         sI2=gsISearchS;
772                 if(!sI4)
773                         sI4=gsISearchS;
774                 goFts=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
775                 gaObjBtns[nBtn]=goFts;
776                 if(nStyle&BTN_TEXT)
777                         sText=goFts.sText
778                         
779                 if(nStyle&BTN_IMG)
780                         sI=getImage(goFts,svTitle);
781                 sButton+=genButton(sText,sI,nStyle);
782                 sButton+="</a>";
783                 bState=true;
784         }
785         else if(sType=="glo")
786         {
787                 var svTitle="Glossary";
788                 sButton="<a title=\""+svTitle+"\" id=\"btnglo\" class=\"btnglo\" href=\"javascript:void(0);\" onclick=\"showGlossary();return false;\">";
789                 if(!sI1)
790                         sI1=gsIGlossary;
791                 if(!sI2)
792                         sI2=gsIGlossaryS;
793                 if(!sI4)
794                         sI4=gsIGlossaryS;
795                 goGlo=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
796                 gaObjBtns[nBtn]=goGlo;
797                 if(nStyle&BTN_TEXT)
798                         sText=goGlo.sText
799                         
800                 if(nStyle&BTN_IMG)
801                         sI=getImage(goGlo,svTitle);
802                 sButton+=genButton(sText,sI,nStyle);
803                 sButton+="</a>";
804                 bState=true;
805         }
806         else if(sType=="avnext")
807         {
808                 var svTitle="Next Topic";
809                 sButton="<a title=\""+svTitle+"\" id=\"btnavnext\" class=\"btnavnext\" href=\"javascript:void(0);\" onclick=\"goAveNext();return false;\">";
810                 if(!sI1)
811                         sI1=gsINext;
812                 if(!sI4)
813                         sI4=gsINextD;
814                 goNext=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
815                 gaObjBtns[nBtn]=goNext;
816                 if(nStyle&BTN_TEXT)
817                         sText=goNext.sText
818                         
819                 if(nStyle&BTN_IMG)
820                         sI=getImage(goNext,svTitle);
821                 sButton+=genButton(sText,sI,nStyle);
822                 sButton+="</a>";
823                 bMini=true;
824         }
825         else if(sType=="avprev")
826         {
827                 var svTitle="Previous Topic";
828                 sButton="<a title=\""+svTitle+"\" id=\"btnavprev\" class=\"btnavprev\" href=\"javascript:void(0);\" onclick=\"goAvePrev();return false;\">";
829                 if(!sI1)
830                         sI1=gsIPrev;
831                 if(!sI4)
832                         sI4=gsIPrevD;
833                 goPrev=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
834                 gaObjBtns[nBtn]=goPrev;
835                 if(nStyle&BTN_TEXT)
836                         sText=goPrev.sText
837                         
838                 if(nStyle&BTN_IMG)
839                         sI=getImage(goPrev,svTitle);
840                 sButton+=genButton(sText,sI,nStyle);
841                 sButton+="</a>";
842                 bMini=true;
843         }
844         else if(sType=="blankblock")
845         {
846                 gaButtons[nBtn]=null;
847                 gaTypes[nBtn]=sType;
848         }
849         else if(sType=="websearch")
850         {
851                 var svTitle="WebSearch";
852                 sButton="<a title=\""+svTitle+"\" id=\"btnwebsearch\" class=\"btnwebsearch\" href=\"javascript:void(0);\" onclick=\"doWebSearch();return false;\">";
853                 if(!sI1)
854                         sI1=gsIWebSearch;
855                 if(!sI4)
856                         sI4=gsIWebSearchD;
857                 goWebSearch=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);
858                 gaObjBtns[nBtn]=goWebSearch;
859                 if(nStyle&BTN_TEXT)
860                         sText=goWebSearch.sText
861                         
862                 if(nStyle&BTN_IMG)
863                         sI=getImage(goWebSearch,svTitle);
864                 sButton+=genButton(sText,sI,nStyle);
865                 sButton+="</a>";
866         }
867         else if(sType.indexOf("custom")==0)
868         {
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, "&quot;");
874                 if(sHref&&sHref.length!=0)
875                 {
876                         sButton="<a title=\""+svTitle+"\" id=\"btn"+sType+"\" class=\"btn"+sType+"\" target=\"bsscright\" href=\""+sHref+"\" onclick=\"cusOnClick("+nCusBtnIdx+");";
877                         bHref=true;
878                 }
879                 else
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+"\">";
882                 if(nStyle&BTN_TEXT)
883                         sText=sTitle;
884                 if(nStyle&BTN_IMG)
885                         sI+=getImage(goCusButton[nCusBtnIdx],sTitle);
886                 sButton+=genButton(sText,sI,nStyle);
887                 sButton+="</a>";
888         }
889         if(sButton.length!=0)
890         {
891                 var btnClass="";
892                 if(sText||bMini)
893                         btnClass="clsBtnNormal";
894                 else
895                         btnClass="clsNoBNormal";
896
897                 if(!bState)
898                 {
899                         if(bHref)
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>";
901                         else
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>";
903                 }
904                 else
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>";
906                 gaTypes[nBtn]=sType;
907         }
908
909         if(sType=="avenuesel")
910                 addAvenueSelection();
911         else if(sType=="searchform")
912                 addSearchForm();
913         else if(sType=="banner")
914         {
915                 if(!sI1)
916                         sI1=gsIBanner;
917                 addBanner(sI1);
918         }
919 }
920
921 function isShowHideEnable()
922 {
923         if(gbIE4)
924                 return true;
925         else
926                 return false;
927 }
928
929 function genButton(sText,sI,nStyle)
930 {
931         var sButton="";
932         var sShowText=_textToHtml(sText);
933         if (gbNav4 && !gbNav6)
934                 sShowText += "&nbsp;";
935         if(sText!=""&&sI!="")
936         {
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+"&nbsp;"+sI;
943                 else
944                         sButton+=sI+"&nbsp;"+sShowText;
945         }
946         else if(sText!="")
947         {
948                 sButton+=sShowText;
949         }
950         else if(sI!="")
951         {
952                 sButton+=sI;
953         }
954         return sButton;
955 }
956
957 function searchB()
958 {
959         var onMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null);
960         SendMessage(onMsg);
961
962         var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,document.searchForm.searchString.value);
963         if(!SendMessage(oMsg))
964                 gstrSearch=document.searchForm.searchString.value;
965         else
966                 gstrSearch="";
967 }
968
969 function ReSortToolbarButtons()
970 {
971         var bSearchEnabled=isSearchEnabled();
972         var strOrder="";
973         var oMsg=new whMessage(WH_MSG_TOOLBARORDER,this,1,null);
974         if(SendMessage(oMsg))
975         {
976                 strOrder=oMsg.oParam;
977         }
978         if(strOrder.length>0)
979         {
980                 gaOrders=strOrder.split("|");
981                 var aTempButtons=new Array();
982                 var ti=0;
983                 for(var si=0;si<gaOrders.length;si++)
984                 {
985                         if(gaOrders[si]!="searchform"||bSearchEnabled)
986                         {
987                                 var sb=-1;
988                                 for(var st=0;st<gaTypes.length;st++)
989                                 {
990                                         if(gaOrders[si]==gaTypes[st])
991                                         {
992                                                 sb=st;
993                                                 break;
994                                         }
995                                 }
996                                 if(sb!=-1)
997                                 {
998                                         aTempButtons[aTempButtons.length]=gaButtons[sb];
999                                 }
1000                         }
1001                 }
1002                 gaButtons=aTempButtons;
1003         }
1004 }
1005
1006 function isSyncEnabled()
1007 {
1008         var bEnabled=false;
1009         var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null);
1010         if(SendMessage(oMsg))
1011         {
1012                 bEnabled=oMsg.oParam;
1013         }
1014         return bEnabled;
1015 }
1016
1017 function isAvenueEnabled()
1018 {
1019         var bEnabled=false;
1020         var oMsg=new whMessage(WH_MSG_ISAVENUESUPPORT,this,1,null);
1021         if(SendMessage(oMsg))
1022         {
1023                 bEnabled=oMsg.oParam;
1024         }
1025         return bEnabled;
1026 }
1027
1028 function isSearchEnabled()
1029 {
1030         var bEnabled=false;
1031         var oMsg=new whMessage(WH_MSG_ISSEARCHSUPPORT,this,1,null);
1032         if(SendMessage(oMsg))
1033         {
1034                 bEnabled=oMsg.oParam;
1035         }
1036         return bEnabled;
1037 }
1038
1039 function ReSortMinibarButtons()
1040 {
1041         var bSyncEnabled=isSyncEnabled();
1042         var bAvenueEnabled=isAvenueEnabled();
1043         var strOrder="";
1044         var oMsg=new whMessage(WH_MSG_MINIBARORDER,this,1,null);
1045         if(SendMessage(oMsg))
1046         {
1047                 strOrder=oMsg.oParam;
1048         }
1049         if(strOrder.length>0)
1050         {
1051                 gaOrders=strOrder.split("|");
1052                 var aTempButtons=new Array();
1053                 var ti=0;
1054                 for(var si=0;si<gaOrders.length;si++)
1055                 {
1056                         if((gaOrders[si]!="synctoc"||bSyncEnabled)&&
1057                                 ((gaOrders[si]!="avnext"&&gaOrders[si]!="avprev")||bAvenueEnabled))
1058                         {
1059                                 var sb=-1;
1060                                 for(var st=0;st<gaTypes.length;st++)
1061                                 {
1062                                         if(gaOrders[si]==gaTypes[st])
1063                                         {
1064                                                 sb=st;
1065                                                 break;
1066                                         }
1067                                 }
1068                                 if(sb!=-1)
1069                                 {
1070                                         aTempButtons[aTempButtons.length]=gaButtons[sb];
1071                                 }
1072                         }
1073                 }
1074                 gaButtons=aTempButtons;
1075         }
1076 }
1077
1078 function writeToolBar()
1079 {
1080         var sHTML="";
1081         if(gaButtons.length>0)
1082         {
1083                 var strHeight="100%";
1084                 var strWidth="100%";
1085                 if (gbNav4)
1086                 {
1087                         strHeight=window.innerHeight-4;
1088                         strWidth=window.innerWidth-4;
1089                 }
1090                 if (gbIE4)
1091                 {
1092                         strHeight=document.body.clientHeight-4;
1093                         strWidth=document.body.clientWidth-4;
1094                 }
1095                 if(gbNav6)
1096                         sHTML="<table class=\"clsToolbarBackground\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" height=\""+strHeight+"\" width=\""+strWidth+"\">";
1097                 else
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)
1100                 {
1101                         sHTML+="<tr>";
1102                         for(var i=0;i<gaButtons.length;i++)
1103                         {
1104                                 if(gaButtons[i])
1105                                         sHTML+=gaButtons[i];
1106                                 else
1107                                         sHTML+="<td width=\"100%\"></td>";
1108                         }
1109                         sHTML+="</tr>";
1110                 }
1111                 else
1112                 {
1113                         for(var i=0;i<gaButtons.length;i++)
1114                         {
1115                                 if(gaButtons[i])
1116                                         sHTML+="<tr width=\"100%\">"+gaButtons[i]+"</tr>";
1117                                 else
1118                                         sHTML+="<tr height=\"100%\"><td></td></tr>";
1119                         }
1120                 }
1121                 if(gbNav6)
1122                         sHTML+="</table>";
1123                 else
1124                         sHTML+="</table></form>";
1125         }
1126         document.write(sHTML);
1127         if(document.body)
1128                 document.body.onselectstart=onSelect;
1129         updateAveButton();
1130 }
1131
1132 function hasNavPane()
1133 {
1134         if(gnHasNavPane==-1)
1135         {
1136                 gnHasNavPane=0;
1137                 var oParam=new Object();
1138                 oParam.bVisible=false;
1139                 var oMsg=new whMessage(WH_MSG_ISPANEVISIBLE,this,1,oParam);
1140                 if(SendMessage(oMsg))
1141                 {
1142                         if(oParam.bVisible)
1143                                 gnHasNavPane=1;
1144                 }
1145                 
1146         }
1147         if(gnHasNavPane==1)
1148                 return true;
1149         else
1150                 return false;
1151 }
1152
1153 function getTocInfo()
1154 {
1155         var oParam=new Object();
1156         oParam.oTocInfo=null;
1157         var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);
1158         if(SendMessage(oMsg))
1159         {
1160                 goTocInfo=oParam.oTocInfo;
1161                 gbTocInfoInited=true;
1162         }
1163 }
1164
1165 function onBtnClick(e)
1166 {
1167         var oEl=null;
1168         var oElo=null;
1169         if(gbNav6)
1170         {
1171                 oElo=e.target;
1172                 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1173                 oEl=oElo;
1174         }
1175         else
1176         {
1177                 oElo=event.srcElement;
1178                 oEl=oElo;
1179                 event.cancelBubble=true;
1180         }
1181         while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1182         {
1183                 oEl=getParentNode(oEl);
1184                 if(!oEl) return;
1185         }
1186         if(oElo.tagName=="A"||oElo.tagName=="IMG") return true;
1187         var oaA=getElementsByTag(oElo,"A");
1188         if(oaA&&oaA.length)
1189         {
1190                 var oA=oaA[0];
1191                 if(gbNav6)
1192                 {
1193                         var sCmd=oA.getAttribute("onclick");
1194                         var nCmd=sCmd.indexOf("return false;");
1195                         if(nCmd!=-1);
1196                                 sCmd=sCmd.substring(0,nCmd);
1197                         setTimeout(sCmd,1);
1198                 }
1199                 else
1200                         oA.onclick();
1201         }
1202 }
1203
1204 function onBtnMouseDown(e,nBtn)
1205 {
1206         var oEl=null;
1207         if(gbNav6)
1208         {
1209                 var oElo=e.target;
1210                 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1211                 oEl=oElo;
1212         }
1213         else
1214         {
1215                 oEl=event.srcElement;
1216                 event.cancelBubble=true;
1217         }
1218         while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1219         {
1220                 oEl=getParentNode(oEl);
1221                 if(!oEl) return;
1222         }
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)
1226         {
1227                 if(gaObjBtns[nBtn].aIs[2])
1228                         oIs[0].src=gaObjBtns[nBtn].aIs[2];
1229         }
1230         var sState=getState(oEl);
1231         if(sState!="disable")
1232         {
1233                 oEl.className=sPF+"Down";
1234         }
1235 }
1236
1237 function onBtnMouseUp(e,nBtn)
1238 {
1239         var oEl=null;
1240         if(gbNav6)
1241         {
1242                 var oElo=e.target;
1243                 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1244                 oEl=oElo;
1245         }
1246         else
1247         {
1248                 oEl=event.srcElement;
1249                 event.cancelBubble=true;
1250         }
1251         while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1252         {
1253                 oEl=getParentNode(oEl);
1254                 if(!oEl) return;
1255         }
1256         var sPF=oEl.className.substring(0,6);
1257         var sState=getState(oEl);
1258         if(sState=="down"||sState=="disable")
1259         {
1260                 var oIs=getElementsByTag(oEl,"img");
1261                 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>3)
1262                 {
1263                         if(gaObjBtns[nBtn].aIs[3])
1264                                 oIs[0].src=gaObjBtns[nBtn].aIs[3];
1265                 }
1266         }
1267         else
1268         {
1269                 var oIs=getElementsByTag(oEl,"img");
1270                 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>0)
1271                 {
1272                         if(gaObjBtns[nBtn].aIs[0])
1273                                 oIs[0].src=gaObjBtns[nBtn].aIs[0];
1274                 }
1275         }
1276         if(goEl==oEl)
1277         {
1278                 if(sState!="down"&&sState!="disable")
1279                 {
1280                         oEl.className=sPF+"Up";
1281                 }
1282         }
1283 }
1284
1285 function getState(oEl)
1286 {
1287         var sState="";
1288         if(gbNav6||gbOpera)
1289                 sState=oEl.getAttribute("state");
1290         else
1291                 if(oEl.state)
1292                         sState=oEl.state;
1293         return sState;
1294 }
1295
1296 function onBtnMouseOver(e,nBtn)
1297 {
1298         markButton(e);
1299         var oEl=null;
1300         if(gbNav6)
1301         {
1302                 var oElo=e.target;
1303                 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1304                 oEl=oElo;
1305         }
1306         else
1307         {
1308                 oEl=event.srcElement;
1309                 event.cancelBubble=true;
1310         }
1311         while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1312         {
1313                 oEl=getParentNode(oEl);
1314                 if(!oEl) return;
1315         }
1316         var sPF=oEl.className.substring(0,6);
1317         var sState=getState(oEl);
1318         if(sState=="down"||sState=="disable")
1319         {
1320                 if(sState=="down")
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)
1324                 {
1325                         if(gaObjBtns[nBtn].aIs[4])
1326                                 oIs[0].src=gaObjBtns[nBtn].aIs[4];
1327                 }
1328         }
1329         else
1330         {
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)
1334                 {
1335                         if(gaObjBtns[nBtn].aIs[1])
1336                                 oIs[0].src=gaObjBtns[nBtn].aIs[1];
1337                 }
1338         }
1339 }
1340
1341 function onBtnMouseOut(e,nBtn)
1342 {
1343         goEl=null;
1344         var oEl=null;
1345         if(gbNav6)
1346         {
1347                 var oElo=e.target;
1348                 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1349                 oEl=oElo;
1350         }
1351         else
1352         {
1353                 oEl=event.srcElement;
1354                 event.cancelBubble=true;
1355         }
1356         while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))
1357         {
1358         oEl=getParentNode(oEl);
1359         if(!oEl) return;
1360         }
1361         var sPF=oEl.className.substring(0,6);
1362         var sState=getState(oEl);
1363         if(sState=="down"||sState=="disable")
1364         {
1365                 var oIs=getElementsByTag(oEl,"img");
1366                 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>3)
1367                 {
1368                         if(gaObjBtns[nBtn].aIs[3])
1369                                 oIs[0].src=gaObjBtns[nBtn].aIs[3];
1370                 }
1371                 if(sState=="down")
1372                         oEl.className=sPF+"Down";
1373         }
1374         else
1375         {
1376                 var oIs=getElementsByTag(oEl,"img");
1377                 if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>0)
1378                 {
1379                         if(gaObjBtns[nBtn].aIs[0])
1380                                 oIs[0].src=gaObjBtns[nBtn].aIs[0];
1381                 }
1382                 oEl.className=sPF+"Normal";
1383         }
1384 }
1385
1386 function showToc()
1387 {
1388         var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)
1389         SendMessage(oMsg);
1390 }
1391
1392 function showIndex()
1393 {
1394         var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)
1395         SendMessage(oMsg);
1396 }
1397
1398 function showFts()
1399 {
1400         var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)
1401         SendMessage(oMsg);
1402 }
1403
1404 function showGlossary()
1405 {
1406         var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)
1407         SendMessage(oMsg);
1408 }
1409
1410 function syncWithShow()
1411 {
1412         if(!gbTocInfoInited)
1413         {
1414                 getTocInfo();
1415         }
1416         if(goTocInfo)
1417         {
1418                 showToc();
1419                 var oParam=goTocInfo;
1420                 var oMsg=new whMessage(WH_MSG_SYNCTOC,this,1,oParam);
1421                 SendMessage(oMsg);
1422         }
1423 }
1424
1425 function markButton(e)
1426 {
1427         var oEl=null;
1428         if(gbNav6)
1429         {
1430                 var oElo=e.target;
1431                 while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);
1432                 oEl=oElo;
1433         }
1434         else
1435                 oEl=event.srcElement;
1436         while(oEl&&oEl.tagName!="TD") oEl=getParentNode(oEl);
1437         if(oEl)
1438                 goEl=oEl;
1439 }
1440
1441 function showHidePane()
1442 {
1443         var oMsg=null;
1444         if(hasNavPane())
1445                 oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null);
1446         else
1447                 oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);
1448         SendMessage(oMsg);
1449 }
1450
1451 function goAveNext()
1452 {
1453         goAvenue(true);
1454 }
1455
1456 function goAvePrev()
1457 {
1458         goAvenue(false);
1459 }
1460
1461 function doWebSearch()
1462 {
1463         if (goWebSearchEnable)
1464         {
1465                 var oMsg=new whMessage(WH_MSG_WEBSEARCH,this,1,null);
1466                 SendMessage(oMsg);
1467         }
1468 }
1469
1470 function goAvenue(bNext)
1471 {
1472         var oMsg=null;
1473         initAveButtonObj();
1474         gsCurAveName=getCurrentAveName();
1475         if(gbNav4&&!gbNav6)
1476         {
1477                 if(bNext)
1478                 {
1479                         gaAvenues=null;
1480                         updateAvenue();
1481                         oMsg=new whMessage(WH_MSG_NEXT,this,1,null);
1482                         SendMessage(oMsg);
1483                 }
1484                 else if(!bNext)
1485                 {
1486                         gaAvenues=null;
1487                         updateAvenue();
1488                         oMsg=new whMessage(WH_MSG_PREV,this,1,null);
1489                         SendMessage(oMsg);
1490                 }
1491         }
1492         else
1493         {
1494                 if(bNext&&goNextParent)
1495                 {
1496                         var sState=getState(goNextParent);
1497                         if(sState!="disable")
1498                         {
1499                                 gaAvenues=null;
1500                                 gbNeedUpdateAve=true;
1501                                 gbUpdateTimerCount++;
1502                                 setTimeout("updateAvenueIfNeeded();", 2000);
1503                                 oMsg=new whMessage(WH_MSG_NEXT,this,1,null);
1504                                 SendMessage(oMsg);
1505                         }
1506                 }
1507                 else if(!bNext&&goPrevParent)
1508                 {
1509                         var sState=getState(goPrevParent);
1510                         if(sState!="disable")
1511                         {
1512                                 gaAvenues=null;
1513                                 gbNeedUpdateAve=true;
1514                                 gbUpdateTimerCount++;
1515                                 setTimeout("updateAvenueIfNeeded();", 2000);
1516                                 oMsg=new whMessage(WH_MSG_PREV,this,1,null);
1517                                 SendMessage(oMsg);
1518                         }
1519                 }
1520         }
1521 }
1522
1523 function window_Unload()
1524 {
1525         if(!gbNav4||gbNav6)
1526         {
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);
1537         }
1538 }
1539
1540 function window_OnLoad()
1541 {
1542         if(!gbOpera7&&document.body)
1543         {
1544                 if(gsBgImage&&gsBgImage.length>0)
1545                 {
1546                         document.body.background=gsBgImage;
1547                 }
1548                 if(gsBgColor&&gsBgColor.length>0)
1549                 {
1550                         document.body.bgColor=gsBgColor;
1551                 }
1552         }
1553         doCusOnLoad();
1554         var oMsg=new whMessage(WH_MSG_GETPANEINFO,this,1,null);
1555         if(SendMessage(oMsg))
1556         {
1557                 setTimeout("flipPaneButton(\""+oMsg.oParam+"\");",1);
1558         }
1559         if (!gaAvenues)
1560         {
1561                 var oMsg2=new whMessage(WH_MSG_GETAVIAVENUES,this,1,new Object());
1562                 if(SendMessage(oMsg2))
1563                 {
1564                         gaAvenues=oMsg2.oParam.aAvenues;
1565                         gbNeedUpdateAve=false;
1566                         setTimeout("updateAvenue();",1);
1567                 }
1568         }
1569 }
1570
1571 function onSendMessage(oMsg)
1572 {
1573         var nMsgId=oMsg.nMessageId;
1574         if(nMsgId==WH_MSG_GETSEARCHS)
1575         {
1576                 if(document.searchForm&&document.searchForm.searchString)
1577                 {
1578                         oMsg.oParam.sValue=document.searchForm.searchString.value;
1579                         return false;
1580                 }
1581         }
1582         else if(nMsgId==WH_MSG_PANESTATUE)
1583         {
1584                 if(oMsg.oParam=="visible")
1585                 {
1586                         if(isShowHideEnable())
1587                                 setTimeout("flipShowHide(true);",1);
1588                         setTimeout("showPaneButton();",1);
1589                 }
1590                 else
1591                 {
1592                         if(isShowHideEnable())
1593                                 setTimeout("flipShowHide(false);",1);
1594                         setTimeout("hidePaneButton();",1);
1595                 }
1596         }
1597         else if(nMsgId==WH_MSG_PANEINFO)
1598         {
1599                 if(oMsg.oParam)
1600                         setTimeout("flipPaneButton(\""+oMsg.oParam+"\");",1);
1601                 else
1602                         setTimeout("hidePaneButton();",1);
1603         }
1604         else if(nMsgId==WH_MSG_SYNCINFO)
1605         {
1606                 if(oMsg.oParam)
1607                         goTocInfo=oMsg.oParam;
1608                 else
1609                         goTocInfo=null;
1610                 gbTocInfoInited=true;
1611         }
1612         else if(nMsgId==WH_MSG_AVENUEINFO)
1613         {
1614                 gaAvenues=oMsg.oParam;
1615                 gbNeedUpdateAve=false;
1616                 setTimeout("updateAvenue();",1);
1617         }
1618         else if(nMsgId==WH_MSG_GETCURRENTAVENUE)
1619         {
1620                 var sAveName=getCurrentAvenue();
1621                 if(sAveName!="")
1622                 {
1623                         oMsg.oParam.sAvenue=sAveName;
1624                         return false;
1625                 }
1626                 else
1627                         return true;
1628         }
1629         else if(nMsgId==WH_MSG_ENABLEWEBSEARCH)
1630         {
1631                 setTimeout("updateWebSearch("+oMsg.oParam+");",1);
1632         }
1633         else if(nMsgId==WH_MSG_INITSEARCHSTRING)
1634         {
1635                 if(gstrSearch!="")
1636                 {
1637                         oMsg.oParam=gstrSearch;
1638                         gstrSearch="";
1639                         return false;
1640                 }
1641         }
1642         else if(nMsgId==WH_MSG_NOSEARCHINPUT)
1643         {
1644                 var oSearchInput = getElement("searchInput");
1645                 if (oSearchInput)
1646                 {
1647                         oSearchInput.style.visibility = "hidden";
1648                         return false;
1649                 }
1650         }
1651         else if(nMsgId==WH_MSG_NOSYNC)
1652         {
1653                 var oSync = getElement("btnsynctoc");
1654                 if (oSync)
1655                 {
1656                         oSync.style.visibility = "hidden";
1657                         return false;
1658                 }
1659         }
1660         return true;
1661 }
1662
1663 function getCurrentAvenue()
1664 {
1665         var strAveName="";
1666         var oSelect=getElement("avenue");
1667         if(oSelect)
1668         {
1669                 strAveName=oSelect.value;
1670         }
1671         return strAveName;
1672 }
1673
1674 function initBtn()
1675 {
1676         var oBtn=null;
1677         oBtn=getElement("btntoc");
1678         if(oBtn)
1679                 gaBtns[gaBtns.length]=oBtn;
1680         oBtn=getElement("btnidx");
1681         if(oBtn)
1682                 gaBtns[gaBtns.length]=oBtn;
1683         oBtn=getElement("btnfts");
1684         if(oBtn)
1685                 gaBtns[gaBtns.length]=oBtn;
1686         oBtn=getElement("btnglo");
1687         if(oBtn)
1688                 gaBtns[gaBtns.length]=oBtn;
1689         gbInitBtn=true;
1690 }
1691
1692 function showPaneButton()
1693 {
1694         flipPaneButton(gsPane);
1695 }
1696
1697 function hidePaneButton()
1698 {
1699         flipPaneButton("");
1700 }
1701
1702 function flipPaneButton(sPane)
1703 {
1704         if (sPane)
1705                 gsPane=sPane;
1706         if(!gbInitBtn)
1707                 initBtn();
1708
1709         var oUp=null;
1710         if(sPane)
1711         {
1712                 oUp=getElement("btn"+sPane);
1713         }
1714         for(var i=0;i<gaBtns.length;i++)
1715         {
1716                 if(gaBtns[i])
1717                 {
1718                         if(gaBtns[i]==oUp)
1719                         {
1720                                 var oEl=getParentNode(oUp);
1721                                 var sPF=oEl.className.substring(0,6);
1722                                 var sState=getState(oEl);
1723                                 if(sState=="up")
1724                                 {
1725                                         setState(oEl,"down");
1726                                         oEl.className=sPF+"Down";
1727                                         if(sPF=="clsBtn")
1728                                         {
1729                                                 if(gaBtns[i].id)
1730                                                 {
1731                                                         var sColor=getBtnColor(gaBtns[i].id.substring(3),true);
1732                                                         if(sColor)
1733                                                         {
1734                                                                 oEl.style.backgroundColor=sColor
1735                                                         }
1736                                                         else
1737                                                         {
1738                                                                 oEl.style.backgroundColor="";
1739                                                         }
1740                                                 }
1741                                                 var oaA=getElementsByTag(oEl,"A");
1742                                                 if(oaA.length>0)
1743                                                 {
1744                                                         var strClassName=oaA[0].className;
1745                                                         oaA[0].className="btnsel"+strClassName.substring(3);
1746                                                 }
1747                                         }
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)
1751                                         {
1752                                                 if(oBtn.aIs[3])
1753                                                         oIs[0].src=oBtn.aIs[3];
1754                                         }
1755                                 }
1756                         }
1757                         else
1758                         {
1759                                 var oEl=getParentNode(gaBtns[i]);
1760                                 var sState=getState(oEl);
1761                                 var sPF=oEl.className.substring(0,6);
1762                                 if(sState=="down")
1763                                 {
1764                                         setState(oEl,"up");
1765                                         if(oEl==goEl)
1766                                                 oEl.className=sPF+"Up";
1767                                         else
1768                                                 oEl.className=sPF+"Normal";
1769
1770                                         if(sPF=="clsBtn")
1771                                         {
1772                                                 if(gaBtns[i].id)
1773                                                 {
1774                                                         var sColor=getBtnColor(gaBtns[i].id.substring(3),false);
1775                                                         if(sColor)
1776                                                         {
1777                                                                 oEl.style.backgroundColor=sColor
1778                                                         }
1779                                                         else
1780                                                         {
1781                                                                 oEl.style.backgroundColor="";
1782                                                         }
1783                                                 }
1784
1785                                                 var oaA=getElementsByTag(oEl,"A");
1786                                                 if(oaA.length>0)
1787                                                 {
1788                                                         var strClassName=oaA[0].className;
1789                                                         oaA[0].className="btn"+strClassName.substring(6);
1790                                                 }
1791                                         }
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)
1795                                         {
1796                                                 if(oBtn.aIs[0])
1797                                                         oIs[0].src=oBtn.aIs[0];
1798                                         }
1799                                 }
1800                         }
1801                 }
1802         }
1803 }
1804
1805 function flipShowHide(bShow)
1806 {
1807         gnHasNavPane=-1;        
1808         var oA=getElement("btnshowhide");
1809         if(oA)
1810         {
1811                 var oEl=getParentNode(oA);
1812                 var sPF=oEl.className.substring(0,6);
1813                 if(oEl&&oEl.state)
1814                 {
1815                         if(bShow)
1816                         {
1817                                 oEl.state="down";
1818                                 oEl.className=sPF+"Down";
1819                         }
1820                         else
1821                         {
1822                                 oEl.state="up";
1823                                 
1824                                 if(oEl==goEl)
1825                                         oEl.className=sPF+"Up";
1826                                 else
1827                                         oEl.className=sPF+"Normal";
1828                         }
1829                 }
1830                 oA.innerHTML=getShowHide();
1831         }
1832 }
1833
1834 function cusOnClick(nIdx)
1835 {
1836         if(goCusButton.length>nIdx)
1837         {
1838                 var sOnClick=goCusButton[nIdx].sOnClick;
1839                 if(sOnClick&&sOnClick.length>0)
1840                 {
1841                         if(!gbPreview)
1842                                 eval(sOnClick);
1843                         return false;
1844                 }
1845         }
1846         return true;
1847 }
1848
1849 function cusOnMouseOver(nIdx)
1850 {
1851         if(goCusButton.length>nIdx)
1852         {
1853                 var sOnMouseOver=goCusButton[nIdx].sOnMouseOver;
1854                 if(sOnMouseOver&&sOnMouseOver.length>0)
1855                 {
1856                         if(!gbPreview)
1857                                 eval(sOnMouseOver);
1858                         return false;
1859                 }
1860         }
1861         return true;
1862 }
1863
1864 function doCusOnLoad()
1865 {
1866         if(!gbPreview&&gaOrders)
1867         {
1868                 for(var i=0;i<gaOrders.length;i++)
1869                 {
1870                         for(var j=0;j<gaOnLoads.length;j++)
1871                         {
1872                                 if(gaOrders[i]==gaOnLoads[j].sType)
1873                                 {
1874                                         eval(gaOnLoads[j].sOnLoad);
1875                                         break;
1876                                 }
1877                         }
1878                 }
1879         }
1880 }
1881
1882 function registerOnLoad(sOnLoad,sType)
1883 {
1884         gaOnLoads[gaOnLoads.length]=new cusOnLoad(sType,sOnLoad);       
1885 }
1886
1887 function cusOnLoad(sType,sOnLoad)
1888 {
1889         this.sType=sType;
1890         this.sOnLoad=sOnLoad;
1891 }
1892
1893 function cusButton(sType,sText,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight)
1894 {
1895         this.sType=sType;
1896         this.sText=sText;
1897         this.sOnClick=sOnClick;
1898         this.sOnMouseOver=sOnMouseOver;
1899         this.sOnLoad=sOnLoad;
1900         this.nWidth=nWidth;
1901         this.nHeight=nHeight;
1902         this.aIs=new Array();
1903         var i=0;
1904         while(cusButton.arguments.length>i+7)
1905         {
1906                 if (cusButton.arguments[7+i])
1907                         this.aIs[i]=_getFullPath(_getPath(document.location.href),cusButton.arguments[7+i]);
1908                 else
1909                         this.aIs[i]="";
1910                 i++;
1911         }
1912         if(sOnLoad)
1913         {
1914                 registerOnLoad(sOnLoad,sType);
1915         }
1916 }
1917
1918 function getBtnColor(sType,bSel)
1919 {
1920         var aBtnColors=null;
1921         if(bSel)
1922                 aBtnColors=gaSelBtnBgColor;
1923         else
1924                 aBtnColors=gaBtnBgColor;
1925         if(aBtnColors)
1926         {
1927                 for(var i=0;i<aBtnColors.length;i++)
1928                 {
1929                         if(aBtnColors[i].sType==sType)
1930                                 return aBtnColors[i].sColor;
1931                 }
1932         }
1933         return "";
1934 }
1935
1936 function setButtonBgColor(sType,sColor,bSel)
1937 {
1938         if(sColor)
1939         {
1940                 var aBtnColors=null;
1941                 if(bSel)
1942                         aBtnColors=gaSelBtnBgColor;
1943                 else
1944                         aBtnColors=gaBtnBgColor;
1945                 if(aBtnColors!=null)
1946                 {
1947                         for(var i=0;i<aBtnColors.length;i++)
1948                         {
1949                                 if(aBtnColors[i].sType==sType)
1950                                 {
1951                                         aBtnColors[i].sColor=sColor;
1952                                         return;
1953                                 }
1954                         }
1955                         aBtnColors[aBtnColors.length]=new btnBgColor(sType,sColor);
1956                 }
1957         }
1958 }
1959
1960 function getDefaultButtonFont()
1961 {
1962         var strFontStyle="";
1963         for(var i=0;i<gaTypes.length;i++)
1964         {
1965                 strFontStyle+=".btnsel"+gaTypes[i]+"{"+getFontStyle(goSelTextFont)+"}";
1966                 strFontStyle+=".btn"+gaTypes[i]+"{"+getFontStyle(goTextFont)+"}";
1967         }
1968         return strFontStyle;
1969 }
1970
1971 function setButtonFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration,bSel)
1972 {
1973         if(sFontName)
1974         {
1975                 var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
1976                 if(bSel)
1977                         gsBtnStyle+=".btnsel"+sType+"{"+getFontStyle(vFont)+"}\n";
1978                 else
1979                         gsBtnStyle+=".btn"+sType+"{"+getFontStyle(vFont)+"}\n";
1980         }
1981         if (sType=="searchform"&&!bSel)
1982         {
1983                 var vFont1=new whFont(sFontName,sFontSize,"black",sFontStyle,sFontWeight,sFontDecoration);
1984                 gsBtnStyle+=".inputsearchform {" + getFontStyle(vFont1)+"}\n";
1985         }
1986 }
1987
1988 function getButtonObjByType(sType)
1989 {
1990         for(var i=0;i<gaObjBtns.length;i++)
1991         {
1992                 if(gaObjBtns[i].sType==sType)
1993                         return gaObjBtns[i];
1994         }
1995         return null;
1996 }
1997
1998 function onSelect()
1999 {
2000         if (event.srcElement&&event.srcElement.name)
2001         {
2002                 if (event.srcElement.name=="searchString")
2003                         return true;
2004         }
2005         return false;
2006 }
2007
2008 function window_onResize()
2009 {
2010         gnRE++;
2011         setTimeout("tryReload();", 100);
2012 }
2013
2014 function tryReload()
2015 {
2016         if (gnRE==1)
2017                 document.location.reload();
2018         gnRE--;
2019 }
2020
2021 if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)
2022 {
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);
2033
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");
2039         gbWhTBar=true;
2040 }
2041 else
2042         document.location.reload();
2043