home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 May / CHIPCD200305.iso / super / altn / md_en.exe / WHTBAR.JS < prev    next >
Encoding:
JavaScript  |  2003-04-14  |  44.7 KB  |  2,015 lines

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