whtbar.js
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:44k
源码类别:

SNMP编程

开发平台:

C/C++

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