/*!----------------------------------------------------- * xzoom v1.0.1 * (c) 2013 by azat ahmedov & elman guseynov * https://github.com/payalord * https://dribbble.com/elmanvebs * apache license 2.0 *------------------------------------------------------*/ ;window.requestanimframe=(function(){return window.requestanimationframe||window.webkitrequestanimationframe||window.mozrequestanimationframe||window.orequestanimationframe||window.msrequestanimationframe||function(a){window.settimeout(a,20)}})();function detect_old_ie(){if(/msie (\d+\.\d+);/.test(navigator.useragent)){var a=new number(regexp.$1);if(a>=9){return false}else{if(a>=8){return true}else{if(a>=7){return true}else{if(a>=6){return true}else{if(a>=5){return true}}}}}}else{return false}}(function(b){function a(aw,af){this.xzoom=true;var f=this;var n;var ac={};var ac,aj,z,ai,ab,ah,al,s,ae,y,an;var ax,o,q,u,t,aa,p=new array();var g=new array(),ab=0,z=0;var j,r,l,k;var ap,aa,av,at,p,n,ak,ai,az,ay,x,v,ao,ak=0;var h,ag;var aj,c=0,a=0,af=0,ad=0,s=0,r=0,ar=0,aq=0,i=0,h=0;var e=detect_old_ie(),b=/msie (\d+\.\d+);/.test(navigator.useragent),y,w;var l,j="",k,w;var ah,f,m,q,g,i,am,d,t;this.adaptive=function(){if(m==0||q==0){aw.css("width","");aw.css("height","");m=aw.width();q=aw.height()}ag();ah=b(window).width();f=b(window).height();g=aw.width();i=aw.height();var u=false;if(m>ah||q>f){u=true}if(g>m){g=m}if(i>q){i=q}if(u){aw.width("100%")}else{if(m!=0){aw.width(m)}}if(am!="fullscreen"){if(ad()){f.options.position=am}else{f.options.position=f.options.mposition}}if(!f.options.lensreverse){d=f.options.adaptivereverse&&f.options.position==f.options.mposition}};function au(){var al=document.documentelement;var v=(window.pagexoffset||al.scrollleft)-(al.clientleft||0);var u=(window.pageyoffset||al.scrolltop)-(al.clienttop||0);return{left:v,top:u}}function ad(){var u=aw.offset();if(f.options.zoomwidth=="auto"){z=g}else{z=g/m*f.options.zoomwidth}if(f.options.zoomheight=="auto"){ai=i}else{ai=g/q*f.options.zoomheight}if(f.options.position.substr(0,1)=="#"){ac=b(f.options.position)}else{ac.length=0}if(ac.length!=0){return true}switch(am){case"lens":case"inside":return true;break;case"top":ah=u.top;al=u.left;s=ah-i;ae=al;break;case"left":ah=u.top;al=u.left;s=ah;ae=al-g;break;case"bottom":ah=u.top;al=u.left;s=ah+i;ae=al;break;case"right":default:ah=u.top;al=u.left;s=ah;ae=al+g}if(ae+z>ah||ae<0){return false}return true}this.xscroll=function(v){v.preventdefault();if(v.xscale){var u=v.pagex||v.originalevent.pagex;var am=v.pagey||v.originalevent.pagey;ak=v.xscale;m(u,am)}else{var al=-v.originalevent.detail||v.originalevent.wheeldelta||v.xdelta;var u=v.pagex||v.originalevent.pagex;var am=v.pagey||v.originalevent.pagey;if(e){u=y;am=w}if(al>0){al=-0.05}else{al=0.05}ak+=al;m(u,am)}};function x(){if(f.options.lensshape=="circle"&&f.options.position=="lens"){ap=aa=math.max(ap,aa);var u=(ap+math.max(n,p)*2)/2;l.css({"-moz-border-radius":u,"-webkit-border-radius":u,"border-radius":u})}}function d(u,am,al,v){if(f.options.position=="lens"){r.css({top:-(am-ah)*ay+(aa/2),left:-(u-al)*az+(ap/2)});if(f.options.bg){l.css({"background-image":"url("+r.attr("src")+")","background-repeat":"no-repeat","background-position":(-(u-al)*az+(ap/2))+"px "+(-(am-ah)*ay+(aa/2))+"px"});if(al&&v){l.css({"background-size":al+"px "+v+"px"})}}}else{r.css({top:-at*ay,left:-av*az})}}function m(u,an){if(ak<-1){ak=-1}if(ak>1){ak=1}if(xac-ap){av=ac-ap}if(at<0){at=0}if(at>aj-aa){at=aj-aa}}}function ag(){if(typeof ax!="undefined"){ax.remove()}if(typeof q!="undefined"){q.remove()}if(typeof w!="undefined"){w.remove()}}function o(u,al){if(f.options.position=="fullscreen"){ac=b(window).width();aj=b(window).height()}else{ac=aw.width();aj=aw.height()}u.css({top:aj/2-u.height()/2,left:ac/2-u.width()/2});if(f.options.rootoutput||f.options.position=="fullscreen"){ab=aw.offset()}else{ab=aw.position()}ab.top=math.round(ab.top);ab.left=math.round(ab.left);switch(f.options.position){case"fullscreen":ah=au().top;al=au().left;s=0;ae=0;break;case"inside":ah=ab.top;al=ab.left;s=0;ae=0;break;case"top":ah=ab.top;al=ab.left;s=ah-aj;ae=al;break;case"left":ah=ab.top;al=ab.left;s=ah;ae=al-ac;break;case"bottom":ah=ab.top;al=ab.left;s=ah+aj;ae=al;break;case"right":default:ah=ab.top;al=ab.left;s=ah;ae=al+ac}ah-=ax.outerheight()/2;al-=ax.outerwidth()/2;if(f.options.position.substr(0,1)=="#"){ac=b(f.options.position)}else{ac.length=0}if(ac.length==0&&f.options.position!="inside"&&f.options.position!="fullscreen"){if(!f.options.adaptive||!m||!q){m=ac;q=aj}if(f.options.zoomwidth=="auto"){z=ac}else{z=ac/m*f.options.zoomwidth}if(f.options.zoomheight=="auto"){ai=aj}else{ai=ac/q*f.options.zoomheight}s+=f.options.yoffset;ae+=f.options.xoffset;q.css({width:z+"px",height:ai+"px",top:s,left:ae});if(f.options.position!="lens"){n.append(q)}}else{if(f.options.position=="inside"||f.options.position=="fullscreen"){z=ac;ai=aj;q.css({width:z+"px",height:ai+"px"});ax.append(q)}else{z=ac.width();ai=ac.height();if(f.options.rootoutput){s=ac.offset().top;ae=ac.offset().left;n.append(q)}else{s=ac.position().top;ae=ac.position().left;ac.parent().append(q)}s+=(ac.outerheight()-ai-q.outerheight())/2;ae+=(ac.outerwidth()-z-q.outerwidth())/2;q.css({width:z+"px",height:ai+"px",top:s,left:ae})}}if(f.options.title&&j!=""){if(f.options.position=="inside"||f.options.position=="lens"||f.options.position=="fullscreen"){y=s;an=ae;ax.append(w)}else{y=s+(q.outerheight()-ai)/2;an=ae+(q.outerwidth()-z)/2;n.append(w)}w.css({width:z+"px",height:ai+"px",top:y,left:an})}ax.css({width:ac+"px",height:aj+"px",top:ah,left:al});o.css({width:ac+"px",height:aj+"px"});if(f.options.tint&&(f.options.position!="inside"&&f.options.position!="fullscreen")){o.css("background-color",f.options.tint)}else{if(e){o.css({"background-image":"url("+aw.attr("src")+")","background-color":"#fff"})}}ar=c=u;aq=a=al;j=new image();var v="";if(b){v="?r="+(new date()).gettime()}j.src=aw.attr("xoriginal")+v;r=b(j);r.css("position","absolute");j=new image();j.src=aw.attr("src");k=b(j);k.css("position","absolute");k.width(ac);switch(f.options.position){case"fullscreen":case"inside":q.append(r);break;case"lens":l.append(r);if(f.options.bg){r.css({display:"none"})}break;default:q.append(r);l.append(k)}}this.openzoom=function(u){if(f.options.adaptive){f.adaptive()}ak=f.options.defaultscale;aj=false;ax=b("
");if(f.options.sourceclass!=""){ax.addclass(f.options.sourceclass)}ax.css("position","absolute");u=b("
");if(f.options.loadingclass!=""){u.addclass(f.options.loadingclass)}u.css("position","absolute");o=b('
');ax.append(u);q=b("
");if(f.options.zoomclass!=""&&f.options.position!="fullscreen"){q.addclass(f.options.zoomclass)}q.css({position:"absolute",overflow:"hidden",opacity:1});if(f.options.title&&j!=""){w=b("
");k=b("
");w.css({position:"absolute",opacity:1});if(f.options.titleclass){k.addclass(f.options.titleclass)}k.html(""+j+"");w.append(k);if(f.options.fadein){w.css({opacity:0})}}l=b("
");if(f.options.lensclass!=""){l.addclass(f.options.lensclass)}l.css({position:"absolute",overflow:"hidden"});if(f.options.lens){lenstint=b("
");lenstint.css({position:"absolute",background:f.options.lens,opacity:f.options.lensopacity,width:"100%",height:"100%",top:0,left:0,"z-index":9999});l.append(lenstint)}if(f.options.position!="inside"&&f.options.position!="fullscreen"){if(f.options.tint||e){ax.append(o)}if(f.options.fadein){o.css({opacity:0});l.css({opacity:0});q.css({opacity:0})}n.append(ax)}else{if(f.options.fadein){q.css({opacity:0})}n.append(ax)}f.eventleave(ax);o(u.pagex,u.pagey);switch(f.options.position){case"inside":s-=(q.outerheight()-q.height())/2;ae-=(q.outerwidth()-q.width())/2;break;case"top":s-=q.outerheight()-q.height();ae-=(q.outerwidth()-q.width())/2;break;case"left":s-=(q.outerheight()-q.height())/2;ae-=q.outerwidth()-q.width();break;case"bottom":ae-=(q.outerwidth()-q.width())/2;break;case"right":s-=(q.outerheight()-q.height())/2}q.css({top:s,left:ae});r.bind("load",function(){u.remove();if(f.options.scroll){f.eventscroll(ax)}if(f.options.position!="inside"&&f.options.position!="fullscreen"){ax.append(l);if(f.options.fadein){o.fadeto(300,f.options.tintopacity);l.fadeto(300,1);q.fadeto(300,1)}else{o.css({opacity:f.options.tintopacity});l.css({opacity:1});q.css({opacity:1})}}else{if(f.options.fadein){q.fadeto(300,1)}else{q.css({opacity:1})}}if(f.options.title&&j!=""){if(f.options.fadein){w.fadeto(300,1)}else{w.css({opacity:1})}}h=r.width();ag=r.height();if(f.options.adaptive){if(acac||al<0||al>aj){ax.trigger("mouseleave")}if(t&&!f.options.bg){c=v.pagex;a=v.pagey}else{x();e(v.pagex,v.pagey);l.css({top:at-n,left:av-p});k.css({top:-at,left:-av});d(v.pagex,v.pagey,0,0)}};this.eventdefault=function(){f.eventopen=function(u){u.bind("mouseenter",f.openzoom)};f.eventleave=function(u){u.bind("mouseleave",f.closezoom)};f.eventmove=function(u){u.bind("mousemove",f.movezoom)};f.eventscroll=function(u){u.bind("mousewheel dommousescroll",f.xscroll)};f.eventclick=function(u){u.bind("click",function(v){aw.trigger("click")})}};this.eventunbind=function(){aw.unbind("mouseenter");f.eventopen=function(u){};f.eventleave=function(u){};f.eventmove=function(u){};f.eventscroll=function(u){};f.eventclick=function(u){}};this.init=function(u){f.options=b.extend({},b.fn.xzoom.defaults,u);if(f.options.rootoutput){n=b("body")}else{n=aw.parent()}am=f.options.position;d=f.options.lensreverse&&f.options.position=="inside";if(f.options.smoothzoommove<0){f.options.smoothzoommove=0}if(f.options.smoothlensmove<0){f.options.smoothlensmove=0}if(f.options.smoothscale<0){f.options.smoothscale=0}t=f.options.smoothzoommove&&f.options.smoothlensmove&&f.options.smoothscale;if(f.options.adaptive){b(window).load(function(){m=aw.width();q=aw.height();f.adaptive();b(window).resize(f.adaptive)})}f.eventdefault();f.eventopen(aw)};this.destroy=function(){f.eventunbind();delete f};this.closezoom=function(){aj=false;if(f.options.fadeout){if(f.options.title&&j!=""){w.fadeout(299)}if(f.options.position!="inside"||f.options.position!="fullscreen"){q.fadeout(299);ax.fadeout(300,function(){ag()})}else{ax.fadeout(300,function(){ag()})}}else{ag()}};this.gallery=function(){var al=new array();var v,u=0;for(v=z;v