jQuery(document).ready(function($) {
  var timer = false;
  var $resultBox = false;
  // $('#search-block-form').attr('autocomplete', 'off');
  // $('#block-quicksearch-quicksearch .form-text').attr('autocomplete', 'off').val('').keyup(function(event) {
  $('#block-quicksearch-quicksearch .form-text').val('').keyup(function(event) {
    if ($resultBox && event.keyCode >= 13 && event.keyCode <= 40) {
      event.preventDefault();
      var $selectedItem = $resultBox.find('.selected');
      if (event.keyCode == 13 && $selectedItem.length) {
        document.location = $selectedItem.find('a').attr('href');
      }
      else if (event.keyCode == 38) {
        // User pressed up arrow.
        $selectedItem.removeClass('selected');
        if ($selectedItem.prev().length) {
          $selectedItem.prev().addClass('selected');
        }
        else {
          $resultBox.find('li:last').addClass('selected');
        }
      }
      else if (event.keyCode == 40) {
        // User pressed down arrow.
        $selectedItem.removeClass('selected');
        if ($selectedItem.next().length) {
          $selectedItem.next().addClass('selected');
        }
        else {
          $resultBox.find('li:first').addClass('selected');
        }
      }
      return;
    }

    if (timer) {
      clearTimeout(timer);
    }

    if ($(this).val() == '') {
      if ($resultBox) {
        $resultBox.remove();
        $resultBox = false;
        $('.region-highlight').fadeIn();
      }
      return;
    }

    if (!$resultBox) {
      $resultBox = $('<div id="quicksearch-result-box"></div>').appendTo('#block-quicksearch-quicksearch');
      $('.region-highlight').fadeOut();
    }
    $resultBox.html('<div class="loading"></div>');

    timer = setTimeout(doSearch, 200);
  }).blur(function(event) {
    if ($resultBox) {
      setTimeout(function() {
        $resultBox.remove();
        $resultBox = false;
        $('.region-highlight').fadeIn();
      }, 200);
    }
  });
  
  function doSearch() {
    var searchString = $('#block-quicksearch-quicksearch .form-text').val();
    $.ajax({
      url: '/quicksearch',
      dataType: 'json',
      type: 'GET',
      data: {search: searchString},
      success: function(links) {
        var $list = $('<ul></ul>');
        for (var i = 0; i < links.length; i++) {
          $list.append('<li>' + links[i] + '</li>');
        }
        
        $list.append('<li class="selected"><a href="/search/node/' + encodeURIComponent(searchString) + '">Search Bethany.org for "<span id="quicksearch-entered-text"></span>"</a></li>');
        $resultBox.html($list);
        $('#quicksearch-entered-text').text(searchString);
      }
    });
  }
});
;

