(function($) {

    $.fn.getNumberOfResultsForFilters = function(options) {

        var settings = $.extend({

            resultsUrl: '/helpcentre/__ajax/searchResultCount'
        }, options);

        return this.each(function() {
            var $this = $(this);

            var resultsUrl = settings.resultsUrl;

            function getTotalResultsInFilter(filter){
                if(filter == 'all'){
                    $.get(resultsUrl+'?searchQuery='+getUrlVar('searchQuery'), function(data){
                        $('#channelFilters li#all span').html('('+data.replace(/^\s+|\s+$/g, '')+')');
                    });
                }else{
                    $.get(resultsUrl+'?searchQuery='+getUrlVar('searchQuery')+'&defaultchannel='+filter, function(data){
                        var result = data.replace(/^\s+|\s+$/g, '');
                        if(result == 0){
                            $('#channelFilters li#'+filter).addClass('disabled').bind('click', false);
                        }
                        $('#channelFilters li#'+filter+' span').html('('+result+')');

                    });
                }
            };

            $('#channelFilters li').each(function(){getTotalResultsInFilter($(this).attr('id'))});
        });

    };

    $(document).ready(function(){
        $('#channelFilters').getNumberOfResultsForFilters();
    })

    function getUrlVars(){
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }

    function getUrlVar(name){
        return getUrlVars()[name];
    }

})(jQuery);


