Index: thickbox.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/thickbox/thickbox.module,v
retrieving revision 1.9.2.11
diff -u -p -r1.9.2.11 thickbox.module
--- thickbox.module	13 Aug 2008 06:46:28 -0000	1.9.2.11
+++ thickbox.module	14 Aug 2008 20:43:32 -0000
@@ -46,8 +46,8 @@ function thickbox_admin_settings() {
       '#type' => 'radios',
       '#title' => t('Image field gallery'),
       '#default_value' => variable_get('thickbox_imagefield_gallery', 0),
-      '#options' => array(0 => t('Per page gallery'), 1 => t('Per post gallery')),
-      '#description' => t('Should the gallery be images within a single post or all images on the page.'),
+      '#options' => array(0 => t('Per page gallery'), 1 => t('Per post gallery'), 2 => t('Per field gallery')),
+      '#description' => t('Should the gallery be images within a single field, a single post or all images on the page.'),
     );
   }
 
@@ -193,8 +193,19 @@ function thickbox_field_formatter($field
     if (strpos($formatter, 'thickbox][') !== FALSE) {
       list($null, $namespace) = explode('][', $formatter, 2);
       $nid = $item['nid'] ? $item['nid'] : ($node->nid ? $node->nid : '');
-      $gallery_id = variable_get('thickbox_imagefield_gallery', 0) == 0 ? $field['type_name'] : $nid;
-      if ($preset = imagecache_preset_by_name($namespace)) {
+      switch (variable_get('thickbox_imagefield_gallery', 0)) {
+        case 0:
+          $gallery_id = $field['type_name'];
+          break;
+        case 1:
+          $gallery_id = $nid;
+          break;
+        case 2:
+          $gallery_id = $nid .'-'. $item['fid'];
+          break;
+      }
+      $preset = imagecache_preset_by_name($namespace);
+      if (!empty($preset)) {
         return theme('imagefield_image_imagecache_thickbox', $namespace, $field, $file['filepath'], $item['alt'], $item['title'], $gallery_id);
       }
     }
