var temp, treeCookieArray, treeCookieArray2, treeCookieArrayR;

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;
  }
}

addEvent(window, "load", makeTreesC);

function makeTreesC() {
    if (!document.createElement) return;
    readTreeCookie();
    uls = document.getElementsByTagName("ul");
    for (uli=0;uli<uls.length;uli++) {
        ul = uls[uli];
        if (ul.nodeName == "UL" && ul.className == "waebictree") {
            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);
            } else {
                a.parentNode.className = "waebictreebullet";
            }
        }
    }
}

function associateELC(a,ul) {
	for(i in treeCookieArrayR){
		if (treeCookieArrayR[i].split("|")[0] == a.parentNode.id) {
		   a.parentNode.className = treeCookieArrayR[i].split("|")[1];
			 if(a.parentNode.className.split(';')[0] != undefined )a.parentNode.className = a.parentNode.className.split(';')[0];
			 if(a.parentNode.className.split('=')[1] != undefined )a.parentNode.className = a.parentNode.className.split('=')[1];
		}
	}
	if (a.parentNode.className.indexOf('waebictreeopen') == -1){
			a.parentNode.className = 'waebictreeclosed';
	}
  a.onclick = function () {
		this.parentNode.className = (this.parentNode.className=='waebictreeopen') ? "waebictreeclosed" : "waebictreeopen";
		storeTreeCookie();
		return false;
  }
}

function storeTreeCookie() {
	treeCookieArray=new Array();
	temp = document.getElementsByTagName("li");
  for (q=0;q<temp.length;q++) {
	  if ((temp[q].className=='waebictreeopen' || temp[q].className=='waebictreeclosed') && temp[q].id != ''){
	  	treeCookieArray[q]= temp[q].id+"|"+temp[q].className;
		}      
  }
	document.cookie="WaebicTree="+treeCookieArray+";expires="+new Date(new Date().getTime() + 365*24*60*60*1000).toGMTString();
}

function readTreeCookie() {
    if (document.cookie){
			treeCookieArrayR=document.cookie.split(",");		
    }
}
