Drupal.checkAllGroup = function (group) { Drupal['checkAll'+group+'Status'] = !Drupal['checkAll'+group+'Status']; $('input[@type=checkbox][@name^='+group+']').each(function() { this.checked = Drupal['checkAll'+group+'Status']; }); } Drupal.checkAllAttachGroup = function (group) { Drupal['checkAll'+group+'Status'] = false; $('input[@type=checkbox][@name^='+group+']').each(function() { $(this).dblclick(function() { Drupal.checkAllGroup(group); }); }); } Drupal.checkAllAttach = function () { var _groups = {}; $('input[@type=checkbox][@class*="checkboxes-"]').each(function() { groupClass = $.grep($(this).attr('class').split(' '), function(i) { return i.indexOf('checkboxes-') == 0 })[0]; group = groupClass.substr('checkboxes-'.length); if (!_groups[group]) { Drupal.checkAllAttachGroup(group); _groups[group] = true; } }); } if (Drupal.jsEnabled) { $(document).ready(function() { Drupal.checkAllAttach(); }); }