YAHOO.util.Event.addListener(window, "load", function() {
    producers = function()
    {
        var maxRowsPerPage = 6;
        var callback =
        {
            success: function(o)
            {
                if(o.responseText != undefined)
                {
                    var temp = new Array();
                    
                    temp = o.responseText.split('==');
                    
                    var tempType = temp[0];
                    var tempTotalRecords = temp[1];
                    var tempHtml = temp[2];

                    paginators[tempType].setTotalRecords(tempTotalRecords, true);
                    divs[tempType].innerHTML = tempHtml;
                }
            },
            failure: function(o)
            {
            }
        };

        function makeRequest(type, page)
        {
        	var request = YAHOO.util.Connect.asyncRequest('GET', "ajax/producers.php?type=" + type + "&page=" + page, callback);
        }

        var handlePagination = function(newState)
        {
            makeRequest(newState.paginator.pType, newState.page);
            newState.paginator.setState(newState);
        };

        var paginators = new Array();
        var divs = new Array();
        var tempDivs = YAHOO.util.Dom.getElementsByClassName('producers');

        for (var i in tempDivs )
        {
            var type = tempDivs[i].id.split('-')[1];
            
            divs[type] = tempDivs[i];

            paginators[type] = new YAHOO.widget.Paginator({
                        rowsPerPage           : maxRowsPerPage,
                        containers            : ["p-nav-" + type],
                        template              : "\{CurrentPageReport\}\{PreviousPageLink\}\{PageLinks\}\{NextPageLink\}",
                        pageReportTemplate    : "Page \{currentPage\} of \{totalPages\}",
                        previousPageLinkLabel : "&laquo;",
                        nextPageLinkLabel     : "&raquo;"
            });
            
            paginators[type].pType = type;
            makeRequest(type, 1);
            paginators[type].subscribe("changeRequest", handlePagination);
            paginators[type].render();
        }
    }();
});