/// <reference path="../../../Scripts/Frameworks/jquery-1.3.2.min.js" />
/// <reference path="Announcement_Init.js" />


(function($) {
    $.fn.dataPager = function(options) {

        $div = $(this);
        var defaultOptions = {
            pageSize: 10,
            currentPage: 1,
            itemCount: 0
        };
        var opts = $.extend(defaultOptions, options);
        AddButtons();




        function AddButtons() {

            var prev = $("<span class=\"x8_pager_text\">Prev</span>");
            prev.click(function() {
                Announcements.Debug("Clicked Prev");
                $div.trigger({
                    type: "PageChanged",
                    newpage: opts.currentPage - 1
                });
            });
            var next = $("<span class=\"x8_pager_text\">Next</span>");
            next.click(function() {
                Announcements.Debug("Clicked Next");
                $div.trigger({
                    type: "PageChanged",
                    newpage: opts.currentPage + 1
                });
            });

            var minpage = 1;
            var maxpage = 1;


            var totalPages = Math.ceil(opts.itemCount / opts.pageSize);
            if (totalPages == 0) totalPages = 1;


            if (opts.currentPage > 3) {
                minpage = (opts.currentPage - 2);
            }

            if (opts.currentPage + 2 <= totalPages) {
                if (opts.currentPage < 3) {
                    if (totalPages >= 5) {
                        maxpage = 5;
                    }
                    else {
                        maxpage = totalPages;
                    }
                }
                else {
                    maxpage = (opts.currentPage + 2);
                }

            }
            else {
                maxpage = totalPages;
            }

            Announcements.Debug("MIN: " + minpage);
            Announcements.Debug("MAX: " + maxpage);
            Announcements.Debug("ITEMS: " + opts.itemCount);
            Announcements.Debug("CUR: " + opts.currentPage);
            Announcements.Debug("TOTAL: " + totalPages);

if(totalPages > 1){
            if (opts.currentPage != 1) {
                $div.append(prev);
            }
            for (var i = minpage; i <= maxpage; i++) {
                var number = $("<span pid=\"" + i + "\" class=\"x8_page_number\">" + i + "</span>");
                if (i == opts.currentPage) {
                    number.addClass("x8_page_number_selected");
                }
                else {


                    number.click(function() {
                        Announcements.Debug("CLICKED " + i);
                        $div.trigger({
                            type: "PageChanged",
                            newpage: $(this).attr("pid")
                        });
                    });
                }
                $div.append(number);
            }
            if (opts.currentPage != totalPages) {
                $div.append(next);
            }
}

        };



    };
})(jQuery);
