/** * @version $Id: scriptaculous.js,v 1.21 2006/08/05 22:02:54 mikedeboer Exp $ */ var Zoom = { Version: '1.5_pre4', libs: new Array(), folded: new Array(), connector: null, method: 'post', state: 'new', treenode: null, treeObj: null, req_uri: window.location.protocol + "//" + window.location.host + window.location.pathname.replace(/\/(administrator\/)?index(.*)\.php$/i, '') + "/components/com_zoom/www/ajaxcallback.php", site_uri: '', uid: '0', activeCat: '0', activeSubcat: '0', lightboxActive: false, votingActive: false, votingMedium: null, require : function(libraryName) { // inserting via DOM fails in Safari 2.0, so brute force approach document.write(''); }, load : function() { if((typeof Prototype=='undefined') || parseFloat(Prototype.Version.split(".")[0] + "." + Prototype.Version.split(".")[1]) < 1.4) throw("script.aculo.us requires the Prototype JavaScript framework >= 1.4.0"); var scriptTags = document.getElementsByTagName("script"); for(var i=0;i 0) for (var i = 0; i < arguments.length; i++) this.libs.push(arguments[i]); }, checkLibraries : function() { var i, j, libNumber = 7, libCnt = 0; var required = ['util', 'button', 'effects', 'dtree', 'dragdrop', 'mm', 'tjpzoom']; for (i = 0; i < this.libs.length; i++) for (j = 0; j < required.length; j++) if (this.libs[i] == required[j]) libCnt++; if (libCnt == libNumber) return true; return false; }, buildMembersButtons: function(node, src, dst) { new Zoom.Button('members_add', '', node, { width: 22, height: 22, group: 'members_actions', classEnter: 'zmg_nav_btn_right_hover', classLeave: 'zmg_nav_btn_right', actionData: [src, dst], onEnter: function(button) { overlib('Add selected group or user to list'); }, onLeave : function(button) { nd(); }, onLeftClick: function(button) { Zoom.rebuildMembersList(button.getId(), button.options.actionData[0], button.options.actionData[1]); } }); new Zoom.Button('members_remove', '', node, { width: 22, height: 22, group: 'members_actions', classEnter: 'zmg_nav_btn_left_hover', classLeave: 'zmg_nav_btn_left', actionData: [src, dst], onEnter: function(button) { overlib('Remove selected group or user from list'); }, onLeave : function(button) { nd(); }, onLeftClick: function(button) { Zoom.rebuildMembersList(button.getId(), button.options.actionData[0], button.options.actionData[1]); } }); }, rebuildMembersList : function(button, src, dst) { var i; var oSrc = $(src); var oDst = $(dst); if (button.indexOf('add') >= 0) { for (i = 0; i < oSrc.childNodes.length; i++) { if (oSrc.childNodes[i].selected && oSrc.childNodes[i].value != "0" && !this.hasOption(oDst, oSrc.childNodes[i].value)) { oDst.appendChild(oSrc.childNodes[i].cloneNode(true)); } } } else { for (i = 0; i < oDst.childNodes.length; i++) { if (oDst.childNodes[i].selected) { oDst.removeChild(oDst.childNodes[i]); } } } }, buildMembersList : function(members, src, dst) { var i, j; if (typeof members == "string") members = members.split(','); var oSrc = $(src); var oDst = $(dst); // First, clear the destination