home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 October / CHIP1002.ISO / exe / COMPUGUI.exe / whtbar.js < prev    next >
Encoding:
Text File  |  2002-04-23  |  44.1 KB  |  1,991 lines

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