$(document).ready(function()
{
    initNewsletterPaginator();
    initPrintPaginator();
});


function initNewsletterPaginator()
{
    var $paginator = $('#newsletter-paginator');

    if ($paginator.length > 0)
    {
        var $previous = $paginator.find('.previous');
        var $next = $paginator.find('.next');
        var $pages = $paginator.find('.page-number');
        var $container = $('#previous-issues');
        var ajaxReference;
        var currentPage = parseInt($paginator.find('.page-number-selected').text());

        $pages.click(function()
        {
            currentPage = parseInt($(this).text());
            requestNewsletterPage(currentPage);
        });

        $previous.click(function()
        {
            currentPage--;
            requestNewsletterPage(currentPage);
        });

        $next.click(function()
        {
            currentPage++;
            requestNewsletterPage(currentPage);
        });

        function requestNewsletterPage(pageNumber)
        {
            if (currentPage > $pages.length)
            {
                currentPage = $pages.length;
            }
            else if (currentPage < 1)
            {
                currentPage = 1;
            }

            if (currentPage == 1)
            {
                $previous.hide();
            }
            else
            {
                $previous.show();
            }

            if (currentPage == $pages.length)
            {
                $next.hide();
            }
            else
            {
                $next.show();
            }

            $pages.removeClass('page-number-selected');
            $pages.eq((currentPage - 1)).addClass('page-number-selected');

            $('div.newsletter-page').hide();
            $('#newsletter-page-' + currentPage).show();
        }
    }
}


function initPrintPaginator()
{
    var $paginator = $('#print-paginator');

    if ($paginator.length > 0)
    {
        var $previous = $paginator.find('.previous');
        var $next = $paginator.find('.next');
        var $pages = $paginator.find('.page-number');
        var $container = $('#previous-issues');
        var ajaxReference;
        var currentPage = parseInt($paginator.find('.page-number-selected').text());

        $pages.click(function()
        {
            currentPage = parseInt($(this).text());
            requestNewsletterPage(currentPage);
        });

        $previous.click(function()
        {
            currentPage--;
            requestNewsletterPage(currentPage);
        });

        $next.click(function()
        {
            currentPage++;
            requestNewsletterPage(currentPage);
        });

        function requestNewsletterPage(pageNumber)
        {
            if (currentPage > $pages.length)
            {
                currentPage = $pages.length;
            }
            else if (currentPage < 1)
            {
                currentPage = 1;
            }

            if (currentPage == 1)
            {
                $previous.hide();
            }
            else
            {
                $previous.show();
            }

            if (currentPage == $pages.length)
            {
                $next.hide();
            }
            else
            {
                $next.show();
            }

            $pages.removeClass('page-number-selected');
            $pages.eq((currentPage - 1)).addClass('page-number-selected');

            $('div.print-page').hide();
            $('#print-page-' + currentPage).show();
        }
    }
}
