Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

833 lines
20 KiB

  1. <HTML XMLNS:helpcenter>
  2. <HEAD>
  3. <!--
  4. Copyright (c) 2000 Microsoft Corporation
  5. -->
  6. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=windows-1252">
  7. <META HTTP-EQUIV=PICS-Label CONTENT='(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l comment "RSACi North America Server" by "[email protected]" r (n 0 s 0 v 0 l 0))'>
  8. <META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">
  9. <OBJECT ID=pchealth classid=CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7></OBJECT>
  10. <LINK ID=Stylesheet_Ref0 href="hcp://system/css/shared.css" rel=STYLESHEET type=text/css>
  11. <LINK ID=Stylesheet_Ref1 href="hcp://system/css/Behaviors.css" rel=STYLESHEET type=text/css>
  12. <STYLE>
  13. .Search-Logo
  14. {
  15. margin-left : 11px;
  16. margin-right : 11px;
  17. }
  18. .Search-Input
  19. {
  20. border : 1px solid black;
  21. height : 24px;
  22. margin-right : 0px;
  23. margin-bottom: 4px;
  24. }
  25. .Search-Button
  26. {
  27. cursor : hand;
  28. behavior : url(#default#pch_bitmap);
  29. width : 24px;
  30. height : 24px;
  31. background-color : transparent;
  32. border : 0px;
  33. padding : 0px;
  34. margin-bottom : 4px;
  35. }
  36. .Logo
  37. {
  38. margin-left : 22px;
  39. width : 24px;
  40. height : 24px;
  41. }
  42. .LogoSKU
  43. {
  44. margin-left : 6px;
  45. margin-right : 11px;
  46. }
  47. </STYLE>
  48. </HEAD>
  49. <BODY SCROLL=NO class="sys-header-bgcolor" oncontextmenu="return check_cm();" onselectstart="return check_cm();">
  50. <OBJECT tabIndex=-1 ID=idTB CLASSID="CLSID:FC7D9E08-3F9E-11d3-93C0-00C04F72DAF7" WIDTH=100%>
  51. <PARAM id=NoLoc1 name="Definition" value="NavBar.xml">
  52. </OBJECT>
  53. <DIV id=noloc NOWRAP style="width: 100%; height: 3em; position: relative">
  54. <TABLE border=0 cellpadding=0 cellspacing=0 WIDTH=100% HEIGHT=100% class="sys-font-body">
  55. <TR>
  56. <TD style="padding-top: 10px" valign=middle id=idSearchLogoCell>
  57. <SPAN class="sys-font-heading3 sys-header-color" tabIndex=-1><DIV NOWRAP id=idSearchLogo class="Search-Logo">Search</DIV></SPAN>
  58. </TD>
  59. <TD style="padding-top: 10px" valign=bottom id=noloc1>
  60. <INPUT tabIndex=10 id=idSrcInput accesskey="S" maxLength=256 class="Search-Input" onkeypress="onKeyPress_SearchInput();" title="Type or paste your search term(s)." class="sys-font-body">&nbsp;
  61. <BUTTON tabIndex=11 id=idSrcButton class="Search-Button" onclick="onClick_Search();" title="Start searching."
  62. SRCNORMAL="hcp://system/images/24x24/arrow_green_normal.bmp"
  63. SRCMOUSEOVER="hcp://system/images/24x24/arrow_green_mouseover.bmp"
  64. SRCMOUSEDOWN="hcp://system/images/24x24/arrow_green_mousedown.bmp">
  65. </BUTTON>
  66. </TD>
  67. <TD ROWSPAN=1 VALIGN=middle ALIGN=right WIDTH=100% id=noloc2>
  68. <helpcenter:bitmap id=noloc3 tabIndex=-1 class="Logo" AutoRTL="true" SRCNORMAL="hcp://system/images/32x32/logo.bmp"></helpcenter:bitmap>
  69. </TD>
  70. <TD VALIGN=middle>
  71. <DIV id=idAppLogo class="sys-header-color-logo" NOWRAP style="overflow: hidden">
  72. <DIV id=idAppLogo2 class="LogoSKU sys-font-heading1" NOWRAP>Help and Support Center</DIV>
  73. </DIV>
  74. </TD>
  75. </TR>
  76. <TR>
  77. <TD id=noloc4>
  78. &nbsp;
  79. </TD>
  80. <TD id=locSearchAdv HEIGHT=24px valign=top>
  81. <DIV NOWRAP id=idSrcAdv><A class="sys-link-header" href="none" onclick="onClick_AdvSearch();">Set search options</A></DIV>
  82. </TD>
  83. <TD id=locAppLogo COLSPAN=2 valign=top ALIGN=right>
  84. <DIV id=idAppLogo class="LogoSKU sys-header-color-logo" NOWRAP style="overflow: hidden">
  85. <DIV id=idAppLogo3 NOWRAP></DIV>
  86. </DIV>
  87. </TD>
  88. </TR>
  89. </TABLE>
  90. </DIV>
  91. <DIV id=noloc5 style="overflow: hidden; width: 100%; height: 3px" class="sys-header-gradient-H"></DIV>
  92. </BODY>
  93. <SCRIPT ID=Script1_noloc SRC="hcp://system/scripts/Common.js"></SCRIPT>
  94. <SCRIPT>
  95. /////////////////////////////////////////////////////////////////////////////
  96. //
  97. // localizable variables/filenames
  98. //
  99. var L_QueryTooLong_Message = "Your search text is too long. Type a shorter phrase, or just a few keywords.";
  100. var L_MissingSearch_Message = "You should enter at least one keyword.";
  101. var L_Back_Message = "Back";
  102. var L_Forward_Message = "Forward";
  103. var L_SelectAll_Message = "Select All";
  104. var L_Print_Message = "Print";
  105. var L_PrintMulti_Message = "Print...";
  106. var L_Refresh_Message = "Refresh";
  107. var L_Properties_Message = "Properties";
  108. var L_AddFavorites_Message = "Add To Favorites";
  109. var L_FavoriteAdded_Message = "This page has been added to your Help and Support Favorites list.";
  110. var L_FavoriteDupe_Message = "You already have a Favorite link to this topic.";
  111. ////////////////////
  112. var g_options = pchealth.UserSettings.Options;
  113. var g_FirstRun = true;
  114. ////////////////////////////////////////////////////////////////////////////////
  115. // Search Engine Wrapper Variable Save State
  116. var g_aSearchVar = new Array();
  117. var g_semgr = null;
  118. var ID_PSSONLINEWRAPPER = "D23D0028-A543-4767-B4AA-1581D8E1CDB2";
  119. var ID_FTS = "9A22481C-1795-46f3-8CCA-7D78E9E54112";
  120. var ID_KEYWORD = "9488F2E9-47AF-46da-AE4A-86372DEBD56C";
  121. g_aSearchVar["HCPrevQuery"] = "";
  122. function GetSearchEngineConfig()
  123. {
  124. var sku = pchealth.UserSettings.CurrentSKU;
  125. return "HKCU\\SOFTWARE\\Microsoft\\PCHealth\\HelpCtr\\UserSettings\\SearchParam\\" + sku.SKU + "\\" + sku.Language + "\\";
  126. }
  127. function GetSearchEngineManager()
  128. {
  129. // Check if SKU has changed or g_semgr is null
  130. if(g_semgr == null)
  131. {
  132. g_semgr = pchealth.CreateObject_SearchEngineMgr();
  133. }
  134. else
  135. {
  136. try { g_semgr.AbortQuery(); } catch(e) {}
  137. }
  138. return g_semgr;
  139. }
  140. function SetWrapperVar(strIndex, Value)
  141. {
  142. g_bSaved = true;
  143. g_aSearchVar[strIndex] = Value;
  144. }
  145. function GetWrapperVar(strIndex)
  146. {
  147. return g_aSearchVar[strIndex];
  148. }
  149. function FindWrapper( strID )
  150. {
  151. try
  152. {
  153. // Find the wrapper
  154. for(var oEnumEngine = new Enumerator( GetSearchEngineManager().EnumEngine() ); !oEnumEngine.atEnd(); oEnumEngine.moveNext())
  155. {
  156. var oWrapper = oEnumEngine.item();
  157. if(oWrapper.ID == strID)
  158. {
  159. return oWrapper;
  160. }
  161. }
  162. }
  163. catch(e)
  164. {
  165. }
  166. return null;
  167. }
  168. ////////////////////////////////////////////////////////////////////////////////
  169. function CancelEvent()
  170. {
  171. event.cancelBubble = true;
  172. event.returnValue = false;
  173. }
  174. /////////////////////////////////////////////////////////////////////////////
  175. function ProcessToolbarCommands( tb, id, extra )
  176. {
  177. if(CanProceed())
  178. {
  179. switch(id)
  180. {
  181. case "BACK":
  182. if(pchealth.HelpSession.IsValid( -1 ))
  183. {
  184. pchealth.HelpSession.Back( 1 );
  185. }
  186. break;
  187. case "FORWARD":
  188. if(pchealth.HelpSession.IsValid( 1 ))
  189. {
  190. pchealth.HelpSession.Forward( 1 );
  191. }
  192. break;
  193. case "PRINT":
  194. try
  195. {
  196. pchealth.Print( null, true );
  197. }
  198. catch(e)
  199. {
  200. }
  201. break;
  202. case "HOME":
  203. pchealth.HelpSession.ChangeContext( "homepage" );
  204. break;
  205. case "INDEX":
  206. pchealth.HelpSession.ChangeContext( "index" );
  207. break;
  208. case "FAVORITES":
  209. pchealth.HelpSession.ChangeContext( "favorites" );
  210. break;
  211. case "HISTORY":
  212. pchealth.HelpSession.ChangeContext( "history" );
  213. break;
  214. case "OPTIONS":
  215. pchealth.HelpSession.ChangeContext( "options" );
  216. break;
  217. case "SUPPORT":
  218. pchealth.HelpSession.ChangeContext( "channels" );
  219. break;
  220. case "SEARCH":
  221. {
  222. var query = idSrcInput.value;
  223. if(query.length > 256)
  224. {
  225. pchealth.MessageBox( L_QueryTooLong_Message, "OK" );
  226. idSrcInput.focus();
  227. }
  228. else if(query == "")
  229. {
  230. pchealth.MessageBox( L_MissingSearch_Message, "OK" );
  231. idSrcInput.focus();
  232. }
  233. else
  234. {
  235. pchealth.HelpSession.ChangeContext( "search", query );
  236. }
  237. }
  238. break;
  239. case "LAYOUT_SMALL": onClick_ChangeView( "contentonly" ); break;
  240. case "LAYOUT_LARGE": onClick_ChangeView( "normal" ); break;
  241. case "ADDFAVORITE":
  242. {
  243. var fav = pchealth.UserSettings.Favorites;
  244. var url = extra ? extra : pchealth.HelpSession.CurrentContext.URL;
  245. if(fnFavorites_IsValid( url ))
  246. {
  247. if(fav.IsDuplicate( url ))
  248. {
  249. pchealth.MessageBox( L_FavoriteDupe_Message, "OK" );
  250. }
  251. else
  252. {
  253. fav.Add( url );
  254. pchealth.MessageBox( L_FavoriteAdded_Message, "OK" );
  255. }
  256. }
  257. }
  258. break;
  259. }
  260. }
  261. }
  262. ////////////////////////////////////////////////////////////////////////////////
  263. function onKeyPress_SearchInput()
  264. {
  265. if(event.keyCode == 13) onClick_Search();
  266. }
  267. function onClick_Search()
  268. {
  269. CancelEvent();
  270. ProcessToolbarCommands( idTB, "SEARCH" );
  271. }
  272. function onClick_AdvSearch()
  273. {
  274. CancelEvent();
  275. if(CanProceed())
  276. {
  277. pchealth.HelpSession.ChangeContext( "search", "", "hcp://system/panels/advsearch.htm" );
  278. }
  279. }
  280. ////////////////////////////////////////////////////////////////////////////////
  281. var oState = new Object();
  282. oState.fMiniView = false;
  283. oState.fInit = false;
  284. function onClick_ChangeView( option )
  285. {
  286. var navbar = pchealth.UI_NavBar;
  287. var win;
  288. var posX;
  289. var posY;
  290. var dimW;
  291. var dimH;
  292. var place;
  293. //
  294. // If the application is shutting down, "external" is no longer available, so quit.
  295. //
  296. try
  297. {
  298. win = navbar.content.parentWindow.external.window;
  299. }
  300. catch(e)
  301. {
  302. return;
  303. }
  304. if(!win.places.currentPlace) return; // Not initialized
  305. if(win.places.currentPlace.name == "ContentOnly")
  306. {
  307. if(option && option == "contentonly") return; // Already content only view.
  308. if(oState.fInit == false)
  309. {
  310. // We didn't shrink, so restore some default shape...
  311. oState.left = win.x;
  312. oState.top = win.y;
  313. oState.width = win.width;
  314. oState.height = win.height + 80;
  315. oState.maximized = win.maximized;
  316. oState.place = "FullWindow";
  317. oState.fMiniView = true;
  318. oState.fInit = true;
  319. }
  320. if(oState.fMiniView == false) return; // We didn't shrink...
  321. posX = oState.left;
  322. posY = oState.top;
  323. dimW = oState.width;
  324. dimH = oState.height;
  325. fMax = oState.maximized;
  326. place = oState.place;
  327. oState.fMiniView = false;
  328. }
  329. else
  330. {
  331. if(option && option == "normal") return; // Already normal view.
  332. if(oState.fMiniView == true) return; // We did already shrink...
  333. var contents = pchealth.UI_Contents; if(contents.visible == false) contents = pchealth.UI_HHWindow;
  334. var mininavbar = pchealth.UI_MiniNavBar;
  335. var extraW = win.width - navbar.width;
  336. var extraH = win.height - navbar.height - mininavbar.height - contents.height;
  337. oState.left = win.x;
  338. oState.top = win.y;
  339. oState.width = win.width;
  340. oState.height = win.height;
  341. oState.maximized = win.maximized;
  342. oState.place = window.external.places.currentPlace.name;
  343. oState.fMiniView = true;
  344. oState.fInit = true;
  345. if(document.documentElement.dir == "rtl")
  346. {
  347. posX = oState.left /*- contents.x*/;
  348. }
  349. else
  350. {
  351. posX = oState.left + contents.x;
  352. }
  353. posY = oState.top + mininavbar.y;
  354. dimW = contents.width + extraW;
  355. dimH = contents.height + mininavbar.height + extraH;
  356. fMax = false;
  357. place = "ContentOnly";
  358. }
  359. window.external.panels.lockLayout();
  360. window.external.places.transitionTo( place );
  361. win.maximized = fMax;
  362. win.setWindowDimensions( posX, posY, dimW, dimH );
  363. window.external.panels.unlockLayout();
  364. SetButtonsState();
  365. }
  366. ////////////////////////////////////////////////////////////////////////////////
  367. function fnFavorites_IsValid( url )
  368. {
  369. if(!url) return false;
  370. if(url.match( /^hcp:\/\/system/i )) return false;
  371. if(url.match( /^hcp:\/\/services/i )) return true;
  372. if(url.match( /^http:/i )) return true;
  373. if(url.match( /^https:/i )) return true;
  374. if(url.match( /^hcp:/i )) return true;
  375. if(url.match( /^its:/i )) return true;
  376. if(url.match( /^ms-its:/i )) return true;
  377. if(url.match( /^mk:@MSITStore:/i )) return true;
  378. return false;
  379. }
  380. function fnPrint_IsValid( url )
  381. {
  382. if(!url) return false;
  383. if(fnFavorites_IsValid( url ) == false)
  384. {
  385. if(url.match( /^hcp:\/\/system\/panels/i )) return false;
  386. if(url.match( /^hcp:\/\/system\/scripts/i )) return false;
  387. if(url.match( /^hcp:\/\/system\/errors/i )) return false;
  388. if(url.match( /^hcp:\/\/system\/css/i )) return false;
  389. }
  390. return true;
  391. }
  392. function PopupPrintDialog( mode, data )
  393. {
  394. var state = new Object();
  395. state.Mode = mode;
  396. state.Data = data;
  397. state.fEmpty = true;
  398. state.Single = null;
  399. state.Topics = null;
  400. state.Nodes = null;
  401. state.num = 0;
  402. state.seen = [];
  403. state.isValid = fnPrint_IsValid;
  404. return window.showModalDialog( "hcp://system/dialogs/print.dlg", state, "dialogWidth: 40em; dialogHeight: 17em; help:no; resizable:no; status:no" );
  405. }
  406. function DoCommonContextMenu( id, mode, data )
  407. {
  408. var cm = pchealth.CreateObject_ContextMenu();
  409. var pageToProcessPrint = null;
  410. var pageToProcessFav = null;
  411. if(id == 4) return "DELEGATE"; // CONTEXT_MENU_TEXTSELECT
  412. cm.AddItem ( L_Back_Message , "BACK" , pchealth.HelpSession.IsValid( -1 ) ? MF_ENABLED : MF_GRAYED );
  413. cm.AddItem ( L_Forward_Message, "FORWARD", pchealth.HelpSession.IsValid( 1 ) ? MF_ENABLED : MF_GRAYED );
  414. cm.AddSeparator( );
  415. if(id != -1)
  416. {
  417. cm.AddItem ( L_SelectAll_Message, "SELECTALL", MF_ENABLED );
  418. cm.AddSeparator( );
  419. }
  420. if(mode == "subsite" && data.Entry == "") // It's actually a single topic.
  421. {
  422. mode = "normal";
  423. data = data.TopicURL;
  424. }
  425. if(mode == "normal")
  426. {
  427. if(!data) data = pchealth.HelpSession.CurrentContext.URL;
  428. if(data && fnPrint_IsValid( data ))
  429. {
  430. pageToProcessPrint = data;
  431. }
  432. if(data && fnFavorites_IsValid( data ))
  433. {
  434. pageToProcessFav = data;
  435. }
  436. }
  437. if(mode == "subsite")
  438. {
  439. cm.AddItem( L_PrintMulti_Message, "PRINT", data ? MF_ENABLED : MF_GRAYED );
  440. }
  441. else
  442. {
  443. cm.AddItem( L_Print_Message, "PRINT", pageToProcessPrint ? MF_ENABLED : MF_GRAYED );
  444. }
  445. cm.AddItem( L_Refresh_Message, "REFRESH", pageToProcessFav ? MF_ENABLED : MF_GRAYED );
  446. cm.AddSeparator( );
  447. cm.AddItem ( L_AddFavorites_Message, "ADDFAVORITE", pageToProcessFav ? MF_ENABLED : MF_GRAYED );
  448. if(id != -1)
  449. {
  450. cm.AddSeparator( );
  451. cm.AddItem ( L_Properties_Message, "PROPERTIES", MF_ENABLED );
  452. }
  453. var res = cm.Display();
  454. switch(res)
  455. {
  456. case "BACK":
  457. window.setTimeout( "pchealth.HelpSession.Back( 1 );", 10 );
  458. break;
  459. case "FORWARD":
  460. window.setTimeout( "pchealth.HelpSession.Forward( 1 );", 10 );
  461. break;
  462. case "PRINT":
  463. if(mode == "subsite")
  464. {
  465. PopupPrintDialog( "subsite", data );
  466. }
  467. if(mode == "normal")
  468. {
  469. ProcessToolbarCommands( idTB, "PRINT" );
  470. }
  471. break;
  472. case "ADDFAVORITE":
  473. if(pageToProcessFav)
  474. {
  475. ProcessToolbarCommands( idTB, "ADDFAVORITE", pageToProcessFav );
  476. }
  477. break;
  478. default:
  479. return res;
  480. }
  481. return "";
  482. }
  483. function isinput( src )
  484. {
  485. if(src)
  486. {
  487. switch(src.tagName.toUpperCase())
  488. {
  489. case "INPUT" :
  490. case "SELECT" :
  491. case "TEXTAREA":
  492. return true;
  493. }
  494. }
  495. return false;
  496. }
  497. function check_cm()
  498. {
  499. if(isinput( event.srcElement )) return true;
  500. event.cancelBubble = true;
  501. event.returnValue = false;
  502. return false;
  503. }
  504. function GlobalContextMenu( id, src, x, y )
  505. {
  506. if(isinput( src )) return "DELEGATE";
  507. return DoCommonContextMenu( id, "normal", src.tagName == "A" ? src.href : null );
  508. }
  509. ////////////////////////////////////////
  510. function navbar_BeforeNavigate()
  511. {
  512. // Only redirect if NOT an history navigation.
  513. if(pchealth.HelpSession.IsNavigating()) return;
  514. var data = event.srcElement.data;
  515. var url = data.URL;
  516. var fRedirect = false;
  517. //
  518. // Old compatibility stuff.
  519. //
  520. if(data.URL == "hcp://system/channels.htm")
  521. {
  522. data.Cancel = true;
  523. pchealth.HelpSession.ChangeContext( "Channels", "" );
  524. return;
  525. }
  526. }
  527. function CanProceed()
  528. {
  529. if(pchealth.HelpSession.IsNavigating()) return false;
  530. return true;
  531. }
  532. function navbar_UpdateButtons()
  533. {
  534. SetButtonsState();
  535. }
  536. function SetButtonsState()
  537. {
  538. idTB.SetState( "BACK" , pchealth.HelpSession.IsValid( -1 ) );
  539. idTB.SetState( "FORWARD", pchealth.HelpSession.IsValid( 1 ) );
  540. }
  541. function BuildPage()
  542. {
  543. navbar_OptionsChanged();
  544. UpdateEdition();
  545. }
  546. function UpdateEdition()
  547. {
  548. idAppLogo3.innerText = pchealth.UserSettings.CurrentSKU.DisplayName;
  549. }
  550. ////////////////////////////////////////////////////////////////////////////////
  551. function debug_BuildTree( doc )
  552. {
  553. var strStruct = "<HTML><TITLE>Document Tree</TITLE><BODY>" + debug_BuildNode( doc ) + "</BODY></HTML>";
  554. try
  555. {
  556. var fso = new ActiveXObject( "Scripting.FileSystemObject" );
  557. var tfolder = fso.GetSpecialFolder( 2 );
  558. var name = fso.GetTempName();
  559. var file = fso.CreateTextFile( tfolder + "\\" + name, true );
  560. file.Write( strStruct );
  561. file.Close( );
  562. window.showModalDialog( tfolder + "\\" + name, "", "dialogWidth:500px; dialogHeight:500px; help:no; resizable:yes; status:no" );
  563. fso.DeleteFile( tfolder + "\\" + name );
  564. }
  565. catch(e)
  566. {
  567. }
  568. }
  569. function debug_BuildNode( node )
  570. {
  571. var strStruct = "<DIV>" + node.tagName + "<BR>";
  572. var iSeen = false;
  573. var tags = node.childNodes;
  574. // Walk through every element in the document.
  575. for(var i = 0; i < tags.length; i++)
  576. {
  577. var obj = tags[i];
  578. if(iSeen == false)
  579. {
  580. strStruct += "<TABLE BORDER CELLPADDING=5><TR>";
  581. iSeen = true;
  582. }
  583. if(obj.tagName)
  584. {
  585. strStruct += "<TD>" + debug_BuildNode( obj ) + "</TD>";
  586. }
  587. else
  588. {
  589. strStruct += "<TD>" + obj.nodeValue + "</TD>";
  590. }
  591. }
  592. if(iSeen)
  593. {
  594. strStruct += "</TR></TABLE>";
  595. }
  596. return strStruct + "</DIV>";
  597. }
  598. function navbar_ContextSwitch()
  599. {
  600. var ctx = pchealth.HelpSession.CurrentContext;
  601. if(ctx.ContextName == "SUBSITE") UpdateEdition();
  602. navbar_UpdateButtons();
  603. }
  604. function navbar_TravelDone()
  605. {
  606. navbar_UpdateButtons();
  607. if(g_FirstRun)
  608. {
  609. g_FirstRun = false;
  610. if(pchealth.UI_NavBar.visible)
  611. {
  612. window.setTimeout( "idSrcInput.focus();", 100 );
  613. }
  614. }
  615. }
  616. function navbar_Shutdown()
  617. {
  618. if(pchealth.UI_NavBar.visible == false)
  619. {
  620. switch(external.places.currentPlace.name)
  621. {
  622. case "KioskMode":
  623. break;
  624. default:
  625. onClick_ChangeView();
  626. break;
  627. }
  628. }
  629. if(g_semgr)
  630. {
  631. try { g_semgr.AbortQuery(); } catch(e) {}
  632. }
  633. }
  634. function navbar_SwitchedHelpFiles()
  635. {
  636. // throw away previous g_semgr
  637. g_aSearchVar = new Array();
  638. g_semgr = null;
  639. UpdateEdition();
  640. }
  641. function navbar_OptionsChanged()
  642. {
  643. idTB.SetVisibility( "FAVORITES", g_options.ShowFavorites );
  644. idTB.SetVisibility( "HISTORY" , g_options.ShowHistory );
  645. if(idTB.Mode != g_options.TextLabels)
  646. {
  647. idTB.Mode = g_options.TextLabels;
  648. }
  649. }
  650. ////////////////////////////////////////////////////////////////////////////////
  651. BuildPage();
  652. </SCRIPT>
  653. <SCRIPT LANGUAGE="JScript" EVENT="onCommand( tb, id )" FOR="idTB">
  654. ProcessToolbarCommands( tb, id );
  655. </SCRIPT>
  656. <helpcenter:events id=idEvents onBeforeNavigate="navbar_BeforeNavigate();" onContextSwitch="navbar_ContextSwitch();" onTravelDone="navbar_TravelDone();" onShutdown="navbar_Shutdown();" onSwitchedHelpFiles="navbar_SwitchedHelpFiles()" onOptionsChanged="navbar_OptionsChanged()" />
  657. <helpcenter:state id=idState identity="NavBar" />
  658. </HTML>