
function toggle(elm){var clsName=elm.className;var newDisplay=(clsName.indexOf(" open")!=-1)?"none":"block";if(newDisplay=="none"){elm.className=clsName.replace(" open"," closed");}else{elm.className=clsName.replace(" closed"," open");}
var e=elm.nextSibling;while(e!=null){if(e.tagName=="OL"||e.tagName=="ol"){e.style.display=newDisplay;}
e=e.nextSibling;}}
function collapseAll(tags){for(i=0;i<tags.length;i++){var lists=document.getElementsByTagName(tags[i]);for(var j=0;j<lists.length;j++)
lists[j].style.display="none";var e=document.getElementById("root");e.style.display="block";}}
function openBookMark(){var h=location.hash;if(h=="")h="root_link";if(h=="#")h="root_link";var ids=h.split(/[#.]/);for(i=0;i<ids.length;i++){if(ids[i]!=""&&document.getElementById(ids[i])!=null)toggle(document.getElementById(ids[i]));}}
SELECTED=null;SELECTED_CLASSNAME=null;function selectNode(_id){try{if(SELECTED!=null){SELECTED.className=SELECTED_CLASSNAME;}
var el=document.getElementById(_id);SELECTED_CLASSNAME=el.className;el.className+=" selected_node";SELECTED=el;}catch(exceptionObj){alert("error in selectNode method "+exceptionObj.message);}}