(function(b){b.extend(b.fn,{swapClass:function(d,c){var e=this.filter("."+d);this.filter("."+c).removeClass(c).addClass(d);e.removeClass(d).addClass(c);return this},replaceClass:function(d,c){return this.filter("."+d).removeClass(d).addClass(c).end()},hoverClass:function(c){c=c||"hover";return this.hover(function(){b(this).addClass(c)},function(){b(this).removeClass(c)})},heightToggle:function(d,c){d?this.animate({height:"toggle"},d,c):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();if(c){c.apply(this,arguments)}})},heightHide:function(d,c){if(d){this.animate({height:"hide"},d,c)}else{this.hide();if(c){this.each(c)}}},prepareBranches:function(c){if(!c.prerendered){this.filter(":last-child:not(ul)").addClass(a.last);this.filter((c.collapsed?"":"."+a.closed)+":not(."+a.open+")").find(">ul").hide()}return this.filter(":has(>ul)")},applyClasses:function(c,e){this.filter(":has(>ul):not(:has(>a))").find(">span").unbind("click.treeview").bind("click.treeview",function(f){if(this==f.target){e.apply(b(this).next())}}).hoverClass();if(!c.prerendered){this.filter(":has(>ul:hidden)").addClass(a.expandable).replaceClass(a.last,a.lastExpandable);this.not(":has(>ul:hidden)").addClass(a.collapsable).replaceClass(a.last,a.lastCollapsable);var d=this.find("div."+a.hitarea);if(!d.length){d=this.prepend('<div class="'+a.hitarea+'"/>').find("div."+a.hitarea)}d.removeClass().addClass(a.hitarea).each(function(){var f="";b.each(b(this).parent().attr("class").split(" "),function(){f+=this+"-hitarea "});b(this).addClass(f)})}this.find("div."+a.hitarea).click(e)},treeview:function(f){f=b.extend({cookieId:"treeview"},f);if(f.toggle){var l=f.toggle;f.toggle=function(){return l.apply(b(this).parent()[0],arguments)}}function i(n,m){function o(p){return function(){g.apply(b("div."+a.hitarea,n).filter(function(){return p?b(this).parent("."+p).length:true}));return false}}b("a:eq(0)",m).click(o(a.collapsable));b("a:eq(1)",m).click(o(a.expandable));b("a:eq(2)",m).click(o())}function g(){b(this).parent().find(">.hitarea").swapClass(a.collapsableHitarea,a.expandableHitarea).swapClass(a.lastCollapsableHitarea,a.lastExpandableHitarea).end().swapClass(a.collapsable,a.expandable).swapClass(a.lastCollapsable,a.lastExpandable).find(">ul").heightToggle(f.animated,f.toggle);if(f.unique){b(this).parent().siblings().find(">.hitarea").replaceClass(a.collapsableHitarea,a.expandableHitarea).replaceClass(a.lastCollapsableHitarea,a.lastExpandableHitarea).end().replaceClass(a.collapsable,a.expandable).replaceClass(a.lastCollapsable,a.lastExpandable).find(">ul").heightHide(f.animated,f.toggle)}}this.data("toggler",g);function h(){function m(o){return o?1:0}var n=[];e.each(function(o,p){n[o]=b(p).is(":has(>ul:visible)")?1:0});b.cookie(f.cookieId,n.join(""),f.cookieOptions)}function k(){var m=b.cookie(f.cookieId);if(m){var n=m.split("");e.each(function(o,p){b(p).find(">ul")[parseInt(n[o])?"show":"hide"]()})}}this.addClass("treeview");var e=this.find("li").prepareBranches(f);switch(f.persist){case"cookie":var j=f.toggle;f.toggle=function(){h();if(j){j.apply(this,arguments)}};k();break;case"location":var c=this.find("a").filter(function(){return this.href.toLowerCase()==location.href.toLowerCase()});if(c.length){var d=c.addClass("selected").parents("ul, li").add(c.next()).show();if(f.prerendered){d.filter("li").swapClass(a.collapsable,a.expandable).swapClass(a.lastCollapsable,a.lastExpandable).find(">.hitarea").swapClass(a.collapsableHitarea,a.expandableHitarea).swapClass(a.lastCollapsableHitarea,a.lastExpandableHitarea)}}break}e.applyClasses(f,g);if(f.control){i(this,f.control);b(f.control).show()}return this}});b.treeview={};var a=(b.treeview.classes={open:"open",closed:"closed",expandable:"expandable",expandableHitarea:"expandable-hitarea",lastExpandableHitarea:"lastExpandable-hitarea",collapsable:"collapsable",collapsableHitarea:"collapsable-hitarea",lastCollapsableHitarea:"lastCollapsable-hitarea",lastCollapsable:"lastCollapsable",lastExpandable:"lastExpandable",last:"last",hitarea:"hitarea"})})(jQuery);
