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