$.widget( "custom.catcomplete", $.ui.autocomplete, {
	_renderMenu: function( ul, items ) {
		var self = this,
			currentCategory = "";
		$.each( items, function( index, item ) {
			if ( item.category != currentCategory ) {
				ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
				currentCategory = item.category;
			}
			self._renderItem( ul, item );
		});
	}
});

$('.what_autocomplete').live('focus', function() {
	$(this).catcomplete({
		delay:0,
		source: function(request, response) {
			$.ajax({
				url: "index.php?eID=planerDBAjaxDispatcher",
				dataType: "json",
				data: {
					extensionName:'CiPlanerdb',
					pluginName:'Pi1',
					controllerName:'Unternehmen',
					actionName:'what',
					arguments: {
						what: request.term,
						url:  location.pathname
					}
				},
				success: function(data) {
					$('input#auto-what-field').val('');
					response($.map(data, function(item) {
						return {
							label: item.value,
							value: item.value,
							category: item.category
						}
					}));
				}
			});
		},
		minLength: 4,
		select: function(event, ui) {
			$('input#auto-what-field').val(ui.item.category.toLowerCase());
			$('.what_autocomplete').val( ui.item.value );
			return false;
        },
	})
	
});

$('.where_autocomplete').live('focus', function() {
	$(this).catcomplete({
		delay:0,
		source: function(request, response) {
			$.ajax({
				url: "index.php?eID=planerDBAjaxDispatcher",
				dataType: "json",
				data: {
					extensionName:'CiPlanerdb',
					pluginName:'Pi1',
					controllerName:'Unternehmen',
					actionName:'where',
					arguments: {
						where: request.term,
						url:  location.pathname
					}
				},
				success: function(data) {
					$('input#auto-where-field').val('');
					response($.map(data, function(item) {
						return {
							label: item.value,
							value: item.value,
							category: item.category
						}
					}));
				}
			});
		},
		minLength: 4,
		select: function(event, ui) {
			$('input#auto-where-field').val(ui.item.category.toLowerCase());
			$('.where_autocomplete').val( ui.item.value );
			return false;
        },
	})
	
});
