$(document).ready(function() {
  
    if (typeof (queryCompletionSearchForms) == 'undefined' || queryCompletionSearchForms.length == 0) return;
    $.each(queryCompletionSearchForms, function(index, selectors) {
        $(selectors.textField)
            .autocomplete(
              queryCompletionUrl,
              {
                  cacheLength: 0,
                  extraParams: { ilang: queryCompletionLanguage },
                  delay: 200,
                  selectFirst: false,
                  dataType: 'jsonp',
                  highlight: false,
                  scroll: false,
                  parse: function(data) {
                      return $.map(data, function(row) {
                          return { data: row };
                      });
                  },
                  formatItem: function(item) {
                      if (item) {
                          var nHitString = "<span>" + item.nHits + "</span>";
                          return nHitString + item.suggestionHighlighted;
                      }
                      return;
                  }
              }
            )
            .result(function(event, item) {
                $(selectors.textField).val(item.suggestion);
                $(selectors.button).click();
            })
            ;
    });
});
