Enexis.SearchHint = function(inputElement, hintsElement){
  var self = this;
  this.input = $(inputElement);
  this.hints = $(hintsElement);
  this.hintList = $("li", this.hints).not(".close");
  this.currentText = "";
  
  this.filterList = function(){
    var data = $("a", this).contents()[0].nodeValue;
    return (data.substring(0,self.currentText.length).toLowerCase() == self.currentText.toLowerCase());
  };
  
  this.onKeyup = function(){
    self.currentText = self.input.val();
    if (self.currentText != "") {
      if (self.hintList.filter(self.filterList).length > 0) {
        self.hints.fadeIn().show();
        self.hintList.hide();
        self.hintList.filter(self.filterList).show();
        self.hintList.filter(":visible").filter(":gt(10)").hide();
      }
      else {
        self.hints.fadeOut().hide();
      }
    }
    else {
      self.hints.fadeOut().hide();
    }
  };
  
  this.input.keyup(this.onKeyup);
};

//Bind searchhint function for both top search and helpcenter search
$(document).ready(function() {
  var searchTop = $("#zoeken");
  if (searchTop.length > 0) {new Enexis.SearchHint(searchTop, "#searchHintTop"); }

  var searchContent = $("#searchSuggest");
  if (searchContent.length > 0) {new Enexis.SearchHint(searchContent, "#searchHint"); }
});

