function resetSearch()
{
  $('search-nav-results').hide();
  $('search-nav-results').update('');
}

function windowLoadSearch()
{
  new Form.Element.Observer(
    'search-nav-field',
    2.0,
    function(element, value)
    {
      if (value === "")
      {
        resetSearch();
        return;
      }

      new Ajax.Updater('search-nav-results', '/posts/search',
        {
          asynchronous:true,
          evalScripts:true,
          method:'get',
          parameters:'q=' + value,
          onComplete: function(request) { $('search-nav-results').hide(); }
        }
      );
    }
  );
}
Event.observe(window, 'load', windowLoadSearch);

$('search-nav-field').observe('keypress',
  function(event)
  {
    if (event.keyCode === Event.KEY_ESC) resetSearch();
    if (event.keyCode === Event.KEY_RETURN)
    {
      window.location = '/posts/search?q=' + escape($('search-nav-field').value);
    }
  }
);

$(document).observe('click',
  function(event) { if (event.target.id === '' || event.target.id !== 'search-nav') resetSearch(); }
);
