PageRenderTime 57ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/client_v4_2_comm/ue/build/tools/CDoc/Tools/Transforms/Whidbey/Misc/script_main.js

#
JavaScript | 2089 lines | 1700 code | 252 blank | 137 comment | 552 complexity | 36b30b8c3e3bea045e8156fd375c91f7 MD5 | raw file
Possible License(s): Apache-2.0, LGPL-2.0, MIT, MPL-2.0-no-copyleft-exception

Large files files are truncated, but you can click here to view the full file

  1. window.onload=LoadPage;
  2. window.onunload=Window_Unload;
  3. window.onresize=ResizeWindow;
  4. window.onbeforeprint = set_to_print;
  5. window.onafterprint = reset_form;
  6. var vbDeclaration;
  7. var csLang;
  8. var cLang;
  9. var jsharpLang;
  10. var jsLang;
  11. var scrollPos = 0;
  12. var inheritedMembers;
  13. var protectedMembers;
  14. var netcfMembersOnly;
  15. /*************************************************************
  16. // Begin WSS Specific Change.
  17. *************************************************************/
  18. var currentMenu = null;
  19. var blockHideMe = false;
  20. /*************************************************************
  21. // End WSS Specific Change.
  22. *************************************************************/
  23. // Initialize array of collapsed section image IDs
  24. var collapsedSections = new Array();
  25. var collapsedSectionsInitialized = false;
  26. function InitCollapsedSections()
  27. {
  28. var i = 0;
  29. var imageId = Load("imageValue" + i);
  30. while (imageId != null)
  31. {
  32. collapsedSections[imageId] = "not expanded";
  33. i++;
  34. imageId = Load("imageValue" + i);
  35. }
  36. }
  37. var noReentry = false;
  38. function OnLoadImage()
  39. {
  40. if (noReentry) return;
  41. if (!collapsedSectionsInitialized) { InitCollapsedSections(); collapsedSectionsInitialized = true; }
  42. elem = event.srcElement;
  43. if (ShouldExpand(elem))
  44. {
  45. noReentry = true;
  46. try
  47. {
  48. elem.src = collapseImage.src;
  49. ExpandSection(elem);
  50. RemoveCollapsedItem(elem.id);
  51. collapsedSections[elem.id] = "expanded";
  52. }
  53. catch (e)
  54. {
  55. }
  56. noReentry = false;
  57. }
  58. }
  59. function ShouldExpand(elem)
  60. {
  61. return (collapsedSections[elem.id] == null) || (Load("IsFirstPage") == null);
  62. }
  63. /*
  64. **********
  65. ********** Begin
  66. **********
  67. */
  68. function LoadPage()
  69. {
  70. if(IsEvilUrl())
  71. {
  72. ReloadEvilUrlAsGoodUrl();
  73. return; // in just a moment, page will reload.
  74. }
  75. // show correct language
  76. LoadLanguages();
  77. LoadMembersOptions();
  78. Set_up_checkboxes();
  79. DisplayLanguages();
  80. if(inheritedMembers=="off")
  81. DisplayInheritedMembers();
  82. if(protectedMembers=="off")
  83. DisplayProtectedMembers();
  84. if(netcfMembersOnly=="on")
  85. DisplayNETCFMembers();
  86. ChangeMembersOptionsFilterLabel();
  87. LoadSections();
  88. ResizeWindow();
  89. // vs70.js did this to allow up/down arrow scrolling, I think
  90. try { mainSection.setActive(); } catch(e) { }
  91. //set the scroll position
  92. try{mainSection.scrollTop = scrollPos;}
  93. catch(e){}
  94. /*************************************************************
  95. // Begin WSS Specific Change.
  96. *************************************************************/
  97. Hide_LangFilter();
  98. document.body.onclick = bodyOnClick;
  99. //initReftips();
  100. initializeMenu("InfoMenu", "InfoMenuActuator");
  101. //START: Feedback Integration
  102. try {
  103. if(newFeedback)
  104. {
  105. HeadFeedBack(headfb);
  106. var first=true;
  107. document.feedback = new FeedBack(L_alias, L_product, L_deliverable, L_productversion, L_docversion, L_FeedBackDivID);
  108. document.feedback.StartFeedBack(fb,first);
  109. }
  110. else
  111. {
  112. var first=true;
  113. document.FdBack = new FdBack(L_alias, L_product, L_deliverable, L_productversion, L_docversion, L_FeedBackDivID);
  114. document.FdBack.StartFdBack(fb);
  115. }
  116. }
  117. catch(e) {}
  118. //END: Feedback Integration
  119. //START: Search fix
  120. try {
  121. var spanElements = document.all.tags("span");
  122. for(i = 0; i < spanElements.length; ++i)
  123. {
  124. if(spanElements[i].id != null)
  125. {
  126. if(spanElements[i].id == "sf_LangFilter")
  127. spanElements[i].innerHTML = L_sf_LangFilter;
  128. if(spanElements[i].id == "sf_All")
  129. spanElements[i].innerHTML = L_sf_All;
  130. if(spanElements[i].id == "sf_Multiple")
  131. spanElements[i].innerHTML = L_sf_Multiple;
  132. if(spanElements[i].id == "sf_VB")
  133. spanElements[i].innerHTML = L_sf_VB;
  134. if(spanElements[i].id == "sf_Declaration")
  135. spanElements[i].innerHTML = L_sf_Declaration;
  136. if(spanElements[i].id == "sf_Usage")
  137. spanElements[i].innerHTML = L_sf_Usage;
  138. if(spanElements[i].id == "sf_CSharp")
  139. spanElements[i].innerHTML =L_sf_CSharp;
  140. if(spanElements[i].id == "sf_CPlus")
  141. spanElements[i].innerHTML = L_sf_CPlus;
  142. if(spanElements[i].id == "sf_JSharp")
  143. spanElements[i].innerHTML = L_sf_JSharp;
  144. if(spanElements[i].id == "sf_JScript")
  145. spanElements[i].innerHTML = L_sf_JScript;
  146. if(spanElements[i].id == "sf_Xml")
  147. spanElements[i].innerHTML = L_sf_Xml;
  148. if(spanElements[i].id == "sf_Html")
  149. spanElements[i].innerHTML = L_sf_Html;
  150. if(spanElements[i].id == "sf_CollAl")
  151. spanElements[i].innerHTML = L_sf_CollAl;
  152. if(spanElements[i].id == "sf_ExpAll")
  153. spanElements[i].innerHTML = L_sf_ExpAll;
  154. if(spanElements[i].id == "sf_Roles")
  155. spanElements[i].innerHTML = L_sf_Roles;
  156. if(spanElements[i].id == "sf_Info")
  157. spanElements[i].innerHTML = L_sf_Info;
  158. if(spanElements[i].id == "sf_MemAll")
  159. spanElements[i].innerHTML = L_sf_MemAll;
  160. if(spanElements[i].id == "sf_MemFilt")
  161. spanElements[i].innerHTML = L_sf_MemFilt;
  162. if(spanElements[i].id == "sf_MemInh")
  163. spanElements[i].innerHTML = L_sf_MemInh;
  164. if(spanElements[i].id == "sf_MemPro")
  165. spanElements[i].innerHTML = L_sf_MemPro;
  166. if(spanElements[i].id == "sf_MemCom")
  167. spanElements[i].innerHTML = L_sf_MemCom;
  168. } //if
  169. } //for
  170. } //try
  171. catch(e)
  172. {}
  173. //END: Search fix
  174. /*************************************************************
  175. // End WSS Specific Change.
  176. *************************************************************/
  177. }
  178. function Window_Unload()
  179. {
  180. if(IsGoodUrl())
  181. {
  182. // save persistable data (except when unloading from a "bad url")
  183. SaveLanguages();
  184. SaveMembersOptions();
  185. SaveSections();
  186. }
  187. }
  188. function ResizeWindow()
  189. {
  190. if (document.body.clientWidth==0) return;
  191. var header = document.all.item("header");
  192. var mainSection = document.all.item("mainSection");
  193. if (mainSection == null) return;
  194. document.body.scroll = "no"
  195. mainSection.style.overflow= "auto";
  196. header.style.width= document.body.offsetWidth - 2;
  197. //mainSection.style.paddingRight = "20px"; // Width issue code
  198. mainSection.style.width= document.body.offsetWidth - 4;
  199. mainSection.style.top=0;
  200. if (document.body.offsetHeight > header.offsetHeight + 10)
  201. mainSection.style.height= document.body.offsetHeight - (header.offsetHeight + 10);
  202. else
  203. mainSection.style.height=0;
  204. try
  205. {
  206. mainSection.setActive();
  207. }
  208. catch(e)
  209. {
  210. }
  211. }
  212. function Load(key)
  213. {
  214. try {
  215. userDataCache.load("docSettings");
  216. var value = userDataCache.getAttribute(key);
  217. return value;
  218. }
  219. catch(e)
  220. {
  221. }
  222. }
  223. function Save(key, value)
  224. {
  225. try {
  226. userDataCache.setAttribute(key, value);
  227. userDataCache.save("docSettings");
  228. }
  229. catch (e)
  230. {
  231. }
  232. }
  233. function RemoveAttribute(key)
  234. {
  235. try {
  236. userDataCache.removeAttribute(key);
  237. userDataCache.save("docSettings");
  238. }
  239. catch(e)
  240. {
  241. }
  242. }
  243. function set_to_print()
  244. {
  245. //breaks out of divs to print
  246. var i;
  247. if (window.text)document.all.text.style.height = "auto";
  248. for (i=0; i < document.all.length; i++)
  249. {
  250. if (document.all[i].tagName == "body")
  251. {
  252. document.all[i].scroll = "yes";
  253. }
  254. if (document.all[i].id == "header")
  255. {
  256. document.all[i].style.margin = "0px 0px 0px 0px";
  257. document.all[i].style.width = "100%";
  258. }
  259. if (document.all[i].id == "mainSection")
  260. {
  261. document.all[i].style.overflow = "visible";
  262. document.all[i].style.top = "5px";
  263. document.all[i].style.width = "100%";
  264. document.all[i].style.padding = "0px 10px 0px 30px";
  265. }
  266. }
  267. }
  268. function reset_form()
  269. {
  270. //returns to the div nonscrolling region after print
  271. document.location.reload();
  272. }
  273. function IsEvilUrl()
  274. {
  275. var url = "" + document.location + ".";
  276. var r = url.indexOf("mk:@MSITStore") != -1;
  277. return r;
  278. }
  279. function IsGoodUrl()
  280. {
  281. return !IsEvilUrl();
  282. }
  283. function ReloadEvilUrlAsGoodUrl()
  284. {
  285. var url = "" + document.location + ".";
  286. var i = url.indexOf("mk:@MSITStore");
  287. if(i != -1)
  288. {
  289. url = "ms-its:" + url.substring(14, url.length - 1);
  290. document.location.replace(url);
  291. }
  292. }
  293. function Set_up_checkboxes()
  294. {
  295. var checkbox;
  296. checkbox = document.getElementById("vbDeclarationCheckbox");
  297. if(checkbox != null)
  298. {
  299. if(vbDeclaration == "on")
  300. checkbox.checked = true;
  301. else
  302. checkbox.checked = false;
  303. }
  304. checkbox = document.getElementById("csCheckbox");
  305. if(checkbox != null)
  306. {
  307. if(csLang == "on")
  308. checkbox.checked = true;
  309. else
  310. checkbox.checked = false;
  311. }
  312. checkbox = document.getElementById("cCheckbox");
  313. if(checkbox != null)
  314. {
  315. if(cLang == "on")
  316. checkbox.checked = true;
  317. else
  318. checkbox.checked = false;
  319. }
  320. checkbox = document.getElementById("jsharpCheckbox");
  321. if(checkbox != null)
  322. {
  323. if(jsharpLang == "on")
  324. checkbox.checked = true;
  325. else
  326. checkbox.checked = false;
  327. }
  328. checkbox = document.getElementById("jsCheckbox");
  329. if(checkbox != null)
  330. {
  331. if(jsLang == "on")
  332. checkbox.checked = true;
  333. else
  334. checkbox.checked = false;
  335. }
  336. checkbox = document.getElementById("inheritedCheckbox");
  337. if(checkbox != null)
  338. {
  339. if(inheritedMembers == "on")
  340. checkbox.checked = true;
  341. else
  342. checkbox.checked = false;
  343. }
  344. checkbox = document.getElementById("protectedCheckbox");
  345. if(checkbox != null)
  346. {
  347. if(protectedMembers == "on")
  348. checkbox.checked = true;
  349. else
  350. checkbox.checked = false;
  351. }
  352. checkbox = document.getElementById("netcfCheckbox");
  353. if(checkbox != null)
  354. {
  355. if(netcfMembersOnly == "on")
  356. checkbox.checked = true;
  357. else
  358. checkbox.checked = false;
  359. }
  360. }
  361. /*
  362. **********
  363. ********** End
  364. **********
  365. */
  366. /*
  367. **********
  368. ********** Begin Language Filtering
  369. **********
  370. */
  371. function SetLanguage(key)
  372. {
  373. var i = 0;
  374. if(vbDeclaration == "on")
  375. i++;
  376. if(csLang == "on")
  377. i++;
  378. if(cLang == "on")
  379. i++;
  380. if(jsharpLang == "on")
  381. i++;
  382. if(jsLang == "on")
  383. i++;
  384. if(key.id == "vbDeclarationCheckbox")
  385. {
  386. if(vbDeclaration == "on")
  387. {
  388. if(i == 1)
  389. {
  390. key.checked = true;
  391. return;
  392. }
  393. vbDeclaration = "off";
  394. }
  395. else
  396. vbDeclaration = "on";
  397. }
  398. if(key.id == "csCheckbox")
  399. {
  400. if(csLang == "on")
  401. {
  402. if(i == 1)
  403. {
  404. key.checked = true;
  405. return;
  406. }
  407. csLang = "off";
  408. }
  409. else
  410. csLang = "on";
  411. }
  412. if(key.id == "cCheckbox")
  413. {
  414. if(cLang == "on")
  415. {
  416. if(i == 1)
  417. {
  418. key.checked = true;
  419. return;
  420. }
  421. cLang = "off";
  422. }
  423. else
  424. cLang = "on";
  425. }
  426. if(key.id == "jsharpCheckbox")
  427. {
  428. if(jsharpLang == "on")
  429. {
  430. if(i == 1)
  431. {
  432. key.checked = true;
  433. return;
  434. }
  435. jsharpLang = "off";
  436. }
  437. else
  438. jsharpLang = "on";
  439. }
  440. if(key.id == "jsCheckbox")
  441. {
  442. if(jsLang == "on")
  443. {
  444. if(i == 1)
  445. {
  446. key.checked = true;
  447. return;
  448. }
  449. jsLang = "off";
  450. }
  451. else
  452. jsLang = "on";
  453. }
  454. DisplayLanguages();
  455. }
  456. function DisplayLanguages()
  457. {
  458. var spanElements = document.all.tags("span");
  459. var x = 0;
  460. if(vbDeclaration == "on")
  461. x++;
  462. if(csLang == "on")
  463. x++;
  464. if(cLang == "on")
  465. x++;
  466. if(jsharpLang == "on")
  467. x++;
  468. if(jsLang == "on")
  469. x++;
  470. var i;
  471. for(i = 0; i < spanElements.length; ++i)
  472. {
  473. if(spanElements[i].codeLanguage != null)
  474. {
  475. if(spanElements[i].codeLanguage == "VisualBasicDeclaration")
  476. {
  477. if(vbDeclaration == "on")
  478. spanElements[i].style.display = "";
  479. else
  480. spanElements[i].style.display = "none";
  481. }
  482. if(spanElements[i].codeLanguage == "CSharp")
  483. {
  484. if(csLang == "on")
  485. spanElements[i].style.display = "";
  486. else
  487. spanElements[i].style.display = "none";
  488. }
  489. if(spanElements[i].codeLanguage == "ManagedCPlusPlus")
  490. {
  491. if(cLang == "on")
  492. spanElements[i].style.display = "";
  493. else
  494. spanElements[i].style.display = "none";
  495. }
  496. if(spanElements[i].codeLanguage == "JSharp")
  497. {
  498. if(jsharpLang == "on")
  499. spanElements[i].style.display = "";
  500. else
  501. spanElements[i].style.display = "none";
  502. }
  503. if(spanElements[i].codeLanguage == "JScript")
  504. {
  505. if(jsLang == "on")
  506. spanElements[i].style.display = "";
  507. else
  508. spanElements[i].style.display = "none";
  509. }
  510. }
  511. }
  512. ChangeLanguageFilterLabel();
  513. }
  514. function ChangeLanguageFilterLabel()
  515. {
  516. var i = 0;
  517. if(vbDeclaration == "on")
  518. i++;
  519. if(csLang == "on")
  520. i++;
  521. if(cLang == "on")
  522. i++;
  523. if(jsharpLang == "on")
  524. i++;
  525. if(jsLang == "on")
  526. i++;
  527. var labelElement;
  528. labelElement = document.getElementById("showAllLabel");
  529. if(labelElement == null)
  530. return;
  531. labelElement.style.display = "none";
  532. labelElement = document.getElementById("multipleLabel");
  533. labelElement.style.display = "none";
  534. labelElement = document.getElementById("vbLabel");
  535. labelElement.style.display = "none";
  536. labelElement = document.getElementById("csLabel");
  537. labelElement.style.display = "none";
  538. labelElement = document.getElementById("cLabel");
  539. labelElement.style.display = "none";
  540. labelElement = document.getElementById("jsharpLabel");
  541. labelElement.style.display = "none";
  542. labelElement = document.getElementById("jsLabel");
  543. labelElement.style.display = "none";
  544. if(i == 5)
  545. {
  546. labelElement = document.getElementById("showAllLabel");
  547. labelElement.style.display = "inline";
  548. }
  549. else if ((i > 1) && (i < 5))
  550. {
  551. labelElement = document.getElementById("multipleLabel");
  552. labelElement.style.display = "inline";
  553. }
  554. else if (i == 1)
  555. {
  556. if(vbDeclaration == "on")
  557. {
  558. labelElement = document.getElementById("vbLabel");
  559. labelElement.style.display = "inline";
  560. }
  561. if(csLang == "on")
  562. {
  563. labelElement = document.getElementById("csLabel");
  564. labelElement.style.display = "inline";
  565. }
  566. if(cLang == "on")
  567. {
  568. labelElement = document.getElementById("cLabel");
  569. labelElement.style.display = "inline";
  570. }
  571. if(jsharpLang == "on")
  572. {
  573. labelElement = document.getElementById("jsharpLabel");
  574. labelElement.style.display = "inline";
  575. }
  576. if(jsLang == "on")
  577. {
  578. labelElement = document.getElementById("jsLabel");
  579. labelElement.style.display = "inline";
  580. }
  581. }
  582. }
  583. function LoadLanguages()
  584. {
  585. var value;
  586. value = Load("vbDeclaration");
  587. if(value == null)
  588. vbDeclaration = "on";
  589. else
  590. vbDeclaration = value;
  591. value = Load("csLang");
  592. if(value == null)
  593. csLang = "on";
  594. else
  595. csLang = value;
  596. value = Load("cLang");
  597. if(value == null)
  598. cLang = "on";
  599. else
  600. cLang = value;
  601. value = Load("jsharpLang");
  602. if(value == null)
  603. jsharpLang = "on";
  604. else
  605. jsharpLang = value;
  606. value = Load("jsLang");
  607. if(value == null)
  608. jsLang = "on";
  609. else
  610. jsLang = value;
  611. }
  612. function SaveLanguages()
  613. {
  614. Save("vbDeclaration", vbDeclaration);
  615. Save("csLang", csLang);
  616. Save("cLang", cLang);
  617. Save("jsharpLang", jsharpLang);
  618. Save("jsLang", jsLang);
  619. }
  620. /*
  621. **********
  622. ********** End Language Filtering
  623. **********
  624. */
  625. /*
  626. **********
  627. ********** Begin Members Options Filtering
  628. **********
  629. */
  630. function SetMembersOptions(key)
  631. {
  632. if(key.id == "inheritedCheckbox")
  633. {
  634. if(key.checked == true)
  635. inheritedMembers = "on";
  636. else
  637. inheritedMembers = "off";
  638. DisplayInheritedMembers();
  639. }
  640. if(key.id == "protectedCheckbox")
  641. {
  642. if(key.checked == true)
  643. protectedMembers = "on";
  644. else
  645. protectedMembers = "off";
  646. DisplayProtectedMembers();
  647. }
  648. if(key.id == "netcfCheckbox")
  649. {
  650. if(key.checked == true)
  651. netcfMembersOnly = "on";
  652. else
  653. netcfMembersOnly = "off";
  654. DisplayNETCFMembers();
  655. }
  656. ChangeMembersOptionsFilterLabel();
  657. }
  658. function DisplayInheritedMembers()
  659. {
  660. var iMembers = document.all.tags("tr");
  661. var i;
  662. if(inheritedMembers == "off")
  663. {
  664. for(i = 0; i < iMembers.length; ++i)
  665. {
  666. if(iMembers[i].name == "inheritedMember")
  667. iMembers[i].style.display = "none";
  668. }
  669. }
  670. else
  671. {
  672. for(i = 0; i < iMembers.length; ++i)
  673. {
  674. if(iMembers[i].name == "inheritedMember")
  675. {
  676. if(netcfMembersOnly == "on")
  677. {
  678. if(iMembers[i].notSupportedOn == "netcf")
  679. {
  680. iMembers[i].style.display = "none";
  681. }
  682. else
  683. {
  684. iMembers[i].style.display = "";
  685. }
  686. }
  687. else
  688. iMembers[i].style.display = "";
  689. }
  690. }
  691. }
  692. }
  693. function DisplayProtectedMembers()
  694. {
  695. var imgElements = document.getElementsByName("toggleSwitch");
  696. var i;
  697. if(protectedMembers == "off")
  698. {
  699. for(i = 0; i < imgElements.length; ++i)
  700. {
  701. if(imgElements[i].id.indexOf("Family", 0) == 0)
  702. {
  703. if(ItemCollapsed(imgElements[i].id) == false)
  704. {
  705. ExpandCollapse(imgElements[i]);
  706. }
  707. }
  708. }
  709. }
  710. else
  711. {
  712. for(i = 0; i < imgElements.length; ++i)
  713. {
  714. if(imgElements[i].id.indexOf("Family", 0) == 0)
  715. {
  716. if(ItemCollapsed(imgElements[i].id) == true)
  717. {
  718. ExpandCollapse(imgElements[i]);
  719. }
  720. }
  721. }
  722. }
  723. }
  724. function DisplayNETCFMembers()
  725. {
  726. var netcfMembers = document.all.tags("tr");
  727. var i;
  728. if(netcfMembersOnly == "off")
  729. {
  730. for(i = 0; i < netcfMembers.length; ++i)
  731. {
  732. if(netcfMembers[i].notSupportedOn == "netcf")
  733. {
  734. netcfMembers[i].style.display = "";
  735. }
  736. }
  737. DisplayInheritedMembers();
  738. }
  739. else
  740. {
  741. for(i = 0; i < netcfMembers.length; ++i)
  742. {
  743. if(netcfMembers[i].notSupportedOn == "netcf")
  744. {
  745. netcfMembers[i].style.display = "none";
  746. }
  747. }
  748. }
  749. }
  750. function ChangeMembersOptionsFilterLabel()
  751. {
  752. var filtered = false;
  753. if((inheritedMembers=="off") || (protectedMembers=="off") || (netcfMembersOnly=="on"))
  754. filtered = true;
  755. var labelElement;
  756. labelElement = document.getElementById("showAllMembersLabel");
  757. if(labelElement == null)
  758. return;
  759. labelElement.style.display = "none";
  760. labelElement = document.getElementById("filteredMembersLabel");
  761. labelElement.style.display = "none";
  762. if(filtered)
  763. {
  764. labelElement = document.getElementById("filteredMembersLabel");
  765. labelElement.style.display = "inline";
  766. }
  767. else
  768. {
  769. labelElement = document.getElementById("showAllMembersLabel");
  770. labelElement.style.display = "inline";
  771. }
  772. }
  773. function LoadMembersOptions()
  774. {
  775. var value;
  776. value = Load("inheritedMembers");
  777. if(value == null)
  778. inheritedMembers = "on";
  779. else
  780. inheritedMembers = value;
  781. value = Load("protectedMembers");
  782. if(value == null)
  783. protectedMembers = "on";
  784. else
  785. protectedMembers = value;
  786. value = Load("netcfMembersOnly");
  787. if(value == null)
  788. netcfMembersOnly = "off";
  789. else
  790. netcfMembersOnly = value;
  791. }
  792. function SaveMembersOptions()
  793. {
  794. Save("inheritedMembers", inheritedMembers);
  795. Save("protectedMembers", protectedMembers);
  796. Save("netcfMembersOnly", netcfMembersOnly);
  797. }
  798. /*
  799. **********
  800. ********** End Members Options Filtering
  801. **********
  802. */
  803. /*
  804. **********
  805. ********** Begin Expand/Collapse
  806. **********
  807. */
  808. var collapsedItems = new Array();
  809. function ExpandCollapse(imageItem)
  810. {
  811. try {
  812. noReentry = true; // Prevent entry to OnLoadImage
  813. if(ItemCollapsed(imageItem.id) == true)
  814. {
  815. imageItem.src = collapseImage.src;
  816. ExpandSection(imageItem);
  817. RemoveCollapsedItem(imageItem.id);
  818. if(imageItem.id.indexOf("Family", 0) == 0)
  819. {
  820. protectedMembers = "on";
  821. Set_up_checkboxes();
  822. ChangeMembersOptionsFilterLabel();
  823. }
  824. }
  825. else
  826. {
  827. imageItem.src = expandImage.src;
  828. CollapseSection(imageItem);
  829. AddCollapsedItem(imageItem.id);
  830. }
  831. SetCollapseAll();
  832. noReentry = false;
  833. }
  834. catch(e) {}
  835. }
  836. function ExpandCollapseAll(imageItem)
  837. {
  838. noReentry = true; // Prevent entry to OnLoadImage
  839. var imgElements = document.getElementsByName("toggleSwitch");
  840. var i;
  841. if(ItemCollapsed(imageItem.id) == true)
  842. {
  843. imageItem.src = collapseAllImage.src;
  844. RemoveCollapsedItem(imageItem.id);
  845. for(i = 0; i < imgElements.length; ++i)
  846. {
  847. imgElements[i].src = collapseImage.src;
  848. ExpandSection(imgElements[i]);
  849. RemoveCollapsedItem(imgElements[i].id);
  850. if(imgElements[i].id.indexOf("Family", 0) == 0)
  851. protectedMembers = "on";
  852. }
  853. SetToggleAllLabel(false);
  854. }
  855. else
  856. {
  857. imageItem.src = expandAllImage.src;
  858. AddCollapsedItem(imageItem.id);
  859. for(i = 0; i < imgElements.length; ++i)
  860. {
  861. imgElements[i].src = expandImage.src;
  862. CollapseSection(imgElements[i]);
  863. AddCollapsedItem(imgElements[i].id);
  864. }
  865. SetToggleAllLabel(true);
  866. }
  867. noReentry = false;
  868. }
  869. function ExpandCollapse_CheckKey(imageItem)
  870. {
  871. if(window.event.keyCode == 13)
  872. ExpandCollapse(imageItem);
  873. }
  874. function ExpandCollapseAll_CheckKey(imageItem)
  875. {
  876. if(window.event.keyCode == 13)
  877. ExpandCollapseAll(imageItem);
  878. }
  879. function ExpandSection(imageItem)
  880. {
  881. try {
  882. imageItem.parentElement.parentElement.nextSibling.style.display = "";
  883. }
  884. catch(e){}
  885. }
  886. function CollapseSection(imageItem)
  887. {
  888. try {
  889. imageItem.parentElement.parentElement.nextSibling.style.display = "none";
  890. }
  891. catch(e){}
  892. }
  893. function SetCollapseAll()
  894. {
  895. var imageElement = document.getElementById("toggleAllImage");
  896. if(imageElement == null)
  897. return;
  898. var imgElements = document.getElementsByName("toggleSwitch");
  899. var allCollapsed = true;
  900. var i;
  901. for(i = 0; i < imgElements.length; ++i)
  902. {
  903. allCollapsed = allCollapsed && ItemCollapsed(imgElements[i].id)
  904. }
  905. if(allCollapsed)
  906. {
  907. imageElement.src = expandAllImage.src;
  908. AddCollapsedItem(imageElement.id);
  909. }
  910. else
  911. {
  912. imageElement.src = collapseAllImage.src;
  913. RemoveCollapsedItem(imageElement.id);
  914. }
  915. SetToggleAllLabel(allCollapsed);
  916. }
  917. function SetToggleAllLabel(allCollapsed)
  918. {
  919. var labelElement;
  920. labelElement = document.getElementById("collapseAllLabel");
  921. if(labelElement == null)
  922. return;
  923. labelElement.style.display = "none";
  924. labelElement = document.getElementById("expandAllLabel");
  925. labelElement.style.display = "none";
  926. if(allCollapsed)
  927. {
  928. labelElement = document.getElementById("expandAllLabel");
  929. labelElement.style.display = "inline";
  930. }
  931. else
  932. {
  933. labelElement = document.getElementById("collapseAllLabel");
  934. labelElement.style.display = "inline";
  935. }
  936. }
  937. function ItemCollapsed(imageId)
  938. {
  939. var i;
  940. for(i = 0; i < collapsedItems.length; ++i)
  941. {
  942. if(imageId == collapsedItems[i])
  943. return true;
  944. }
  945. return false;
  946. }
  947. function AddCollapsedItem(imageId)
  948. {
  949. if(ItemCollapsed(imageId) == false)
  950. collapsedItems[collapsedItems.length] = imageId;
  951. }
  952. function RemoveCollapsedItem(imageId)
  953. {
  954. var i;
  955. for(i = 0; i < collapsedItems.length; ++i)
  956. {
  957. if(imageId == collapsedItems[i])
  958. collapsedItems.splice(i, 1);
  959. }
  960. }
  961. function SaveSections()
  962. {
  963. var i;
  964. var x = 0;
  965. CleanUserDataStore();
  966. for(i = 0; i < collapsedItems.length; ++i)
  967. {
  968. if(ShouldSave(collapsedItems[i]) == true)
  969. {
  970. Save("imageValue" + x, collapsedItems[i]);
  971. x++;
  972. }
  973. }
  974. Save("IsFirstPage", false);
  975. }
  976. function LoadSections()
  977. {
  978. var i = 0;
  979. var imageId = Load("imageValue" + i);
  980. while(imageId != null)
  981. {
  982. var imageItem = document.getElementById(imageId);
  983. //alert(imageItem.id);
  984. if(imageItem != null && collapsedSections[imageId] == "not expanded")
  985. {
  986. RemoveCollapsedItem(imageId);
  987. if(imageItem.id.indexOf("Family", 0) == 0)
  988. {
  989. if(protectedMembers == "on")
  990. {
  991. ExpandCollapse(imageItem);
  992. }
  993. }
  994. else
  995. {
  996. ExpandCollapse(imageItem);
  997. }
  998. }
  999. i++;
  1000. imageId = Load("imageValue" + i);
  1001. }
  1002. SetCollapseAll();
  1003. }
  1004. function CleanUserDataStore()
  1005. {
  1006. var i = 0;
  1007. var imageId = Load("imageValue" + i);
  1008. while(imageId != null)
  1009. {
  1010. RemoveAttribute("imageValue" + i);
  1011. i++;
  1012. imageId = Load("imageValue" + i);
  1013. }
  1014. }
  1015. function ShouldSave(imageId)
  1016. {
  1017. var toggleName;
  1018. if(imageId == "toggleAllImage")
  1019. return false;
  1020. toggleName = "procedureToggle";
  1021. if(imageId.indexOf(toggleName, 0) == 0)
  1022. return false;
  1023. toggleName = "sectionToggle";
  1024. if(imageId.indexOf(toggleName, 0) == 0)
  1025. return false;
  1026. return true;
  1027. }
  1028. function OpenSection(imageItem)
  1029. {
  1030. if(ItemCollapsed(imageItem.id) == true)
  1031. ExpandCollapse(imageItem);
  1032. }
  1033. /*
  1034. **********
  1035. ********** End Expand/Collapse
  1036. **********
  1037. */
  1038. /*
  1039. **********
  1040. ********** Begin Copy Code
  1041. **********
  1042. */
  1043. function CopyCode(key)
  1044. {
  1045. var trElements = document.all.tags("tr");
  1046. var i;
  1047. for(i = 0; i < trElements.length; ++i)
  1048. {
  1049. if(key.parentElement.parentElement.parentElement == trElements[i].parentElement)
  1050. {
  1051. window.clipboardData.setData("Text", trElements[i].innerText);
  1052. }
  1053. }
  1054. }
  1055. function ChangeCopyCodeIcon(key)
  1056. {
  1057. var i;
  1058. var imageElements = document.getElementsByName("ccImage")
  1059. for(i=0; i<imageElements.length; ++i)
  1060. {
  1061. if(imageElements[i].parentElement == key)
  1062. {
  1063. if(imageElements[i].src == copyImage.src)
  1064. imageElements[i].src = copyHoverImage.src;
  1065. else
  1066. imageElements[i].src = copyImage.src;
  1067. }
  1068. }
  1069. }
  1070. function CopyCode_CheckKey(key)
  1071. {
  1072. if(window.event.keyCode == 13)
  1073. CopyCode(key);
  1074. }
  1075. /*
  1076. **********
  1077. ********** End Copy Code
  1078. **********
  1079. */
  1080. /*
  1081. **********
  1082. ********** Begin Maintain Scroll Position
  1083. **********
  1084. */
  1085. function loadAll(){
  1086. try
  1087. {
  1088. scrollPos = allHistory.getAttribute("Scroll");
  1089. }
  1090. catch(e){}
  1091. }
  1092. function saveAll(){
  1093. try
  1094. {
  1095. allHistory.setAttribute("Scroll", mainSection.scrollTop);
  1096. }
  1097. catch(e){}
  1098. }
  1099. /*
  1100. **********
  1101. ********** End Maintain Scroll Position
  1102. **********
  1103. */
  1104. /*
  1105. **********
  1106. ********** Begin Send Mail
  1107. **********
  1108. */
  1109. function formatMailToLink(anchor)
  1110. {
  1111. var release = "Release: " + anchor.doc_Release;
  1112. var topicId = "Topic ID: " + anchor.doc_TopicID;
  1113. var topicTitle = "Topic Title: " + anchor.doc_TopicTitle;
  1114. var url = "URL: " + document.URL;
  1115. var browser = "Browser: " + window.navigator.userAgent;
  1116. var crlf = "%0d%0a";
  1117. var body = release + crlf + topicId + crlf + topicTitle + crlf + url + crlf + browser + crlf + crlf + "Comments:" + crlf + crlf;
  1118. anchor.href = anchor.href + "&body=" + body;
  1119. }
  1120. /*
  1121. **********
  1122. ********** End Send Mail
  1123. **********
  1124. */
  1125. /*************************************************************
  1126. // Begin WSS Specific Change.
  1127. *************************************************************/
  1128. if (!document.getElementById)
  1129. document.getElementById = function() { return null; }
  1130. function initializeMenu(menuId, actuatorId) {
  1131. var menu = document.getElementById(menuId);
  1132. var actuator = document.getElementById(actuatorId);
  1133. if (menu == null || actuator == null) return;
  1134. blockHideMe = false;
  1135. actuator.onclick = function() {
  1136. this.showMenu();
  1137. return false;
  1138. }
  1139. actuator.showMenu = function() {
  1140. menu.style.top = Calculate_offsetTop(window.event.srcElement) + 18; //window.event.clientY + 10 + "px";
  1141. menu.style.left = this.offsetLeft -17 + "px";
  1142. menu.style.visibility = "visible";
  1143. currentMenu = menu;
  1144. }
  1145. actuator.onkeydown=function() {
  1146. if(event.keyCode==40) {
  1147. this.showMenu();
  1148. event.keyCode = 9;
  1149. }
  1150. }
  1151. menu.onmouseover=function() {
  1152. this.style.visibility = "visible";
  1153. }
  1154. menu.onmouseout=function() {
  1155. this.style.visibility = "hidden";
  1156. i = 1;
  1157. try {
  1158. while (i < 100)
  1159. {
  1160. menuObj = document.getElementById(i);
  1161. if (menuObj != null) {
  1162. menuObj.fireEvent("onfocusout");
  1163. }
  1164. i++;
  1165. }
  1166. }
  1167. catch (e) {i = 0;}
  1168. }
  1169. menu.onfocusout=function() {
  1170. var activeObj = document.activeElement;
  1171. if(activeObj.nodeName != "LI") {
  1172. this.style.visibility = "hidden";
  1173. }
  1174. }
  1175. menu.onkeydown=function() {
  1176. blockHideMe = false;
  1177. var currentObj = null;
  1178. currentObj = document.activeElement;
  1179. ///////////
  1180. //shift+tab key
  1181. ///////////
  1182. if(event.keyCode==9) {
  1183. // shift-tab key
  1184. if(event.shiftKey==true) {
  1185. if (document.URL.indexOf(".chm::")!=-1) {
  1186. //do nothing
  1187. }
  1188. else {
  1189. if(parseInt(currentObj.id) != "NaN") {
  1190. var aId = parseInt(currentObj.id)-1;
  1191. if(currentObj.id=="1") {
  1192. HideMe(parseInt(currentObj.id)+1, false);
  1193. currentObj.fireEvent("onfocusout");
  1194. }
  1195. else
  1196. {
  1197. infoCount = itemCount(document);
  1198. var collapsedSections = new Array();
  1199. collapsedSections = ulCount(document);
  1200. for (var a = 2; a < collapsedSections.length; a++)
  1201. {
  1202. if(currentObj.id==collapsedSections[a]-1) {
  1203. HideMe(parseInt(currentObj.id)+1, false);
  1204. currentObj.fireEvent("onfocusout");
  1205. aId=collapsedSections[a-1];
  1206. }
  1207. }
  1208. }//else
  1209. }
  1210. }
  1211. }
  1212. ///////////
  1213. //tab key
  1214. ///////////
  1215. else {
  1216. if (document.URL.indexOf(".chm::")!=-1) {
  1217. currentObj = document.getElementById(currentObj.id);
  1218. currentObj.fireEvent("onfocusout");
  1219. HideMe("InfoMenu", false);
  1220. currentObj = document.getElementById("collapseAllLabel");
  1221. currentObj.focus();
  1222. return;
  1223. } else {
  1224. if(parseInt(currentObj.id) != "NaN") {
  1225. infoCount = itemCount(document);
  1226. var collapsedSections = new Array();
  1227. collapsedSections = ulCount(document);
  1228. //Rule out first section
  1229. for (var a = 2; a < collapsedSections.length; a++)
  1230. {
  1231. if(currentObj.id==collapsedSections[a]-2) {
  1232. if (collapsedSections[a-1] != 1) {
  1233. var prevOne = document.getElementById(collapsedSections[a-1]);
  1234. prevOne.fireEvent("onfocusout");
  1235. }//if
  1236. }//if
  1237. }//for
  1238. var aId = parseInt(currentObj.id)+1;
  1239. var nextOne = document.getElementById(aId.toString());
  1240. if(nextOne !=null) {
  1241. if(nextOne.style.visibility=="hidden") {
  1242. nextOne.style.visibility = "visible";
  1243. }
  1244. if(nextOne.nodeName=="UL") {
  1245. nextOne.setActive();
  1246. aId = parseInt(nextOne.id)+1;
  1247. nextOne = document.getElementById(aId.toString());
  1248. if(nextOne !=null) {
  1249. if(nextOne.style.visibility=="hidden") {
  1250. nextOne.style.visibility = "visible";
  1251. }
  1252. }
  1253. }
  1254. nextOne.fireEvent("onmouseover");
  1255. }
  1256. }
  1257. }
  1258. }
  1259. } //if
  1260. ///////////
  1261. // down arrow key
  1262. ///////////
  1263. else if(event.keyCode==40) {
  1264. var aId = parseInt(currentObj.id)+1;
  1265. if(parseInt(currentObj.id) != "NaN") {
  1266. infoCount = itemCount(document);
  1267. var collapsedSections = new Array();
  1268. collapsedSections = ulCount(document);
  1269. //Rule out first section
  1270. if(currentObj.id=="1") {
  1271. HideMe(parseInt(currentObj.id)+1, false);
  1272. aId=collapsedSections[3]-1;
  1273. currentObj.fireEvent("onfocusout");
  1274. }
  1275. else if(currentObj.id==collapsedSections[collapsedSections.length-1]-1||currentObj.id==infoCount) {
  1276. currentObj = document.getElementById(currentObj.id);
  1277. currentObj.fireEvent("onfocusout");
  1278. HideMe("InfoMenu", false);
  1279. currentObj = document.getElementById("collapseAllLabel");
  1280. currentObj.focus();
  1281. return;
  1282. }
  1283. else {
  1284. for (var a = 2; a < collapsedSections.length; a++)
  1285. {
  1286. if(currentObj.id==collapsedSections[a]-2) {
  1287. currentObj.setActive();
  1288. currentObj = document.getElementById(collapsedSections[a-1]);
  1289. currentObj.fireEvent("onfocusout");
  1290. } else if(currentObj.id==collapsedSections[a]-1) {
  1291. HideMe(collapsedSections[a]+1, false);
  1292. aId=collapsedSections[a+1]-1;
  1293. currentObj.fireEvent("onfocusout");
  1294. }
  1295. }
  1296. }
  1297. var nextOne = document.getElementById(aId.toString());
  1298. if(nextOne !=null) {
  1299. if(nextOne.style.visibility=="hidden") {
  1300. nextOne.style.visibility = "visible";
  1301. }
  1302. if(nextOne.nodeName=="UL") {
  1303. nextOne.setActive();
  1304. aId = parseInt(nextOne.id)+1;
  1305. nextOne = document.getElementById(aId.toString());
  1306. if(nextOne !=null) {
  1307. if(nextOne.style.visibility=="hidden") {
  1308. nextOne.style.visibility = "visible";
  1309. }
  1310. }
  1311. }
  1312. nextOne.setActive();
  1313. nextOne.fireEvent("onmouseover");
  1314. }
  1315. }
  1316. }
  1317. ///////////
  1318. // right arrow key
  1319. ///////////
  1320. else if(event.keyCode==39) {
  1321. if(parseInt(currentObj.id) != "NaN") {
  1322. var aId = parseInt(currentObj.id);
  1323. infoCount = itemCount(document);
  1324. var collapsedSections = new Array();
  1325. collapsedSections = ulCount(document);
  1326. var foundOne = false;
  1327. for (var a = 2; a < collapsedSections.length; a++)
  1328. {
  1329. if (aId == 1 || aId == collapsedSections[a]-1) {
  1330. foundOne=true;
  1331. }
  1332. }
  1333. if (!foundOne) {
  1334. return;
  1335. }
  1336. aId++;
  1337. var nextOne = document.getElementById(aId.toString());
  1338. if(nextOne !=null) {
  1339. if(nextOne.style.visibility=="hidden") {
  1340. nextOne.style.visibility = "visible";
  1341. }
  1342. if(nextOne.nodeName=="UL") {
  1343. nextOne.setActive();
  1344. aId = parseInt(nextOne.id)+1;
  1345. nextOne = document.getElementById(aId.toString());
  1346. if(nextOne !=null) {
  1347. if(nextOne.style.visibility=="hidden") {
  1348. nextOne.style.visibility = "visible";
  1349. }
  1350. }
  1351. }
  1352. nextOne.setActive();
  1353. nextOne.fireEvent("onmouseover");
  1354. }
  1355. }
  1356. }
  1357. ///////////
  1358. // left arrow key
  1359. ///////////
  1360. else if(event.keyCode==37) {
  1361. if(parseInt(currentObj.id) != "NaN") {
  1362. var cId = parseInt(currentObj.id);
  1363. var aId = parseInt(currentObj.id)-1;
  1364. infoCount = itemCount(document);
  1365. var collapsedSections = new Array();
  1366. collapsedSections = ulCount(document);
  1367. for (var a = 1; a < collapsedSections.length; a++)
  1368. {
  1369. if (a != collapsedSections.length-1)
  1370. {
  1371. if (cId >= collapsedSections[a] && cId <= collapsedSections[a+1]) {
  1372. HideMe(collapsedSections[a], false);
  1373. currentObj.fireEvent("onfocusout");
  1374. aId=collapsedSections[a]-1;
  1375. }
  1376. }
  1377. else
  1378. {
  1379. if (cId >= collapsedSections[a] && cId <= infoCount) {
  1380. HideMe(collapsedSections[a], false);
  1381. currentObj.fireEvent("onfocusout");
  1382. aId=collapsedSections[a]-1;
  1383. }
  1384. }
  1385. }
  1386. var prevOne = document.getElementById(aId.toString());
  1387. if(prevOne !=null) {
  1388. if(prevOne.style.visibility=="hidden") {
  1389. prevOne.style.visibility = "visible";
  1390. }
  1391. prevOne.setActive();
  1392. prevOne.fireEvent("onmouseover");
  1393. }
  1394. }
  1395. }
  1396. ///////////
  1397. // up arrow key
  1398. ///////////
  1399. else if(event.keyCode==38) {
  1400. if(parseInt(currentObj.id) != "NaN") {
  1401. var aId = parseInt(currentObj.id)-1;
  1402. infoCount = itemCount(document);
  1403. var collapsedSections = new Array();
  1404. collapsedSections = ulCount(document);
  1405. //Rule out first section
  1406. if(currentObj.id=="1") {
  1407. currentObj = document.getElementById(collapsedSections[1]);
  1408. currentObj.fireEvent("onfocusout");
  1409. HideMe("InfoMenu", false);
  1410. currentObj = document.getElementById("collapseAllLabel");
  1411. currentObj.focus();
  1412. return;
  1413. }
  1414. else {
  1415. for (var a = 2; a < collapsedSections.length; a++)
  1416. {
  1417. if(currentObj.id==collapsedSections[a]-1) {
  1418. HideMe(parseInt(currentObj.id)+1, false);
  1419. currentObj.fireEvent("onfocusout");
  1420. aId=collapsedSections[a-1]-1;
  1421. }
  1422. }
  1423. }
  1424. if (aId==0) {
  1425. aId=1;
  1426. }
  1427. var prevOne = document.getElementById(aId.toString());
  1428. if(prevOne.nodeName=="UL") {
  1429. prevOne.fireEvent("onfocusout");
  1430. aId--;
  1431. prevOne = document.getElementById(aId.toString());
  1432. if(prevOne !=null) {
  1433. if(prevOne.style.visibility=="hidden") {
  1434. prevOne.style.visibility = "visible";
  1435. }
  1436. }
  1437. }
  1438. prevOne.setActive();
  1439. prevOne.fireEvent("onmouseover");
  1440. }
  1441. }
  1442. ///////////
  1443. // return key
  1444. ///////////
  1445. else if(event.keyCode==13) {
  1446. if(parseInt(currentObj.id) != "NaN") {
  1447. infoCount = itemCount(document);
  1448. var collapsedSections = new Array();
  1449. collapsedSections = ulCount(document);
  1450. var aId = parseInt(currentObj.id);
  1451. for (var a = 2; a < collapsedSections.length; a++)
  1452. {
  1453. if (aId >= collapsedSections[a-1] && aId <= collapsedSections[a]) {
  1454. var linkObj = currentObj.children.item(0);
  1455. location.href = linkObj;
  1456. linkObj.fireEvent("onclick");
  1457. }
  1458. }
  1459. }
  1460. }
  1461. }
  1462. navRoot = document.getElementById("InfoMenu");
  1463. for (i=0; i<navRoot.childNodes.length; i++) {
  1464. var node = navRoot.childNodes[i];
  1465. if (node.nodeName=="LI") {
  1466. node.onclick=function() {
  1467. this.setActive();
  1468. }
  1469. node.onfocus=function() {
  1470. if(this.style.visibility == "hidden") {
  1471. this.style.visibility = "visible";
  1472. }
  1473. if(parseInt(this.id)>-1) {
  1474. var aId = parseInt(this.id);
  1475. infoCount = itemCount(document);
  1476. var collapsedSections = new Array();
  1477. collapsedSections = ulCount(document);
  1478. for (var a = 1; a < collapsedSections.length; a++)
  1479. {
  1480. if (aId == collapsedSections[a]) {
  1481. aId++;
  1482. menuObj = document.getElementById(aId.toString())
  1483. if(menuObj.style.visibility == "hidden") {
  1484. menuObj.style.visibility = "visible";
  1485. return;
  1486. }//if
  1487. }//if
  1488. }//for
  1489. }
  1490. this.className+=" over";
  1491. }
  1492. node.onfocusout=function() {
  1493. this.className=this.className.replace(" over", "");
  1494. }
  1495. node.onmouseover=function() {
  1496. this.className+=" over";
  1497. if(parseInt(this.id)>-1) {
  1498. var aId = parseInt(this.id);
  1499. if(aId=="1") {
  1500. aId++;
  1501. menuObj = document.getElementById(aId.toString());
  1502. if(menuObj.style.visibility == "hidden") {
  1503. menuObj.style.visibility = "visible";
  1504. }
  1505. }
  1506. else {
  1507. infoCount = itemCount(document);
  1508. var collapsedSections = new Array();
  1509. collapsedSections = ulCount(document);
  1510. for (var a = 2; a < collapsedSections.length; a++)
  1511. {
  1512. if (aId == collapsedSections[a]-1) {
  1513. aId++;
  1514. menuObj = document.getElementById(aId.toString());
  1515. if(menuObj.style.visibility == "hidden") {
  1516. menuObj.style.visibility = "visible";
  1517. }//if
  1518. }//if
  1519. }//for
  1520. }
  1521. }
  1522. }
  1523. node.onmouseout=function() {
  1524. this.className=this.className.replace(" over", "");
  1525. }
  1526. }
  1527. }
  1528. }
  1529. function itemCount(document)
  1530. {
  1531. i = 1;
  1532. j = 0;
  1533. try {
  1534. while (i < 100)
  1535. {
  1536. menuObj = document.getElementById(i);
  1537. if (menuObj != null) {
  1538. //j is now the total of the menu
  1539. j++;
  1540. }
  1541. i++;
  1542. }
  1543. }
  1544. catch (e) {i = 0;}
  1545. return j;
  1546. }
  1547. function ulCount(document)
  1548. {
  1549. i = 1;
  1550. x = 2;
  1551. j = 0
  1552. var collapsedSections = new Array();
  1553. //set the top collapsed section to #1
  1554. collapsedSections[1] = 1;
  1555. try {
  1556. while (i < 100)
  1557. {
  1558. menuObj = document.getElementById(i);
  1559. if (menuObj != null) {
  1560. j++;
  1561. if (menuObj.nodeName=="UL")
  1562. {
  1563. collapsedSections[x] = j;
  1564. x++;
  1565. }
  1566. }
  1567. i++;
  1568. }
  1569. }
  1570. catch (e) {i = 0;}
  1571. return collapsedSections;
  1572. }
  1573. function Calculate_offsetTop(e)
  1574. {
  1575. if(e.tagName != 'DIV')
  1576. return e.offsetTop + Calculate_offsetTop(e.offsetParent);
  1577. else
  1578. return e.offsetTop;
  1579. }
  1580. function HideMe(elemId, firstElem)
  1581. {
  1582. var thisObj = document.getElementById(elemId);
  1583. if(firstElem==true) {
  1584. if(event.shiftKey==true) {
  1585. thisObj.style.visibility = "hidden";
  1586. }
  1587. }
  1588. else {
  1589. if(!blockHideMe) {
  1590. thisObj.style.visibility = "hidden";
  1591. }
  1592. }
  1593. blockHideMe=false;
  1594. }
  1595. function Hide_LangFilter()
  1596. {
  1597. var divElements = document.all.tags("div");
  1598. for(i = 0; i < divElements.length; ++i)
  1599. {
  1600. if(divElements[i].id == "syntaxSection")
  1601. {
  1602. return;
  1603. }
  1604. }
  1605. var spanElements = document.all.tags("span");
  1606. var i;
  1607. for(i = 0; i < spanElements.length; ++i)
  1608. {
  1609. if(spanElements[i].id == "languageFilterToolTip")
  1610. {
  1611. spanElements[i].style.display = "none";
  1612. return;
  1613. }
  1614. }
  1615. }
  1616. // ****************************************************************************
  1617. // * Reftips (parameter popups) *
  1618. // ****************************************************************************
  1619. function initReftips(){
  1620. var DLs = document.all.tags("DL");
  1621. var PREs = document.all.tags("SPAN");
  1622. if (DLs && PREs) {
  1623. var iDL = 0;
  1624. var iPRE = 0;
  1625. var iSyntax = -1;
  1626. for (var iPRE = 0; iPRE < PREs.length; iPRE++) {
  1627. if (PREs[iPRE].className == "parameter") {
  1628. while (iDL < DLs.length && DLs[iDL].sourceIndex < PREs[iPRE].sourceIndex)
  1629. iDL++;
  1630. if (iDL < DLs.length) {
  1631. initSyntax(PREs[iPRE], DLs[iDL]);
  1632. iSyntax = iPRE;
  1633. }
  1634. else
  1635. break;
  1636. }
  1637. }
  1638. if (iSyntax >= 0) {
  1639. var last = PREs[iSyntax];
  1640. if (last.parentElement.tagName == "DIV") last = last.parentElement; last.insertAdjacentHTML('afterEnd','<DIV ID=reftip CLASS=reftip STYLE="position:absolute;visibility:hidden;overflow:visible;"></DIV>');
  1641. }
  1642. }
  1643. }
  1644. function initSyntax(pre, dl){
  1645. var strSyn = pre.outerHTML;
  1646. var ichStart = strSyn.indexOf('>', 0) + 1;
  1647. var terms = dl.children.tags("DT");
  1648. if (terms) {
  1649. for (var iTerm = 0; iTerm < terms.length; iTerm++) {
  1650. if (terms[iTerm].innerHTML.indexOf("<!--join-->")!=-1){
  1651. var word = terms[iTerm].innerText.replace(/\s$/, "");
  1652. var ichMatch = findTerm(strSyn, ichStart, word);
  1653. if (ichMatch < 1){
  1654. word = word.replace(/\s/, "&nbsp;")
  1655. ichMatch = findTerm(strSyn, ichStart, word);
  1656. }
  1657. while (ichMatch > 0) {
  1658. var strTag = '<A HREF="" ONCLICK="showTip1(this)" CLASS="synParam">' + word + '</A>';
  1659. strSyn =
  1660. strSyn.slice(0, ichMatch) +
  1661. strTag +
  1662. strSyn.slice(ichMatch + word.length);
  1663. ichMatch = findTerm(strSyn, ichMatch + strTag.length, word);
  1664. }
  1665. }
  1666. }
  1667. for (var iTerm = 0; iTerm < terms.length; iTerm++) {
  1668. if (terms[iTerm].innerHTML.indexOf("<!--join-->")==-1){
  1669. var words = terms[iTerm].innerText.replace(/\[.+\]/g, " ").replace(/,/g, " ").split(" ");
  1670. var htm = terms[iTerm].innerHTML;
  1671. for (var iWord = 0; iWord < words.length; iWord++) {
  1672. var word = words[iWord];
  1673. if (word.length > 0 && htm.indexOf(word, 0) < 0)
  1674. word = word.replace(/:.+/, "");
  1675. if (word.length > 0) {
  1676. var ichMatch = findTerm(strSyn, ichStart, word);
  1677. while (ichMatch > 0) {
  1678. if (!isLinkText(strSyn.substring(ichMatch))){
  1679. var strTag = '<A HREF="" ONCLICK="showTip1(this)" CLASS="synParam">' + word + '</A>';
  1680. strSyn =
  1681. strSyn.slice(0, ichMatch) +
  1682. strTag +
  1683. strSyn.slice(ichMatch + word.length);
  1684. ichMatch = findTerm(strSyn, ichMatch + strTag.length, word);
  1685. }
  1686. else ichMatch = findTerm(strSyn, ichMatch + word.length, word);
  1687. }
  1688. }
  1689. }
  1690. }
  1691. }
  1692. }
  1693. // Replace the syntax block with our modified version.
  1694. pre.outerHTML = strSyn;
  1695. }
  1696. function findTerm(strSyn, ichPos, strTerm)
  1697. {
  1698. var ichMatch = strSyn.indexOf(strTerm, ichPos);
  1699. while (ichMatch >= 0) {
  1700. var prev = (ichMatch == 0) ? '\0' : strSyn.charAt(ichMatch - 1);
  1701. var next = strSyn.charAt(ichMatch + strTerm.length);
  1702. if (!isalnum(prev) && !isalnum(next) && !isInTag(strSyn, ichMatch)) {
  1703. var ichComment = strSyn.indexOf("/*", ichPos);
  1704. while (ichComment >= 0) {
  1705. if (ichComment > ichMatch) {
  1706. ichComment = -1;
  1707. break;
  1708. }
  1709. var ichEnd = strSyn.indexOf("*/", ichComment);
  1710. if (ichEnd < 0 || ichEnd > ichMatch)
  1711. break;
  1712. ichComment = strSyn.indexOf("/*", ichEnd);
  1713. }
  1714. if (ichComment < 0) {
  1715. ichComment = strSyn.indexOf("//", ichPos);
  1716. var newPos = 0;
  1717. if (ichComment >= 0) {
  1718. while (isInTag(strSyn, ichComment)) { //checks to see if the comment is in a tag (and thus part of a URL)
  1719. newPos = ichComment + 1;
  1720. ichComment = strSyn.indexOf("//", newPos);
  1721. if (ichComment < 0)
  1722. break;
  1723. }
  1724. while (ichComment >= 0) {
  1725. if (ichComment > ichMatch) {
  1726. ichComment = -1;
  1727. break;
  1728. }
  1729. var ichEnd = strSyn.indexOf("\n", ichComment);
  1730. if (ichEnd < 0 || ichEnd > ichMatch)
  1731. break;
  1732. ichComment = strSyn.indexOf("//", ichEnd);
  1733. }
  1734. }
  1735. }
  1736. if (ichComment < 0)
  1737. break;
  1738. }
  1739. ichMatch = strSyn.indexOf(strTerm, ichMatch + strTerm.length);
  1740. }
  1741. return ichMatch;
  1742. }
  1743. function isLinkText(strHtml){
  1744. return strHtml.indexOf("<")==strHtml.toLowerCase().indexOf("<\/a>");
  1745. }
  1746. function isInTag(strHtml, ichPos)
  1747. {
  1748. return strHtml.lastIndexOf('<', ichPos) >
  1749. strHtml.lastIndexOf('>', ichPos);
  1750. }
  1751. function isalnum(ch){
  1752. return ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9') || (ch == '_') || (ch == '-'));
  1753. }
  1754. function showTip1(link){
  1755. bodyOnClick();
  1756. var tip = document.all.reftip;
  1757. if (!tip || !link)
  1758. return;
  1759. window.event.returnValue = false;
  1760. window.event.cancelBubble = true;
  1761. // Hide the tip if necessary and initialize its size.
  1762. tip.style.visibility = "hidden";
  1763. tip.style.pixelWidth = 260;
  1764. tip.style.pixelHeigh

Large files files are truncated, but you can click here to view the full file