(function(b){function n(b){for(var e=1;e<arguments.length;e++)b=b.replace("%"+(e-1),arguments[e]);return b}function E(f,e){var c=b("img",f),d,h=null,k=null,g=null,m=null,j=null,u=null,o,z=0,s,t,A=0,B=0,i=0,w=0,C=0,x,y,l=this,D;setTimeout(function(){if(k===null){var b=f.width(),h=c.width()+"px",g=c.height()+"px",d=c.position().left+"px",j=c.position().top+"px";f.parent().append(n('<div style="width:'+h+";height:"+g+";position:absolute;top:"+j+";left:"+d+';text-align:center" class="cloud-zoom-loading" >'+
e.loadingText+"</div>",b/3,b/2-b/6)).find(":last").css("opacity",0.5)}},200);this.removeBits=function(){g&&(g.remove(),g=null);m&&(m.remove(),m=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);k&&(k.unbind(),k.remove(),k=null);h&&(h.remove(),h=null);this.removeBits()};this.fadedOut=function(){h&&(h.remove(),h=null);this.removeBits()};this.controlLoop=function(){if(g){var b=x-c.offset().left-s*0.5>>
0,f=y-c.offset().top-t*0.5>>0;b<0?b=0:b>c.outerWidth()-s&&(b=c.outerWidth()-s);f<0?f=0:f>c.outerHeight()-t&&(f=c.outerHeight()-t);e.centerXY?g.css({left:b+c.position().left,top:f+c.position().top}):g.css({left:b,top:f});g.css("background-position",-b+"px "+-f+"px");A=b/c.outerWidth()*o.width>>0;B=f/c.outerHeight()*o.height>>0;w+=(A-w)/e.smoothMove;i+=(B-i)/e.smoothMove;h.css("background-position",-(w>>0)+"px "+(-(i>>0)+"px"))}z=setTimeout(function(){l.controlLoop()},30)};this.init2=function(b,c){C++;
c===1&&(o=b);C===2&&this.init()};this.init=function(){b(".cloud-zoom-loading",f.parent()).remove();if(e.centerXY)var d=c.position().left+"px",i=c.position().top+"px";else d="%2px",i="%3px";k=f.parent().append(n("<div class='mousetrap' style='background-image:url(\""+e.trImg+'");z-index:999;position:absolute;width:%0px;height:%1px;left:'+d+";top:"+i+";'></div>",c.outerWidth(),c.outerHeight(),0,0)).find(":last");k.bind("mousemove",this,function(b){x=b.pageX;y=b.pageY});k.bind("mouseleave",this,function(){clearTimeout(z);
g&&g.fadeOut(299);m&&m.fadeOut(299);j&&j.fadeOut(299);h.fadeOut(300,function(){l.fadedOut()});return!1});k.bind("mouseenter",this,function(d){x=d.pageX;y=d.pageY;D=d.data;h&&(h.stop(!0,!1),h.remove());d=e.adjustX;var i=e.adjustY,l=c.outerWidth(),v=c.outerHeight(),p=e.zoomWidth,q=e.zoomHeight;e.zoomWidth=="auto"&&(p=l);e.zoomHeight=="auto"&&(q=v);var r=f.parent();switch(e.position){case "top":i-=q;break;case "right":d+=l;break;case "bottom":i+=v;break;case "left":d-=p;break;case "inside":p=l;q=v;break;
default:r=b("#"+e.position),r.length?(p=r.innerWidth(),q=r.innerHeight()):(r=f,d+=l,i+=v)}h=r.append(n('<div id="cloud-zoom-big" class="cloud-zoom-big" style="display:none;position:absolute;left:'+e.fixZoomWindow+"px;top:%1px;width:%2px;height:%3px;background-image:url('%4');z-index:99;\"></div>",d,i,p,q,o.src)).find(":last");c.attr("title")&&e.showTitle&&h.append(n('<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:i,zIndex:99,width:p,height:q}).insertBefore(h));h.fadeIn(500);g&&(g.remove(),g=null);s=c.outerWidth()/o.width*h.width();t=c.outerHeight()/o.height*h.height();g=f.append(n("<div class = 'cloud-zoom-lens' style='display:none;z-index:98;position:absolute;width:%0px;height:%1px;'></div>",s,t)).find(":last");k.css("cursor",g.css("cursor"));d=!1;e.tint&&(g.css("background",'url("'+c.attr("src")+'")'),m=f.append(n('<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"),m.css("opacity",e.tintOpacity),d=!0,m.fadeIn(500));e.softFocus&&(g.css("background",'url("'+c.attr("src")+'")'),j=f.append(n('<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=!0,j.fadeIn(500));d||g.css("opacity",e.lensOpacity);e.position!=="inside"&&g.fadeIn(500);D.controlLoop()})};
d=new Image;b(d).load(function(){l.init2(this,0)});d.src=c.attr("src");d=new Image;b(d).load(function(){l.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",!1,!0)}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:"inline-block"}),
b(this).parent().attr("id")!="wrap"&&b(this).wrap('<div id="wrap" style="top:0px;z-index:99;position:relative;"></div>'),d=b.extend({},b.fn.CloudZoom.defaults,f),d=b.extend({},d,c),b(this).data("zoom",new E(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!1}))});return this};b.fn.CloudZoom.defaults={zoomWidth:"auto",zoomHeight:"auto",position:"right",tint:!1,tintOpacity:0.5,lensOpacity:0.5,softFocus:!1,smoothMove:3,showTitle:!0,titleOpacity:0.5,adjustX:0,adjustY:0,centerXY:!0,loadingText:"Loading...",fixZoomWindow:"%0",trImg:"."}})(jQuery);

