$.fn.SimpleTree=function(a){this.each(function(){var b=this;var c=$(".root",this);b.option={animate:false,autoclose:false,speed:"fast",success:false,click:false};b.option=$.extend(b.option,a);b.setAjaxNodes=function(e){var d=$.trim($(">li",e).text());if(d&&d.indexOf("url:")){d=$.trim(d.replace(/.*\{url:(.*)\}/i,"$1"));$.ajax({type:"GET",url:d,contentType:"html",cache:false,success:function(f){if(f){e.removeAttr("class");e.html(f);b.setTreeNodes(e,true);if(typeof b.option.success=="function"){b.option.success()}}else{var g=e.parent();var h=g.attr("class");h=h.replace("folder-open","leaf");g.attr("class",h);e.remove();$(".toggler",g).remove()}}})}};b.closeNearby=function(d){$(d).siblings().filter(".folder-open, .folder-open-last").each(function(){var e=$(">ul",this);var f=this.className;f=f.replace("open","close");$(this).attr("class",f);if(b.option.animate){e.animate({height:"toggle"},b.option.speed)}else{e.hide()}})};b.setEventToggler=function(d){$(d).prepend('<span class="toggler"></span>');$(">.toggler",d).bind("click",function(){var e=$(">ul",d);var f=d.className;if(e.is(":visible")){f=f.replace("open","close");$(d).attr("class",f);if(b.option.animate){e.animate({height:"toggle"},b.option.speed)}else{e.hide()}}else{f=f.replace("close","open");$(d).attr("class",f);if(b.option.animate){e.animate({height:"toggle"},b.option.speed,function(){if(b.option.autoclose){b.closeNearby(d)}if(e.is(".ajax")){b.setAjaxNodes(e)}})}else{e.show();if(b.option.autoclose){b.closeNearby(d)}if(e.is(".ajax")){b.setAjaxNodes(e)}}}})};b.setTreeNodes=function(e,d){e=d?e.parent():e;$("li",e).each(function(h){var j=this.className;var f=false;var g=$(">ul",this);if(g.size()>0){var k="folder-";if(j&&j.indexOf("open")>=0){k=k+"open";f=true}else{k=k+"close"}this.className=k+($(this).is(":last-child")?"-last":"");b.setEventToggler(this);if(!f||j.indexOf("ajax")>=0){g.hide()}}else{var k="leaf";this.className=k+($(this).is(":last-child")?"-last":"")}$(">.text, >.active",this).bind("click",function(){$(".active",b).attr("class","text");$(this).attr("class","active");if(typeof b.option.click=="function"){b.option.click(this)}})})};b.init=function(d){b.setTreeNodes(d)};b.init(c)})};
