(function(a){a("head").append('<style type="text/css">.featuredimagezoomerhidden {visibility: hidden!important;}</style>');var b={loadinggif:"/catalog/view/theme/webi/image/preLoader.gif",magnifycursor:"crosshair",dsetting:{magnifierpos:"right",magnifiersize:[200,200],cursorshadecolor:"#fff",cursorshadeopacity:.3,cursorshadeborder:"1px solid #b7e7d0",cursorshade:false,leftoffset:15,rightoffset:10},isie:function(){return false}(),showimage:function(a,b,c,d){if(a("img",c).attr("src")!=this.element.attr("src")){a("img",c).attr("src",this.element.attr("src"))}var e=b.data("specs"),f=e.magpos,g=this;var h=b.data("specs").coords;e.windimensions={w:a(window).width(),h:a(window).height()};var i={};i.left=h.left+(f==="left"?-e.magsize.w-e.lo:b.width()+e.ro);if(f!=="left"&&i.left+e.magsize.w+e.lo>=e.windimensions.w&&h.left-e.magsize.w>=e.lo){i.left=h.left-e.magsize.w-e.lo}else if(f==="left"&&i.left<e.ro){i.left=h.left+b.width()+e.ro}c.css({left:i.left,top:h.top}).show();e.$statusdiv.html("Current Zoom: "+e.curpower+'<div style="font-size:80%">Use Mouse Wheel to Zoom In/Out</div>');if(d)g.showstatusdiv(e,400,2e3)},hideimage:function(a,b,c){var d=a.data("specs");b.hide();if(c)this.hidestatusdiv(d)},showstatusdiv:function(a,c,d){return;clearTimeout(a.statustimer);a.$statusdiv.fadeIn(c);a.statustimer=setTimeout(function(){b.hidestatusdiv(a)},d)},hidestatusdiv:function(a){a.$statusdiv.stop(true,true).hide()},getboundary:function(a,b,c){if(a=="left"){var d=-c.imagesize.w*c.curpower+c.magsize.w;return b>0?0:b<d?d:b}else{var e=-c.imagesize.h*c.curpower+c.magsize.h;return b>0?0:b<e?e:b}},moveimage:function(a,b,c,d){var e=a.data("specs"),f=Math.round(e.magsize.w/e.curpower),g=Math.round(e.magsize.h/e.curpower),h=e.csborder,i=this,j=e.coords,k=d.pageX||e.lastpagex,l=d.pageY||e.lastpagey,m=k-j.left,n=l-j.top;c.css({visibility:"",width:f,height:g,top:Math.min(e.imagesize.h-g-h,Math.max(0,n-(h+g)/2))+j.top,left:Math.min(e.imagesize.w-f-h,Math.max(0,m-(h+f)/2))+j.left});var o=-m*e.curpower+e.magsize.w/2;var p=-n*e.curpower+e.magsize.h/2;b.css({left:i.getboundary("left",o,e),top:i.getboundary("top",p,e)});e.$statusdiv.css({left:k-10,top:l+20});e.lastpagex=k;e.lastpagey=l},magnifyimage:function(a,b,c){var d=b.detail?b.detail*-120:b.wheelDelta;var e=d<=-120?"out":"in";var f=a.data("specs");var g=f.magnifier,h=f.imagesize,i=f.curpower;var j=e=="in"?Math.min(i+1,c[1]):Math.max(i-1,c[0]);var k=[h.w*j,h.h*j];g.$image.css({width:k[0],height:k[1]});f.curpower=j;f.$statusdiv.html("Current Zoom: "+f.curpower);this.showstatusdiv(f,0,500);a.trigger("mousemove")},init:function(a,b,c){function o(){var a=i.offset();return{left:a.left,top:a.top}}function n(a,b){var c={w:l.width(),h:l.height()};var g={w:e,h:f};var h=d.zoomrange?d.zoomrange[0]:(b.width()/e).toFixed(5);i.data("specs",{$statusdiv:k,statustimer:null,magnifier:{$outer:l,$inner:a,$image:b},magsize:c,magpos:d.magnifierpos,imagesize:g,curpower:h,coords:o(),csborder:j.outerWidth(),lo:d.leftoffset,ro:d.rightoffset})}this.element=b;var d=a.extend({},this.dsetting,c),e=b.width(),f=b.height(),g=b.offset(),h=this,i,j,k,l,m={pageX:0,pageY:0};d.largeimage=d.largeimage()||b.get(0).src;l=a('<div class="magnifyarea" style="position:absolute;width:'+d.magnifiersize[0]+"px;height:"+d.magnifiersize[1]+'px;left:-10000px;top:-10000px;visibility:hidden;overflow:hidden;border:1px solid #b7e7d0;" />').append('<div style="position:relative;left:0;top:0;" />').appendTo(document.body);if(d.cursorshade){j=a('<div class="cursorshade" style="visibility:hidden;position:absolute;left:0;top:0;" />').css({border:d.cursorshadeborder,opacity:d.cursorshadeopacity,backgroundColor:d.cursorshadecolor}).appendTo(document.body)}else{j=a("<div />")}k=a('<div class="zoomstatus preloadevt" style="position:absolute;visibility:hidden;left:0;top:0;" />').html('<img src="'+this.loadinggif+'" />').appendTo(document.body);i=a('<div class="zoomtracker" style="cursor:progress;position:absolute;left:'+g.left+"px;top:"+g.top+"px;height:"+f+"px;width:"+e+'px;" />').css({backgroundImage:this.isie?"url(cannotbe)":"none"}).appendTo(document.body);a(window).resize(function(){var a=b.offset();i.css({left:a.left,top:a.top})});i.mouseover(function(a){j.add(l).add(k).removeClass("featuredimagezoomerhidden");i.data("premouseout",false)}).mouseout(function(a){j.add(l).add(k.not(".preloadevt")).addClass("featuredimagezoomerhidden");i.data("premouseout",true)}).mousemove(function(a){m.pageX=a.pageX;m.pageY=a.pageY});i.one("mouseover",function(c){var g=l.find("div:eq(0)");var p=a('<img src="'+d.largeimage+'"/>').appendTo(g);var q=d.zoomrange&&d.zoomrange[1]>d.zoomrange[0];b.css({opacity:.1});var r=o();k.css({left:r.left+e/2-k.width()/2,top:r.top+f/2-k.height()/2,visibility:"visible"});p.bind("loadevt",function(){b.css({opacity:1});k.empty().css({border:"1px solid b7e7d0",background:"#C0C0C0",padding:"4px",font:"bold 13px Arial",opacity:.8}).hide().removeClass("preloadevt");if(i.data("premouseout")){k.addClass("featuredimagezoomerhidden")}if(d.zoomrange){var c=[e*d.zoomrange[0],f*d.zoomrange[0]];p.css({width:c[0],height:c[1]})}n(g,p);l.css({display:"none",visibility:"visible"});i.mouseover(function(b){i.data("specs").coords=o();h.showimage(a,i,l,q)});i.mousemove(function(a){h.moveimage(i,g,j,a)});if(!i.data("premouseout")){h.showimage(a,i,l,q);h.moveimage(i,g,j,m)}i.mouseout(function(a){h.hideimage(i,l,q)}).css({cursor:h.magnifycursor});if(d.zoomrange&&d.zoomrange[1]>d.zoomrange[0]){i.bind("DOMMouseScroll mousewheel",function(a){h.magnifyimage(i,a,d.zoomrange);a.preventDefault()})}});if(p.get(0).complete){p.trigger("loadevt")}else{p.bind("load",function(){p.trigger("loadevt")})}})},iname:function(){var a=jQuery("<img />"),b=a.get(0).tagName;a.remove();return b}()};a.fn.addimagezoom=function(c){return this.each(function(){if(this.tagName!==b.iname)return true;b.init(a,a(this),c)})}})(jQuery)
