home *** CD-ROM | disk | FTP | other *** search
/ business-86-101-185-173.business.broadband.hu / business-86-101-185-173.business.broadband.hu.zip / business-86-101-185-173.business.broadband.hu / trans / sqlncli2005_x64.msi / sqlncli.chm.91A5E41F_8A38_40FB_BC6E_28CA47D512BD / local / script_chm.js < prev    next >
Text File  |  2005-08-01  |  23KB  |  1,209 lines

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