TreeMenu.SymbolTag="span";TreeMenu.OmitSymbols=false;TreeMenu.SymbolClassItem="symbol-item";TreeMenu.SymbolClassClose="symbol-close";TreeMenu.SymbolClassOpen="symbol-open";TreeMenu.ClassItem="item";TreeMenu.ClassClose="close";TreeMenu.ClassOpen="open";TreeMenu.ClassLast="last";TreeMenu.CookieSaveStates=true;TreeMenu.CookieExpire=90;TreeMenu.SetupMenu=true;TreeMenu.Singular=false;function make_tree_menu(F,C,B,E,D){var A=new TreeMenu(F);if(C){A.OmitSymbols=true}if(B){A.CookieSaveStates=false}if(E){A.Singular=true}if(D){A.SetupMenu=false}if(A.SetupMenu){A.setup_symbols()}return A}function TreeMenu(A){this.top_ul_id=A;this.top_ul=document.getElementById(A);this.configure();TreeMenu.menus[A]=this;return this}TreeMenu.menus=[];TreeMenu.toggle=function(D){D=TreeMenu.get_ref(D);var B=TreeMenu.menus[TreeMenu.get_top_ul(D).id];var A=TreeMenu.get_li(D);var C=A.getElementsByTagName("UL")[0];if(C.style.display=="block"){B.hide_menu(C,A,D)}else{if(B.Singular){B.hide_menus_except(A)}B.show_menu(C,A,D)}B.save_menu_states()};TreeMenu.show=function(D){D=TreeMenu.get_ref(D);var C=TreeMenu.get_top_ul(D);if(!C){return }var B=TreeMenu.menus[C.id];var A=TreeMenu.get_li(D);B.show_menu(D,A)};TreeMenu.hide=function(D){D=TreeMenu.get_ref(D);var C=TreeMenu.get_top_ul(D);if(!C){return }var B=TreeMenu.menus[C.id];var A=TreeMenu.get_li(D);B.hide_menu(D,A)};TreeMenu.show_all=function(A){A=TreeMenu.get_ref(A);var B=A.getElementsByTagName("UL");for(i=0;i<B.length;i++){TreeMenu.show(B[i])}};TreeMenu.hide_all=function(A){A=TreeMenu.get_ref(A);var B=A.getElementsByTagName("UL");for(i=0;i<B.length;i++){TreeMenu.hide(B[i])}};TreeMenu.save_state=function(B){B=TreeMenu.get_ref(B);var A=TreeMenu.menus[TreeMenu.get_top_ul(B).id];A.save_menu_states()};TreeMenu.reset=function(B){B=TreeMenu.get_ref(B);var A=TreeMenu.menus[TreeMenu.get_top_ul(B).id];A.reset_menu_states()};TreeMenu.get_ref=function(A){if(typeof A=="string"){return document.getElementById(A)}return A};TreeMenu.get_top_ul=function(A){while(A&&(A.nodeName!="UL"||!A.id||!TreeMenu.menus[A.id])){A=A.parentNode}return A};TreeMenu.get_li=function(A){while(A&&A.nodeName!="LI"){A=A.parentNode}return A};TreeMenu.prototype.configure=function(){var A,B;for(A in TreeMenu){B=A.substr(0,1);if(B==B.toUpperCase()){this[A]=TreeMenu[A]}}};TreeMenu.prototype.setup_symbols=function(){var H=this.get_menu_states();var E=0;var F,I,D,G=false;var A,B=this.top_ul.getElementsByTagName("LI");for(var C=0;C<B.length;C++){I=B[C];if(this.ClassLast){G=this.is_last_item(I)}A=I.getElementsByTagName("UL");if(A.length>0){if(this.SymbolTag&&!this.OmitSymbols){D=document.createElement(this.SymbolTag);if(this.ClassLast&&G){D.className=this.ClassLast}D.onclick=function(){TreeMenu.toggle(this)};I.insertBefore(D,I.firstChild)}F=A[0];if(H[E]=="1"){this.show_menu(F,I)}else{this.hide_menu(F,I)}E++}else{if(this.SymbolTag&&!this.OmitSymbols){D=document.createElement(this.SymbolTag);if(this.SymbolClassItem){D.className=this.SymbolClassItem}if(this.SymbolSrcItem){D.src=this.SymbolSrcItem}if(this.ClassLast&&G){D.className+=" "+this.ClassLast}I.insertBefore(D,I.firstChild)}if(this.ClassItem){I.className+=" "+this.ClassItem}}if(G){I.className+=" "+this.ClassLast}}};TreeMenu.prototype.is_last_item=function(A){A=A.nextSibling;while(A&&A.nodeType!=1){A=A.nextSibling}return A?false:true};TreeMenu.prototype.get_menu_states=function(){var A=getCookie("tm_"+this.top_ul_id);if(A){return A.split("x")}return[]};TreeMenu.prototype.save_menu_states=function(){if(!this.CookieSaveStates){return }var E=[];var A,C=this.top_ul.getElementsByTagName("LI");for(var B=0;B<C.length;B++){A=C[B].getElementsByTagName("UL");if(A.length>0){E[E.length]=A[0].style.display=="block"?1:0}}var D=new Date((new Date().getTime())+this.CookieExpire*24*60*60*1000);setCookie("tm_"+this.top_ul_id,E.join("x"),D,"/")};TreeMenu.prototype.reset_menu_states=function(){var A=new Date((new Date().getTime())-1000);setCookie("tm_"+this.top_ul_id,"",A,"/")};TreeMenu.prototype.add_remove_class=function(C,B,A){if(C){if(A){C.className=C.className.replace(A,"")}if(B&&!C.className.match((new RegExp("\\b"+B+"(\\s.*)?")))){C.className+=" "+B}}};TreeMenu.prototype.show_menu=function(C,B,D){C.style.display="block";this.add_remove_class(B,this.ClassOpen,this.ClassClose);if(this.SymbolTag){var A=B.getElementsByTagName(this.SymbolTag)[0];this.add_remove_class(A,this.SymbolClassOpen,this.SymbolClassClose);if(this.SymbolSrcOpen){A.src=this.SymbolSrcOpen}}this.add_remove_class(D,this.SymbolClassOpen,this.SymbolClassClose)};TreeMenu.prototype.hide_menu=function(C,B,D){C.style.display="none";this.add_remove_class(B,this.ClassClose,this.ClassOpen);if(this.SymbolTag){var A=B.getElementsByTagName(this.SymbolTag)[0];this.add_remove_class(A,this.SymbolClassClose,this.SymbolClassOpen);if(this.SymbolSrcClose){A.src=this.SymbolSrcClose}}this.add_remove_class(D,this.SymbolClassClose,this.SymbolClassOpen)};TreeMenu.prototype.hide_menus_except=function(A){var D;var C=new RegExp("\\b"+this.ClassOpen+"\\b");for(var B=0;B<A.parentNode.childNodes.length;B++){D=A.parentNode.childNodes[B];if(D==A||D.nodeType!=1){continue}if(D.className.match(C)){this.hide_menu(D.getElementsByTagName("UL")[0],D)}}};function setCookie(B,D,C,E,A,F){document.cookie=B+"="+escape(D)+(C?"; expires="+C.toGMTString():"")+(E?"; path="+E:"")+(A?"; domain="+A:"")+(F?"; secure":"")}function getCookie(D){var C=document.cookie;var A=D+"=";var E=C.indexOf("; "+A);if(E==-1){E=C.indexOf(A);if(E!=0){return null}}else{E+=2}var B=document.cookie.indexOf(";",E);if(B==-1){B=C.length}return unescape(C.substring(E+A.length,B))};
