source: extensions/rv_menutree/trunk/js/rvtree.min.js @ 27411

Last change on this file since 27411 was 27411, checked in by rvelices, 10 years ago

menutree optims (remove unused css + move some tpl to php because faster)

  • Property svn:eol-style set to LF
File size: 2.0 KB
Line 
1var XElement={hasClass:function(a,e){if(!a)return!1;var f=a.className;return 0<f.length&&(f==e||RegExp("(^|\\s)"+e+"(\\s|$)").test(f))},addClass:function(a,e){if(a)return XElement.hasClass(a,e)||(a.className+=(a.className?" ":"")+e),a},toggleClasses:function(a,e,f){if(a){for(var b=a.className.split(/\s+/),g=-1,c=-1,d=0;d<b.length;d++)b[d]==e&&(g=d),b[d]==f&&(c=d);0<=g?(b.splice(g,1),c>=g&&c--):b.push(e);0<=c?b.splice(c,1):b.push(f);a.className=b.join(" ");return a}}},RVTree={options:{nodeClosedClass:"liClosed",
2nodeOpenClass:"liOpen",nodeBulletClass:"liBullet",nodeLinkClass:"bullet"},convertTree:function(a){document.createElement&&(window.attachEvent&&!window.opera&&null!=/MSIE ([0-9]{1,}[.0-9]{0,})/.exec(navigator.userAgent)&&(RVTree.options.IEVersion=parseFloat(RegExp.$1)),RVTree._processList(a,!0))},_processList:function(a,e){if(a.childNodes&&0!=a.childNodes.length){for(var f=0;f<a.childNodes.length;f++){var b=a.childNodes[f];if("LI"==b.nodeName){for(var g=!1,c=0;c<b.childNodes.length;c++){var d=b.childNodes[c];
3"UL"==d.nodeName&&(g=!0,RVTree._processList(d,!1))}c=document.createElement("SPAN");d="\u00a0";c.className=RVTree.options.nodeLinkClass;g?(3==b.firstChild.nodeType&&(d+=b.firstChild.nodeValue,b.removeChild(b.firstChild)),c.onclick=function(){XElement.toggleClasses(this.parentNode,RVTree.options.nodeOpenClass,RVTree.options.nodeClosedClass);return!1}):XElement.hasClass(b,RVTree.options.nodeClosedClass)?c.onclick=function(){var a=this.parentNode.getElementsByTagName("A");a.length&&(document.location=
4a[0].href)}:XElement.addClass(b,RVTree.options.nodeBulletClass);b.style.listStyleType="none";e&&RVTree.options.IEVersion&&8>RVTree.options.IEVersion&&(b.style.marginLeft="-16px");c.appendChild(document.createTextNode(d));b.insertBefore(c,b.firstChild)}}a.style.marginLeft=0;a.style.paddingLeft=e?0:"8px"}}};(function(){if("undefined"!=typeof _rvTreeAutoQueue&&_rvTreeAutoQueue.length)for(var a=0;a<_rvTreeAutoQueue.length;a++)RVTree.convertTree(_rvTreeAutoQueue[a]);_rvTreeAutoQueue={push:function(a){RVTree.convertTree(a)}}})();
Note: See TracBrowser for help on using the repository browser.