jQuery.fn.puzzle=function(a){return this.filter(":has( img )").each(function(b){function d(a){var b=$(this);var c=e.find("div[ rel = 'empty' ]");var d={top:parseInt(b.css("top")),left:parseInt(b.css("left"))};var f={top:parseInt(c.css("top")),left:parseInt(c.css("left"))};var h,i=0;if(n){return false}b.blur();d.row=d.top/j;d.col=d.left/j;f.row=f.top/j;f.col=f.left/j;if(d.row==f.row){if(d.col>f.col){for(i=f.col;i<d.col;i++){g[d.row][i]=g[d.row][i+1]}g[d.row][i]=c}else{for(i=f.col;i>d.col;i--){g[d.row][i]=g[d.row][i-1]}g[d.row][i]=c}for(i=0;i<k;i++){if(m){n=true;g[d.row][i].animate({left:j*i+"px"},200,function(){n=false})}else{g[d.row][i].css("left",j*i+"px")}}}else if(d.col==f.col){if(d.row>f.row){for(h=f.row;h<d.row;h++){g[h][d.col]=g[h+1][d.col]}g[h][d.col]=c}else{for(h=f.row;h>d.row;h--){g[h][d.col]=g[h-1][d.col]}g[h][d.col]=c}for(h=0;h<l;h++){if(m){n=true;g[h][d.col].animate({top:j*h+"px"},200,function(){n=false})}else{g[h][d.col].css("top",j*h+"px")}}}return false}function c(){var a=null;var b,c,n=0;k=Math.floor(f.width()/j);l=Math.floor(f.height()/j);h=k*j;i=l*j;e.empty();e.css({border:"1px solid black",overflow:"hidden",display:"block"}).width(h).height(i);if(e.css("position")!="relative"&&e.css("position")!="absolute"){e.css("position","relative")}for(var b=0;b<l;b++){g[b]=[];for(var c=0;c<k;c++){a=$("<div><br /></div>");a.css({display:"block","float":"left",cursor:"pointer",backgroundImage:"url( '"+f.attr("src")+"' )",backgroundRepeat:"no-repeat",backgroundPosition:c*-j+"px "+b*-j+"px",position:"absolute",top:j*b+"px",left:j*c+"px"}).width(j).height(j);a.attr("href","javascript:void( 0 );").click(d);g[b][c]=a;e.append(a)}}g[l-1][k-1].css("opacity",0).attr("rel","empty");for(n=0;n<100;n++){a=g[Math.floor(Math.random()*l*l)%l][Math.floor(Math.random()*k*k)%k];a.click()}m=true;return true}var e=$(this);var f=e.find("img:first");var g=[];var h=0;var i=0;var j=a||100;var k=0;var l=0;var m=false;var n=false;j=Math.floor(j);if(j<40||j>200){j=100}if(f[0].complete){c()}else{f.load(function(){c()})}})}
