/*
http://treemenu.nornix.com/
Build date: 2007-07-27 16:01:39+00:00
*/
Nornix.TreeMenu=function(_1,_2){var _3=this;var _4=_1?_1:"menu";var _5="tree"+_4;var _6=Nornix.readCookie(_5);var _7=(_2===false)?false:true;var _8=window.location+"#";_3.openPattern=/(^| )open( |$)/;this.start=function(){Nornix.delayedInit(_4,init);if(_3.config.preloadImages&&!Nornix.readCookie("preImg")){Nornix.imagePreload(_3.config.preloadImages,_3.config.imagePath);Nornix.createCookie("preImg","x");}};function init(_9){if(!document.getElementById||!document.createElement){return;}_3.menu=_9;_3.menuElements=Nornix.live2copy(_3.menu.getElementsByTagName("li"));if(_3.config.openCloseAll){createOpenCloseAllIcons();}setClasses();ieFix();EventHandlers();}function EventHandlers(){init();function init(){if(_3.config.menuLinkElement){Nornix.addEvent(document.getElementById(_3.config.menuLinkElement),"click",menuJump);if(Nornix.isIe){Nornix.addEvent(document.getElementById(_3.config.menuLinkElement),"focus",menuJumpIe);}}if(_7){removeWhitespace(_3.menu);_7=false;}Nornix.addEvent(_3.menu,"click",checkClickDynamic,true);Nornix.addEvent(_3.menu,"keydown",checkKeyDynamic,true);Nornix.addEvent(window,"unload",save);}function menuJump(e){focusNode(_3.menu);Nornix.cancelEvent(e);return false;}function menuJumpIe(e){if(e.altKey){focusNode(_3.menu);}}function checkClickDynamic(e){var t=e.target;switch(t.className){case "closeTree":var i=0,_f=_3.menuFolders;while(li=_f[i++]){makeClosed(li);}ieFix();return false;case "openTree":var i=0,_f=_3.menuFolders;while(li=_f[i++]){makeOpen(li);}ieFix();return false;}var p=t.parentNode;if(Nornix.eqNodeName(t,"span")){toggle(p);return;}if(p&&isFolder(p)&&isHrefEmpty(t)){toggle(p);Nornix.cancelEvent(e);return false;}return true;}function checkKeyDynamic(e){t=e.target;if(Nornix.containsClass(t,"root")){return checkKey(e,t,0);}if(Nornix.containsClass(t,"closeTree")){return checkKey(e,t,3);}if(Nornix.containsClass(t,"openTree")){return checkKey(e,t,4);}var p=t.parentNode;if(Nornix.containsClass(p,"folder")){return checkKey(e,t,1);}if(Nornix.containsClass(p,"document")){return checkKey(e,t,2);}return true;}}function setClasses(){var _13=[];var i,li,a,_17,chr;var _19=_3.menuElements;var _1a=document.createElement("span");var _1b;_1a.title=_3.texts.openFolderTitle;var _1c=0;if(_3.config.dynamicClasses){var _1d=window.location.href;Nornix.findChildOfType(_3.menu,"a",function(a){Nornix.swapClasses(a,null,"root");if(a.href===_1d){a.removeAttribute("href");setEmptyHrefAsCurrent(a);}});i=0;while(li=_19[i++]){a=li.firstChild;_17=isFolder(li);var _1f;if(_17){_1f="folder closed";_13[_13.length]=li;_1b=_1a.cloneNode(false);li.insertBefore(_1b,a);chr=_6.charAt(_1c++);if(chr&&chr==="-"){_1f="folder open";li.firstChild.title=_3.texts.closeFolderTitle;}}else{_1f="document";}if(_7){Nornix.findChildOfType(li.parentNode,"li",function(_20){if(li===_20){_1f+=" last";}},true);}else{if(li===li.parentNode.lastChild){_1f+=" last";}}if(a.href==_1d){a.removeAttribute("href");setEmptyHrefAsCurrent(a);if(_17){_1f="folder open";li.firstChild.title=_3.texts.closeFolderTitle;}var _21=li.parentNode.parentNode;while(_21&&_21!=_3.menu){makeOpen(_21);_21=_21.parentNode.parentNode;}}li.className=_1f;}}else{i=0;while(li=_19[i++]){a=li.firstChild;_17=isFolder(li);if(isHrefEmpty(a)){setEmptyHrefAsCurrent(a);}if(_17){_13[_13.length]=li;_1b=_1a.cloneNode(false);li.insertBefore(_1b,a);chr=_6.charAt(_1c++);if(chr&&chr==="-"){makeOpen(li);}}}i=0;while(a=_3.menu.childNodes[i++]){if(Nornix.eqNodeName(a,"a")){setEmptyHrefAsCurrent(a);break;}}}_3.menuFolders=_13;}function setEmptyHrefAsCurrent(a){if(!a.href){a.href="javascript:;";Nornix.swapClasses(a,null,"current");if(_3.config.markCurrentItem){a.insertBefore(document.createElement("span"),a.firstChild);}}}function checkKey(e,o,_25){var _26,_27,_28,_29,_2a,_2b,_2c;switch(_25){case 0:_26=true;break;case 1:_27=true;_2b=true;break;case 2:_28=true;_2b=true;break;case 3:_29=true;_2c=true;break;case 4:_2a=true;_2c=true;break;}var p=o.parentNode;var _2e;var _2f=e.keyCode!==null?e.keyCode:e.which;if(_27&&(_2f==32||(_2f==13&&isHrefEmpty(o)))){toggle(p);}else{if(_26&&(_2f===40||((_2f===39)&&!focusAnchor(o.nextSibling)))&&(_2e=p.lastChild.firstChild)){focusNode(_2e);}else{if(_2b&&(_2f===40)){if(_28||!isOpen(p)){if(_2e=p.nextSibling){focusNode(_2e);}else{if(_27&&(_2e=o.nextSibling.firstChild)){toggle(p);focusNode(_2e);}else{_2e=p;while(_2e&&_2e!==_3.menu){_2e=_2e.parentNode.parentNode;if(_2e.nextSibling){focusNode(_2e.nextSibling);break;}}}}}else{if(_2e=p.nextSibling){focusNode(_2e);}else{if(_2e=o.nextSibling.firstChild){focusNode(_2e);}}}}else{if(_2b&&(_2f===38)){if(_2e=p.previousSibling){focusNode(_2e);}else{if(_2e=p.parentNode.parentNode){focusNode(_2e);}}}else{if(_2b&&(_2f===39)){if(_28&&(_2e=p.nextSibling)){focusNode(_2e);}else{if(o.nextSibling&&(_2e=o.nextSibling.firstChild)){if(isOpen(p)){focusNode(_2e);}else{toggle(p);focusNode(_2e);}}}}else{if(_2b&&(_2f===37)){if(_2e=p.parentNode.parentNode){focusNode(_2e);}if(_27&&isOpen(p)){toggle(p);}}else{if(_28&&(_2f===32)){}else{if(_2f===27&&_3.config.contentElement){window.location.hash=_3.config.contentElement;}else{if(_2c&&(_2f===37||_2f===38)){focusAnchor(o.previousSibling);}else{if(_29&&(_2f===39||_2f===40)){focusAnchor(o.nextSibling);}else{if(_2a&&(_2f===39||_2f===40)){focusNode(o.nextSibling.firstChild);}else{return true;}}}}}}}}}}}Nornix.cancelEvent(e);return false;}function save(){var s="",i=0,li;var _33=_3.menuFolders;while(li=_33[i++]){if(isOpen(li)){s+="-";}else{s+="+";}}Nornix.createCookie(_5,s);}function isHrefEmpty(_34){if(_34.href&&(_34.href==_8||_34.href==="javascript:;")){return true;}return !_34.href;}function ieFix(){}if(Nornix.isIe){ieFix=function(){_3.menu.style.position="absolute";_3.menu.style.position="relative";try{window.event.srcElement.focus();}catch(err){}};}else{ieFix=function(){};}function removeWhitespace(n){var i=0,c;while(c=n.childNodes[i]){switch(c.nodeType){case 1:var j=0,c2;while(c2=c.childNodes[j]){switch(c2.nodeType){case 1:removeWhitespace(c2);break;case 3:if(!/\S/.test(c2.nodeValue)){c.removeChild(c2);continue;}break;case 8:c.removeChild(c2);continue;}j++;}break;case 3:if(!/\S/.test(c.nodeValue)){n.removeChild(c);continue;}break;case 8:n.removeChild(c);continue;}i++;}}function isFolder(li){if(_7){return Nornix.findChildOfType(li,"ul",function(x){return true;});}else{return li.childNodes.length>1;}}function toggle(_3c){if(!isOpen(_3c)){makeOpen(_3c);}else{makeClosed(_3c);}ieFix();}function makeOpen(li){Nornix.swapClasses(li,"closed","open");li.firstChild.title=_3.texts.closeFolderTitle;}function makeClosed(li){Nornix.swapClasses(li,"open","closed");li.firstChild.title=_3.texts.openFolderTitle;}function focusNode(_3f){if(!_3f||!_3f.firstChild){return false;}var n=_3f.firstChild;if(focusAnchor(n)){return true;}if(!n.nextSibling||_3f===_3.menu){return false;}n=n.nextSibling;return focusAnchor(n);}function focusAnchor(a){if(Nornix.eqNodeName(a,"a")){a.focus();return true;}return false;}function isOpen(li){return li.className.search(_3.openPattern)!==-1;}function createOpenCloseAllIcons(){var _43=document.createElement("a");_43.href="javascript:;";var a=_43.cloneNode(false);a.className="closeTree";a.title=_3.texts.closeTreeTitle;_3.menu.insertBefore(a,_3.menu.firstChild.nextSibling);a=_43.cloneNode(false);a.className="openTree";a.title=_3.texts.openTreeTitle;_3.menu.insertBefore(a,_3.menu.firstChild.nextSibling.nextSibling);}};Nornix.TreeMenu.prototype.config={"dynamicClasses":true,"openCloseAll":true,"markCurrentItem":false,"contentElement":false,"menuLinkElement":false,"preloadImages":["home-icon.png","close-icon.png","open-icon.png","plus-node.png","minus-node.png","folder-closed-icon.png","doc-node-icon.png","folder-open-icon.png","treemenu-line.png","treemenu-current.png"],"imagePath":"/style/nornix-"};Nornix.TreeMenu.prototype.texts={"closeTreeTitle":"close all folders","openTreeTitle":"open all folders","closeFolderTitle":"close folder","openFolderTitle":"open folder"};var treemenu=new Nornix.TreeMenu();treemenu.start();
