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

/Misc/Setup/ndocPatchFireFox.js

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