
$.fn.extend({
    achfeed : function(filterspec, size, shownav) {
        var tabs = {
            'all' : $(this).find(".ach_all"),
            'pve' : $(this).find(".ach_pve"),
            'pvp' : $(this).find(".ach_pvp")
        };
        var pagenums = {'all' : 1, 'pve' : 1, 'pvp' : 1};

        var shownavq = "";
        if(shownav) { shownavq = "&shownav=1"; }

        function load_page(tab, pagenum) {
            var div = tabs[tab];
            var url = "/ach_feed/?tab="+tab+"&filter="+filterspec+"&size=" + size + "&p=" + String(pagenum)+shownavq;
            $.get(url, function(data) {
                    div.empty();
                    div.append(data);
                }
            );
        }

        function prev_page(tab) {
           pagenums[tab] -= 1
           load_page(tab, pagenums[tab]); 
        }

        function next_page(tab) {
           pagenums[tab] += 1
           load_page(tab, pagenums[tab]);
        }

        function which_tab(obj) {
            var p = obj.closest(".ach-recent-body").parent();
            if(p.hasClass("ach_all")) {
                return "all";
            } else if(p.hasClass("ach_pve")) {
                return "pve";
            } else if(p.hasClass("ach_pvp")) {
                return "pvp";
            }
        }

        $(this).find(".ach-nextprev-nav-older").live('click', function() {
            next_page(which_tab($(this)))
        });

        $(this).find(".ach-nextprev-nav-newer").live('click', function() {
            prev_page(which_tab($(this)))
        });

        load_page("all", pagenums['all']);
        load_page("pve", pagenums['pve']);
        load_page("pvp", pagenums['pvp']);
    }
});

$(document).ready(function() {        
    if($("#ach-tabs").length > 0) {
        $("#ach-tabs").tabs();
    }
});
