(function($){$.fn.lazyload=function(options){var settings={threshold:0,failurelimit:0,event:"scroll",effect:"show",container:window};options&&$.extend(settings,options);var elements=this;"scroll"==settings.event&&$(settings.container).bind("scroll",function(event){var counter=0;elements.each(function(){if(!($.abovethetop(this,settings)||$.leftofbegin(this,settings)))if(!$.belowthefold(this,settings)&&!$.rightoffold(this,settings))$(this).trigger("appear");else if(counter++>settings.failurelimit)return false});var temp=$.grep(elements,function(element){return !element.loaded});elements=$(temp)});this.each(function(){var self=this;undefined==$(self).attr("original")&&$(self).attr("original",$(self).attr("src"));if("scroll"!=settings.event||undefined==$(self).attr("src")||settings.placeholder==$(self).attr("src")||($.abovethetop(self,settings)||$.leftofbegin(self,settings)||$.belowthefold(self,settings)||$.rightoffold(self,settings))){if(settings.placeholder)$(self).attr("src",settings.placeholder);else $(self).removeAttr("src");self.loaded=false}else self.loaded=true;$(self).one("appear",function(){!this.loaded&&$("<img />").bind("load",function(){$(self).hide().attr("src",$(self).attr("original"))[settings.effect](settings.effectspeed);self.loaded=true}).attr("src",$(self).attr("original"))});"scroll"!=settings.event&&$(self).bind(settings.event,function(event){!self.loaded&&$(self).trigger("appear")})});$(settings.container).trigger(settings.event);return this};$.belowthefold=function(element,settings){if(settings.container===undefined||settings.container===window)var fold=$(window).height()+$(window).scrollTop();else var fold=$(settings.container).offset().top+$(settings.container).height();return fold<=$(element).offset().top-settings.threshold};$.rightoffold=function(element,settings){if(settings.container===undefined||settings.container===window)var fold=$(window).width()+$(window).scrollLeft();else var fold=$(settings.container).offset().left+$(settings.container).width();return fold<=$(element).offset().left-settings.threshold};$.abovethetop=function(element,settings){if(settings.container===undefined||settings.container===window)var fold=$(window).scrollTop();else var fold=$(settings.container).offset().top;return fold>=$(element).offset().top+settings.threshold+$(element).height()};$.leftofbegin=function(element,settings){if(settings.container===undefined||settings.container===window)var fold=$(window).scrollLeft();else var fold=$(settings.container).offset().left;return fold>=$(element).offset().left+settings.threshold+$(element).width()};$.extend($.expr[":"],{"below-the-fold":"$.belowthefold(a, {threshold : 0, container: window})","above-the-fold":"!$.belowthefold(a, {threshold : 0, container: window})","right-of-fold":"$.rightoffold(a, {threshold : 0, container: window})","left-of-fold":"!$.rightoffold(a, {threshold : 0, container: window})"})})(jQuery)
