(function($){$.fn.pajinate=function(options){var current_page='current_page';var items_per_page='items_per_page';var meta;var defaults={item_container_id:'.content',items_per_page:10,nav_panel_id:'.page_navigation',num_page_links_to_display:20,start_page:0,nav_label_first:'First',nav_label_prev:'Prev',nav_label_next:'Next',nav_label_last:'Last'};var options=$.extend(defaults,options);var $item_container;var $page_container;var $items;var $nav_panels;return this.each(function(){$page_container=$(this);$item_container=$(this).find(options.item_container_id);$items=$page_container.find(options.item_container_id).children().not('.hidden');meta=$page_container;meta.data(current_page,0);meta.data(items_per_page,options.items_per_page);var total_items=$item_container.children().not('.hidden').size();var number_of_pages=Math.ceil(total_items/options.items_per_page);var more='<span class="ellipse more">...</span>';var less='<span class="ellipse less">...</span>';var navigation_html='';var current_link=0;if(number_of_pages<2){}else{while(number_of_pages>current_link){navigation_html+='<a class="page_link" href="" longdesc="'+current_link+'" title="page '+(current_link+1)+'">'+(current_link+1)+'</a>';current_link++}}$nav_panels=$page_container.find(options.nav_panel_id);$nav_panels.html(navigation_html).each(function(){$(this).find('.page_link:first').addClass('first');$(this).find('.page_link:last').addClass('last')});$nav_panels.children('.ellipse').hide();$nav_panels.find('.previous_link').next().next().addClass('active_page');$items.hide();$items.slice(0,meta.data(items_per_page)).show();var total_page_no_links=$page_container.children(options.nav_panel_id+':first').children('.page_link').size();options.num_page_links_to_display=Math.min(options.num_page_links_to_display,total_page_no_links);$nav_panels.children('.page_link').hide();$nav_panels.each(function(){$(this).children('.page_link').slice(0,options.num_page_links_to_display).show()});$page_container.find('.first_link').click(function(e){e.preventDefault();movePageNumbersRight($(this),0);goto(0)});$page_container.find('.last_link').click(function(e){e.preventDefault();var lastPage=total_page_no_links-1;movePageNumbersLeft($(this),lastPage);goto(lastPage)});$page_container.find('.previous_link').click(function(e){e.preventDefault();showPrevPage($(this))});$page_container.find('.next_link').click(function(e){e.preventDefault();showNextPage($(this))});$page_container.find('.page_link').click(function(e){$(this).addClass('active').siblings().removeClass('active');e.preventDefault();goto($(this).attr('longdesc'))});goto(parseInt(options.start_page));toggleMoreLess()});function showPrevPage(e){new_page=parseInt(meta.data(current_page))-1;if($(e).siblings('.active_page').prev('.page_link').length==true){movePageNumbersRight(e,new_page);goto(new_page)}};function showNextPage(e){new_page=parseInt(meta.data(current_page))+1;if($(e).siblings('.active_page').next('.page_link').length==true){movePageNumbersLeft(e,new_page);goto(new_page)}};function goto(page_num){var ipp=meta.data(items_per_page);var isLastPage=false;start_from=page_num*ipp;end_on=start_from+ipp;$items.hide().slice(start_from,end_on).show();$page_container.find(options.nav_panel_id).children('.page_link[longdesc='+page_num+']').addClass('active_page').siblings('.active_page').removeClass('active_page');meta.data(current_page,page_num);toggleMoreLess()};function movePageNumbersLeft(e,new_p){var new_page=new_p;var $current_active_link=$(e).siblings('.active_page');if($current_active_link.siblings('.page_link[longdesc='+new_page+']').css('display')=='none'){$nav_panels.each(function(){$(this).children('.page_link').hide().slice(parseInt(new_page-options.num_page_links_to_display+1),new_page+1).show()})}}function movePageNumbersRight(e,new_p){var new_page=new_p;var $current_active_link=$(e).siblings('.active_page');if($current_active_link.siblings('.page_link[longdesc='+new_page+']').css('display')=='none'){$nav_panels.each(function(){$(this).children('.page_link').hide().slice(new_page,new_page+parseInt(options.num_page_links_to_display)).show()})}}function toggleMoreLess(){if(!$nav_panels.children('.page_link:visible').hasClass('last')){$nav_panels.children('.more').show()}else{$nav_panels.children('.more').hide()}if(!$nav_panels.children('.page_link:visible').hasClass('first')){$nav_panels.children('.less').show()}else{$nav_panels.children('.less').hide()}}}})(jQuery);
