(function(b){function m(b){for(var e=1;e<arguments.length;e++)b=b.replace("%"+(e-1),arguments[e]);return b}function F(f,e){var c=b("img",f),d,g=null,i=null,h=null,l=null,j=null,u=null,n,A=0,r,s,B=0,C=0,w=0,x=0,D=0,y,z,k=this,E;setTimeout(function(){if(i===null){var b=f.width();f.parent().append(m('<div style="width:%0px;position:absolute;top:75%;left:%1px;text-align:center" class="cloud-zoom-loading" >Loading...</div>',b/3,b/2-b/6)).find(":last").css("opacity",0.5)}},200);this.removeBits=function(){h&&
(h.remove(),h=null);l&&(l.remove(),l=null);j&&(j.remove(),j=null);u!==null&&(u.remove(),u=null);b(".cloud-zoom-loading",f.parent()).remove()};this.destroy=function(){f.data("zoom",null);i&&(i.unbind(),i.remove(),i=null);g&&(g.remove(),g=null);this.removeBits()};this.fadedOut=function(){g&&(g.remove(),g=null);this.removeBits()};this.controlLoop=function(){if(h){var b=y-c.offset().left-r*0.5>>0,f=z-c.offset().top-s*0.5>>0;b<0?b=0:b>c.outerWidth()-r&&(b=c.outerWidth()-r);f<0?f=0:f>c.outerHeight()-s&&
(f=c.outerHeight()-s);h.css({left:b,top:f});h.css("background-position",-b+"px "+-f+"px");B=b/c.outerWidth()*n.width>>0;C=f/c.outerHeight()*n.height>>0;x+=(B-x)/e.smoothMove;w+=(C-w)/e.smoothMove;g.css("background-position",-(x>>0)+"px "+(-(w>>0)+"px"))}A=setTimeout(function(){k.controlLoop()},30)};this.init2=function(b,c){D++;c===1&&(n=b);D===2&&this.init()};this.init=function(){b(".cloud-zoom-loading",f.parent()).remove();i=f.parent().append(m("<div class='mousetrap' style='background-image:url(\".\");z-index:999;position:absolute;width:%0px;height:%1px;left:%2px;top:%3px;'></div>",
c.outerWidth(),c.outerHeight(),0,0)).find(":last");i.bind("click",this,function(){b(this).trigger("mouseleave");b(this).prev().addClass("fancy").attr("rel","fancy").trigger("click");return false});i.bind("mousemove",this,function(b){y=b.pageX;z=b.pageY});i.bind("mouseleave",this,function(){b(this).parent().next().children("img").css("z-index",3E3);clearTimeout(A);h&&h.fadeOut(299);l&&l.fadeOut(299);j&&j.fadeOut(299);g.fadeOut(300,function(){k.fadedOut()});return false});i.bind("mouseenter",this,function(d){y=
d.pageX;z=d.pageY;E=d.data;g&&(g.stop(true,false),g.remove());b(this).parent().next().children("img").css("z-index",1500);var d=e.adjustX,t=e.adjustY,k=c.outerWidth(),v=c.outerHeight(),o=e.zoomWidth,p=e.zoomHeight;e.zoomWidth=="auto"&&(o=k);e.zoomHeight=="auto"&&(p=v);var q=f.parent();switch(e.position){case "top":t-=p;break;case "right":d+=k;break;case "bottom":t+=v;break;case "left":d-=o;break;case "inside":o=k;p=v;break;default:q=b("#"+e.position),q.length?(o=q.innerWidth(),p=q.innerHeight()):
(q=f,d+=k,t+=v)}g=q.append(m('<div id="cloud-zoom-big" class="cloud-zoom-big" style="display:none;position:absolute;left:%0px;top:%1px;width:%2px;height:%3px;background-image:url(\'%4\');z-index:99;"></div>',d,t,o,p,n.src)).find(":last");c.attr("title")&&e.showTitle&&g.append(m('<div class="cloud-zoom-title">%0</div>',c.attr("title"))).find(":last").css("opacity",e.titleOpacity);b.browser.msie&&b.browser.version<7&&(u=b('<iframe frameborder="0" src="#"></iframe>').css({position:"absolute",left:d,
top:t,zIndex:99,width:o,height:p}).insertBefore(g));g.fadeIn(500);h&&(h.remove(),h=null);r=c.outerWidth()/n.width*g.width();s=c.outerHeight()/n.height*g.height();h=f.append(m("<div class = 'cloud-zoom-lens' style='display:none;z-index:98;position:absolute;width:%0px;height:%1px;'></div>",r,s)).find(":last");i.css("cursor",h.css("cursor"));d=false;e.tint&&(h.css("background",'url("'+c.attr("src")+'")'),l=f.append(m('<div style="display:none;position:absolute; left:0px; top:0px; width:%0px; height:%1px; background-color:%2;" />',
c.outerWidth(),c.outerHeight(),e.tint)).find(":last"),l.css("opacity",e.tintOpacity),d=true,l.fadeIn(500));e.softFocus&&(h.css("background",'url("'+c.attr("src")+'")'),j=f.append(m('<div style="position:absolute;display:none;top:2px; left:2px; width:%0px; height:%1px;" />',c.outerWidth()-2,c.outerHeight()-2,e.tint)).find(":last"),j.css("background",'url("'+c.attr("src")+'")'),j.css("opacity",0.5),d=true,j.fadeIn(500));d||h.css("opacity",e.lensOpacity);e.position!=="inside"&&h.fadeIn(500);E.controlLoop()})};
d=new Image;b(d).load(function(){k.init2(this,0)});d.src=c.attr("src");d=new Image;b(d).load(function(){k.init2(this,1)});d.src=f.attr("href")}b(document).ready(function(){b(".cloud-zoom, .cloud-zoom-gallery").CloudZoom()});b.fn.CloudZoom=function(f){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}this.each(function(){var c,d;eval("var\ta = {"+b(this).attr("rel")+"}");c=a;b(this).is(".cloud-zoom")?(b(this).css({position:"relative",display:"block"}),b("img",b(this)).css({display:"block"}),
b(this).parent().attr("id")!="wrap"&&b(this).wrap('<div id="wrap" style="top:0px;z-index:2000;position:relative;"></div>'),d=b.extend({},b.fn.CloudZoom.defaults,f),d=b.extend({},d,c),b(this).data("zoom",new F(b(this),d))):b(this).is(".cloud-zoom-gallery")&&(d=b.extend({},c,f),b(this).data("relOpts",d),b(this).bind("click",b(this),function(c){var d=c.data.data("relOpts");b("#"+d.useZoom).data("zoom").destroy();b("#"+d.useZoom).attr("href",c.data.attr("href"));b("#"+d.useZoom+" img").attr("src",c.data.data("relOpts").smallImage);
b("#"+c.data.data("relOpts").useZoom).CloudZoom();return false}))});return this};b.fn.CloudZoom.defaults={zoomWidth:"auto",zoomHeight:"auto",position:"right",tint:false,tintOpacity:0.5,lensOpacity:0.5,softFocus:false,smoothMove:3,showTitle:true,titleOpacity:0.5,adjustX:0,adjustY:0}})(jQuery);

