         function checkParent(src, dest) {
           // Search for a specific parent of the current element
           while (src!=null) {
             if (src.tagName == dest) return src;
             src = src.parentElement;
           }
           return null;
        }
        function outline() {     
           // Expand or collapse if a list item is clicked.
           var open = event.srcElement;
           // Make sure clicked inside an LI. This test allows rich HTML inside lists.
           var el = checkParent(open, "LI");
           if (null!=el) {
             var pos = 0;
             // Search for a nested list
             for (var pos=0; pos<el.children.length; pos++) {
               if ("UL"==el.children[pos].tagName) break;
            }
            if (pos==el.children.length) return;
          } else return;
          el = el.children[pos];
          if ("UL"==el.tagName) {
            // Expand or Collapse nested list
            if (""==el.style.display) {
              el.style.display = "block";
            }
          else
          {
              el.style.display = "";
          }
        }
          event.cancelBubble = true;
        }
        document.onclick = outline;