$(function(){
    //Autocomplete
/*
    var result_div = $('<div class="autocomplite_result"></div>').appendTo('body').
               css({ top: 0, left: 0 }).hide();
    var top_divs = $('<div class="top"><div>&nbsp;</div></div>').appendTo(result_div);
    var bottom_divs = $("<div class='bottom'><div>&nbsp;</div></div>");
*/
    $.ui.autocomplete.prototype._renderItem = function (ul, item) {
        if (item.label == undefined){
            item.label = item[1];
            item.value = item[1];
        }
        var text = item.label
        if (this.term) {
            text = text.replace(new RegExp("("+this.term+")", "gi"),'<b>$1</b>');
        }
        var $li = $("<li></li>")
            .data("item.autocomplete", item)
            .append("<a>" + text + "</a>")
        if ('class' in item)
            $li.attr('class', item['class'])
        return $li.appendTo(ul);
    }


    $('input[data-autocomplete-src]').autocomplete({
        minLength: 1,
        position:{offset:"-34 10"},
        //appendTo: result_div,

        source: function(request, response) {
            var url = this.element.attr('data-autocomplete-src');

            $.ajax({
                url: url,
                type: 'post',
                dataType: 'json',
                data: {'q': request.term},
                success: function(data) {
                    if (data.success) {
                        response(data.items);
                    }
                }
            });

        },
        select: function(event, ui) {
            $(event.target).val(ui.item.value);
            var form = $(event.target).parents('form.simple_search')
            if (form.length == 0)
                form = $(event.target).parents('form');
            form.submit();
            return false
        }
        //open: function(){
            //result_div.show();
            //bottom_divs.appendTo(result_div);
        //},
        //close: function(){
            //result_div.hide();
            //result_div.remove(bottom_divs);
        //}
    });
})

