/* Based on Quick Pager jquery pugin, created by dan@geckonm.com */
/* This plugin can have multiple instance in the same document and has a simple next and previous navigation  */
(function ($)
{
    $.fn.quickPager = function(arg) {
        var version = '1.0';
        var defaults = {
            currentPage: 1,
            pageSize: 3,
            nextLabel: 'next',
            previousLabel: 'previous',
            pagerBefore: false,
            pagerAfter: true
        };
        var options = $.extend(defaults, arg);
        $('.pager a').live('click', function () {
            var pagedItem=$(this).parent().parent();
            var pagedItemCurrent=parseInt(pagedItem.attr("currentPage"), 10);
            var pageCount = parseInt(pagedItem.attr("pageCount"), 10);
            requestedPage = pagedItemCurrent + parseInt($(this).attr('data'), 10);
            if (requestedPage < 1) { requestedPage = 1; }
            else if (requestedPage > pageCount) { requestedPage = pageCount; }
            pagedItem.attr('currentPage', requestedPage);
            if (requestedPage < 2){
                $('.pagerPrev', pagedItem).addClass('disabled');
            }
            else {
                $('.pagerPrev', pagedItem).removeClass('disabled');
            }
            if (requestedPage >= pageCount) {
                $('.pagerNext', pagedItem).addClass('disabled');
            }
            else {
                $('.pagerNext', pagedItem).removeClass('disabled');
            }
            $('.page', pagedItem).hide();
            $(".page" + requestedPage, pagedItem).show();
			$(this).parent().parent().scrollTop(0);
			resizeInnerColumns();
            return false;
        });
		

        return this.each(function ()
        {
            var selector = $(this);
			if (selector.attr('pagecount') && selector.attr('currentpage')){return false;}
            var totalRecords = $(this).children().length;
            var pageCounter = 1;
            selector.children().each(function (i)
            {
                if (i < pageCounter * options.pageSize && i >= (pageCounter - 1) * options.pageSize) {
                    $(this).addClass("page page" + pageCounter);
                }
                else {
                    $(this).addClass("page page" + (pageCounter + 1));
                    pageCounter++;
                }
            });
            $('.page', selector).hide();
            $('.page' + options.currentPage).show();
            selector.attr('currentPage', options.currentPage);
            selector.attr('pageCount', pageCounter);
            if (pageCounter > 1) {
                var pageNav = '<div class="pager {position}"><a class="pagerPrev" href="#" data="-1"><div class=btnPagerLeft></div><div class=btnPagerContent>' + options.previousLabel + '</div><div class=btnPagerRight></div></a><a class="pagerNext" href="#" data="1"><div class=btnPagerLeft></div><div class=btnPagerContent>' + options.nextLabel + '</div><div class=btnPagerRight></div></a></div>';
                if (options.pagerBefore) {
                    selector.prepend(pageNav.replace('{position}', 'before'));
                }
                if (options.pagerAfter) {
                    selector.append(pageNav.replace('{position}', 'after'));
                }
                if (options.currentPage < 2) {
                    $('.pagerPrev', selector).addClass('disabled');
                }
                else if (pageCounter >= options.currentPage) {
                    $('.pagerNext', selector).addClass('disabled');
                }
            }
        });
    };
})(jQuery);
