function autocomplete_username_single( id )
{
  try
  {
    jQuery( id ).autocomplete( '/ajax?handler=user', {
      width: 297,
      minChars: 2,
      scroll: true,
      matchContains: true,
      scrollHeight: 300
    } );
  }
  catch ( e ) { }
}

function autocomplete_username( id )
{
  try
  {
    jQuery( id ).autocomplete( '/ajax?handler=user', {
      width: 297,
      minChars: 2,
      multiple: true,
      scroll: true,
      matchContains: true,
      scrollHeight: 300
    } );
  }
  catch ( e ) { }
}

function autocomplete_tags( id )
{
  try
  {    
    jQuery( id ).autocomplete( '/ajax?handler=tags', {
      width: 278,
      minChars: 2,
      multiple: true,
      scroll: true,
      matchContains: true,
      scrollHeight: 300,
      selectFirst: false
    } );
  }
  catch ( e ) { }
}

function autocomplete_status_message( id )
{
  try
  {
    jQuery( id ).autocomplete( '/ajax?handler=status_messages', {
      width: 297,
      minChars: 1,
      scroll: true,
      matchContains: true,
      scrollHeight: 300
    } );
  }
  catch ( e ) { }
}

function autocomplete_locations( idElem, mode )
{
  try
  {
//,
//        z: function() { return jQuery( '#zipcode' ).val(); }
    jQuery( idElem )
      .autocomplete( '/ajax?handler=location', {
        extraParams: {
          m: function() {
               var mode = jQuery( 'input[name=_mode]:checked' );

               if ( mode )
               {
                 return mode.val();
               }

               return 'placename';
             },
          c: function() { return jQuery( '#country' ).val(); }
        },
        width: 278,
        cacheLength: 1, // no caching
        minChars: 2,
        scroll: true,
        matchContains: true,
        scrollHeight: 300,
        selectFirst: false,
  		  formatItem: function( row, i, max ) {
          item = eval( '(' + row + ')' );

          result = '';

          if ( item.name )
          {
            result = item.name;

            if ( item.postalcode )
            {
              result = result + ' [' + item.postalcode + ']';
            }
    	  	}

  		  	return result;
  		  }
      } )
      .result( function( event, data, formatted ) {
        item = eval( '(' + data + ')' );

        if ( item.name )
        {
          jQuery( '#placename' ).val( item.name );
        }

        if ( item.postalcode )
        {
          jQuery( '#zipcode' ).val( item.postalcode );
        }
      } );
  }
  catch ( e ) { }
}