//scott andrew
function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
};

//olivvv
var countTree = function (){
	var treelis = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<treelis.length; i++) {
		treelis[i].id = 'nav'+i;
	}
}

//olivvv
var openNode = function(id){
	//alert(id);
	var el = document.getElementById(id);
	if (el){
		el.firstChild.id = 'a'+id;
		el.parentNode.style.left = 'auto';
	}
}
//olivvv
var closeNode = function(id){
	var el = document.getElementById(id);
	if (el){
		el.parentNode.style.left = '-999em';
		el.parentNode.parentNode.style.background = '';
		el.style.background = '';
	}
}
//olivvv
var openedNodeBehavior = function (tree ,id){
	var el = document.getElementById(id);
	var treelis = document.getElementById(tree).getElementsByTagName("li");
	if (el){
		var elparent = el.parentNode.parentNode;
		for (var i=0; i<treelis.length; i++) {
			if ((treelis[i].id != elparent.id) && (treelis[i].parentNode.parentNode.id != elparent.id) && (((treelis[i].parentNode.parentNode.id != elparent.id) && (treelis[i].childNodes.length > 2)) || ((treelis[i].parentNode.parentNode.id != '') && (treelis[i].childNodes.length < 3)))){			
					treelis[i].firstChild.onmouseover = function () {closeNode(id);	}
					treelis[i].firstChild.onmouseout = function () { openNode(id);	}					
			}		
		}
	}
}