1function setup_dropdowns() {
2  var els = document.getElementsByTagName('UL');
3  for (var i = 0; i < els.length; i++) {
4    var el = els[i];
5    if (el.className.search(/\bcontents\b/) > -1) {
6      enable_dropdown(el);
7    }
8  }
9}
10
11function enable_dropdown(el) {
12  var title = el.getElementsByTagName('LI')[0];
13  var plus_minus = document.createTextNode('  [-]');
14  if (title.childNodes[0].tagName != 'A') {
15    anchor = document.createElement('A');
16    while (title.childNodes.length) {
17      anchor.appendChild(title.childNodes[0]);
18    }
19    anchor.setAttribute('href', '#');
20    anchor.style.padding = '1px';
21    title.appendChild(anchor);
22  } else {
23    anchor = title.childNodes[0];
24  }
25  anchor.appendChild(plus_minus);
26  function show_hide() {
27    if (el.sub_hidden) {
28      set_sub_li(el, '');
29      anchor.removeChild(plus_minus);
30      plus_minus = document.createTextNode('  [-]');
31      anchor.appendChild(plus_minus);
32    } else {
33      set_sub_li(el, 'none');
34      anchor.removeChild(plus_minus);
35      plus_minus = document.createTextNode('  [+]');
36      anchor.appendChild(plus_minus);
37    }
38    el.sub_hidden = ! el.sub_hidden;
39    return false;
40  }
41  anchor.onclick = show_hide;
42  show_hide();
43}
44
45function set_sub_li(list, display) {
46  var sub = list.getElementsByTagName('LI');
47  for (var i = 1; i < sub.length; i++) {
48    sub[i].style.display = display;
49  }
50}
51
52function add_onload(func) {
53  if (window.onload) {
54    var old_onload = window.onload;
55    function new_onload() {
56      old_onload();
57      func();
58    }
59    window.onload = new_onload;
60  } else {
61    window.onload = func;
62  }
63}
64
65add_onload(setup_dropdowns);
66
67
68
69
70