/*

Ken Burns effect JQuery plugin
Copyright (C) 2011 Will McGugan http://www.willmcgugan.com

*/

(function(e){e.fn.kenburns=function(t){function g(){var e=new Date;return e.getTime()-i}function y(e,t,n,r,i){return{x:e+(n-e)*i,y:t+(r-t)*i}}function b(e,t,n){var r=y(e,e,t,t,n);var i=y(e,e,t,t,n);return}function w(e,t){var n=e-e;var r=e-e;var i=(e+e)/2;var s=(e+e)/2;var o=n*t;var u=r*t;return}function E(e,t,n,r){var i=e/t;var s=n/r;var o=t*s;var u=t;if(o>e){var o=e;var u=e/s}var a=(e-o)/2;var f=(t-u)/2;return}function S(e,t){var n=m;if(!n.initialized){var r=new Image;n.image=r;n.loaded=false;r.onload=function(){n.loaded=true;var i=r.width;var u=r.height;var a=E(i,u,s,o);var f=w(a,d);var l=Math.floor(Math.random()*3)-1;var c=Math.floor(Math.random()*3)-1;l/=2;c/=2;var h=f;f+=h*l;f+=h*l;var p=f;f+=p*c;f+=p*c;if(e%2){n.r1=a;n.r2=f}else{n.r1=f;n.r2=a}if(t){t()}};n.initialized=true;r.src=n.path}return n}function x(e,t,n){if(t>1){return}var i=S(e);if(i.loaded){var u=b(i.r1,i.r2,t);var a=Math.min(1,n);if(a>0){r.save();r.globalAlpha=Math.min(1,a);r.drawImage(i.image,u,u,u-u,u-u,0,0,s,o);r.restore()}}}function T(){r.save();r.globalAlpha=1;r.fillStyle=v;r.fillRect(0,0,r.canvas.width,r.canvas.height);r.restore()}function N(){function u(e){return(e+m.length)%m.length}var e=g();var i=Math.floor(e/(a-f));var s=i*(a-f);var o=e-s;if(o<f){var l=i-1;var c=s-a+f;var h=e-c;if(e<f){T()}else{x(u(l),h/a,1)}}x(u(i),o/a,o/f);if(t.post_render_callback){t.post_render_callback(n,r)}var p=u(i+1);S(p)}var n=e(this);var r=this.getContext(ā€œ2dā€);var i=null;var s=n.width();var o=n.height();var u=t.images;var a=t.display_time||7e3;var f=Math.min(a/2,t.fade_time||1e3);var l=a-f*2;var c=f-a;var h=t.frames_per_second||30;var p=1/h*1e3;var d=1/(t.zoom||2);var v=t.background_color||ā€œ#000000ā€;var m=[];e(u).each(function(e,t){m.push({path:t,initialized:false,loaded:false})});S(0,function(){S(1,function(){i=g();setInterval(N,p)})})}})(jQuery)