function makeEmClick() {
  h2s = document.getElementById("contentcontrols").childNodes;
  i = 0;
  while (i < h2s.length) {
    myh2 = h2s[i];
    if (myh2.nodeType != 1) { i = i + 1; continue; }
    myh2 = myh2.children[0];
    myh2.onclick = doItClick;
    i = i + 1;
  }
  h2s = document.getElementsByTagName("section")[0].getElementsByTagName("h2");
  i = 0;
  while (i < h2s.length) {
    myh2 = h2s[i];
    doItSmooth(myh2, 'hide');
    i = i + 1;
  }
  // Now show the correct one...
}
window.onload = makeEmClick;

function doItClick() {
  // HIDE HIDE HIDE!
  h2s = document.getElementsByTagName("section")[0].getElementsByTagName("h2");
  i = 0;
  while (i < h2s.length) {
    myh2 = h2s[i];
    doItSmooth(myh2, 'hide');
    i = i + 1;
  }
  // Now show the correct one...
  doItSmooth(document.getElementById(this.href.substring(this.href.indexOf('#') + 1)), 'show');
  return false;
}

function doItSmooth(what, how) {
  starterElem = currentElem = what;
  nextIsHeader = false;
  while (!nextIsHeader) {
    if (currentElem.tagName == 'H2' && currentElem != starterElem) {
      nextIsHeader = true;
    } else {
      if (how == 'toggle') {
        if (currentElem.style.display != 'none') {
          currentElem.style.display = 'none';
        } else {
          currentElem.style.display = 'block';
        }
      } else if (how == 'show') {
        currentElem.style.display = 'block';
      } else {
        currentElem.style.display = 'none';
      }
    }
    if (!currentElem.nextSibling) { nextIsHeader = true; break; }
    currentElem = currentElem.nextSibling;
    while (currentElem.nodeType != 1) {
      if (!currentElem.nextSibling) { nextIsHeader = true; break; }
      currentElem=currentElem.nextSibling;
    }
  }
}

