
/* - listexpander.js - */
// http://www.wit.okstate.edu/portal_javascripts/listexpander.js?original=1
this.listexpander=function(){var expandTo=1;var expandText="Expand All";var collapseText="Collapse All";var listClass="listexpander"
this.focuspoint=function(list){var a=document.createElement("a");a.innerHTML="";a.onclick=null;a.focus="function(){expand(this)}";a.href="#";list.appendChild(a)};this.create=function(list){var items=list.getElementsByTagName("li");for(var i=0;i<items.length;i++){listItem(items[i]);focuspoint(items[i])}};this.start=function(){var ul=document.getElementsByTagName("ul");for(var i=0;i<ul.length;i++){if(ul[i].className==listClass){create(ul[i]);buttons(ul[i])}}};this.listItem=function(li){if(li.getElementsByTagName("ul").length>0){var ul=li.getElementsByTagName("ul")[0];ul.style.display=(depth(ul)<=expandTo)?"block":"none";li.className=(depth(ul)<=expandTo)?"expanded":"collapsed";li.over=true;ul.onmouseover=function(){li.over=false}
ul.onmouseout=function(){li.over=true}
li.onclick=function(){if(this.over){ul.style.display=(ul.style.display=="none")?"block":"none";this.className=(ul.style.display=="none")?"collapsed":"expanded"}}}};this.buttons=function(list){var parent=list.parentNode;var p=document.createElement("p");p.className=listClass;var a=document.createElement("a");a.innerHTML=expandText;a.onclick=function(){expand(list)};p.appendChild(a);var a=document.createElement("a");a.innerHTML=collapseText;a.onclick=function(){collapse(list)};p.appendChild(a);parent.insertBefore(p,list)};this.expand=function(list){li=list.getElementsByTagName("li");for(var i=0;i<li.length;i++){if(li[i].getElementsByTagName("ul").length>0){var ul=li[i].getElementsByTagName("ul")[0];ul.style.display="block";li[i].className="expanded"}}};this.collapse=function(list){li=list.getElementsByTagName("li");for(var i=0;i<li.length;i++){if(li[i].getElementsByTagName("ul").length>0){var ul=li[i].getElementsByTagName("ul")[0];ul.style.display="none";li[i].className="collapsed"}}};this.depth=function(obj){var level=1;while(obj.parentNode.className!=listClass){if(obj.tagName=="UL") level++;obj=obj.parentNode};return level};this.start()};
function addLoadEvent(func){var el=window;if(el.addEventListener){el.addEventListener('load',func,true)} else if(el.attachEvent){el.attachEvent('onload',func)}}
window.IsListExpander=true;

