vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb
# Adds AJAX autocomplete functionality to the text input field with the 
# DOM ID specified by +field_id+.
#
# This function expects that the called action returns an HTML <ul> list,
# or nothing if no entries should be displayed for autocompletion.
#
# You'll probably want to turn the browser's built-in autocompletion off,
# so be sure to include an <tt>autocomplete="off"</tt> attribute with your text
# input field.
#
# The autocompleter object is assigned to a Javascript variable named <tt>field_id</tt>_auto_completer.
# This object is useful if you for example want to trigger the auto-complete suggestions through
# other means than user input (for that specific case, call the <tt>activate</tt> method on that object). 
# 
# Required +options+ are:
# <tt>:url</tt>::                  URL to call for autocompletion results
#                                  in url_for format.
# 
# Addtional +options+ are:
# <tt>:update</tt>::               Specifies the DOM ID of the element whose 
#                                  innerHTML should be updated with the autocomplete
#                                  entries returned by the AJAX request. 
#                                  Defaults to <tt>field_id</tt> + '_auto_complete'
# <tt>:with</tt>::                 A JavaScript expression specifying the
#                                  parameters for the XMLHttpRequest. This defaults
#                                  to 'fieldname=value'.
# <tt>:frequency</tt>::            Determines the time to wait after the last keystroke
#                                  for the AJAX request to be initiated.
# <tt>:indicator</tt>::            Specifies the DOM ID of an element which will be
#                                  displayed while autocomplete is running.
# <tt>:tokens</tt>::               A string or an array of strings containing
#                                  separator tokens for tokenized incremental 
#                                  autocompletion. Example: <tt>:tokens => ','</tt> would
#                                  allow multiple autocompletion entries, separated
#                                  by commas.
# <tt>:min_chars</tt>::            The minimum number of characters that should be
#                                  in the input field before an Ajax call is made
#                                  to the server.
# <tt>:on_hide</tt>::              A Javascript expression that is called when the
#                                  autocompletion div is hidden. The expression
#                                  should take two variables: element and update.
#                                  Element is a DOM element for the field, update
#                                  is a DOM element for the div from which the
#                                  innerHTML is replaced.
# <tt>:on_show</tt>::              Like on_hide, only now the expression is called
#                                  then the div is shown.
# <tt>:after_update_element</tt>:: A Javascript expression that is called when the
#                                  user has selected one of the proposed values. 
#                                  The expression should take two variables: element and value.
#                                  Element is a DOM element for the field, value
#                                  is the value selected by the user.
# <tt>:select</tt>::               Pick the class of the element from which the value for 
#                                  insertion should be extracted. If this is not specified,
#                                  the entire element is used.
# <tt>:method</tt>::               Specifies the HTTP verb to use when the autocompletion
#                                  request is made. Defaults to POST.
Adds AJAX autocomplete functionality to the text input field with the
DOM ID specified by +field_id+.

This function expects that the called action returns an HTML  list,
or nothing if no entries should be displayed for autocompletion.

You'll probably want to turn the browser's built-in autocompletion off,
so be sure to include an autocomplete="off" attribute with your text
input field.

The autocompleter object is assigned to a Javascript variable named field_id_auto_completer.
This object is useful if you for example want to trigger the auto-complete suggestions through
other means than user input (for that specific case, call the activate method on that object).

Required +options+ are:
:url::                  URL to call for autocompletion results
in url_for format.

