(function($){

    var fn = {
        init: function($this) {

            if(!$this.is('input')) {
                return $this;
            }

            $this.focus(function() {
                this.select();
                $(this).addClass('focus');
            });
            
            $this.blur(function() {
                if($(this).val().length == 0) {
                    $(this).removeClass('focus');
                }
            })

            $this.parent('form').submit(function(e) {e.preventDefault();});

            var lang;
            if($('#languageLinks .active').length > 0) {
                lang = $('#languageLinks .active').attr('id');
            }
            if(!lang) {
                lang = 'de';
            }

            $this.autocomplete("/ajax/search.php",{
                minChars:1,
                cacheLength:0,
                matchContains:1,
                onItemSelect: function (o) {
                    if (o.extra[1].length) {
                        $.get("/ajax/write_search_log.php", {
                            sid: rexxData.sid,
                            selectedItem: o.selectValue,
                            selectedUrl: o.extra[1],
                            searchValue: $('#searchField').val()
                        }, function() {
                            document.location.href=o.extra[1];
                        });
                    }
                    else {
                        search(o.query, gBox.val());
                    }
                },
                formatItem:function (o, i, num, q) {return o[1];},
                delay:200,
                showResults:null,
                extraParams: {sid: rexxData.sid, lang: lang},
                dataType:"JSON",
                completePrefix: true,
                wrapperElement: $('#wrapper')
            });

            return $this;
        }
    }

    $.fn.rexxSearch = function() {

        return this.each(function() {

            return fn.init($(this));
        });
    };
})(jQuery);


$(document).ready(function() {
    $('input#searchField').rexxSearch();
});
