function openBranch(a, b) { a.addClass("OPEN").removeClass("CLOSE"); b ? a.parent().find("ul:first").show() : a.parent().find("ul:first").slideDown() } function closeBranch(a, b) { a.addClass("CLOSE").removeClass("OPEN"); b ? a.parent().find("ul:first").hide() : a.parent().find("ul:first").slideUp() } function toggleBranch(a, b) { a.hasClass("OPEN") ? closeBranch(a, b) : openBranch(a, b) } $(document).ready(function() { if(!$("ul.tree.dhtml").hasClass("dynamized")) { $("ul.tree.dhtml ul").prev().before("<span class='grower OPEN'> </span>"); $("ul.tree.dhtml ul li:last-child, ul.tree.dhtml li:last-child").addClass("last"); $("ul.tree.dhtml span.grower.OPEN").addClass("CLOSE").removeClass("OPEN").parent().find("ul:first").hide(); $("ul.tree.dhtml").show(); $("ul.tree.dhtml .selected").parents().each(function() { $(this).is("ul") && toggleBranch($(this).prev().prev(), true) }); toggleBranch($("ul.tree.dhtml .selected").prev(), true); $("ul.tree.dhtml span.grower").click(function() { toggleBranch($(this)) }); $("ul.tree.dhtml").addClass("dynamized"); $("ul.tree.dhtml").removeClass("dhtml") } });
