﻿(function ($) {

    $.fn.pagerNext = function (options) {

        var opts = $.extend({}, $.fn.pagerNext.defaults, options);

        return this.each(function () {

            // empty out the destination element and then render out the pager with the supplied options
            $(this).empty().append(renderpager(parseInt(options.pagenumber), parseInt(options.pagecount), options.buttonClickCallback));

            // specify correct cursor activity
            $('.pages li').mouseover(function () { document.body.style.cursor = "pointer"; }).mouseout(function () { document.body.style.cursor = "auto"; });
        });
    };

    // render and return the pager with the supplied options
    function renderpager(pagenumber, pagecount, buttonClickCallback) {

       
        var $pager = $('<ul class="pages"></ul>');
           
        $pager.append(renderButton('next', pagenumber, pagecount, buttonClickCallback));

        return $pager;
    }

    // renders and returns a 'specialized' button, ie 'next', 'previous' etc. rather than a page number button
    function renderButton(buttonLabel, pagenumber, pagecount, buttonClickCallback) {

        //  var $Button = $('<li class="pgNext">' + buttonLabel + '</li>');
        var $Button;

        var destPage = 1;

        
                destPage = pagenumber + 1;
                $Button = $('<li class="pgNext">&nbsp</li>');
               

      pagenumber >= pagecount ? $Button.addClass('pgEmpty') : $Button.click(function () { buttonClickCallback(destPage); });
     

        return $Button;
    }
    $.fn.pagerNext.defaults = {
        pagenumber: 1,
        pagecount: 1
    };

})(jQuery);
