    var inputField = null;

    var startSuggestion = function(input) {
        var suggestContainer = jQuery('#search_mini_form .miniform-suggest');
        closeSuggestion();

        if (input.value.length < 2 || input.value == 'Artikel hier suchen...' || input.value == 'Suchbegriff eingeben...') {
            return;
        }

        jQuery.ajax({
            url: '/magento_includes/_init.php',
            type: 'get',
            dataType: 'json',
            data: 'q=' + input.value + '&f=search/suggest',
            success: function(rsp) {
                if (rsp.status == 1) {
                    for (var i = 0; i < rsp.content.items.length; ++i) {
                        var item = jQuery('<a class="suggest-item" t="' + rsp.content.items[i].text + '">' + rsp.content.items[i].label + '</a>');
                        item.click(function() {
                            inputField.val(jQuery(this).attr('t'));
                            closeSuggestion();
                            jQuery('#search_mini_form').submit();
                        }).mouseover(function() {
                            inputField.val(jQuery(this).attr('t'));
                        });
                        suggestContainer.append(item);
                    }
                    //TODO - use keys to navigate between suggestions
                    suggestContainer.css('display', 'block');
                }
            }
        });
    };

    var closeSuggestion = function() {
        var suggestContainer = jQuery('#search_mini_form .miniform-suggest');
        suggestContainer.html('').css('display', 'none');
    }

    var onEnterInput = function() {
        var _self = this;
        window.clearTimeout(suggestTimeout);
        suggestTimeout = window.setTimeout(function() {startSuggestion(_self)}, 500);
    };

    var suggestTimeout = -1;

    jQuery(document).ready(function() {
        if (jQuery('input#search').length > 0) {
            inputField = jQuery('input#search');
        } else if (jQuery('input#query').length > 0) {
            inputField = jQuery('input#query');
        } else {
            //No field - no suggestion
            return;
        }
        inputField.bind('keyup click', onEnterInput);
        jQuery(document).click(function(e) {
            var target = jQuery(e.target);
            if (!target.hasClass('suggest-item') && !target.attr('id') != 'search') {
                closeSuggestion();
            }
        })
    })
