(function($,window, document){
$.fn.infiniteLoad=function(options){
var settings=$.extend({
navSelector: '',
contentSelector: '',
nextSelector: '',
itemSelector: '',
paginationType: 'infinite',
loadingImage:'',
loadingButtonLabel: 'Load More',
loadingButtonClass: '',
loadingFinishedText: 'No More Posts Available',
}, options);
var loading=false;
var loaded=false;
var url=false;
var infiniteHtml='';
var moreHtml='';
var _init=function(){
if($(settings.navSelector).length&&$(settings.contentSelector).length&&$(settings.nextSelector).length&&$(settings.itemSelector).length){
url=$(settings.nextSelector).attr('href');
_setup_element();
}else{
return false;
}}
var _setup_element=function(){
$(settings.navSelector).hide();
infiniteHtml=((settings.loadingImage!='')?'':'');
moreHtml='';
switch(settings.paginationType){
case 'infinite':
$(settings.navSelector).before('
'+infiniteHtml+'
');
break;
case 'more':
$(settings.navSelector).before(''+moreHtml+'
');
break;
default:
$(settings.navSelector).before('Loading.....
');
}}
var _load=function(){
if(!url)
return false;
loading=true;
var lastElem=$(settings.contentSelector).find(settings.itemSelector).last();
$(document).trigger('pix_infinite_load_start');
$.ajax({
url:url,
dataType:'html',
success:function (response){
loading=false;
if(settings.paginationType=='infinite')
$('.pix-loader').hide();
var obj=$(response),
elem=obj.find(settings.itemSelector),
next=obj.find(settings.nextSelector);
lastElem.after(elem);
$(document).trigger('pix_infinite_load_success');
if(next.length){
url=next.attr('href');
}else{
loaded=true;
$(document).trigger('pix_infinite_load_complete');
}}
});
};
$(window).on('scroll',function(){
if(! loading&&! loaded&&settings.paginationType=='infinite'&&$(window).scrollTop() >=$(settings.itemSelector).last().offset().top + $(settings.itemSelector).last().outerHeight() - window.innerHeight){
_load();
}});
$(document).on('click','.pix-load-more',function(){
if(! loading&&! loaded&&settings.paginationType=='more'){
$('.pix-wrapper').html(infiniteHtml);
_load();
}});
$(document).on('pix_infinite_load_start',function(){
if(settings.paginationType=='infinite')
$('.pix-wrapper').show();
});
$(document).on('pix_infinite_load_success',function(){
if(settings.paginationType=='infinite')
$('.pix-wrapper').hide();
else if(settings.paginationType=='more')
$('.pix-wrapper').html(moreHtml);
});
$(document).on('pix_infinite_load_complete',function(){
$('.pix-wrapper').html(settings.loadingFinishedText).show();
});
_init();
};}(jQuery,window, document));