/** * Classs for toggle-list * * @param {String} listId - id-name from the ul-tag * @returns {Object} the API with public members */ S.ToggleList = function(listId) { var _root = ""; var _speed = "slow"; var _unique = false; // --------------------- private-area [methods] ------------------------- // /** * Constructor - hides all toggle-list-elements * * @param {String} listId - listId - id-name from the ul-tag */ function __construct(listId) { if (!listId) {throw "Constructor-parameter must be a string";} _root = listId; $(_root + " a.jsToggle").removeClass("jsActive"); $(_root + " .jsToggle:not(a.jsToggle)").hide(0); _open(); } /** * Opens all toggle-elements witch has the class name "jsOpen" * * @returns {void} */ function _open() { var index = 0; $(_root + " a.jsToggle").each(function(){ if ($(this).hasClass("jsOpen")) { $(this).addClass("jsActive"); $(_root + " .jsToggle:not(a.jsToggle):eq("+index+")").show(0); } index++; }); } /** * Close all list-points * * @returns {void} */ function _closeAll(currentIndex) { var index = 0; $(_root + " a.jsToggle").each(function() { if (index != currentIndex) { $(this).removeClass("jsActive"); $(_root + " .jsToggle:not(a.jsToggle):eq("+index+")").hide(_speed); } else { $(this).toggleClass("jsActive"); $(_root + " .jsToggle:not(a.jsToggle):eq("+index+")").toggle(_speed); } index++; }); } /** * Opens toggle-list-elements by number * * @param {Array} listArray - numbers of the toggle-list-elements, witch sould be open * @returns {void} */ function _toggle(listArray) { for (var i=0; i