/*
 * Naseptavac pro e-shopy
 * Pro pouziti na frontendu je potreba naincludovat jQuery UI a tento soubor, implementovat funkci translateCategory() u shopu a pridat tridu "autocomplete" vyhledavacimu policku
 * Pravdepodobne bude take nutne stahnout odpovidajici jQuery UI css pro dany shop
 */

$.widget("custom.catcomplete", $.ui.autocomplete, {
    _renderMenu: function( ul, items ) {
      var self = this,
      currentCategory = "";
      currentTerm = $('.autocomplete').val();
      lcTerm = currentTerm.toLowerCase();
      $.each( items, function( index, item ) {
        if ( item.category != currentCategory && item.category != 'more') {
          ul.append( "<li class='ui-autocomplete-category'>" + translateCategory(item.category) + "</li>" );
          currentCategory = item.category;
        }
        
        label = item.label;
        lcLabel = label.toLowerCase();
        i = lcLabel.indexOf(lcTerm);
        
        if (i >= 0)
        {
          item.label = label.substring(0, i) + '<strong>' + label.substr(i, currentTerm.length) + '</strong>' + label.substring(i + currentTerm.length);
        }
        
        if (item.category == 'more') {
          item.label = '<strong style="font-size: 110%;">' + translateCategory(item.label) + '</strong>';
        }
      
        self._renderItem( ul, item );
      });
    },
    _renderItem:function( ul, item ) {
		return $( "<li></li>" )
			.data( "item.autocomplete", item )
			.append( "<a>" + item.label + "</a>" )
			.appendTo( ul );
	}
    
}); 
      
$(document).ready(function() {
  
  $('.autocomplete').catcomplete({
    minLength: 3,
    focus: function(event, ui) {
      return false;
    },
    select: function(event, ui) {
      if (ui.item.url)
      {
        window.location = urlRoot + ui.item.url;
      }
      return false;
    },
    source: urlRoot + "autocomplete.php"
  });


});

