/** * Javascript for Admin / Global categories */ // Record original value var cat_original_owner; var permission_prompt; /** * Check to see if admin has taken away access to a category */ function check_owner(element_id) { var checkboxes = $j(':checkbox', document.getElementById(element_id)); var all_users = $j(document.getElementById(element_id + '[0]')); // If they checked all users, uncheck the others if(all_users.length > 0 && all_users.attr("checked")) { checkboxes.attr("checked",false); all_users.attr("checked", true); checkboxes = $j(':checkbox', document.getElementById(element_id)).filter(':checked'); return true; } // Find out what changed var seen = [], diff = [], labels = []; for ( var i = 0; i < cat_original_owner.length; i++) { var checkbox = checkboxes.filter('[value="'+cat_original_owner[i]+'"]'); if(checkbox.filter(':checked').length == 0 && checkbox.get(0) != undefined) { diff.push(cat_original_owner[i]); labels.push($j(checkbox.get(0).nextSibling).text()); } } // Single selection? if(checkboxes.length == 0) { var new_group = $j(document.getElementById(element_id)); if(new_group.attr('value') != 0 && cat_original_owner.length > 0) { diff.push(cat_original_owner[0]); var selector = 'option[value="'+cat_original_owner[0]+'"]'; labels.push("\n"+$j(selector, new_group).text()); } } // Somebody will lose permission, give warning. if(diff.length > 0) { var msg = permission_prompt; for( var i = 0; i < labels.length; i++) { msg += labels[i]; } return confirm(msg); } return true; } /** * Show icon based on icon-selectbox, hide placeholder (broken image), if no icon selected */ function change_icon(_icon) { var img = document.getElementById('exec[icon_url]') || document.getElementById('icon_url'); if (typeof _icon == 'undefined') { _icon = document.getElementById('exec[data][icon]') || document.getElementById('data[icon]'); } if (_icon && _icon.value) { img.src = img.src.replace(/\/[^\/]*$/,'\/'+_icon.value); img.style.display = 'block'; } else { img.style.display = 'none'; } }