;(function($){$.fn.lazyPager=function(options,callback){return this.each(function(){function onScroll(){var scrollTop=($(document.documentElement).scrollTop()||$(document.documentElement.ownerDocument.body).scrollTop());if(scrollTop>=triggerDistanceTop){topLinkContainer.fadeIn('fast');}else{topLinkContainer.fadeOut('normal');}if(!isLoadingContent&&!isComplete){var distanceFromBottom=$(document).height()-scrollTop-$(window).height();if(distanceFromBottom<triggerDistanceBottom){loadContent();}}}function loadContent(){isLoadingContent=true;$('.indicator',statusContainer).show();$('.message',statusContainer).html(options.loadingText);statusContainer.show('fast',function(){currentPage++;var url=path.join(currentPage);var dump=$('<div />');dump.load(url+' '+options.itemSelector,null,function(){loadCallback(dump.children());dump.remove();});});}function loadCallback(elements){if(elements.length==0){if(!isComplete){$('.indicator',statusContainer).hide();$('.message',statusContainer).html(options.completeText);window.setTimeout(function(){statusContainer.fadeOut('normal');},2000);isComplete=true;}return;}container.append(elements);statusContainer.fadeOut('normal');callback.call($(container)[0],elements);isLoadingContent=false;}options=$.extend({},$.lazyPager.defaults,options);callback=callback||function(){};var container=$(this);var path=$(options.nextSelector).attr('href')||'';path=path.replace(/(.*?\/\/).*?(\/.*)/,'$2');if(path.match(/^(.*\/\(page\)\/)\b2\b(.*)$/)){path=path.match(/^(.*\/\(page\)\/)\b2\b(.*)$/).slice(1);}else{return;}var currentPage=1;var isLoadingContent=false;var isComplete=false;var triggerDistanceTop=container.offset().top+options.bufferSizeTop;var triggerDistanceBottom=($(document).height()-$(options.navSelector).offset().top)+options.bufferSizeBottom;$(options.navSelector).hide();var statusContainer=$('<div />').attr('id','lazypager-status');statusContainer.append($('<div />').addClass('indicator'));statusContainer.append($('<div />').addClass('message'));container.after(statusContainer);statusContainer.hide();var topLinkContainer=$('<div />').attr('id','lazypager-toplink');topLinkContainer.append($('<a />').attr('href','#').text('Back to top'));container.after(topLinkContainer);topLinkContainer.hide();$(window).bind('scroll.lazypager',onScroll);$(window).trigger('scroll.lazypager');});};$.lazyPager={defaults:{navSelector:'.pagenavigator',nextSelector:'.pagenavigator .next a',itemSelector:'div',loadingText:'Loading',completeText:'There are no more items',bufferSizeTop:100,bufferSizeBottom:100}};})(jQuery);
