PageRenderTime 60ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 1ms

/trunk/Sandcastle/Presentation/hana/Scripts/script_manifold.js

#
JavaScript | 1697 lines | 1328 code | 204 blank | 165 comment | 468 complexity | 6b91c5601541f8c542fc17ea53352d62 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  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 languageFilter;
  7. var data;
  8. var tf;
  9. var mf;
  10. var lang = 'CSharp';
  11. var vbDeclaration;
  12. var vbUsage;
  13. var csLang;
  14. var cLang;
  15. var jsharpLang;
  16. var jsLang;
  17. var xamlLang;
  18. var scrollPos = 0;
  19. var inheritedMembers;
  20. var protectedMembers;
  21. var netcfMembersOnly;
  22. var netXnaMembersOnly;
  23. // Initialize array of section states
  24. var sectionStates = new Array();
  25. var sectionStatesInitialized = false;
  26. //Hide sample source in select element
  27. function HideSelect()
  28. {
  29. var selectTags = document.getElementsByTagName("SELECT");
  30. var spanEles = document.getElementsByTagName("span");
  31. var i = 10;
  32. var m;
  33. if (selectTags.length != null || selectTags.length >0)
  34. {
  35. for (n=0; n<selectTags.length; n++)
  36. {
  37. var lan = selectTags(n).getAttribute("id").substr("10");
  38. //hide the first select that is on
  39. switch (lan.toLowerCase())
  40. {
  41. case "visualbasic":
  42. //alert(lan);
  43. for (m=0; m<spanEles.length; m++)
  44. {
  45. if (spanEles[m].getAttribute("codeLanguage") == "VisualBasic" && spanEles[m].style.display != "none" && n <i)
  46. i = n;
  47. }
  48. break;
  49. case "visualbasicdeclaration":
  50. for (m=0; m<spanEles.length; m++)
  51. {
  52. if (spanEles[m].getAttribute("codeLanguage") == "VisualBasicDeclaration" && spanEles[m].style.display != "none" && n < i)
  53. i = n;
  54. }
  55. break;
  56. case "visualbasicusage":
  57. //alert(lan);
  58. for (m=0; m<spanEles.length; m++)
  59. {
  60. if (spanEles[m].getAttribute("codeLanguage") == "VisualBasicUsage" && spanEles[m].style.display != "none" && n <i)
  61. i = n;
  62. }
  63. break;
  64. case "csharp":
  65. for (m=0; m<spanEles.length; m++)
  66. {
  67. if (spanEles[m].getAttribute("codeLanguage") == "CSharp" && spanEles[m].style.display != "none" && n < i)
  68. i = n;
  69. }
  70. break;
  71. case "managedcplusplus":
  72. for (m=0; m<spanEles.length; m++)
  73. {
  74. if (spanEles[m].getAttribute("codeLanguage") == "ManagedCPlusPlus" && spanEles[m].style.display != "none" && n < i)
  75. i = n;
  76. }
  77. break;
  78. case "jsharp":
  79. for (m=0; m<spanEles.length; m++)
  80. {
  81. if (spanEles[m].getAttribute("codeLanguage") == "JSharp" && spanEles[m].style.display != "none" && n < i)
  82. i = n;
  83. }
  84. break;
  85. case "jscript":
  86. for (m=0; m<spanEles.length; m++)
  87. {
  88. if (spanEles[m].getAttribute("codeLanguage") == "JScript" && spanEles[m].style.display != "none" && n < i)
  89. i = n;
  90. }
  91. break;
  92. case "xaml":
  93. //alert(lan);
  94. for (m=0; m<spanEles.length; m++)
  95. {
  96. if (spanEles[m].getAttribute("codeLanguage") == "XAML" && spanEles[m].style.display != "none" && n <i)
  97. i = n;
  98. }
  99. break;
  100. case "javascript":
  101. for (m=0; m<spanEles.length; m++)
  102. {
  103. if (spanEles[m].getAttribute("codeLanguage") == "JavaScript" && spanEles[m].style.display != "none" && n <i)
  104. i = n;
  105. }
  106. break;
  107. }
  108. }
  109. if (i != 10)
  110. selectTags(i).style.visibility = "hidden";
  111. }
  112. else{ alert("Not found!");}
  113. }
  114. function UnHideSelect()
  115. {
  116. var selectTags = document.getElementsByTagName("SELECT");
  117. var n;
  118. //un-hide all the select sections
  119. if (selectTags.length != null || selectTags.length >0)
  120. {
  121. for (n=0; n<selectTags.length; n++)
  122. selectTags(n).style.visibility = "visible";
  123. }
  124. }
  125. function InitSectionStates()
  126. {
  127. sectionStatesInitialized = true;
  128. if (globals == null) globals = GetGlobals();
  129. // SectionStates has the format:
  130. //
  131. // firstSectionId:state;secondSectionId:state;thirdSectionId:state; ... ;lastSectionId:state
  132. //
  133. // where state is either "e" (expanded) or "c" (collapsed)
  134. // get the SectionStates from the previous topics
  135. var states = Load("SectionStates");
  136. var start = 0;
  137. var end;
  138. var section;
  139. var state;
  140. var allCollapsed = false;
  141. // copy the previous section states to the sectionStates array for the current page
  142. if (states != null && states != "")
  143. {
  144. allCollapsed = true;
  145. while (start < states.length)
  146. {
  147. end = states.indexOf(":", start);
  148. section = states.substring(start, end);
  149. start = end + 1;
  150. end = states.indexOf(";", start);
  151. if (end == -1) end = states.length;
  152. state = states.substring(start, end);
  153. sectionStates[section] = state;
  154. allCollapsed = allCollapsed && (state == "c");
  155. start = end + 1;
  156. }
  157. }
  158. // now set the state for any section ids in the current document that weren't in previous
  159. var imgElements = document.getElementsByName("toggleSwitch");
  160. var i;
  161. for (i = 0; i < imgElements.length; ++i)
  162. sectionStates[imgElements[i].id] = GetInitialSectionState(imgElements[i].id, allCollapsed);
  163. }
  164. function GetInitialSectionState(itemId, allCollapsed)
  165. {
  166. // if the global state is "allCollapsed", set all section states to collapsed
  167. if (allCollapsed) return "c";
  168. // generic <section> node ids begin with "sectionToggle", so the same id can refer to different sections in different topics
  169. // we don't want to persist their state; set it to expanded
  170. if (itemId.indexOf("sectionToggle", 0) == 0) return "e";
  171. // the default state for new section ids is expanded
  172. if (sectionStates[itemId] == null) return "e";
  173. // otherwise, persist the passed in state
  174. return sectionStates[itemId];
  175. }
  176. var noReentry = false;
  177. function OnLoadImage(eventObj)
  178. {
  179. if (noReentry) return;
  180. if (!sectionStatesInitialized)
  181. InitSectionStates();
  182. var elem;
  183. if(document.all) elem = eventObj.srcElement;
  184. else elem = eventObj.target;
  185. if ((sectionStates[elem.id] == "e"))
  186. ExpandSection(elem);
  187. else if((sectionStates[elem.id] == "c"))
  188. CollapseSection(elem);
  189. }
  190. /*
  191. **********
  192. ********** Begin
  193. **********
  194. */
  195. function LoadPage()
  196. {
  197. // If not initialized, grab the DTE.Globals object
  198. if (globals == null) globals = GetGlobals();
  199. // show correct language
  200. LoadLanguages();
  201. LoadMembersOptions();
  202. Set_up_checkboxes();
  203. DisplayLanguages();
  204. DisplayFilteredMembers();
  205. ChangeMembersOptionsFilterLabel();
  206. if (!sectionStatesInitialized)
  207. InitSectionStates();
  208. var imgElements = document.getElementsByName("toggleSwitch");
  209. for (i = 0; i < imgElements.length; i++)
  210. {
  211. if ((sectionStates[imgElements[i].id] == "e"))
  212. ExpandSection(imgElements[i]);
  213. else
  214. CollapseSection(imgElements[i]);
  215. }
  216. SetCollapseAll();
  217. // ResizeWindow();
  218. // split screen
  219. var screen = new SplitScreen('header', 'mainSection');
  220. // filtering dropdowns
  221. if (document.getElementById('languageSpan') != null) {
  222. var languageMenu = new Dropdown('languageFilterToolTip', 'languageSpan');
  223. languageFilter = new Selector('languageSpan');
  224. languageFilter.register(codeBlockHandler);
  225. languageFilter.register(styleSheetHandler);
  226. languageFilter.register(persistenceHandler);
  227. languageFilter.register(languageHandler);
  228. toggleLanguage('languageSpan', 'x-lang', 'CSharp');
  229. toggleInlineStyle('cs');
  230. }
  231. if (document.getElementById('membersOptionsFilterToolTip') != null) {
  232. var languageMenu = new Dropdown('membersOptionsFilterToolTip', 'membersOptionsSpan');
  233. }
  234. data = new DataStore('docs');
  235. registerEventHandler(window, 'load', function() {if (languageFilter != null) languageFilter.select(data)});
  236. // process tab behavior for syntax, snippets, type and member sections
  237. tf = new TypeFilter();
  238. mf = new MemberFilter();
  239. setUpSyntax();
  240. setUpSnippets();
  241. setUpType();
  242. setUpAllMembers();
  243. var mainSection = document.getElementById("mainSection");
  244. // vs70.js did this to allow up/down arrow scrolling, I think
  245. try { mainSection.setActive(); } catch(e) { }
  246. //set the scroll position
  247. try{mainSection.scrollTop = scrollPos;}
  248. catch(e){}
  249. }
  250. function Window_Unload()
  251. {
  252. SaveLanguages();
  253. SaveMembersOptions();
  254. SaveSections();
  255. }
  256. /*
  257. function ResizeWindow()
  258. {
  259. if (document.body.clientWidth==0) return;
  260. var header = document.all.item("header");
  261. var mainSection = document.all.item("mainSection");
  262. if (mainSection == null) return;
  263. document.body.scroll = "no"
  264. mainSection.style.overflow= "auto";
  265. header.style.width= document.body.offsetWidth - 2;
  266. //mainSection.style.paddingRight = "20px"; // Width issue code
  267. mainSection.style.width= document.body.offsetWidth - 2;
  268. mainSection.style.top=0;
  269. if (document.body.offsetHeight > header.offsetHeight + 10)
  270. mainSection.style.height= document.body.offsetHeight - (header.offsetHeight + 2);
  271. else
  272. mainSection.style.height=0;
  273. try
  274. {
  275. mainSection.setActive();
  276. }
  277. catch(e)
  278. {
  279. }
  280. }
  281. */
  282. function set_to_print()
  283. {
  284. //breaks out of divs to print
  285. var i;
  286. if (window.text)document.all.text.style.height = "auto";
  287. for (i=0; i < document.all.length; i++)
  288. {
  289. if (document.all[i].tagName == "body")
  290. {
  291. document.all[i].scroll = "yes";
  292. }
  293. if (document.all[i].id == "header")
  294. {
  295. document.all[i].style.margin = "0px 0px 0px 0px";
  296. document.all[i].style.width = "100%";
  297. }
  298. if (document.all[i].id == "mainSection")
  299. {
  300. document.all[i].style.overflow = "visible";
  301. document.all[i].style.top = "5px";
  302. document.all[i].style.width = "100%";
  303. document.all[i].style.padding = "0px 10px 0px 30px";
  304. }
  305. }
  306. }
  307. function reset_form()
  308. {
  309. //returns to the div nonscrolling region after print
  310. document.location.reload();
  311. }
  312. function Set_up_checkboxes()
  313. {
  314. var checkbox;
  315. checkbox = document.getElementById("vbDeclarationCheckbox");
  316. if(checkbox != null)
  317. {
  318. if(vbDeclaration == "on")
  319. checkbox.checked = true;
  320. else
  321. checkbox.checked = false;
  322. }
  323. checkbox = document.getElementById("vbUsageCheckbox");
  324. if(checkbox != null)
  325. {
  326. if(vbUsage == "on")
  327. checkbox.checked = true;
  328. else
  329. checkbox.checked = false;
  330. }
  331. checkbox = document.getElementById("csCheckbox");
  332. if(checkbox != null)
  333. {
  334. if(csLang == "on")
  335. checkbox.checked = true;
  336. else
  337. checkbox.checked = false;
  338. }
  339. checkbox = document.getElementById("cCheckbox");
  340. if(checkbox != null)
  341. {
  342. if(cLang == "on")
  343. checkbox.checked = true;
  344. else
  345. checkbox.checked = false;
  346. }
  347. checkbox = document.getElementById("jsharpCheckbox");
  348. if(checkbox != null)
  349. {
  350. if(jsharpLang == "on")
  351. checkbox.checked = true;
  352. else
  353. checkbox.checked = false;
  354. }
  355. checkbox = document.getElementById("jsCheckbox");
  356. if(checkbox != null)
  357. {
  358. if(jsLang == "on")
  359. checkbox.checked = true;
  360. else
  361. checkbox.checked = false;
  362. }
  363. checkbox = document.getElementById("xamlCheckbox");
  364. if(checkbox != null)
  365. {
  366. if(xamlLang == "on")
  367. checkbox.checked = true;
  368. else
  369. checkbox.checked = false;
  370. }
  371. checkbox = document.getElementById("inheritedCheckbox");
  372. if(checkbox != null)
  373. {
  374. if(inheritedMembers == "on")
  375. checkbox.checked = true;
  376. else
  377. checkbox.checked = false;
  378. }
  379. checkbox = document.getElementById("protectedCheckbox");
  380. if(checkbox != null)
  381. {
  382. if(protectedMembers == "on")
  383. checkbox.checked = true;
  384. else
  385. checkbox.checked = false;
  386. }
  387. checkbox = document.getElementById("netcfCheckbox");
  388. if(checkbox != null)
  389. {
  390. if(netcfMembersOnly == "on")
  391. checkbox.checked = true;
  392. else
  393. checkbox.checked = false;
  394. }
  395. checkbox = document.getElementById("netXnaCheckbox");
  396. if(checkbox != null)
  397. {
  398. if(netXnaMembersOnly == "on")
  399. checkbox.checked = true;
  400. else
  401. checkbox.checked = false;
  402. }
  403. }
  404. /*
  405. **********
  406. ********** End
  407. **********
  408. */
  409. /*
  410. **********
  411. ********** Begin Language Filtering
  412. **********
  413. */
  414. function SetLanguage(key)
  415. {
  416. var i = 0;
  417. if(vbDeclaration == "on")
  418. i++;
  419. if(vbUsage == "on")
  420. i++;
  421. if(csLang == "on")
  422. i++;
  423. if(cLang == "on")
  424. i++;
  425. if(jsharpLang == "on")
  426. i++;
  427. if(jsLang == "on")
  428. i++;
  429. if(xamlLang == "on")
  430. i++;
  431. if(key.id == "vbDeclarationCheckbox")
  432. {
  433. if(vbDeclaration == "on")
  434. {
  435. if(i == 1)
  436. {
  437. key.checked = true;
  438. return;
  439. }
  440. vbDeclaration = "off";
  441. }
  442. else
  443. vbDeclaration = "on";
  444. }
  445. if(key.id == "vbUsageCheckbox")
  446. {
  447. if(vbUsage == "on")
  448. {
  449. if(i == 1)
  450. {
  451. key.checked = true;
  452. return;
  453. }
  454. vbUsage = "off";
  455. }
  456. else
  457. vbUsage = "on";
  458. }
  459. if(key.id == "csCheckbox")
  460. {
  461. if(csLang == "on")
  462. {
  463. if(i == 1)
  464. {
  465. key.checked = true;
  466. return;
  467. }
  468. csLang = "off";
  469. }
  470. else
  471. csLang = "on";
  472. }
  473. if(key.id == "cCheckbox")
  474. {
  475. if(cLang == "on")
  476. {
  477. if(i == 1)
  478. {
  479. key.checked = true;
  480. return;
  481. }
  482. cLang = "off";
  483. }
  484. else
  485. cLang = "on";
  486. }
  487. if(key.id == "jsharpCheckbox")
  488. {
  489. if(jsharpLang == "on")
  490. {
  491. if(i == 1)
  492. {
  493. key.checked = true;
  494. return;
  495. }
  496. jsharpLang = "off";
  497. }
  498. else
  499. jsharpLang = "on";
  500. }
  501. if(key.id == "jsCheckbox")
  502. {
  503. if(jsLang == "on")
  504. {
  505. if(i == 1)
  506. {
  507. key.checked = true;
  508. return;
  509. }
  510. jsLang = "off";
  511. }
  512. else
  513. jsLang = "on";
  514. }
  515. if(key.id == "xamlCheckbox")
  516. {
  517. if(xamlLang == "on")
  518. {
  519. if(i == 1)
  520. {
  521. key.checked = true;
  522. return;
  523. }
  524. xamlLang = "off";
  525. }
  526. else
  527. xamlLang = "on";
  528. }
  529. DisplayLanguages();
  530. }
  531. function DisplayLanguages()
  532. {
  533. var spanElements = document.getElementsByTagName("span");
  534. var x = 0;
  535. if(vbDeclaration == "on")
  536. x++;
  537. if(vbUsage == "on")
  538. x++;
  539. if(csLang == "on")
  540. x++;
  541. if(cLang == "on")
  542. x++;
  543. if(jsharpLang == "on")
  544. x++;
  545. if(jsLang == "on")
  546. x++;
  547. if(xamlLang == "on")
  548. x++;
  549. var i;
  550. for(i = 0; i < spanElements.length; ++i)
  551. {
  552. if(spanElements[i].getAttribute("codeLanguage") != null)
  553. {
  554. if(spanElements[i].getAttribute("codeLanguage") == "VisualBasic")
  555. {
  556. if(vbDeclaration == "on" || vbUsage == "on")
  557. spanElements[i].style.display = "";
  558. else
  559. spanElements[i].style.display = "none";
  560. }
  561. if(spanElements[i].getAttribute("codeLanguage") == "VisualBasicDeclaration")
  562. {
  563. if(vbDeclaration == "on")
  564. spanElements[i].style.display = "";
  565. else{
  566. spanElements[i].style.display = "none";
  567. }
  568. }
  569. if(spanElements[i].getAttribute("codeLanguage") == "VisualBasicUsage")
  570. {
  571. if(vbUsage == "on")
  572. spanElements[i].style.display = "";
  573. else
  574. spanElements[i].style.display = "none";
  575. }
  576. if(spanElements[i].getAttribute("codeLanguage") == "CSharp")
  577. {
  578. if(csLang == "on")
  579. spanElements[i].style.display = "";
  580. else
  581. spanElements[i].style.display = "none";
  582. }
  583. if(spanElements[i].getAttribute("codeLanguage") == "ManagedCPlusPlus")
  584. {
  585. if(cLang == "on")
  586. spanElements[i].style.display = "";
  587. else
  588. spanElements[i].style.display = "none";
  589. }
  590. if(spanElements[i].getAttribute("codeLanguage") == "JSharp")
  591. {
  592. if(jsharpLang == "on")
  593. spanElements[i].style.display = "";
  594. else
  595. spanElements[i].style.display = "none";
  596. }
  597. if(spanElements[i].getAttribute("codeLanguage") == "JScript")
  598. {
  599. if(jsLang == "on")
  600. spanElements[i].style.display = "";
  601. else
  602. spanElements[i].style.display = "none";
  603. }
  604. if(spanElements[i].getAttribute("codeLanguage") == "XAML")
  605. {
  606. if(xamlLang == "on")
  607. spanElements[i].style.display = "";
  608. else
  609. spanElements[i].style.display = "none";
  610. }
  611. if(spanElements[i].getAttribute("codeLanguage") == "NotVisualBasicUsage")
  612. {
  613. if((x == 1) && (vbUsage == "on"))
  614. {
  615. spanElements[i].style.display = "none";
  616. }
  617. else
  618. {
  619. spanElements[i].style.display = "";
  620. }
  621. }
  622. }
  623. }
  624. ChangeLanguageFilterLabel();
  625. }
  626. function ChangeLanguageFilterLabel()
  627. {
  628. var i = 0;
  629. if(vbDeclaration == "on")
  630. i++;
  631. if(vbUsage == "on")
  632. i++;
  633. if(csLang == "on")
  634. i++;
  635. if(cLang == "on")
  636. i++;
  637. if(jsharpLang == "on")
  638. i++;
  639. if(jsLang == "on")
  640. i++;
  641. if(xamlLang == "on")
  642. i++;
  643. var labelElement;
  644. labelElement = document.getElementById("showAllLabel");
  645. if(labelElement == null)
  646. return;
  647. labelElement.style.display = "none";
  648. labelElement = document.getElementById("multipleLabel");
  649. labelElement.style.display = "none";
  650. labelElement = document.getElementById("vbLabel");
  651. labelElement.style.display = "none";
  652. labelElement = document.getElementById("csLabel");
  653. labelElement.style.display = "none";
  654. labelElement = document.getElementById("cLabel");
  655. labelElement.style.display = "none";
  656. labelElement = document.getElementById("jsharpLabel");
  657. labelElement.style.display = "none";
  658. labelElement = document.getElementById("jsLabel");
  659. labelElement.style.display = "none";
  660. labelElement = document.getElementById("xamlLabel");
  661. labelElement.style.display = "none";
  662. if(i == 7)
  663. {
  664. labelElement = document.getElementById("showAllLabel");
  665. labelElement.style.display = "inline";
  666. }
  667. else if ((i > 1) && (i < 7))
  668. {
  669. if((i == 2) && ((vbDeclaration == "on") && (vbUsage == "on")))
  670. {
  671. labelElement = document.getElementById("vbLabel");
  672. labelElement.style.display = "inline";
  673. }
  674. else
  675. {
  676. labelElement = document.getElementById("multipleLabel");
  677. labelElement.style.display = "inline";
  678. }
  679. }
  680. else if (i == 1)
  681. {
  682. if(vbDeclaration == "on" || vbUsage == "on")
  683. {
  684. labelElement = document.getElementById("vbLabel");
  685. labelElement.style.display = "inline";
  686. }
  687. if(csLang == "on")
  688. {
  689. labelElement = document.getElementById("csLabel");
  690. labelElement.style.display = "inline";
  691. }
  692. if(cLang == "on")
  693. {
  694. labelElement = document.getElementById("cLabel");
  695. labelElement.style.display = "inline";
  696. }
  697. if(jsharpLang == "on")
  698. {
  699. labelElement = document.getElementById("jsharpLabel");
  700. labelElement.style.display = "inline";
  701. }
  702. if(jsLang == "on")
  703. {
  704. labelElement = document.getElementById("jsLabel");
  705. labelElement.style.display = "inline";
  706. }
  707. if(xamlLang == "on")
  708. {
  709. labelElement = document.getElementById("xamlLabel");
  710. labelElement.style.display = "inline";
  711. }
  712. }
  713. }
  714. function LoadLanguages()
  715. {
  716. var value;
  717. value = Load("vbDeclaration");
  718. if(value == null)
  719. vbDeclaration = "on";
  720. else
  721. vbDeclaration = value;
  722. value = Load("vbUsage");
  723. if(value == null)
  724. vbUsage = "on";
  725. else
  726. vbUsage = value;
  727. value = Load("csLang");
  728. if(value == null)
  729. csLang = "on";
  730. else
  731. csLang = value;
  732. value = Load("cLang");
  733. if(value == null)
  734. cLang = "on";
  735. else
  736. cLang = value;
  737. value = Load("jsharpLang");
  738. if(value == null)
  739. jsharpLang = "on";
  740. else
  741. jsharpLang = value;
  742. value = Load("jsLang");
  743. if(value == null)
  744. jsLang = "on";
  745. else
  746. jsLang = value;
  747. value = Load("xamlLang");
  748. if(value == null)
  749. xamlLang = "on";
  750. else
  751. xamlLang = value;
  752. }
  753. function SaveLanguages()
  754. {
  755. Save("vbDeclaration", vbDeclaration);
  756. Save("vbUsage", vbUsage);
  757. Save("csLang", csLang);
  758. Save("cLang", cLang);
  759. Save("jsharpLang", jsharpLang);
  760. Save("jsLang", jsLang);
  761. Save("xamlLang", xamlLang);
  762. }
  763. /*
  764. **********
  765. ********** End Language Filtering
  766. **********
  767. */
  768. /*
  769. **********
  770. ********** Begin Members Options Filtering
  771. **********
  772. */
  773. function SetMembersOptions(key)
  774. {
  775. if(key.id == "inheritedCheckbox")
  776. {
  777. if(key.checked == true)
  778. inheritedMembers = "on";
  779. else
  780. inheritedMembers = "off";
  781. }
  782. if(key.id == "protectedCheckbox")
  783. {
  784. if(key.checked == true)
  785. protectedMembers = "on";
  786. else
  787. protectedMembers = "off";
  788. }
  789. if(key.id == "netcfCheckbox")
  790. {
  791. if(key.checked == true)
  792. netcfMembersOnly = "on";
  793. else
  794. netcfMembersOnly = "off";
  795. }
  796. if(key.id == "netXnaCheckbox")
  797. {
  798. if(key.checked == true)
  799. netXnaMembersOnly = "on";
  800. else
  801. netXnaMembersOnly = "off";
  802. }
  803. DisplayFilteredMembers();
  804. ChangeMembersOptionsFilterLabel();
  805. }
  806. function DisplayFilteredMembers()
  807. {
  808. var iAllMembers = document.getElementsByTagName("tr");
  809. var i;
  810. for(i = 0; i < iAllMembers.length; ++i)
  811. {
  812. if (((iAllMembers[i].getAttribute("protected") == "true") && (protectedMembers == "off")) ||
  813. ((iAllMembers[i].notSupportedOnXna == "true") && (netXnaMembersOnly == "on")) ||
  814. ((iAllMembers[i].getAttribute("name") == "inheritedMember") && (inheritedMembers == "off")) ||
  815. ((iAllMembers[i].getAttribute("notSupportedOn") == "netcf") && (netcfMembersOnly == "on")))
  816. iAllMembers[i].style.display = "none";
  817. else
  818. iAllMembers[i].style.display = "";
  819. }
  820. }
  821. function ChangeMembersOptionsFilterLabel()
  822. {
  823. var showAllMembersLabelElement = document.getElementById("showAllMembersLabel");
  824. var filteredMembersLabelElement = document.getElementById("filteredMembersLabel");
  825. if(showAllMembersLabelElement == null || filteredMembersLabelElement == null)
  826. return;
  827. if ((inheritedMembers=="off") || (protectedMembers=="off") || (netXnaMembersOnly == "on") || (netcfMembersOnly=="on"))
  828. {
  829. filteredMembersLabelElement.style.display = "inline";
  830. showAllMembersLabelElement.style.display = "none";
  831. }
  832. else
  833. {
  834. filteredMembersLabelElement.style.display = "none";
  835. showAllMembersLabelElement.style.display = "inline";
  836. }
  837. }
  838. function LoadMembersOptions()
  839. {
  840. var value;
  841. value = Load("inheritedMembers");
  842. if(value == null)
  843. inheritedMembers = "on";
  844. else
  845. inheritedMembers = value;
  846. value = Load("protectedMembers");
  847. if(value == null)
  848. protectedMembers = "on";
  849. else
  850. protectedMembers = value;
  851. value = Load("netcfMembersOnly");
  852. if(value == null)
  853. netcfMembersOnly = "off";
  854. else
  855. netcfMembersOnly = value;
  856. value = Load("netXnaMembersOnly");
  857. if(value == null)
  858. netXnaMembersOnly = "off";
  859. else
  860. netXnaMembersOnly = value;
  861. }
  862. function SaveMembersOptions()
  863. {
  864. Save("inheritedMembers", inheritedMembers);
  865. Save("protectedMembers", protectedMembers);
  866. Save("netcfMembersOnly", netcfMembersOnly);
  867. Save("netXnaMembersOnly", netXnaMembersOnly);
  868. }
  869. /*
  870. **********
  871. ********** End Members Options Filtering
  872. **********
  873. */
  874. /*
  875. **********
  876. ********** Begin Expand/Collapse
  877. **********
  878. */
  879. // expand or collapse a section
  880. function ExpandCollapse(imageItem)
  881. {
  882. if (sectionStates[imageItem.id] == "e")
  883. CollapseSection(imageItem);
  884. else
  885. ExpandSection(imageItem);
  886. SetCollapseAll();
  887. }
  888. // expand or collapse all sections
  889. function ExpandCollapseAll(imageItem)
  890. {
  891. var collapseAllImage = document.getElementById("collapseAllImage");
  892. var expandAllImage = document.getElementById("expandAllImage");
  893. if (imageItem == null || collapseAllImage == null || expandAllImage == null) return;
  894. noReentry = true; // Prevent entry to OnLoadImage
  895. var imgElements = document.getElementsByName("toggleSwitch");
  896. var i;
  897. var collapseAll = (imageItem.src == collapseAllImage.src);
  898. if (collapseAll)
  899. {
  900. imageItem.src = expandAllImage.src;
  901. imageItem.alt = expandAllImage.alt;
  902. for (i = 0; i < imgElements.length; ++i)
  903. {
  904. CollapseSection(imgElements[i]);
  905. }
  906. }
  907. else
  908. {
  909. imageItem.src = collapseAllImage.src;
  910. imageItem.alt = collapseAllImage.alt;
  911. for (i = 0; i < imgElements.length; ++i)
  912. {
  913. ExpandSection(imgElements[i]);
  914. }
  915. }
  916. SetAllSectionStates(collapseAll);
  917. SetToggleAllLabel(collapseAll);
  918. noReentry = false;
  919. }
  920. function ExpandCollapse_CheckKey(imageItem, eventObj)
  921. {
  922. if(eventObj.keyCode == 13)
  923. ExpandCollapse(imageItem);
  924. }
  925. function ExpandCollapseAll_CheckKey(imageItem, eventObj)
  926. {
  927. if(eventObj.keyCode == 13)
  928. ExpandCollapseAll(imageItem);
  929. }
  930. function SetAllSectionStates(collapsed)
  931. {
  932. for (var sectionId in sectionStates)
  933. sectionStates[sectionId] = (collapsed) ? "c" : "e";
  934. }
  935. function ExpandSection(imageItem)
  936. {
  937. noReentry = true; // Prevent re-entry to OnLoadImage
  938. try
  939. {
  940. var collapseImage = document.getElementById("collapseImage");
  941. imageItem.src = collapseImage.src;
  942. imageItem.alt = collapseImage.alt;
  943. imageItem.parentNode.parentNode.nextSibling.style.display = "";
  944. sectionStates[imageItem.id] = "e";
  945. }
  946. catch (e)
  947. {
  948. }
  949. noReentry = false;
  950. }
  951. function CollapseSection(imageItem)
  952. {
  953. noReentry = true; // Prevent re-entry to OnLoadImage
  954. var expandImage = document.getElementById("expandImage");
  955. imageItem.src = expandImage.src;
  956. imageItem.alt = expandImage.alt;
  957. imageItem.parentNode.parentNode.nextSibling.style.display = "none";
  958. sectionStates[imageItem.id] = "c";
  959. noReentry = false;
  960. }
  961. function AllCollapsed()
  962. {
  963. var imgElements = document.getElementsByName("toggleSwitch");
  964. var allCollapsed = true;
  965. var i;
  966. for (i = 0; i < imgElements.length; i++) allCollapsed = allCollapsed && (sectionStates[imgElements[i].id] == "c");
  967. return allCollapsed;
  968. }
  969. function SetCollapseAll()
  970. {
  971. var imageElement = document.getElementById("toggleAllImage");
  972. if (imageElement == null) return;
  973. var allCollapsed = AllCollapsed();
  974. if (allCollapsed)
  975. {
  976. var expandAllImage = document.getElementById("expandAllImage");
  977. if (expandAllImage == null) return;
  978. imageElement.src = expandAllImage.src;
  979. imageElement.alt = expandAllImage.alt;
  980. }
  981. else
  982. {
  983. var collapseAllImage = document.getElementById("collapseAllImage");
  984. if (collapseAllImage == null) return;
  985. imageElement.src = collapseAllImage.src;
  986. imageElement.alt = collapseAllImage.alt;
  987. }
  988. SetToggleAllLabel(allCollapsed);
  989. }
  990. function SetToggleAllLabel(allCollapsed)
  991. {
  992. var collapseLabelElement = document.getElementById("collapseAllLabel");
  993. var expandLabelElement = document.getElementById("expandAllLabel");
  994. if (collapseLabelElement == null || expandLabelElement == null) return;
  995. if (allCollapsed)
  996. {
  997. collapseLabelElement.style.display = "none";
  998. expandLabelElement.style.display = "inline";
  999. }
  1000. else
  1001. {
  1002. collapseLabelElement.style.display = "inline";
  1003. expandLabelElement.style.display = "none";
  1004. }
  1005. }
  1006. function SaveSections()
  1007. {
  1008. try
  1009. {
  1010. var states = "";
  1011. for (var sectionId in sectionStates) states += sectionId + ":" + sectionStates[sectionId] + ";";
  1012. Save("SectionStates", states.substring(0, states.length - 1));
  1013. }
  1014. catch (e)
  1015. {
  1016. }
  1017. }
  1018. function OpenSection(imageItem)
  1019. {
  1020. if (sectionStates[imageItem.id] == "c") ExpandCollapse(imageItem);
  1021. }
  1022. /*
  1023. **********
  1024. ********** End Expand/Collapse
  1025. **********
  1026. */
  1027. /*
  1028. **********
  1029. ********** Begin Copy Code
  1030. **********
  1031. */
  1032. function CopyCode(key)
  1033. {
  1034. var trElements = document.getElementsByTagName("tr");
  1035. var i;
  1036. for(i = 0; i < trElements.length; ++i)
  1037. {
  1038. if(key.parentNode.parentNode.parentNode == trElements[i].parentNode)
  1039. {
  1040. if (window.clipboardData)
  1041. {
  1042. // the IE-manner
  1043. window.clipboardData.setData("Text", trElements[i].innerText);
  1044. }
  1045. else if (window.netscape)
  1046. {
  1047. // Gives unrestricted access to browser APIs using XPConnect
  1048. try
  1049. {
  1050. netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  1051. }
  1052. catch(e)
  1053. {
  1054. alert("Universal Connect was refused, cannot copy to " +
  1055. "clipboard. Go to about:config and set " +
  1056. "signed.applets.codebase_principal_support to true to " +
  1057. "enable clipboard support.");
  1058. return;
  1059. }
  1060. // Creates an instance of nsIClipboard
  1061. var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
  1062. if (!clip) return;
  1063. // Creates an instance of nsITransferable
  1064. var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
  1065. if (!trans) return;
  1066. // register the data flavor
  1067. trans.addDataFlavor('text/unicode');
  1068. // Create object to hold the data
  1069. var str = new Object();
  1070. // Creates an instance of nsISupportsString
  1071. var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
  1072. //Assigns the data to be copied
  1073. var copytext = trElements[i].textContent;
  1074. str.data = copytext;
  1075. // Add data objects to transferable
  1076. trans.setTransferData("text/unicode",str,copytext.length*2);
  1077. var clipid = Components.interfaces.nsIClipboard;
  1078. if (!clip) return false;
  1079. // Transfer the data to clipboard
  1080. clip.setData(trans,null,clipid.kGlobalClipboard);
  1081. }
  1082. }
  1083. }
  1084. }
  1085. function ChangeCopyCodeIcon(key)
  1086. {
  1087. var i;
  1088. var imageElements = document.getElementsByName("ccImage")
  1089. for(i=0; i<imageElements.length; ++i)
  1090. {
  1091. if(imageElements[i].parentNode == key)
  1092. {
  1093. if(imageElements[i].src == copyImage.src)
  1094. {
  1095. imageElements[i].src = copyHoverImage.src;
  1096. imageElements[i].alt = copyHoverImage.alt;
  1097. key.className = 'copyCodeOnHover';
  1098. }
  1099. else
  1100. {
  1101. imageElements[i].src = copyImage.src;
  1102. imageElements[i].alt = copyImage.alt;
  1103. key.className = 'copyCode';
  1104. }
  1105. }
  1106. }
  1107. }
  1108. function CopyCode_CheckKey(key, eventObj)
  1109. {
  1110. if(eventObj.keyCode == 13)
  1111. CopyCode(key);
  1112. }
  1113. /*
  1114. **********
  1115. ********** End Copy Code
  1116. **********
  1117. */
  1118. /*
  1119. **********
  1120. ********** Begin Maintain Scroll Position
  1121. **********
  1122. */
  1123. function loadAll(){
  1124. try
  1125. {
  1126. scrollPos = allHistory.getAttribute("Scroll");
  1127. }
  1128. catch(e){}
  1129. }
  1130. function saveAll(){
  1131. try
  1132. {
  1133. allHistory.setAttribute("Scroll", mainSection.scrollTop);
  1134. }
  1135. catch(e){}
  1136. }
  1137. /*
  1138. **********
  1139. ********** End Maintain Scroll Position
  1140. **********
  1141. */
  1142. /*
  1143. **********
  1144. ********** Begin Send Mail
  1145. **********
  1146. */
  1147. function formatMailToLink(anchor)
  1148. {
  1149. var release = "Release: " + anchor.doc_Release;
  1150. var topicId = "Topic ID: " + anchor.doc_TopicID;
  1151. var topicTitle = "Topic Title: " + anchor.doc_TopicTitle;
  1152. var url = "URL: " + document.URL;
  1153. var browser = "Browser: " + window.navigator.userAgent;
  1154. var crlf = "%0d%0a";
  1155. var body = release + crlf + topicId + crlf + topicTitle + crlf + url + crlf + browser + crlf + crlf + "Comments:" + crlf + crlf;
  1156. anchor.href = anchor.href + "&body=" + body;
  1157. }
  1158. /*
  1159. **********
  1160. ********** End Send Mail
  1161. **********
  1162. */
  1163. /*
  1164. **********
  1165. ********** Begin Persistence
  1166. **********
  1167. */
  1168. var globals;
  1169. function GetGlobals()
  1170. {
  1171. var tmp;
  1172. // Try to get VS implementation
  1173. try { tmp = window.external.Globals; }
  1174. catch (e) { tmp = null; }
  1175. // Try to get DExplore implementation
  1176. try { if (tmp == null) tmp = window.external.GetObject("DTE", "").Globals; }
  1177. catch (e) { tmp = null; }
  1178. return tmp;
  1179. }
  1180. function Load(key)
  1181. {
  1182. try
  1183. {
  1184. return globals.VariableExists(key) ? globals.VariableValue(key) : null;
  1185. }
  1186. catch (e)
  1187. {
  1188. return null;
  1189. }
  1190. }
  1191. function Save(key, value)
  1192. {
  1193. try
  1194. {
  1195. globals.VariableValue(key) = value;
  1196. globals.VariablePersists(key) = true;
  1197. }
  1198. catch (e)
  1199. {
  1200. }
  1201. }
  1202. /*
  1203. **********
  1204. ********** End Persistence
  1205. **********
  1206. */
  1207. /* This is the part for Glossary popups */
  1208. // The method is called when the user positions the mouse cursor over a glossary term in a document.
  1209. // Current implementation assumes the existence of an associative array (g_glossary).
  1210. // The keys of the array correspond to the argument passed to this function.
  1211. var bGlossary=true;
  1212. var oDialog;
  1213. var oTimeout="";
  1214. var oTimein="";
  1215. var iTimein=.5;
  1216. var iTimeout=30;
  1217. var oLastNode;
  1218. var oNode;
  1219. var bInit=false;
  1220. var aTerms=new Array();
  1221. // Called from mouseover and when the contextmenu behavior fires oncontextopen.
  1222. function clearDef(eventObj){
  1223. if(eventObj){
  1224. var elem;
  1225. if(document.all) elem = eventObj.toElement;
  1226. else elem = eventObj.relatedTarget;
  1227. if(elem!=null || elem!="undefined"){
  1228. if(typeof(oTimein)=="number"){
  1229. window.clearTimeout(oTimein);
  1230. }
  1231. if(oDialog.dlg_status==true){
  1232. hideDef();
  1233. }
  1234. }
  1235. }
  1236. }
  1237. function hideDef(eventObj){
  1238. window.clearTimeout(oTimeout);
  1239. oTimeout="";
  1240. oDialog.style.display="none";
  1241. oDialog.dlg_status=false;
  1242. }
  1243. function showDef(oSource){
  1244. if(bInit==false){
  1245. glossaryInit();
  1246. bInit=true;
  1247. }
  1248. if(bGlossary==true){
  1249. if(typeof(arguments[0])=="object"){
  1250. oNode=oSource;
  1251. }
  1252. else{
  1253. if(document.all) oNode = eventObj.srcElement;
  1254. else oNode = eventObj.target;
  1255. }
  1256. var bStatus=oDialog.dlg_status; // BUGBUG: oDialog is null.
  1257. if((oLastNode!=oNode)||(bStatus==false)){
  1258. if((typeof(oTimein)=="number")&& eventObj){
  1259. var elem;
  1260. if(document.all) elem = eventObj.fromElement;
  1261. else elem = eventObj.relatedTarget;
  1262. if( elem != null || elem != "undefined")
  1263. window.clearTimeout(oTimein);
  1264. }
  1265. oTimein=window.setTimeout("openDialog(oNode)",iTimein*1000);
  1266. }
  1267. }
  1268. }
  1269. function glossaryInit(){
  1270. oDialog=fnCreateDialog(150,50);
  1271. }
  1272. function navigateTerm(eventObj){
  1273. var oNode;
  1274. if(document.all) oNode = eventObj.srcElement;
  1275. else oNode = eventObj.target;
  1276. var iTermID=oNode.termID;
  1277. if(oNode!=aTerms[iTermID]){
  1278. var iAbsTop=getAbsoluteTop(aTerms[iTermID]);
  1279. if(iAbsTop<document.body.scrollTop){
  1280. window.scrollTo(document.body.scrollLeft,getAbsoluteTop(aTerms[iTermID]));
  1281. }
  1282. openDialog(aTerms[iTermID]);
  1283. }
  1284. }
  1285. function disableGlossary(eventObj){
  1286. if(bGlossary==true){
  1287. if(document.all) eventObj.srcElement.innerText="Enable Automatic Glossary";
  1288. else eventObj.target.innerText="Enable Automatic Glossary";
  1289. bGlossary=false;
  1290. hideDef();
  1291. }
  1292. else{
  1293. if(document.all) eventObj.srcElement.innerText="Disable Automatic Glossary";
  1294. else eventObj.target.innerText="Disable Automatic Glossary";
  1295. bGlossary=true;
  1296. }
  1297. }
  1298. function openGlossary(){
  1299. }
  1300. function fnSetMenus(eventObj){
  1301. var oNode;
  1302. if(document.all) oNode = eventObj.srcElement;
  1303. else oNode = eventObj.target;
  1304. var oMenu=oNode.createMenu("SPAN","G_RID");
  1305. var oSubItem1=oNode.createMenuItem("Glossary",fnStub,oMenu,true);
  1306. document.body.createMenuItem("Open External Glossary",openGlossary,oSubItem1.subMenu);
  1307. document.body.createMenuItem("Disable Automatic Glossary",disableGlossary,oSubItem1.subMenu);
  1308. for(var i=0;i<aTerms.length;i++){
  1309. var oItem=document.body.createMenuItem(aTerms[i].innerText,navigateTerm,oMenu);
  1310. oItem.termID=i;
  1311. }
  1312. }
  1313. // This is a bogus stub. It should be sniffed out rather than added in.
  1314. function fnStub(){
  1315. }
  1316. function fnAttachMenus(aTips){
  1317. // This walk is only necessary for the context menu.
  1318. var aTips=document.getElementsByTagName("SPAN");
  1319. for(var i=0;i<aTips.length;i++){
  1320. var oNode=aTips[i];
  1321. if(oNode.getAttribute("G_RID")){
  1322. var sTerm=oNode.getAttribute("G_RID");
  1323. if(typeof(g_glossary[sTerm])=="string"){
  1324. // Removed client-side scripting to add events. This entire process should be singled out for IE 5 and later .. and, its only for the context menu.
  1325. aTerms[aTerms.length]=oNode;
  1326. }
  1327. }
  1328. }
  1329. if(oBD.majorVer>=5){
  1330. document.body.addBehavior(gsContextMenuPath);
  1331. document.body.onbehaviorready="fnSetMenus()";
  1332. document.body.oncontextopen="clearDef()";
  1333. }
  1334. }
  1335. // Called by showDef. The showDef function sniffs for initialization.
  1336. function openDialog(oNode,x,y){
  1337. var bStatus=oDialog.dlg_status; // BUGBUG: This code assumes that oDialog has been initialized
  1338. if(bStatus==false){
  1339. oDialog.dlg_status=true;
  1340. oDialog.style.display="block";
  1341. }
  1342. else{
  1343. if(typeof(oTimeout)=="number"){
  1344. window.clearTimeout(oTimeout);
  1345. }
  1346. }
  1347. var sTerm=oNode.getAttribute("G_RID");
  1348. var oDef=oNode.children(0);
  1349. var sDef=oDef.text;
  1350. sDef=sDef.substr(4,sDef.length-7); //Strips the html comment markers from the definition.
  1351. oDialog.innerHTML=sDef
  1352. //oDialog.innerHTML=g_glossary[sTerm];
  1353. var iScrollLeft=document.body.scrollLeft;
  1354. var iScrollTop=document.body.scrollTop;
  1355. var iOffsetLeft=getAbsoluteLeft(oNode)// - iScrollLeft;
  1356. var iOffsetWidth=oNode.offsetWidth;
  1357. var oParent=oNode.parentNode;
  1358. var iOffsetParentLeft=getAbsoluteLeft(oParent);
  1359. var iOffsetTop=getAbsoluteTop(oNode); //- iScrollTop;
  1360. var iOffsetDialogWidth=oDialog.offsetWidth;
  1361. if((iOffsetLeft + iOffsetWidth) > (iOffsetParentLeft + oParent.offsetWidth)){
  1362. iOffsetLeft=iOffsetParentLeft;
  1363. if(iOffsetLeft - iOffsetDialogWidth>0){
  1364. iOffsetTop+=oNode.offsetHeight;
  1365. }
  1366. }
  1367. var iLeft=0;
  1368. var iTop=0;
  1369. if((iOffsetLeft + iOffsetWidth - iScrollLeft + iOffsetDialogWidth) < document.body.offsetWidth ){
  1370. iLeft=iOffsetLeft + iOffsetWidth;
  1371. }
  1372. else{
  1373. if(iOffsetLeft - iOffsetDialogWidth>0){
  1374. iLeft=iOffsetLeft - iOffsetDialogWidth;
  1375. }
  1376. else{
  1377. iLeft=iOffsetParentLeft;
  1378. }
  1379. }
  1380. if(iOffsetTop - iScrollTop<oDialog.offsetHeight){
  1381. iTop=iOffsetTop + oNode.offsetHeight;
  1382. }
  1383. else{
  1384. iTop=iOffsetTop - oDialog.offsetHeight;
  1385. }
  1386. oDialog.style.top=iTop;
  1387. oDialog.style.left=iLeft;
  1388. oTimeout=window.setTimeout("hideDef()",iTimeout*1000);
  1389. }
  1390. function getAbsoluteTop(oNode){
  1391. var oCurrentNode=oNode;
  1392. var iTop=0;
  1393. while(oCurrentNode.tagName!="BODY"){
  1394. iTop+=oCurrentNode.offsetTop;
  1395. oCurrentNode=oCurrentNode.offsetParent;
  1396. }
  1397. return iTop;
  1398. }
  1399. function getAbsoluteLeft(oNode){
  1400. var oCurrentNode=oNode;
  1401. var iLeft=0;
  1402. while(oCurrentNode.tagName!="BODY"){
  1403. iLeft+=oCurrentNode.offsetLeft;
  1404. oCurrentNode=oCurrentNode.offsetParent;
  1405. }
  1406. return iLeft;
  1407. }
  1408. function fnCreateDialog(iWidth,iHeight){
  1409. document.body.insertAdjacentHTML("BeforeEnd","<DIV></DIV>");
  1410. oNewDialog=document.body.children(document.body.children.length-1);
  1411. oNewDialog.className="clsTooltip";
  1412. oNewDialog.style.width=iWidth;
  1413. oNewDialog.dlg_status=false;
  1414. return oNewDialog;
  1415. }
  1416. function sendfeedback(subject, id,alias){
  1417. var rExp = /\"/gi;
  1418. var url = location.href;
  1419. // Need to replace the double quotes with single quotes for the mailto to work.
  1420. var rExpSingleQuotes = /\'\'"/gi;
  1421. var title;
  1422. if(document.getElementsByTagName("TITLE")[0].innerText) title = document.getElementsByTagName("TITLE")[0].innerText.replace(rExp, "''")
  1423. else title = document.getElementsByTagName("TITLE")[0].textContent.replace(rExp, "''");
  1424. location.href = "mailto:" + alias + "?subject=" + subject + title + "&body=Topic%20ID:%20" + id + "%0d%0aURL:%20" + url + "%0d%0a%0d%0aComments:%20";
  1425. }
  1426. function setUpSyntax() {
  1427. var syntaxSection = document.getElementById('syntaxCodeBlocks');
  1428. if (syntaxSection == null) return;
  1429. processSection(syntaxSection, 'x-lang', lang, true, true, true, true);
  1430. }
  1431. function setUpSnippets() {
  1432. var divs = document.getElementsByTagName("DIV");
  1433. for (var i = 0; i < divs.length; i++)
  1434. {
  1435. var name = divs[i].getAttribute("name");
  1436. if (name == null || name != "snippetGroup") continue;
  1437. processSection(divs[i], 'x-lang', lang, true, true, true, true);
  1438. }
  1439. }
  1440. function setUpType() {
  1441. var typeSection = document.getElementById("typeSection");
  1442. if (typeSection == null) return;
  1443. processSection(typeSection, 'value', 'all', true, false, true, false);
  1444. }
  1445. function setUpAllMembers() {
  1446. var allMembersSection = document.getElementById("allMembersSection");
  1447. if (allMembersSection == null) return;
  1448. processSection(allMembersSection, 'value', 'all', true, false, true, false);
  1449. }
  1450. function processSection(section, attribute, value, toggleClassValue, toggleStyleValue, curvedToggleClassValue, registerValue) {
  1451. var nodes = section.childNodes;
  1452. var curvedTabId;
  1453. var tabId;
  1454. var blockId;
  1455. if (nodes.length != 2) return;
  1456. if (nodes[0].tagName == 'TABLE') {
  1457. var rows = nodes[0].getElementsByTagName('tr');
  1458. if (rows.length != 2) return;
  1459. curvedTabId = rows[0].getAttribute('id');
  1460. tabId = rows[1].getAttribute('id');
  1461. }
  1462. if(nodes[1].tagName == 'DIV') {
  1463. blockId = nodes[1].getAttribute('id');
  1464. }
  1465. if (toggleClassValue) toggleClass(tabId,attribute,value,'activeTab','tab');
  1466. if (toggleStyleValue) toggleStyle(blockId,attribute,value,'display','block','none');
  1467. if (curvedToggleClassValue) curvedToggleClass(curvedTabId, attribute, value);
  1468. if (languageFilter == null) return;
  1469. if (registerValue) languageFilter.registerTabbedArea(curvedTabId, tabId, blockId);
  1470. }