$(document).sortStart(function(){
            $("div#sorting").show();
        }).sortStop(function(){
            $("div#sorting").hide();
        });
        
        $.fn.tablePager = function(o) {
                
        
            $.tablePager.params.element = this;
        }
        $.tablePager = {
            params: {
                pageSize: 20,
                start: 0,
                end: 20,
                offset: 0,
                element: null,
                lastElement: null
            },
            data: { tableData: null, tableElement: null},
            renderTable: function() {
                $("tbody",$.tablePager.data.tableElement).empty();
                $("tbody",$.tablePager.data.tableElement).append($.tablePager.data.tableData.slice($.tablePager.params.offset,$.tablePager.params.offset+$.tablePager.params.pageSize));
            },
            appendTableData: function(o,c) {
                $.tablePager.data.tableElement = o;
                $.tablePager.data.tableData = c;
            },
                
            append: function(o,c) {
                $.tablePager.appendTableData(o,c)
                $.tablePager.params.rows = c.length;
                $.tablePager.params.offset = 0;
                $.tablePager.renderTable();	
                $.tablePager.writeHTML();
            },
            writeHTML: function() {
                var o = $($.tablePager.params.element);
                // construct html string
                var html = "<ul>";
                var pages = $.tablePager.params.rows / $.tablePager.params.pageSize;
                for(var i=0; i < pages; i++) {
                    html += "<li>" + (i+1) + "</li>";
                }
                html += "</ul>";
                o.empty().append(html);
                $('li',$.tablePager.params.element).each(function(i) {
                                
                    $(this).click(function() {
                        if($.tablePager.params.lastElement) {
                            $($.tablePager.params.lastElement).removeClass('selected');
                        }
                        $.tablePager.params.offset = i * $.tablePager.params.pageSize;
                        $.tablePager.params.lastElement = this;
                                        
                        $.tablePager.renderTable();
                        $(this).addClass('selected')
                    });
                });
                $('li:first',$.tablePager.params.element).addClass('selected');
                $.tablePager.params.lastElement = $('li:first',$.tablePager.params.element)[0];
            }
        }
    