(function(f,h,i,b){const c=1,e=2,a=3;var g="singleFramesToAnimation",d={frames:[],fps:12.5,frameStepFast:4,frameStepNormal:2,frameStepSlow:1,autoplay:false,bgImage:b};function j(l,k){this.element=l;this.animationCanvas=f(".canvas",l);this.settings=f.extend({},d,k,f(l).data());this._defaults=d;this._name=g;this._images=[];this._imagesLoaded=0;this._index=b;this._lastIndex=b;this._timer=b;this._playmode=c;this.init()}f.extend(j.prototype,{init:function(){var k=new Image();if(this.settings.bgImage!==b){if(typeof this.settings.bgImage=="number"){k.src=this.settings.frames[this.settings.bgImage]}else{k.src=this.settings.bgImage}if(typeof k=="object"){f(k).addClass("background");this.animationCanvas.append(k)}}this._loadImages()},play:function(){this.animationCanvas.removeClass("loaded");this.animationCanvas.removeClass("pause");this.animationCanvas.addClass("play");this._timer=setInterval(this._showActiveFrame.bind(this),Math.floor(1000/this.settings.fps));return this},setSpeedSlow:function(){this._playmode=e;this.animationCanvas.removeClass("speed-normal");this.animationCanvas.removeClass("speed-fast");this.animationCanvas.addClass("speed-slow")},setSpeedFast:function(){this._playmode=a;this.animationCanvas.removeClass("speed-normal");this.animationCanvas.removeClass("speed-slow");this.animationCanvas.addClass("speed-fast")},setSpeedNormal:function(){this._playmode=c;this.animationCanvas.removeClass("speed-slow");this.animationCanvas.removeClass("speed-fast");this.animationCanvas.addClass("speed-normal")},pause:function(){clearInterval(this._timer);this.animationCanvas.removeClass("play");this.animationCanvas.addClass("pause");return this},rewind:function(){this.pause();this.setFrameImage(0);if(this.settings.autoplay){this.play()}return this},_initWhenLoaded:function(){this.animationCanvas.removeClass("loading");this.animationCanvas.addClass("speed-normal");this.animationCanvas.addClass("loaded");if(this.settings.autoplay){this.play()}},_setNextFrameImage:function(){if(this._index===b){this._index=0}else{var k;switch(this._playmode){case c:k=this.settings.frameStepNormal;break;case e:k=this.settings.frameStepSlow;break;case a:k=this.settings.frameStepFast;break}this._lastIndex=this._index;this._index=this._index+k;if(this._index+1>this._images.length){this._index=this._index+1-this._images.length}}},_showActiveFrame:function(){this._setNextFrameImage();if(typeof this._images[this._lastIndex]=="object"){this._setImage(this._images[this._index],this._images[this._lastIndex])}else{this._setImage(this._images[this._index])}},_setImage:function(l,k){f("img",this.animationCanvas).attr("src",f(l).attr("src"))},_loadImages:function(){this.animationCanvas.removeClass("loaded");this.animationCanvas.addClass("loading");var k=this;var l=this.animationCanvas;f.each(this.settings.frames,function(n,o){var m=new Image();m.onload=function(){k._imageSuccess(true)};m.onerror=function(){k._imageSuccess(false)};m.src=o;k._images.push(m);if(typeof m=="object"){f(m).addClass("background")}})},_imageSuccess:function(k){this._imagesLoaded++;if(this._imagesLoaded==this._images.length){this._initWhenLoaded()}}});f.fn[g]=function(k){var l;this.each(function(){l=f.data(this,"plugin_"+g);if(!l){l=new j(this,k);f.data(this,"plugin_"+g,l)}});return l}})(jQuery,window,document);