(function($,w,undefined){if(w.footable===undefined||w.footable===null)
throw new Error('Please check and make sure footable.js is included in the page and is loaded prior to this script.');var defaults={paginate:true,pageSize:10,pageNavigation:'.pagination',firstText:'«',previousText:'‹',nextText:'›',lastText:'»',limitNavigation:0,limitPreviousText:'...',limitNextText:'...'};function pageInfo(ft){var $table=$(ft.table),data=$table.data();this.pageNavigation=data.pageNavigation||ft.options.pageNavigation;this.pageSize=data.pageSize||ft.options.pageSize;this.firstText=data.firstText||ft.options.firstText;this.previousText=data.previousText||ft.options.previousText;this.nextText=data.nextText||ft.options.nextText;this.lastText=data.lastText||ft.options.lastText;this.limitNavigation=parseInt(data.limitNavigation||ft.options.limitNavigation||defaults.limitNavigation,10);this.limitPreviousText=data.limitPreviousText||ft.options.limitPreviousText;this.limitNextText=data.limitNextText||ft.options.limitNextText;this.limit=this.limitNavigation>0;this.currentPage=data.currentPage||0;this.pages=[];this.control=false;}
function Paginate(){var p=this;p.name='Footable Paginate';p.init=function(ft){if(ft.options.paginate===true){if($(ft.table).data('page')===false)return;p.footable=ft;$(ft.table).unbind('.paging').bind({'footable_initialized.paging footable_row_removed.paging footable_redrawn.paging footable_sorted.paging footable_filtered.paging':function(){p.setupPaging();}}).data('footable-paging',p);}};p.setupPaging=function(){var ft=p.footable,$tbody=$(ft.table).find('> tbody');ft.pageInfo=new pageInfo(ft);p.createPages(ft,$tbody);p.createNavigation(ft,$tbody);p.fillPage(ft,$tbody,ft.pageInfo.currentPage);};p.createPages=function(ft,tbody){var pages=1;var info=ft.pageInfo;var pageCount=pages*info.pageSize;var page=[];var lastPage=[];info.pages=[];var rows=tbody.find('> tr:not(.footable-filtered,.footable-row-detail)');rows.each(function(i,row){page.push(row);if(i===pageCount- 1){info.pages.push(page);pages++;pageCount=pages*info.pageSize;page=[];}else if(i>=rows.length-(rows.length%info.pageSize)){lastPage.push(row);}});if(lastPage.length>0)info.pages.push(lastPage);if(info.currentPage>=info.pages.length)info.currentPage=info.pages.length- 1;if(info.currentPage<0)info.currentPage=0;if(info.pages.length===1){$(ft.table).addClass('no-paging');}else{$(ft.table).removeClass('no-paging');}};p.createNavigation=function(ft,tbody){var $nav=$(ft.table).find(ft.pageInfo.pageNavigation);if($nav.length===0){$nav=$(ft.pageInfo.pageNavigation);if($nav.parents('table:first').length>0&&$nav.parents('table:first')!==$(ft.table))return;if($nav.length>1&&ft.options.debug===true)console.error('More than one pagination control was found!');}
if($nav.length===0)return;if(!$nav.is('ul')){if($nav.find('ul:first').length===0){$nav.append('
');}
$nav=$nav.find('ul');}
$nav.find('li').remove();var info=ft.pageInfo;info.control=$nav;if(info.pages.length>0){$nav.append('');if(info.limit){$nav.append('');}
if(!info.limit){$.each(info.pages,function(i,page){if(page.length>0){$nav.append('');}});}
if(info.limit){$nav.append('');p.createLimited($nav,info,0);}
$nav.append('');$nav.append('');}
$nav.off('click','a[data-page]').on('click','a[data-page]',function(e){e.preventDefault();var page=$(this).data('page');var newPage=info.currentPage;if(page==='first'){newPage=0;}else if(page==='prev'){if(newPage>0)newPage--;}else if(page==='next'){if(newPage=0){if(info.limit&&info.currentPage!=newPage){var start=newPage;while(start%info.limitNavigation!==0){start-=1;}
p.createLimited($nav,info,start);}
p.paginate(ft,newPage);}});p.setPagingClasses($nav,info.currentPage,info.pages.length);};p.createLimited=function(nav,info,start){start=start||0;nav.find('li.footable-page').remove();var i,page,$prev=nav.find('li.footable-page-arrow > a[data-page="limit-prev"]').parent(),$next=nav.find('li.footable-page-arrow > a[data-page="limit-next"]').parent();for(i=info.pages.length- 1;i>=0;i--){page=info.pages[i];if(i>=start&&i0){$prev.after('');}}
if(start===0){$prev.hide();}
else{$prev.show();}
if(start+ info.limitNavigation>=info.pages.length){$next.hide();}
else{$next.show();}};p.paginate=function(ft,newPage){var info=ft.pageInfo;if(info.currentPage!==newPage){var $tbody=$(ft.table).find('> tbody');var event=ft.raise('footable_paging',{page:newPage,size:info.pageSize});if(event&&event.result===false)return;p.fillPage(ft,$tbody,newPage);info.control.find('li').removeClass('active disabled');p.setPagingClasses(info.control,info.currentPage,info.pages.length);}};p.setPagingClasses=function(nav,currentPage,pageCount){nav.find('li.footable-page > a[data-page='+ currentPage+']').parent().addClass('active');if(currentPage>=pageCount- 1){nav.find('li.footable-page-arrow > a[data-page="next"]').parent().addClass('disabled');nav.find('li.footable-page-arrow > a[data-page="last"]').parent().addClass('disabled');}
if(currentPage<1){nav.find('li.footable-page-arrow > a[data-page="first"]').parent().addClass('disabled');nav.find('li.footable-page-arrow > a[data-page="prev"]').parent().addClass('disabled');}};p.fillPage=function(ft,tbody,pageNumber){ft.pageInfo.currentPage=pageNumber;$(ft.table).data('currentPage',pageNumber);tbody.find('> tr').hide();$(ft.pageInfo.pages[pageNumber]).each(function(){p.showRow(this,ft);});ft.raise('footable_page_filled');};p.showRow=function(row,ft){var $row=$(row),$next=$row.next(),$table=$(ft.table);if($table.hasClass('breakpoint')&&$row.hasClass('footable-detail-show')&&$next.hasClass('footable-row-detail')){$row.add($next).show();ft.createOrUpdateDetailRow(row);}
else $row.show();};}
w.footable.plugins.register(Paginate,defaults);})(jQuery,window);