Addtional +options+ are:
:update::               Specifies the DOM ID of the element whose
innerHTML should be updated with the autocomplete
entries returned by the AJAX request.
Defaults to field_id + '_auto_complete'
:with::                 A JavaScript expression specifying the
parameters for the XMLHttpRequest. This defaults
to 'fieldname=value'.
:frequency::            Determines the time to wait after the last keystroke
for the AJAX request to be initiated.
:indicator::            Specifies the DOM ID of an element which will be
displayed while autocomplete is running.
:tokens::               A string or an array of strings containing
separator tokens for tokenized incremental
autocompletion. Example: :tokens => ',' would
allow multiple autocompletion entries, separated
by commas.
:min_chars::            The minimum number of characters that should be
in the input field before an Ajax call is made
to the server.
:on_hide::              A Javascript expression that is called when the
autocompletion div is hidden. The expression
should take two variables: element and update.
Element is a DOM element for the field, update
is a DOM element for the div from which the
innerHTML is replaced.
:on_show::              Like on_hide, only now the expression is called
then the div is shown.
:after_update_element:: A Javascript expression that is called when the
user has selected one of the proposed values.
The expression should take two variables: element and value.
Element is a DOM element for the field, value
is the value selected by the user.
:select::               Pick the class of the element from which the value for
insertion should be extracted. If this is not specified,
the entire element is used.
:method::               Specifies the HTTP verb to use when the autocompletion
request is made. Defaults to POST.
Adds AJAX autocomplete functionality to the text input field with the DOM ID specified by + field_id + . This function expects that the called action returns an HTML list or nothing if no entries should be displayed for autocompletion . You ' ll probably want to turn the browser ' s built - in autocompletion off so be sure to include an autocomplete = " off " attribute with your text input field . The autocompleter object is assigned to a Javascript variable named field_id_auto_completer . This object is useful if you for example want to trigger the auto - complete suggestions through other means than user input ( for that specific case call the activate method on that object ) . Required + options + are : : url :: URL to call for autocompletion results in url_for format . Addtional + options + are : : update :: Specifies the DOM ID of the element whose innerHTML should be updated with the autocomplete entries returned by the AJAX request . Defaults to field_id + ' _auto_complete ' : with :: A JavaScript expression specifying the parameters for the XMLHttpRequest . This defaults to ' fieldname = value ' . : frequency :: Determines the time to wait after the last keystroke for the AJAX request to be initiated . : indicator :: Specifies the DOM ID of an element which will be displayed while autocomplete is running . : tokens :: A string or an array of strings containing separator tokens for tokenized incremental autocompletion . Example : : tokens = > ' ' would allow multiple autocompletion entries separated by commas . : min_chars :: The minimum number of characters that should be in the input field before an Ajax call is made to the server . : on_hide :: A Javascript expression that is called when the autocompletion div is hidden . The expression should take two variables : element and update . Element is a DOM element for the field update is a DOM element for the div from which the innerHTML is replaced . : on_show :: Like on_hide only now the expression is called then the div is shown . : after_update_element :: A Javascript expression that is called when the user has selected one of the proposed values . The expression should take two variables : element and value . Element is a DOM element for the field value is the value selected by the user . : select :: Pick the class of the element from which the value for insertion should be extracted . If this is not specified the entire element is used . : method :: Specifies the HTTP verb to use when the autocompletion request is made . Defaults to POST .
def auto_complete_stylesheet
      content_tag('style', <<-EOT, :type => Mime::CSS)
        div.auto_complete {
          width: 350px;
          background: #fff;
        }
        div.auto_complete ul {
          border:1px solid #888;
          margin:0;
          padding:0;
          width:100%;
          list-style-type:none;
        }
        div.auto_complete ul li {
          margin:0;
          padding:3px;
        }
        div.auto_complete ul li.selected {
          background-color: #ffb;
        }
        div.auto_complete ul strong.highlight {
          color: #800; 
          margin:0;
          padding:0;
        }
      EOT
    end
def auto_complete_stylesheet content_tag ( 'style' , <<-EOT , :type => Mime :: CSS ) 
        div.auto_complete {
          width: 350px;
          background: #fff;
        }
        div.auto_complete ul {
          border:1px solid #888;
          margin:0;
          padding:0;
          width:100%;
          list-style-type:none;
        }
        div.auto_complete ul li {
          margin:0;
          padding:3px;
        }
        div.auto_complete ul li.selected {
          background-color: #ffb;
        }
        div.auto_complete ul strong.highlight {
          color: #800; 
          margin:0;
          padding:0;
        }
       EOT end
Adds AJAX autocomplete functionality to the text input field with the
DOM ID specified by +field_id+.
Adds AJAX autocomplete functionality to the text input field with the DOM ID specified by + field_id + .