diff --git a/email.module b/email.module
index ce85201..b3abcba 100644
--- a/email.module
+++ b/email.module
@@ -200,10 +200,17 @@ function email_widget_settings($op, $widget) {
         '#element_validate' => array('_email_widget_settings_size_validate'),
         '#required' => TRUE,
       );
+     $autoemail = (isset($widget['autocomplete']) && is_numeric($widget['autocomplete'])) ? $widget['autocomplete'] : 0;
+     $form['autocomplete'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Autocomplete with users\' email addresses'),
+        '#description' => t('Autocomplete with emails from users of this site.'),
+        '#default_value' => $autoemail,
+      );
       return $form;
       
     case 'save':
-      return array('size');
+      return array('size', 'autocomplete');
   }
 }
 
@@ -241,6 +248,7 @@ function email_textfield_process($element, $edit, $form_state, $form) {
     '#size' => !empty($field['widget']['size']) ? $field['widget']['size'] : 60,
     '#attributes' => array('class' => 'text', 'dir' => 'ltr'),
     '#default_value' => isset($element['#value'][$field_key]) ? $element['#value'][$field_key] : NULL,
+    '#autocomplete_path' => !empty($field['widget']['autocomplete']) && $field['widget']['autocomplete'] ? 'email/siteusers/autocomplete' : '',
   );
   return $element;
 }
@@ -271,9 +279,29 @@ function email_menu() {
     'page arguments' => array('email_admin_settings'),
     'access arguments' => array('administer site configuration'),
   );
+  $items['email/siteusers/autocomplete'] = array(
+      'title' => t('Autocomplete for Emails'),
+      'page callback' => '_email_siteusers_autocomplete',
+      'access arguments' => array('access content'),
+      'type' => MENU_CALLBACK,
+    );
   return $items;
 }
 
+/**
+ * Autocomplete sit site's users' emails.
+ */
+function _email_siteusers_autocomplete($string = '') {
+  $matches = array();
+  if ($string != '') {
+    $result = db_query_range("SELECT users.mail FROM {users} WHERE LOWER(users.mail) LIKE LOWER('%s%%')", $string, 0, 10);
+    while ($user = db_fetch_object($result)) {
+      $n = $user->mail;
+      $matches[$n] = check_plain($user->mail);
+    }
+  }
+  drupal_json($matches);
+}
 
 /**
  * The contact form page.
@@ -442,7 +470,6 @@ function email_mail($key, &$message, $params) {
   }
 }
 
-
 /**
  * Implementation of hook token_list
  */
