/*
description: LazyLoad
author: David Walsh (http://davidwalsh.name)
license: MIT-style license
*/
var LazyLoad=new Class({Implements:[Options,Events],options:{range:200,elements:'img',container:window,mode:'horizontal',realSrcAttribute:'data-src',useFade:true},initialize:function(a){this.setOptions(a);this.container=document.id(this.options.container);this.elements=$$(this.options.elements);this.largestPosition=0;var b=(this.options.mode=='vertical'?'y':'x');var d=(this.container!=window&&this.container!=document.body?this.container:'');this.elements=this.elements.filter(function(f){if(this.options.useFade){f.setStyle('opacity',0)}var e=f.getPosition(d)[b];if(e<this.container.getSize()[b]+this.options.range){this.loadImage(f);return false}return true},this);var c=function(f){var g=this.container.getScroll()[b];if(g>this.largestPosition){this.elements=this.elements.filter(function(e){if((g+this.options.range+this.container.getSize()[b])>=e.getPosition(d)[b]){this.loadImage(e);return false}return true},this);this.largestPosition=g}this.fireEvent('scroll');if(!this.elements.length){this.container.removeEvent('scroll',c);this.fireEvent('complete')}}.bind(this);this.container.addEvent('scroll',c)},loadImage:function(a){if(this.options.useFade){a.addEvent('load',function(){a.fade(1)})}a.set('src',a.get(this.options.realSrcAttribute));this.fireEvent('load',[a])}});
