diff --git a/contrib/search_api_views/includes/handler_filter_date.inc b/contrib/search_api_views/includes/handler_filter_date.inc
index 9263bf9..43b1efc 100644
--- a/contrib/search_api_views/includes/handler_filter_date.inc
+++ b/contrib/search_api_views/includes/handler_filter_date.inc
@@ -6,6 +6,27 @@
 class SearchApiViewsHandlerFilterDate extends SearchApiViewsHandlerFilter {
 
   /**
+   * If the date popup is enable provide the extra option setting.
+   */
+  function has_extra_options() {
+    if (module_exists('date_popup')) {
+      return TRUE;
+    }
+    return FALSE;
+  }
+
+  function extra_options_form(&$form, &$form_state) {
+    parent::extra_options_form($form, $form_state);
+    $widget_options = array('default' => 'Default', 'date_popup' => 'Date popup');
+    $form['widget_type'] = array(
+      '#type' => 'radios',
+      '#title' => t('Date selection form element'),
+      '#default_value' => isset($this->options['widget_type']) ? $this->options['widget_type'] : 'default',
+      '#options' => $widget_options,
+    );
+  }
+
+  /**
    * Provide a form for setting the filter value.
    */
   public function value_form(&$form, &$form_state) {
@@ -20,6 +41,13 @@ class SearchApiViewsHandlerFilterDate extends SearchApiViewsHandlerFilter {
       '#size' => 30,
       '#default_value' => isset($this->value) ? $this->value : '',
     );
+
+    // If we are using the date popup widget, overwrite the settings of the form
+    // according to what date_popup expects.
+    if ($this->options['widget_type'] == 'date_popup') {
+      $form['value']['#type'] = 'date_popup';
+      $form['value']['#date_format'] = 'm/d/Y';
+    }
   }
 
   /**
