!function(a){a.fn.imgfx=function(b){return b=a.extend({mode:"tv",canvassize:2,blendMode:"difference",crossOrigin:"Anonymous",noise:!0,grainsize:1,desyncspeed:5,syncup:!0,scanspacing:22,scanheight:4,scanspeed:1,flickerseed:10,latunsync:0,sidenoise:"left",sidenoiseforce:8,Themecolor:"#f00",base64glitchforce:0,base64glitchInterval:300,glichforce:80,glitchclear:!0,glitchdisplayimage:!0,pixelsize:100,squared:!0,smooth:!1,rectNum:4,rectSquare:!1,rectSpeed:6,rectClear:!0,zoomRotationSpeed:1,zoomSpeed:.05,zoomMinScale:.001,zoomMaxScale:15,zoomXframe:30,rotozoomSpeed:.01,rotozoomRotateSpeed:.2,rotozoomMaxScale:5,rotozoomMinScale:.001,thetaAngle:360,thetaDiv:30,rdmMaxRect:20,rdmClearBeforeDraw:!0},b),this.each(function(){function s(a,c){var d=["0",")","<",">",".","*","&","\xa3","%","~","#","+","a","!","|","-"],e=["a","b","c","d","e","f","z","x","v","n","m","o","i","y","q","w"];if(2==Math.floor(2*Math.random()+1))var f=e;else var f=d;var k,g=["64","128","256","1024","2048"],i=b.base64glitchforce,j=g[i];try{var l=a;k=atob(l)}catch(m){var l=a;k=l}for(var n=parseInt((k.length-1)/j),o=[],p=0,q=k.length;q>p;p+=n)o.push(k.substring(p,p+n));for(var p=2;j>=p;p++){var r=Math.floor(100*Math.random()+1);4==i&&(r=1);var s=Math.floor(Math.random()*f.length),t=Math.floor(Math.random()*f.length);t==s&&(t="9"),r%2!=0&&(o[p]=o[p].replace(f[s],f[t]))}k=o.join("");var u=btoa(k);glitched_img=new Image,glitched_img.src="data:image/jpeg;base64,"+u,glitched_img.onload=function(){h.drawImage(glitched_img,0,0)}}function I(){b.rectClear&&(u.clearRect(0,0,x,y),u.drawImage(i,0,0,x,y));for(var a=0;ax&&(c.dx=!0),c.y<0?c.dy=!1:c.y+c.height>y&&(c.dy=!0)}A&&(h.drawImage(t,0,0,f,e),window.requestAnimationFrame(I))}function L(a,c,d,e){var f=new Image;f.crossOrigin=b.crossOrigin,f.onload=function(){f.width=c,f.height=d,e(f,c,d)},f.src=a}function M(a,b){return Math.random()*(b-a)+a}function N(a,c){for(var d=M(-b.glichforce,b.glichforce),g=0;d>g;g++){var h=Math.random()*f,i=Math.random()*e,j=f-h,k=M(5,e/4);a.drawImage(c,0,i,j,k,h,i,j,k),a.drawImage(c,j,i,h,k,0,i,h,k)}}function O(){b.glitchclear&&h.clearRect(0,0,f,e),b.glitchdisplayimage&&h.drawImage(i,0,0),h.globalCompositeOperation=b.blendMode,N(h,i),window.requestAnimationFrame(O)}function P(){var a=new Image;a.onload=function(){a.height=e,a.width=f;var c=document.createElement("canvas");c.width=f,c.height=e;var d=c.getContext("2d");if(d.mozImageSmoothingEnabled=b.smooth,d.webkitImageSmoothingEnabled=b.smooth,d.imageSmoothingEnabled=b.smooth,h.mozImageSmoothingEnabled=b.smooth,h.webkitImageSmoothingEnabled=b.smooth,h.imageSmoothingEnabled=b.smooth,b.squared)var g=Math.random()*b.pixelsize/100,i=f*g,j=e*g;var i=f*(Math.random()*b.pixelsize/100),j=e*(Math.random()*b.pixelsize/100);d.drawImage(a,0,0,i,j),h.drawImage(c,0,0,i,j,0,0,c.width,c.height)},a.src=d,window.requestAnimationFrame(P)}var c=a(this),d=c.attr("src"),e=c.height(),f=c.width();e=Math.floor(e/b.canvassize),f=Math.floor(f/b.canvassize);var g=document.createElement("canvas"),h=g.getContext("2d");g.height=e,g.width=f;var i=document.createElement("canvas"),j=i.getContext("2d");switch(i.height=e,i.width=f,g.style.display="block",g.style.width="100%",g.style.height="auto",c.replaceWith(g),b.mode){case"tv":L(d,f,e,function(a,c,d){function q(c){if("none"==b.sidenoise);else{for(o.height=e,o.width=f,p.clearRect(0,0,f,e),a=0;e>a;a++)p.fillStyle=b.Themecolor,("left"==b.sidenoise||"both"==b.sidenoise)&&p.fillRect(0,a,M(0,b.sidenoiseforce),M(0,10)),("right"==b.sidenoise||"both"==b.sidenoise)&&p.fillRect(f,a,-M(0,b.sidenoiseforce),M(0,10));c.globalCompositeOperation="overlay",c.drawImage(o,0,0)}}function r(c){for(a=0;e>a;a+=b.scanspacing)c.fillStyle=b.Themecolor,c.globalAlpha=1,c.globalCompositeOperation="overlay",c.fillRect(0,a+n,f,b.scanheight);n+=b.scanspeed,n>=b.scanspacing&&(n=0)}function s(){var a=M(0,b.flickerseed);if(g.height=e,g.width=f,b.noise){var c=document.createElement("canvas"),d=c.getContext("2d");c.height=e/b.grainsize,c.width=f/b.grainsize;for(var j=f/b.grainsize,n=e/b.grainsize,o=h.createImageData(j,n),p=new Uint32Array(o.data.buffer),t=p.length,u=0;t>u;)p[u++]=(255*Math.random()|50)<<24;d.putImageData(o,0,0)}d.fillStyle=b.Themecolor,d.globalCompositeOperation="multiply",d.globalAlpha="0.4",d.fillRect(0,0,f,e),h.globalCompositeOperation=b.blendMode,h.drawImage(c,0,0,f,e),r(h),b.syncup?(h.drawImage(i,M(-b.latunsync,b.latunsync),k),h.drawImage(i,M(-b.latunsync,b.latunsync),k+e),k-=m,l>k&&(k=0)):(h.drawImage(i,M(-b.latunsync,b.latunsync),k),h.drawImage(i,M(-b.latunsync,b.latunsync),k-e),k+=m,k>e&&(k=0)),a>=b.flickerseed-1&&(h.fillStyle="#fff",h.globalCompositeOperation="multiply",h.fillRect(0,0,f,e),h.fillStyle=b.Themecolor,h.globalAlpha=.5,h.globalCompositeOperation="multiply",h.fillRect(0,0,f,e)),q(h),console.log("im here!"),window.requestAnimationFrame(s)}j.drawImage(a,0,0,c,d);var k=0,l=0-e,m=b.desyncspeed,n=0,o=document.createElement("canvas"),p=o.getContext("2d");s()});break;case"glitch":L(d,f,e,function(a,b,c){j.drawImage(a,0,0,b,c),O()});break;case"zoom":L(d,f,e,function(a,c,d){function o(){n==b.zoomXframe-1&&j.clearRect(0,0,f,e),j.translate(c/2,c/2),j.rotate(Math.PI/180),j.translate(-c/2,-c/2),j.save(),j.translate(l,m),j.scale(g,g),j.globalCompositeOperation=b.blendMode,j.drawImage(a,-c/2,-c/2),j.restore(),h.drawImage(a,0,0,c,d),h.drawImage(i,0,0,f,e),g+=k,(gb.zoomMaxScale)&&(k*=-1),n++,n>=b.zoomXframe&&(n=0),requestAnimationFrame(o)}var g=b.zoomRotationSpeed,k=b.zoomSpeed,l=f/2,m=e/2,n=0;o()});break;case"rotozoom":e=f=256;var o,p,k=0,l=b.rotozoomRotateSpeed*Math.PI/180,m=1,n=b.rotozoomSpeed,q=h.createImageData(f,e),r=q.data;L(d,f,e,function(a,c,d){function e(){k+=l,m+=n,(mb.rotozoomMaxScale)&&(n=-n),cosa=Math.cos(k)*m,sina=Math.sin(k)*m;for(var a=0;256>a;a++){cosy=cosa*(a-128),siny=sina*(a-128);for(var c=0;256>c;c++){cosx=cosa*(c-128),sinx=sina*(c-128),xsrc=255&parseInt(cosx-siny-128),ysrc=255&parseInt(sinx+cosy-128);for(var d=(ysrc<<10)+(xsrc<<2),f=(a<<10)+(c<<2),g=0;4>g;g++)r[f+g]=p[d+g]}}h.putImageData(q,0,0),window.requestAnimationFrame(e)}i.height=g.height=d,i.width=g.width=c,j.drawImage(a,0,0,c,d),h.drawImage(i,0,0),o=j.getImageData(0,0,c,d),p=o.data,e()});break;case"pixelate":L(d,f,e,function(a,b,c){j.drawImage(a,0,0,b,c),P()});break;case"base64":L(d,f,e,function(a,c,d){j.drawImage(a,0,0,c,d);var e=i.toDataURL("image/jpeg"),f=e.replace("data:image/jpeg;base64,","");s(f,h),setInterval(function(){s(f,h)},b.base64glitchInterval)});break;case"bumpingrect":for(var z,t=document.createElement("canvas"),u=t.getContext("2d"),v=document.createElement("canvas"),w=v.getContext("2d"),x=t.width=g.width=f,y=t.height=g.height=e,A=!0,B=function(a,b,c,d){this.x=a,this.y=b,this.width=c,this.height=d,this.dx=!1,this.dy=!1},C=new Array,D=0;Da;a++)for(var b=0;f>b;b++){var c=(m[a][b][0]+k)%e,d=m[a][b][1];p[4*a*f+4*b]=n[4*c*j+4*d],p[4*a*f+4*b+1]=n[4*c*j+4*d+1],p[4*a*f+4*b+2]=n[4*c*j+4*d+2],p[4*a*f+4*b+3]=n[4*c*j+4*d+3]}K.putImageData(o,0,0),h.drawImage(i,0,0,f,e),h.drawImage(J,0,0,f,e),k>=3*e/4&&(r=!0),0>=k&&(r=!1),k+=r?-1:1,l>=k&&q&&setTimeout(s,101)}}function t(){m=[];var a,c,d=Math.sqrt(2)*f/2;for(a=0;f>a;a++)for(m[a]=[],c=0;f>c;c++){var e=Math.atan((f/2-a)/(f/2-c));c==f/2&&(e=Math.PI/2);var g=Math.sqrt((a-f/2)*(a-f/2)+(c-f/2)*(c-f/2));g*=j,g/=d,e+=2*Math.PI,e/=2*Math.PI,e*=b.thetaAngle,e%=b.thetaDiv,e=Math.floor(15-Math.abs(15-e)),g=Math.floor(g),m[a][c]=[e,g]}setTimeout(u,1e3)}function u(){a.height=e,a.width=f,K.drawImage(g,0,0,f,e),n=K.getImageData(0,0,f,e).data,o=K.createImageData(f,e),p=o.data,K.fillStyle="#000000",K.fillRect(0,0,f,e),setTimeout(s,100)}function v(){q=!0,u()}K.drawImage(a,0,0,c,d);var m,n,o,p,j=f,k=0,l=1e4,q=!0,r=!1;v(),t()});break;case"randomrect":L(d,f,e,function(a,c,d){function l(){var a=b.rdmMaxRect;for(b.rdmClearBeforeDraw&&h.clearRect(0,0,f,e),E=0;a>=E;E++)h.globalCompositeOperation=b.blendMode,h.drawImage(i,M(2*-f,2*f),M(2*-e,2*e),M(4*-f,2*f),M(4*-e,4*e));window.requestAnimationFrame(l)}j.drawImage(a,0,0,c,d);var g=document.createElement("canvas");g.getContext("2d");g.height=d,g.width=c,l()})}}),this}}(jQuery);