(function(a){a.fn.factoryzoom=function(b){var c={holder:"#factoryzoom-holder",width:340,height:340,mask:".mask",opacity:0.6};return this.each(function(){b=b||{};b=a.extend(c,b);var m=a(b.holder);var r=a(b.mask,this).css("visibility","hidden");var t,f,u,q,d,k,j,s,i;var o=false;var l=a(this);var h=this;var v=a("img",this);if(v.width()!=0){n()}else{a("img",this).load(function(){v=a(this);n()})}function n(){q=v.width();d=v.height();var w=v.offset();s=w.top;i=w.left;l.click(function(){var x=new Image();a(x).load(function(){f=this.width;u=this.height;t=this.src;g()}).attr("src",h.href);return false}).hover(function(){},function(){e()}).mousemove(function(x){k=x.pageX;j=x.pageY;p()})}function g(){o=true;m.css({"background-image":"url('"+t+"')",width:b.width,height:b.height}).removeClass("factoryzoom-hide").addClass("factoryzoom-show");r.append('<img src="'+v.attr("src")+'" border="0" style="position:absolute;"/>').css({position:"absolute",visibility:"visible",overflow:"hidden","z-index":10});v.css("opacity",b.opacity);p()}function e(){o=false;m.css({"background-image":"none",width:0,height:0}).removeClass("factoryzoom-show").addClass("factoryzoom-hide");r.css("visibility","hidden").empty();v.css("opacity",1)}function p(){if(o){var w=k-i;var D=j-s;var A=(b.width/f)*q;var x=(b.height/u)*d;var B=parseInt(w-A/2);var E=parseInt(D-x/2);if(B<0){B=0}else{if(B>q-A){B=q-A-2}}if(E<0){E=0}else{if(E>d-x){E=d-x-2}}r.css({width:A,height:x,left:B,top:E});var y=parseInt(f*(B/q));var C=parseInt(u*(E/d));if(y<0){y=0}else{if(y>f-b.width/2){y=f-b.width}}if(C<0){C=0}else{if(C>u-b.height/2){C=u-b.height}}m.css("background-position",(-y)+"px "+(-C)+"px");var z=w-A/2;var F=D-x/2;if(z<0){z=0}else{if(z>q-A){z=q-A}}if(F<0){F=0}else{if(F>d-x){F=d-x}}a("img",r).css({left:-z,top:-F})}}})}})(jQuery);
