Abl.UI.ImageSwapper=function(c,a,b){return(function(h,q,p){var l={},e=(h instanceof jQuery)?h:$(h),i=e.clone(true),j=new Abl.UI.ImagePreLoader(q),g=0,d=null,o=null;l.params=$.extend(true,{},Abl.UI.ImageSwapper.defaults,p);function k(){if(d){clearTimeout(d);d=null;}}function m(){d=setTimeout(function(){l.swapImage();},l.params.swapDelay);}function f(){var r=g+1;return(r>=o.length)?0:r;}l.swapImage=function(){var r;k();o[g].fadeOut(l.params.fadeTime);g=f();r=j.getNextImage();o[g].fadeOut(0).attr({src:r.attr("src"),alt:r.attr("alt"),width:r.get(0).width,height:r.get(0).height}).fadeIn(l.params.fadeTime,function(){m();});};l.start=function(){m();};l.stop=function(){k();};l.dispose=function(){k();i.remove();j.dispose();};function n(){var r;if(e.attr("id")){i.attr("id",e.attr("id")+"_clone");}o=[e.fadeIn(0),i.hide().insertAfter(e)];for(r=0;r<o.length;r++){o[r].css({position:"absolute"});}}n();return l;}(c,a,b));};Abl.UI.ImageSwapper.defaults={fadeTime:4000,swapDelay:5000};