﻿function InjectPaging(pageNumber, totalPages, categoryUrl, category, q, pageSize, position)
{
    document.write("<div class='paging'>");
    
        if (pageSize.length == 0)
            pageSize = "25";
        
        var selectBox = "<select id='" + position + "PS' onChange=\"window.location.href='?c=" + category + "&q=" + q + "&PageNumber=1&PageSize=' + document.getElementById('" + position + "PS').options[document.getElementById('" + position + "PS').selectedIndex].text\">";
        selectBox += "<option " + (pageSize == "10" ? "SELECTED" : "" ) + ">10</option>";
        selectBox += "<option " + (pageSize == "25" ? "SELECTED" : "" ) + ">25</option>";
        selectBox += "<option " + (pageSize == "50" ? "SELECTED" : "" ) + ">50</option>";
        selectBox += "<option " + (pageSize == "100" ? "SELECTED" : "" ) + ">100</option>";
        selectBox += "</select>";
        
        document.write("<h2><span style='float:left;'>Search Results " + (pageNumber * pageSize - pageSize + 1) + "-" +(pageNumber * pageSize) + " of " + (totalPages * pageSize) + "</span><span style='font-weight:normal;float:right;'>Articles/Page: " + selectBox + "</span></h2>");
        
        document.write("<span class='pages'>" + " Page " + pageNumber + " of " + totalPages + "</span>");
                    
        if(totalPages != 1)
        {
            //Total pages to be displayed
            var displayPages = 7;
            //Middle point of pages
            var middlePage = displayPages / 2 + .5;
            //Pages on each side of the middle page
            var pagesPerSide = middlePage - 1;
                                            
            var pageStart = 1;
            var pageEnd = displayPages;
                            
            if(pageNumber <= middlePage)
            {
                pageStart = 1;
                pageEnd = (displayPages <= totalPages ? displayPages : totalPages);
            }
            else if(pageNumber + pagesPerSide < totalPages)
            {
                pageStart = pageNumber - pagesPerSide;
                pageEnd = pageNumber + pagesPerSide;
            }
            else
            {
                pageStart = (totalPages <= displayPages ? 1 : totalPages - displayPages + 1);
                pageEnd = totalPages;
            }

            var dots = "<span style='float:left;'>&nbsp;...&nbsp;</span>";
            
            if (pageNumber != 1)//Previous button
                document.write("<span class='previous' onClick=\"javascript:location.href='" + categoryUrl + "?c=" + category + "&q=" + q + "&PageNumber=" + (pageNumber - 1) + "&PageSize=" + pageSize + "'\">Previous</span>" + (pageStart == 1 ? "" : dots));
            
            for(i=pageStart; i<=(pageEnd); i++)
            {
                
                if ( i == pageNumber)
                {
                    document.write("<span class='currentPage'>" + (i < 10 ? "" + i : i) + "</span>");
                }
                else
                {
                    document.write("<span class='page'>");
                        document.write("<a href='" + categoryUrl + "?c=" + category + "&q=" + q + "&PageNumber=" + i + "&PageSize=" + pageSize + "' style='float:left;'>" + i + "</a>");
                    document.write("</span>");
                }
                    
            }
                            
            if (pageNumber != (totalPages))//Next button
                document.write((totalPages == pageEnd ? "" : dots) + "<span class='next' onClick=\"javascript:location.href='" + categoryUrl + "?c=" + category + "&q=" + q + "&PageNumber=" + (pageNumber + 1) + "&PageSize=" + pageSize + "'\">Next</span>");
        }
    document.write("</div>");
}