summaryrefslogtreecommitdiff
path: root/docs/web/site.js
diff options
context:
space:
mode:
authorianb <devnull@localhost>2005-07-17 02:01:06 +0000
committerianb <devnull@localhost>2005-07-17 02:01:06 +0000
commitcd0a79327830df6dd299ea93dd49fdc9436244cb (patch)
treee22d800a1208a6ed91626ed8cbf0bac95bf34819 /docs/web/site.js
parent5a95682c2070005009a709631e66716786493c81 (diff)
downloadpaste-cd0a79327830df6dd299ea93dd49fdc9436244cb.tar.gz
Redesign to display contents more nicely, and move blog off front page (which I didn't really want to do, but blogger was being a PITA)
Diffstat (limited to 'docs/web/site.js')
-rw-r--r--docs/web/site.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/docs/web/site.js b/docs/web/site.js
new file mode 100644
index 0000000..865b9a6
--- /dev/null
+++ b/docs/web/site.js
@@ -0,0 +1,68 @@
+function setup_dropdowns() {
+ var els = document.getElementsByTagName('UL');
+ for (var i = 0; i < els.length; i++) {
+ var el = els[i];
+ if (el.className.search(/\bcontents\b/) > -1) {
+ enable_dropdown(el);
+ }
+ }
+}
+
+function enable_dropdown(el) {
+ var title = el.getElementsByTagName('LI')[0];
+ var plus_minus = document.createTextNode(' [-]');
+ if (title.childNodes[0].tagName != 'A') {
+ anchor = document.createElement('A');
+ while (title.childNodes.length) {
+ anchor.appendChild(title.childNodes[0]);
+ }
+ anchor.setAttribute('href', '#');
+ anchor.style.padding = '1px';
+ title.appendChild(anchor);
+ } else {
+ anchor = title.childNodes[0];
+ }
+ anchor.appendChild(plus_minus);
+ function show_hide() {
+ if (el.sub_hidden) {
+ set_sub_li(el, '');
+ anchor.removeChild(plus_minus);
+ plus_minus = document.createTextNode(' [-]');
+ anchor.appendChild(plus_minus);
+ } else {
+ set_sub_li(el, 'none');
+ anchor.removeChild(plus_minus);
+ plus_minus = document.createTextNode(' [+]');
+ anchor.appendChild(plus_minus);
+ }
+ el.sub_hidden = ! el.sub_hidden;
+ return false;
+ }
+ anchor.onclick = show_hide;
+}
+
+function set_sub_li(list, display) {
+ var sub = list.getElementsByTagName('LI');
+ for (var i = 1; i < sub.length; i++) {
+ sub[i].style.display = display;
+ }
+}
+
+function add_onload(func) {
+ if (window.onload) {
+ var old_onload = window.onload;
+ function new_onload() {
+ old_onload();
+ func();
+ }
+ window.onload = new_onload;
+ } else {
+ window.onload = func;
+ }
+}
+
+add_onload(setup_dropdowns);
+
+
+
+