function addEvent(o,e,f){if(o.addEventListener){o.addEventListener(e,f,true);return true;}
else if(o.attachEvent){return o.attachEvent("on"+e,f);}
else{return false;}}
function setDefault(name,val){if(typeof(window[name])=="undefined"||window[name]==null){window[name]=val;}}
function expandTree(treeId){var ul=document.getElementById(treeId);if(ul==null){return false;}
expandCollapseList(ul,nodeOpenClass);}
function collapseTree(treeId){var ul=document.getElementById(treeId);if(ul==null){return false;}
expandCollapseList(ul,nodeClosedClass);}
function expandToItem(treeId,itemId){var ul=document.getElementById(treeId);if(ul==null){return false;}
var ret=expandCollapseList(ul,nodeOpenClass,itemId);if(ret){var o=document.getElementById(itemId);if(o.scrollIntoView){o.scrollIntoView(false);}}}
function expandCollapseList(ul,cName,itemId){if(!ul.childNodes||ul.childNodes.length==0){return false;}
for(var itemi=0;itemi<ul.childNodes.length;itemi++){var item=ul.childNodes[itemi];if(itemId!=null&&item.id==itemId){return true;}
if(item.nodeName=="LI"){var subLists=false;for(var sitemi=0;sitemi<item.childNodes.length;sitemi++){var sitem=item.childNodes[sitemi];if(sitem.nodeName=="UL"){subLists=true;var ret=expandCollapseList(sitem,cName,itemId);if(itemId!=null&&ret){item.className=cName;return true;}}}
if(subLists&&itemId==null){item.className=cName;}}}}
function setDefaults()
{setDefault("treeClass","mktree");setDefault("nodeClosedClass","liClosed");setDefault("nodeOpenClass","liOpen");setDefault("nodeBulletClass","liBullet");setDefault("nodeLinkClass","bullet");setDefault("preProcessTrees",true);}
function convertTreeString(treeStr)
{var tmp=document.createElement('div');tmp.innerHTML=treeStr;var div=tmp.firstChild;var n=div.childNodes.length;for(i=0;i<n;i++)
{convertSingleTree(div.childNodes[i]);}
return div;}
function convertTreeDiv(id)
{var t=$(id);if(!t)alert('cant find '+id);var n=t.childNodes.length;for(i=0;i<n;i++)
{convertSingleTree(t.childNodes[i]);}}
function convertSingleTree(ul)
{setDefaults();processList(ul);}
function processList(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 subLists=false;for(var sitemi=0;sitemi<item.childNodes.length;sitemi++){var sitem=item.childNodes[sitemi];if(sitem.nodeName=="UL"){subLists=true;processList(sitem);}}
var s=document.createElement("SPAN");s.id=item.id;var t='\u00A0';s.className=nodeLinkClass;if(subLists){if(item.className==null||item.className==""){item.className=nodeClosedClass;}
if(item.firstChild.nodeName=="#text"){t=t+item.firstChild.nodeValue;item.removeChild(item.firstChild);}
s.onclick=function(){this.parentNode.className=(this.parentNode.className==nodeOpenClass)?nodeClosedClass:nodeOpenClass;if(item.onclick)item.onclick();return false;}}
else{item.className=nodeBulletClass;s.onclick=function(){return false;}}
s.appendChild(document.createTextNode(t));item.insertBefore(s,item.firstChild);}}}
