﻿$.widget('ui.entitySearch', {
    _create: function () {
        var self = this;
        var element = $(this.element);

        var searchOptions = element.metadata().options;
        $('.search-container > button').click(function () {
            $('.loading', element).show();
            $.ajax({
                cache: false,
                url: searchOptions.url,
                dataType: 'html',
                data: {
                    query: $('.search-container > input', element).val()
                },
                success: function (response) {
                    $('.loading', element).hide();
                    $('.search-results', element).replaceWith(response);
                    if ($('.search-result').size() == 0) {
                        $('.no-results', element).show();
                    }
                },
                error: function () {
                    $('.no-results', element).show();
                    $('.loading', element).hide();
                    return;
                }
            });
        });
        $('.search-container > input', element).keyup(function (e) {
            if (e.keyCode == '13') {
                e.preventDefault();
                $('.search-container > button', element).trigger('click');
            }
        });
    },
    destroy: function () {
        $.Widget.prototype.destroy.apply(this, arguments);
    }
});
