diff -urN gravatar/gravatar.admin.inc gravatar_new/gravatar.admin.inc
--- gravatar/gravatar.admin.inc	2008-03-14 00:36:03.000000000 +0100
+++ gravatar_new/gravatar.admin.inc	2008-06-27 12:39:16.000000000 +0200
@@ -70,6 +70,23 @@
       '#prefix'      => '<div id="default-gravatar-preview">' . _gravatar_admin_settings_previewimage() . '</div>',
       '#disabled'    => variable_get('gravatar_toggle', 0) ? false : true,
    );
+
+   $form['gravatar_display']['gravatar_default_type'] = array(
+      '#type'         => 'select',
+      '#title'        => t('Generated default gravatar type'),
+      '#description'  => t('By selecting a type of avatar, each user will
+      have associated an static automatically generated gravatar of that
+      type which will be his/her identity'),
+      '#options' => array(
+        1 => 'identicon',
+        2 => 'wavatar',
+        3 => 'monsterid',
+        4 => 'default',
+      ),
+      '#default_value' => variable_get('gravatar_default_type', 1),
+      '#disabled' => (variable_get('gravatar_imagedefault', 1) == 3) ? 
+        false : true,
+    );
    
    return system_settings_form($form);
 }
@@ -110,7 +127,7 @@
          break;
       // please try not to abuse this ...
       case 3:
-         $image = GRAVATAR_SERVICEURL;
+         $image = GRAVATAR_SERVICEURL . gravatar_translate_type();
          break;
       default:
    		$image = '';
@@ -121,4 +138,4 @@
       return theme('image', $image, t('Default gravatar preview'), t('Default gravatar preview'), array('width' => $size, 'height' => $size), false); 
    }
    
-}
\ No hay ningún carácter de nueva línea al final del fichero
+}
diff -urN gravatar/gravatar.module gravatar_new/gravatar.module
--- gravatar/gravatar.module	2008-06-20 01:52:10.000000000 +0200
+++ gravatar_new/gravatar.module	2008-06-27 12:41:14.000000000 +0200
@@ -208,6 +208,7 @@
     if ($rating = variable_get('gravatar_displayrating', 'PG')) {
       $gravatar .= '&rating=' . $rating;      
     }
+
     switch (variable_get('gravatar_imagedefault', 0)) {
       case 1:
         $path = variable_get('user_picture_default', '');
@@ -216,6 +217,10 @@
         global $base_url;
         $path = $base_url . '/' . drupal_get_path('module', 'gravatar') . '/avatar.png';
         break;
+      case 3:
+        // Append 'default=' to get desired avatar
+        $gravatar .= gravatar_translate_type();
+        break;
     }
     if (isset($path)) {
       $gravatar .= '&default=' . urlencode($path);
@@ -224,3 +229,36 @@
   }
   return false;
 } // gravatar_get_gravatar
+
+/**
+ * translate default_type to a string
+ *
+ * @return (string)
+ *    "&default=associated type"
+ */
+
+ function gravatar_translate_type() {
+    $type = variable_get('gravatar_default_type', 1);
+
+    if ($type != 4) {
+      $string = '';
+
+      switch ($type) {
+        case 1:
+          $string = 'identicon';
+          break;
+        case 2:
+          $string = 'wavatar';
+          break;
+        case 3:
+          $string = 'monsterid';
+          break;
+        default:
+          $string = '';
+      }
+      return '&default='.$string;
+    } else {
+      return '';
+    }
+    
+ }
