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