function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  	} 
  else {
    window.onload = function() {
      oldonload();
      func();
    	}
  	}
	}
	
function hideLists() {
	var listText = document.getElementById("sourceListItems");
  var itemsL = listText.getElementsByTagName("li");
  for (var i=0; i < itemsL.length; i++){
  	itemsL[i].style.display = "none";
  	}
	}

function prepLists() {
	hideLists();
  var listText = document.getElementById("sourceListItems");
  var itemsL = listText.getElementsByTagName("li");
  for (var i=0; i < itemsL.length; i++){
  	itemsL[i].style.display = "none";
  	}
  if (!document.getElementById("sourceListControl")) return false;
  var listControl = document.getElementById("sourceListControl");
  var links = listControl.getElementsByTagName("a");  
  for (var i=0; i<links.length; i++ ) {
    var listOId = links[i].getAttribute("href").split("#")[1];
    if (!document.getElementById(listOId)) continue;
    links[i].destination = listOId;
    links[i].onclick = function() {
      showLists(this.destination);
      return false;
    }
  }
}

function showLists(id) {
  var listItems = document.getElementById("sourceListItems");
  var listItemsLi = listItems.getElementsByTagName("li");
  for (var i=0; i<listItemsLi.length; i++ ) {
    if (listItemsLi[i].getAttribute("id") != id) {
      listItemsLi[i].style.display = "none";
    } else {
      listItemsLi[i].style.display = "block";
    }
  }
}

addLoadEvent(prepLists);
