addEvent(window, "load", makeTreesC);

function makeTreesC() {
    if (!document.createElement) return;
    
    uls = document.getElementsByTagName("ul");
    for (uli=0;uli<uls.length;uli++) {
        ul = uls[uli];
        if (ul.nodeName == "UL" && ul.className == "navlist") {
            processULELC(ul);
        }
    }
}

function processULELC(ul) {
    if (!ul.childNodes || ul.childNodes.length == 0) return;
    for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
        var item = ul.childNodes[itemi];
        if (item.nodeName == "LI") {
            var a;
            var subul;
	    subul = "";
            for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
                var sitem = item.childNodes[sitemi];
                switch (sitem.nodeName) {
                    case "A": a = sitem; break;
                    case "UL": subul = sitem; 
                               processULELC(subul);
                               break;
                }
            }
            if (subul) {
                associateELC(a,subul);
            } 
            if(a.parentNode.parentNode.className=='navlist' && !subul ) {
                a.onclick = function () {
                 closeall();}
            }
        }
    }
}

function associateELC(a,ul) {
    if (a.parentNode.className.indexOf('navopen') == -1)
      a.parentNode.className = 'navclosed';
    a.onclick = function () {
        closeall();
        this.parentNode.className = (this.parentNode.className=='navopen') ? "navclosed" : "navopen";
        return true;
    }
}

function closeall() {
  uls = document.getElementsByTagName("ul");
  for (uli=0;uli<uls.length;uli++) {
    ul = uls[uli];
    if (ul.nodeName == "UL" && ul.className == "navlist") {
      if (!ul.childNodes || ul.childNodes.length == 0) return;
      for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
        var item = ul.childNodes[itemi];
        if (item.nodeName == "LI") {
         item.className= "navclosed";
        }}}}
}



function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}
