/** * @version $Id: scriptaculous.js,v 1.38 2006/12/09 06:41:09 kevinuru Exp $ */ var sAgent = navigator.userAgent.toLowerCase(); var is_ie = (sAgent.indexOf("msie") != -1); var is_ie7 = (sAgent.indexOf("msie 7") != -1); var is_gecko = !is_ie; var is_safari = (sAgent.indexOf("safari") != -1); var is_nav = (sAgent.indexOf("netscape") != -1); if (is_ie) { try { document.execCommand("BackgroundImageCache", false, true); } catch(e) {}; } var Zoom = { Version: '1.6.5', libs: new Array(), folded: new Array(), connector: null, method: 'post', state: 'new', treenode: null, treePinned: true, treeDrag: null, treePos: null, treeCaptionPos: null, treeObj: null, treeDragNodes: new Array(), treeDropNodes: new Array(), treeDragObjs: new Array(), treeDropObjs: new Array(), 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: '-1', 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') || (typeof Element == 'undefined') || (typeof Element.Methods=='undefined') || parseFloat(Prototype.Version.split(".")[0] + "." + Prototype.Version.split(".")[1]) < 1.5) throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0"); $A(document.getElementsByTagName("script")).findAll( function(s) { return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/)) }).each( function(s) { var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,''); var includes = s.src.match(/\?.*load=([a-zA-Z,]*)/); (includes ? includes[1] : 'button,effects,dhtmlXCommon,dhtmlXTree,dragdrop,mm,tjpzoom').split(',').each( function(include) { Zoom.require(path+include+'.js') }); }); }, 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, uid, option; var oSrc = $(src); var oDst = $(dst); // First, clear the destination