PageRenderTime 52ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/docs/startHere.html/local/script.js

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