PageRenderTime 57ms CodeModel.GetById 28ms RepoModel.GetById 1ms app.codeStats 0ms

/docs/startHere.html/local/script_chm.js

#
JavaScript | 1274 lines | 991 code | 191 blank | 92 comment | 329 complexity | d0a0b9851b97a1c843edd07e0e039f03 MD5 | raw 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 vbUsage;
  8. var csLang;
  9. var cLang;
  10. var jsharpLang;
  11. var jsLang;
  12. var scrollPos = 0;
  13. var inheritedMembers;
  14. var protectedMembers;
  15. var netcfMembersOnly;
  16. // Initialize array of collapsed section image IDs
  17. var collapsedSections = new Array();
  18. var collapsedSectionsInitialized = false;
  19. function InitCollapsedSections()
  20. {
  21. var i = 0;
  22. var imageId = Load("imageValue" + i);
  23. while (imageId != null)
  24. {
  25. collapsedSections[imageId] = "not expanded";
  26. i++;
  27. imageId = Load("imageValue" + i);
  28. }
  29. }
  30. var noReentry = false;
  31. function OnLoadImage()
  32. {
  33. if (noReentry) return;
  34. if (!collapsedSectionsInitialized) { InitCollapsedSections(); collapsedSectionsInitialized = true; }
  35. elem = event.srcElement;
  36. if (ShouldExpand(elem))
  37. {
  38. noReentry = true;
  39. try
  40. {
  41. elem.src = collapseImage.src;
  42. ExpandSection(elem);
  43. RemoveCollapsedItem(elem.id);
  44. collapsedSections[elem.id] = "expanded";
  45. }
  46. catch (e)
  47. {
  48. }
  49. noReentry = false;
  50. }
  51. }
  52. function ShouldExpand(elem)
  53. {
  54. return (collapsedSections[elem.id] == null) || (Load("IsFirstPage") == null);
  55. }
  56. /*
  57. **********
  58. ********** Begin
  59. **********
  60. */
  61. function LoadPage()
  62. {
  63. /* This may cause a bug
  64. if(IsEvilUrl())
  65. {
  66. ReloadEvilUrlAsGoodUrl();
  67. return; // in just a moment, page will reload.
  68. }
  69. */
  70. // show correct language
  71. LoadLanguages();
  72. LoadMembersOptions();
  73. Set_up_checkboxes();
  74. DisplayLanguages();
  75. if(inheritedMembers=="off")
  76. DisplayInheritedMembers();
  77. if(protectedMembers=="off")
  78. DisplayProtectedMembers();
  79. if(netcfMembersOnly=="on")
  80. DisplayNETCFMembers();
  81. ChangeMembersOptionsFilterLabel();
  82. LoadSections();
  83. ResizeWindow();
  84. // vs70.js did this to allow up/down arrow scrolling, I think
  85. try { mainSection.setActive(); } catch(e) { }
  86. //set the scroll position
  87. try{mainSection.scrollTop = scrollPos;}
  88. catch(e){}
  89. }
  90. function Window_Unload()
  91. {
  92. if(IsGoodUrl())
  93. {
  94. // save persistable data (except when unloading from a "bad url")
  95. SaveLanguages();
  96. SaveMembersOptions();
  97. SaveSections();
  98. }
  99. }
  100. function ResizeWindow()
  101. {
  102. if (document.body.clientWidth==0) return;
  103. var header = document.all.item("header");
  104. var mainSection = document.all.item("mainSection");
  105. if (mainSection == null) return;
  106. document.body.scroll = "no"
  107. mainSection.style.overflow= "auto";
  108. header.style.width= document.body.offsetWidth - 2;
  109. //mainSection.style.paddingRight = "20px"; // Width issue code
  110. mainSection.style.width= document.body.offsetWidth - 4;
  111. mainSection.style.top=0;
  112. if (document.body.offsetHeight > header.offsetHeight + 10)
  113. mainSection.style.height= document.body.offsetHeight - (header.offsetHeight + 10);
  114. else
  115. mainSection.style.height=0;
  116. try
  117. {
  118. mainSection.setActive();
  119. }
  120. catch(e)
  121. {
  122. }
  123. }
  124. function Load(key)
  125. {
  126. // userDataCache.load("docSettings");
  127. // var value = userDataCache.getAttribute(key);
  128. // return value;
  129. return null;
  130. }
  131. function Save(key, value)
  132. {
  133. // userDataCache.setAttribute(key, value);
  134. // userDataCache.save("docSettings");
  135. }
  136. function RemoveAttribute(key)
  137. {
  138. // userDataCache.removeAttribute(key);
  139. // userDataCache.save("docSettings");
  140. }
  141. function set_to_print()
  142. {
  143. //breaks out of divs to print
  144. var i;
  145. if (window.text)document.all.text.style.height = "auto";
  146. for (i=0; i < document.all.length; i++)
  147. {
  148. if (document.all[i].tagName == "body")
  149. {
  150. document.all[i].scroll = "yes";
  151. }
  152. if (document.all[i].id == "header")
  153. {
  154. document.all[i].style.margin = "0px 0px 0px 0px";
  155. document.all[i].style.width = "100%";
  156. }
  157. if (document.all[i].id == "mainSection")
  158. {
  159. document.all[i].style.overflow = "visible";
  160. document.all[i].style.top = "5px";
  161. document.all[i].style.width = "100%";
  162. document.all[i].style.padding = "0px 10px 0px 30px";
  163. }
  164. }
  165. }
  166. function reset_form()
  167. {
  168. //returns to the div nonscrolling region after print
  169. document.location.reload();
  170. }
  171. function IsEvilUrl()
  172. {
  173. var url = "" + document.location + ".";
  174. var r = url.indexOf("mk:@MSITStore") != -1;
  175. return r;
  176. }
  177. function IsGoodUrl()
  178. {
  179. return !IsEvilUrl();
  180. }
  181. function ReloadEvilUrlAsGoodUrl()
  182. {
  183. var url = "" + document.location + ".";
  184. var i = url.indexOf("mk:@MSITStore");
  185. if(i != -1)
  186. {
  187. url = "ms-its:" + url.substring(14, url.length - 1);
  188. document.location.replace(url);
  189. }
  190. }
  191. function Set_up_checkboxes()
  192. {
  193. var checkbox;
  194. checkbox = document.getElementById("vbDeclarationCheckbox");
  195. if(checkbox != null)
  196. {
  197. if(vbDeclaration == "on")
  198. checkbox.checked = true;
  199. else
  200. checkbox.checked = false;
  201. }
  202. checkbox = document.getElementById("vbUsageCheckbox");
  203. if(checkbox != null)
  204. {
  205. if(vbUsage == "on")
  206. checkbox.checked = true;
  207. else
  208. checkbox.checked = false;
  209. }
  210. checkbox = document.getElementById("csCheckbox");
  211. if(checkbox != null)
  212. {
  213. if(csLang == "on")
  214. checkbox.checked = true;
  215. else
  216. checkbox.checked = false;
  217. }
  218. checkbox = document.getElementById("cCheckbox");
  219. if(checkbox != null)
  220. {
  221. if(cLang == "on")
  222. checkbox.checked = true;
  223. else
  224. checkbox.checked = false;
  225. }
  226. checkbox = document.getElementById("jsharpCheckbox");
  227. if(checkbox != null)
  228. {
  229. if(jsharpLang == "on")
  230. checkbox.checked = true;
  231. else
  232. checkbox.checked = false;
  233. }
  234. checkbox = document.getElementById("jsCheckbox");
  235. if(checkbox != null)
  236. {
  237. if(jsLang == "on")
  238. checkbox.checked = true;
  239. else
  240. checkbox.checked = false;
  241. }
  242. checkbox = document.getElementById("inheritedCheckbox");
  243. if(checkbox != null)
  244. {
  245. if(inheritedMembers == "on")
  246. checkbox.checked = true;
  247. else
  248. checkbox.checked = false;
  249. }
  250. checkbox = document.getElementById("protectedCheckbox");
  251. if(checkbox != null)
  252. {
  253. if(protectedMembers == "on")
  254. checkbox.checked = true;
  255. else
  256. checkbox.checked = false;
  257. }
  258. checkbox = document.getElementById("netcfCheckbox");
  259. if(checkbox != null)
  260. {
  261. if(netcfMembersOnly == "on")
  262. checkbox.checked = true;
  263. else
  264. checkbox.checked = false;
  265. }
  266. }
  267. /*
  268. **********
  269. ********** End
  270. **********
  271. */
  272. /*
  273. **********
  274. ********** Begin Language Filtering
  275. **********
  276. */
  277. function SetLanguage(key)
  278. {
  279. var i = 0;
  280. if(vbDeclaration == "on")
  281. i++;
  282. if(vbUsage == "on")
  283. i++;
  284. if(csLang == "on")
  285. i++;
  286. if(cLang == "on")
  287. i++;
  288. if(jsharpLang == "on")
  289. i++;
  290. if(jsLang == "on")
  291. i++;
  292. if(key.id == "vbDeclarationCheckbox")
  293. {
  294. if(vbDeclaration == "on")
  295. {
  296. if(i == 1)
  297. {
  298. key.checked = true;
  299. return;
  300. }
  301. vbDeclaration = "off";
  302. }
  303. else
  304. vbDeclaration = "on";
  305. }
  306. if(key.id == "vbUsageCheckbox")
  307. {
  308. if(vbUsage == "on")
  309. {
  310. if(i == 1)
  311. {
  312. key.checked = true;
  313. return;
  314. }
  315. vbUsage = "off";
  316. }
  317. else
  318. vbUsage = "on";
  319. }
  320. if(key.id == "csCheckbox")
  321. {
  322. if(csLang == "on")
  323. {
  324. if(i == 1)
  325. {
  326. key.checked = true;
  327. return;
  328. }
  329. csLang = "off";
  330. }
  331. else
  332. csLang = "on";
  333. }
  334. if(key.id == "cCheckbox")
  335. {
  336. if(cLang == "on")
  337. {
  338. if(i == 1)
  339. {
  340. key.checked = true;
  341. return;
  342. }
  343. cLang = "off";
  344. }
  345. else
  346. cLang = "on";
  347. }
  348. if(key.id == "jsharpCheckbox")
  349. {
  350. if(jsharpLang == "on")
  351. {
  352. if(i == 1)
  353. {
  354. key.checked = true;
  355. return;
  356. }
  357. jsharpLang = "off";
  358. }
  359. else
  360. jsharpLang = "on";
  361. }
  362. if(key.id == "jsCheckbox")
  363. {
  364. if(jsLang == "on")
  365. {
  366. if(i == 1)
  367. {
  368. key.checked = true;
  369. return;
  370. }
  371. jsLang = "off";
  372. }
  373. else
  374. jsLang = "on";
  375. }
  376. DisplayLanguages();
  377. }
  378. function DisplayLanguages()
  379. {
  380. var spanElements = document.all.tags("span");
  381. var x = 0;
  382. if(vbDeclaration == "on")
  383. x++;
  384. if(vbUsage == "on")
  385. x++;
  386. if(csLang == "on")
  387. x++;
  388. if(cLang == "on")
  389. x++;
  390. if(jsharpLang == "on")
  391. x++;
  392. if(jsLang == "on")
  393. x++;
  394. var i;
  395. for(i = 0; i < spanElements.length; ++i)
  396. {
  397. if(spanElements[i].codeLanguage != null)
  398. {
  399. if(spanElements[i].codeLanguage == "VisualBasic")
  400. {
  401. if(vbDeclaration == "on" || vbUsage == "on")
  402. spanElements[i].style.display = "";
  403. else
  404. spanElements[i].style.display = "none";
  405. }
  406. if(spanElements[i].codeLanguage == "VisualBasicDeclaration")
  407. {
  408. if(vbDeclaration == "on")
  409. spanElements[i].style.display = "";
  410. else
  411. spanElements[i].style.display = "none";
  412. }
  413. if(spanElements[i].codeLanguage == "VisualBasicUsage")
  414. {
  415. if(vbUsage == "on")
  416. spanElements[i].style.display = "";
  417. else
  418. spanElements[i].style.display = "none";
  419. }
  420. if(spanElements[i].codeLanguage == "CSharp")
  421. {
  422. if(csLang == "on")
  423. spanElements[i].style.display = "";
  424. else
  425. spanElements[i].style.display = "none";
  426. }
  427. if(spanElements[i].codeLanguage == "ManagedCPlusPlus")
  428. {
  429. if(cLang == "on")
  430. spanElements[i].style.display = "";
  431. else
  432. spanElements[i].style.display = "none";
  433. }
  434. if(spanElements[i].codeLanguage == "JSharp")
  435. {
  436. if(jsharpLang == "on")
  437. spanElements[i].style.display = "";
  438. else
  439. spanElements[i].style.display = "none";
  440. }
  441. if(spanElements[i].codeLanguage == "JScript")
  442. {
  443. if(jsLang == "on")
  444. spanElements[i].style.display = "";
  445. else
  446. spanElements[i].style.display = "none";
  447. }
  448. if(spanElements[i].codeLanguage == "NotVisualBasicUsage")
  449. {
  450. if((x == 1) && (vbUsage == "on"))
  451. {
  452. spanElements[i].style.display = "none";
  453. }
  454. else
  455. {
  456. spanElements[i].style.display = "";
  457. }
  458. }
  459. }
  460. }
  461. ChangeLanguageFilterLabel();
  462. }
  463. function ChangeLanguageFilterLabel()
  464. {
  465. var i = 0;
  466. if(vbDeclaration == "on")
  467. i++;
  468. if(vbUsage == "on")
  469. i++;
  470. if(csLang == "on")
  471. i++;
  472. if(cLang == "on")
  473. i++;
  474. if(jsharpLang == "on")
  475. i++;
  476. if(jsLang == "on")
  477. i++;
  478. var labelElement;
  479. labelElement = document.getElementById("showAllLabel");
  480. if(labelElement == null)
  481. return;
  482. labelElement.style.display = "none";
  483. labelElement = document.getElementById("multipleLabel");
  484. labelElement.style.display = "none";
  485. labelElement = document.getElementById("vbLabel");
  486. labelElement.style.display = "none";
  487. labelElement = document.getElementById("csLabel");
  488. labelElement.style.display = "none";
  489. labelElement = document.getElementById("cLabel");
  490. labelElement.style.display = "none";
  491. labelElement = document.getElementById("jsharpLabel");
  492. labelElement.style.display = "none";
  493. labelElement = document.getElementById("jsLabel");
  494. labelElement.style.display = "none";
  495. if(i == 6)
  496. {
  497. labelElement = document.getElementById("showAllLabel");
  498. labelElement.style.display = "inline";
  499. }
  500. else if ((i > 1) && (i < 6))
  501. {
  502. if((i == 2) && ((vbDeclaration == "on") && (vbUsage == "on")))
  503. {
  504. labelElement = document.getElementById("vbLabel");
  505. labelElement.style.display = "inline";
  506. }
  507. else
  508. {
  509. labelElement = document.getElementById("multipleLabel");
  510. labelElement.style.display = "inline";
  511. }
  512. }
  513. else if (i == 1)
  514. {
  515. if(vbDeclaration == "on" || vbUsage == "on")
  516. {
  517. labelElement = document.getElementById("vbLabel");
  518. labelElement.style.display = "inline";
  519. }
  520. if(csLang == "on")
  521. {
  522. labelElement = document.getElementById("csLabel");
  523. labelElement.style.display = "inline";
  524. }
  525. if(cLang == "on")
  526. {
  527. labelElement = document.getElementById("cLabel");
  528. labelElement.style.display = "inline";
  529. }
  530. if(jsharpLang == "on")
  531. {
  532. labelElement = document.getElementById("jsharpLabel");
  533. labelElement.style.display = "inline";
  534. }
  535. if(jsLang == "on")
  536. {
  537. labelElement = document.getElementById("jsLabel");
  538. labelElement.style.display = "inline";
  539. }
  540. }
  541. }
  542. function LoadLanguages()
  543. {
  544. var value;
  545. value = Load("vbDeclaration");
  546. if(value == null)
  547. vbDeclaration = "on";
  548. else
  549. vbDeclaration = value;
  550. value = Load("vbUsage");
  551. if(value == null)
  552. vbUsage = "on";
  553. else
  554. vbUsage = value;
  555. value = Load("csLang");
  556. if(value == null)
  557. csLang = "on";
  558. else
  559. csLang = value;
  560. value = Load("cLang");
  561. if(value == null)
  562. cLang = "on";
  563. else
  564. cLang = value;
  565. value = Load("jsharpLang");
  566. if(value == null)
  567. jsharpLang = "on";
  568. else
  569. jsharpLang = value;
  570. value = Load("jsLang");
  571. if(value == null)
  572. jsLang = "on";
  573. else
  574. jsLang = value;
  575. }
  576. function SaveLanguages()
  577. {
  578. Save("vbDeclaration", vbDeclaration);
  579. Save("vbUsage", vbUsage);
  580. Save("csLang", csLang);
  581. Save("cLang", cLang);
  582. Save("jsharpLang", jsharpLang);
  583. Save("jsLang", jsLang);
  584. }
  585. /*
  586. **********
  587. ********** End Language Filtering
  588. **********
  589. */
  590. /*
  591. **********
  592. ********** Begin Members Options Filtering
  593. **********
  594. */
  595. function SetMembersOptions(key)
  596. {
  597. if(key.id == "inheritedCheckbox")
  598. {
  599. if(key.checked == true)
  600. inheritedMembers = "on";
  601. else
  602. inheritedMembers = "off";
  603. DisplayInheritedMembers();
  604. }
  605. if(key.id == "protectedCheckbox")
  606. {
  607. if(key.checked == true)
  608. protectedMembers = "on";
  609. else
  610. protectedMembers = "off";
  611. DisplayProtectedMembers();
  612. }
  613. if(key.id == "netcfCheckbox")
  614. {
  615. if(key.checked == true)
  616. netcfMembersOnly = "on";
  617. else
  618. netcfMembersOnly = "off";
  619. DisplayNETCFMembers();
  620. }
  621. ChangeMembersOptionsFilterLabel();
  622. }
  623. function DisplayInheritedMembers()
  624. {
  625. var iMembers = document.all.tags("tr");
  626. var i;
  627. if(inheritedMembers == "off")
  628. {
  629. for(i = 0; i < iMembers.length; ++i)
  630. {
  631. if(iMembers[i].name == "inheritedMember")
  632. iMembers[i].style.display = "none";
  633. }
  634. }
  635. else
  636. {
  637. for(i = 0; i < iMembers.length; ++i)
  638. {
  639. if(iMembers[i].name == "inheritedMember")
  640. {
  641. if(netcfMembersOnly == "on")
  642. {
  643. if(iMembers[i].notSupportedOn == "netcf")
  644. {
  645. iMembers[i].style.display = "none";
  646. }
  647. else
  648. {
  649. iMembers[i].style.display = "";
  650. }
  651. }
  652. else
  653. iMembers[i].style.display = "";
  654. }
  655. }
  656. }
  657. }
  658. function DisplayProtectedMembers()
  659. {
  660. var imgElements = document.getElementsByName("toggleSwitch");
  661. var i;
  662. if(protectedMembers == "off")
  663. {
  664. for(i = 0; i < imgElements.length; ++i)
  665. {
  666. if(imgElements[i].id.indexOf("Family", 0) == 0)
  667. {
  668. if(ItemCollapsed(imgElements[i].id) == false)
  669. {
  670. ExpandCollapse(imgElements[i]);
  671. }
  672. }
  673. }
  674. }
  675. else
  676. {
  677. for(i = 0; i < imgElements.length; ++i)
  678. {
  679. if(imgElements[i].id.indexOf("Family", 0) == 0)
  680. {
  681. if(ItemCollapsed(imgElements[i].id) == true)
  682. {
  683. ExpandCollapse(imgElements[i]);
  684. }
  685. }
  686. }
  687. }
  688. }
  689. function DisplayNETCFMembers()
  690. {
  691. var netcfMembers = document.all.tags("tr");
  692. var i;
  693. if(netcfMembersOnly == "off")
  694. {
  695. for(i = 0; i < netcfMembers.length; ++i)
  696. {
  697. if(netcfMembers[i].notSupportedOn == "netcf")
  698. {
  699. netcfMembers[i].style.display = "";
  700. }
  701. }
  702. DisplayInheritedMembers();
  703. }
  704. else
  705. {
  706. for(i = 0; i < netcfMembers.length; ++i)
  707. {
  708. if(netcfMembers[i].notSupportedOn == "netcf")
  709. {
  710. netcfMembers[i].style.display = "none";
  711. }
  712. }
  713. }
  714. }
  715. function ChangeMembersOptionsFilterLabel()
  716. {
  717. var filtered = false;
  718. if((inheritedMembers=="off") || (protectedMembers=="off") || (netcfMembersOnly=="on"))
  719. filtered = true;
  720. var labelElement;
  721. labelElement = document.getElementById("showAllMembersLabel");
  722. if(labelElement == null)
  723. return;
  724. labelElement.style.display = "none";
  725. labelElement = document.getElementById("filteredMembersLabel");
  726. labelElement.style.display = "none";
  727. if(filtered)
  728. {
  729. labelElement = document.getElementById("filteredMembersLabel");
  730. labelElement.style.display = "inline";
  731. }
  732. else
  733. {
  734. labelElement = document.getElementById("showAllMembersLabel");
  735. labelElement.style.display = "inline";
  736. }
  737. }
  738. function LoadMembersOptions()
  739. {
  740. var value;
  741. value = Load("inheritedMembers");
  742. if(value == null)
  743. inheritedMembers = "on";
  744. else
  745. inheritedMembers = value;
  746. value = Load("protectedMembers");
  747. if(value == null)
  748. protectedMembers = "on";
  749. else
  750. protectedMembers = value;
  751. value = Load("netcfMembersOnly");
  752. if(value == null)
  753. netcfMembersOnly = "off";
  754. else
  755. netcfMembersOnly = value;
  756. }
  757. function SaveMembersOptions()
  758. {
  759. Save("inheritedMembers", inheritedMembers);
  760. Save("protectedMembers", protectedMembers);
  761. Save("netcfMembersOnly", netcfMembersOnly);
  762. }
  763. /*
  764. **********
  765. ********** End Members Options Filtering
  766. **********
  767. */
  768. /*
  769. **********
  770. ********** Begin Expand/Collapse
  771. **********
  772. */
  773. var collapsedItems = new Array();
  774. function ExpandCollapse(imageItem)
  775. {
  776. noReentry = true; // Prevent entry to OnLoadImage
  777. if(ItemCollapsed(imageItem.id) == true)
  778. {
  779. imageItem.src = collapseImage.src;
  780. ExpandSection(imageItem);
  781. RemoveCollapsedItem(imageItem.id);
  782. if(imageItem.id.indexOf("Family", 0) == 0)
  783. {
  784. protectedMembers = "on";
  785. Set_up_checkboxes();
  786. ChangeMembersOptionsFilterLabel();
  787. }
  788. }
  789. else
  790. {
  791. imageItem.src = expandImage.src;
  792. CollapseSection(imageItem);
  793. AddCollapsedItem(imageItem.id);
  794. }
  795. SetCollapseAll();
  796. noReentry = false;
  797. }
  798. function ExpandCollapseAll(imageItem)
  799. {
  800. noReentry = true; // Prevent entry to OnLoadImage
  801. var imgElements = document.getElementsByName("toggleSwitch");
  802. var i;
  803. if(ItemCollapsed(imageItem.id) == true)
  804. {
  805. imageItem.src = collapseAllImage.src;
  806. RemoveCollapsedItem(imageItem.id);
  807. for(i = 0; i < imgElements.length; ++i)
  808. {
  809. imgElements[i].src = collapseImage.src;
  810. ExpandSection(imgElements[i]);
  811. RemoveCollapsedItem(imgElements[i].id);
  812. if(imgElements[i].id.indexOf("Family", 0) == 0)
  813. protectedMembers = "on";
  814. }
  815. SetToggleAllLabel(false);
  816. }
  817. else
  818. {
  819. imageItem.src = expandAllImage.src;
  820. AddCollapsedItem(imageItem.id);
  821. for(i = 0; i < imgElements.length; ++i)
  822. {
  823. imgElements[i].src = expandImage.src;
  824. CollapseSection(imgElements[i]);
  825. AddCollapsedItem(imgElements[i].id);
  826. }
  827. SetToggleAllLabel(true);
  828. }
  829. noReentry = false;
  830. }
  831. function ExpandCollapse_CheckKey(imageItem)
  832. {
  833. if(window.event.keyCode == 13)
  834. ExpandCollapse(imageItem);
  835. }
  836. function ExpandCollapseAll_CheckKey(imageItem)
  837. {
  838. if(window.event.keyCode == 13)
  839. ExpandCollapseAll(imageItem);
  840. }
  841. function ExpandSection(imageItem)
  842. {
  843. imageItem.parentElement.parentElement.nextSibling.style.display = "";
  844. }
  845. function CollapseSection(imageItem)
  846. {
  847. imageItem.parentElement.parentElement.nextSibling.style.display = "none";
  848. }
  849. function SetCollapseAll()
  850. {
  851. var imageElement = document.getElementById("toggleAllImage");
  852. if(imageElement == null)
  853. return;
  854. var imgElements = document.getElementsByName("toggleSwitch");
  855. var allCollapsed = true;
  856. var i;
  857. for(i = 0; i < imgElements.length; ++i)
  858. {
  859. allCollapsed = allCollapsed && ItemCollapsed(imgElements[i].id)
  860. }
  861. if(allCollapsed)
  862. {
  863. imageElement.src = expandAllImage.src;
  864. AddCollapsedItem(imageElement.id);
  865. }
  866. else
  867. {
  868. imageElement.src = collapseAllImage.src;
  869. RemoveCollapsedItem(imageElement.id);
  870. }
  871. SetToggleAllLabel(allCollapsed);
  872. }
  873. function SetToggleAllLabel(allCollapsed)
  874. {
  875. var labelElement;
  876. labelElement = document.getElementById("collapseAllLabel");
  877. if(labelElement == null)
  878. return;
  879. labelElement.style.display = "none";
  880. labelElement = document.getElementById("expandAllLabel");
  881. labelElement.style.display = "none";
  882. if(allCollapsed)
  883. {
  884. labelElement = document.getElementById("expandAllLabel");
  885. labelElement.style.display = "inline";
  886. }
  887. else
  888. {
  889. labelElement = document.getElementById("collapseAllLabel");
  890. labelElement.style.display = "inline";
  891. }
  892. }
  893. function ItemCollapsed(imageId)
  894. {
  895. var i;
  896. for(i = 0; i < collapsedItems.length; ++i)
  897. {
  898. if(imageId == collapsedItems[i])
  899. return true;
  900. }
  901. return false;
  902. }
  903. function AddCollapsedItem(imageId)
  904. {
  905. collapsedItems[collapsedItems.length] = imageId;
  906. }
  907. function RemoveCollapsedItem(imageId)
  908. {
  909. var i;
  910. for(i = 0; i < collapsedItems.length; ++i)
  911. {
  912. if(imageId == collapsedItems[i])
  913. collapsedItems.splice(i, 1);
  914. }
  915. }
  916. function SaveSections()
  917. {
  918. var i;
  919. var x = 0;
  920. CleanUserDataStore();
  921. for(i = 0; i < collapsedItems.length; ++i)
  922. {
  923. if(ShouldSave(collapsedItems[i]) == true)
  924. {
  925. Save("imageValue" + x, collapsedItems[i]);
  926. x++;
  927. }
  928. }
  929. Save("IsFirstPage", false);
  930. }
  931. function LoadSections()
  932. {
  933. var i = 0;
  934. var imageId = Load("imageValue" + i);
  935. while(imageId != null)
  936. {
  937. var imageItem = document.getElementById(imageId);
  938. if(imageItem != null && collapsedSections[imageId] == "not expanded")
  939. {
  940. RemoveCollapsedItem(imageId);
  941. if(imageItem.id.indexOf("Family", 0) == 0)
  942. {
  943. if(protectedMembers == "on")
  944. {
  945. ExpandCollapse(imageItem);
  946. }
  947. }
  948. else
  949. {
  950. ExpandCollapse(imageItem);
  951. }
  952. }
  953. i++;
  954. imageId = Load("imageValue" + i);
  955. }
  956. SetCollapseAll();
  957. }
  958. function CleanUserDataStore()
  959. {
  960. var i = 0;
  961. var imageId = Load("imageValue" + i);
  962. while(imageId != null)
  963. {
  964. RemoveAttribute("imageValue" + i);
  965. i++;
  966. imageId = Load("imageValue" + i);
  967. }
  968. }
  969. function ShouldSave(imageId)
  970. {
  971. var toggleName;
  972. if(imageId == "toggleAllImage")
  973. return false;
  974. toggleName = "procedureToggle";
  975. if(imageId.indexOf(toggleName, 0) == 0)
  976. return false;
  977. toggleName = "sectionToggle";
  978. if(imageId.indexOf(toggleName, 0) == 0)
  979. return false;
  980. return true;
  981. }
  982. function OpenSection(imageItem)
  983. {
  984. try
  985. {
  986. if(ItemCollapsed(imageItem.id) == true) ExpandCollapse(imageItem);
  987. }
  988. catch (e)
  989. {
  990. }
  991. }
  992. /*
  993. **********
  994. ********** End Expand/Collapse
  995. **********
  996. */
  997. /*
  998. **********
  999. ********** Begin Copy Code
  1000. **********
  1001. */
  1002. function CopyCode(key)
  1003. {
  1004. var trElements = document.all.tags("tr");
  1005. var i;
  1006. for(i = 0; i < trElements.length; ++i)
  1007. {
  1008. if(key.parentElement.parentElement.parentElement == trElements[i].parentElement)
  1009. {
  1010. window.clipboardData.setData("Text", trElements[i].innerText);
  1011. }
  1012. }
  1013. }
  1014. function ChangeCopyCodeIcon(key)
  1015. {
  1016. var i;
  1017. var imageElements = document.getElementsByName("ccImage")
  1018. for(i=0; i<imageElements.length; ++i)
  1019. {
  1020. if(imageElements[i].parentElement == key)
  1021. {
  1022. if(imageElements[i].src == copyImage.src)
  1023. imageElements[i].src = copyHoverImage.src;
  1024. else
  1025. imageElements[i].src = copyImage.src;
  1026. }
  1027. }
  1028. }
  1029. function CopyCode_CheckKey(key)
  1030. {
  1031. if(window.event.keyCode == 13)
  1032. CopyCode(key);
  1033. }
  1034. /*
  1035. **********
  1036. ********** End Copy Code
  1037. **********
  1038. */
  1039. /*
  1040. **********
  1041. ********** Begin Maintain Scroll Position
  1042. **********
  1043. */
  1044. function loadAll(){
  1045. try
  1046. {
  1047. scrollPos = allHistory.getAttribute("Scroll");
  1048. }
  1049. catch(e){}
  1050. }
  1051. function saveAll(){
  1052. try
  1053. {
  1054. allHistory.setAttribute("Scroll", mainSection.scrollTop);
  1055. }
  1056. catch(e){}
  1057. }
  1058. /*
  1059. **********
  1060. ********** End Maintain Scroll Position
  1061. **********
  1062. */
  1063. /*
  1064. **********
  1065. ********** Begin Send Mail
  1066. **********
  1067. */
  1068. function formatMailToLink(anchor)
  1069. {
  1070. var release = "Release: " + anchor.doc_Release;
  1071. var topicId = "Topic ID: " + anchor.doc_TopicID;
  1072. var topicTitle = "Topic Title: " + anchor.doc_TopicTitle;
  1073. var url = "URL: " + document.URL;
  1074. var browser = "Browser: " + window.navigator.userAgent;
  1075. var crlf = "%0d%0a";
  1076. var body = release + crlf + topicId + crlf + topicTitle + crlf + url + crlf + browser + crlf + crlf + "Comments:" + crlf + crlf;
  1077. anchor.href = anchor.href + "&body=" + body;
  1078. }
  1079. /*
  1080. **********
  1081. ********** End Send Mail
  1082. **********
  1083. */