//! cd.scripts.tree.debug.js
//

(function() {
function executeScript() {

Type.registerNamespace('CD');

////////////////////////////////////////////////////////////////////////////////
// CD.TreeManagement

CD.TreeManagement = function CD_TreeManagement() {
}
CD.TreeManagement._setup = function CD_TreeManagement$_setup() {
    $('ul.tree.dhtml').each(function(index, elem) {
        var treeObj = $(elem);
        if (!treeObj.hasClass('dynamized')) {
            CD.TreeManagement._setupTree(treeObj);
        }
    });
}
CD.TreeManagement._setupTree = function CD_TreeManagement$_setupTree(treeObj) {
    /// <param name="treeObj" type="jQueryObject">
    /// </param>
    treeObj.find('ul').parent('li').prepend('<span class=\"grower CLOSE\"> </span>');
    treeObj.find('ul li:last-child, li:last-child').addClass('last');
    treeObj.find('span.grower.CLOSE').parent().find('ul:first').hide();
    treeObj.show();
    var selectedBranches = treeObj.find('.selected');
    selectedBranches.parents().each(function(index, elem) {
        var elemObj = $(elem);
        if (elemObj.is('ul')) {
            CD.TreeManagement._toggleBranch(elemObj.parent().find('span.grower'), true);
        }
    });
    CD.TreeManagement._toggleBranch(selectedBranches.prev(), true);
    treeObj.find('span.grower').click(function(evt) {
        CD.TreeManagement._toggleBranch($(evt.target), false);
    });
    treeObj.addClass('dynamized').removeClass('dhtml');
    treeObj.find('ul').css('clear', 'both');
}
CD.TreeManagement._toggleBranch = function CD_TreeManagement$_toggleBranch(obj, noAnimation) {
    /// <param name="obj" type="jQueryObject">
    /// </param>
    /// <param name="noAnimation" type="Boolean">
    /// </param>
    if (obj.hasClass('OPEN')) {
        CD.TreeManagement._closeBranch(obj, noAnimation);
    }
    else if (obj.hasClass('CLOSE')) {
        CD.TreeManagement._openBranch(obj, noAnimation);
    }
}
CD.TreeManagement._openBranch = function CD_TreeManagement$_openBranch(obj, noAnimation) {
    /// <param name="obj" type="jQueryObject">
    /// </param>
    /// <param name="noAnimation" type="Boolean">
    /// </param>
    obj.addClass('OPEN').removeClass('CLOSE');
    if (noAnimation) {
        obj.parent().find('ul:first').show();
    }
    else {
        obj.parent().find('ul:first').slideDown();
    }
}
CD.TreeManagement._closeBranch = function CD_TreeManagement$_closeBranch(obj, noAnimation) {
    /// <param name="obj" type="jQueryObject">
    /// </param>
    /// <param name="noAnimation" type="Boolean">
    /// </param>
    obj.addClass('CLOSE').removeClass('OPEN');
    if (noAnimation) {
        obj.parent().find('ul:first').hide();
    }
    else {
        obj.parent().find('ul:first').slideUp();
    }
}
CD.TreeManagement.expandNode = function CD_TreeManagement$expandNode(listItem, noAnimation) {
    /// <param name="listItem" type="jQueryObject">
    /// </param>
    /// <param name="noAnimation" type="Boolean">
    /// </param>
    CD.TreeManagement._openBranch(listItem.children('span.grower'), noAnimation);
}
CD.TreeManagement.collapseNode = function CD_TreeManagement$collapseNode(listItem, noAnimation) {
    /// <param name="listItem" type="jQueryObject">
    /// </param>
    /// <param name="noAnimation" type="Boolean">
    /// </param>
    CD.TreeManagement._closeBranch(listItem.children('span.grower'), noAnimation);
}
CD.TreeManagement.toggleNode = function CD_TreeManagement$toggleNode(listItem, noAnimation) {
    /// <param name="listItem" type="jQueryObject">
    /// </param>
    /// <param name="noAnimation" type="Boolean">
    /// </param>
    CD.TreeManagement._toggleBranch(listItem.children('span.grower'), noAnimation);
}


CD.TreeManagement.registerClass('CD.TreeManagement');
(function () {
    $(CD.TreeManagement._setup);
})();

}
ss.loader.registerScript('cd.scripts.tree', [], executeScript);
})();

//! This script was generated using Script# v0.6.3.0

