(function(a){a.fn.jqzoom=function(x){var c={zoomType:"standard",zoomWidth:200,zoomHeight:200,xOffset:10,yOffset:0,position:"right",lens:true,lensReset:false,imageOpacity:0.2,title:true,alwaysOn:false,showEffect:"show",hideEffect:"hide",fadeinSpeed:"fast",fadeoutSpeed:"slow",preloadImages:true,showPreload:true,preloadText:"Loading zoom",preloadPosition:"center"};x=x||{};a.extend(c,x);return this.each(function(){function y(){if(!s){z.findborder();s=true;u=n.attr("title");n.removeAttr("title");v=f.attr("title");
a(f).removeAttr("title");if(!o||a.browser.safari)o=new t(f[0].href);if(!A||a.browser.safari)o.loadimage();else{if(c.zoomType!="innerzoom"){r=new w;r.activate()}h=new p;h.activate()}f[0].blur();return false}}function p(){this.node=document.createElement("div");a(this.node).addClass("jqZoomPup");this.node.onerror=function(){a(h.node).remove();h=new p;h.activate()};this.loadlens=function(){switch(c.zoomType){case "reverse":this.image=new Image;this.image.src=z.node.src;this.node.appendChild(this.image);
a(this.node).css({opacity:1});break;case "innerzoom":this.image=new Image;this.image.src=o.node.src;this.node.appendChild(this.image);a(this.node).css({opacity:1})}switch(c.zoomType){case "innerzoom":g.w=b.w;g.h=b.h;break;default:g.w=c.zoomWidth/q.x;g.h=c.zoomHeight/q.y}a(this.node).css({width:g.w+"px",height:g.h+"px",position:"absolute",display:"none",borderWidth:"1px"});f.append(this.node)};return this}function t(d){this.url=d;this.node=new Image;this.loadimage=function(){if(!this.node)this.node=
new Image;this.node.style.position="absolute";this.node.style.display="none";this.node.style.left="-5000px";this.node.style.top="10px";B=new C;if(c.showPreload&&!F){B.show();F=true}document.body.appendChild(this.node);this.node.src=this.url};this.node.onload=function(){this.style.display="block";var e=Math.round(a(this).width()),l=Math.round(a(this).height());this.style.display="none";q.x=e/b.w;q.y=l/b.h;a("div.preload").length>0&&a("div.preload").remove();A=true;if(c.zoomType!="innerzoom"&&s){r=
new w;r.activate()}if(s){h=new p;h.activate()}a("div.preload").length>0&&a("div.preload").remove()};return this}function w(){var d=b.pos.l,e=b.pos.t;this.node=document.createElement("div");a(this.node).addClass("jqZoomWindow");a(this.node).css({position:"absolute",width:Math.round(c.zoomWidth)+"px",height:Math.round(c.zoomHeight)+"px",display:"none",zIndex:1E4,overflow:"hidden"});switch(c.position){case "right":d=b.pos.r+Math.abs(c.xOffset)+c.zoomWidth<screen.width?b.pos.l+b.w+Math.abs(c.xOffset):
b.pos.l-c.zoomWidth-Math.abs(c.xOffset);topwindow=b.pos.t+c.yOffset+c.zoomHeight;e=topwindow<screen.height&&topwindow>0?b.pos.t+c.yOffset:b.pos.t;break;case "left":d=b.pos.l-Math.abs(c.xOffset)-c.zoomWidth>0?b.pos.l-Math.abs(c.xOffset)-c.zoomWidth:b.pos.l+b.w+Math.abs(c.xOffset);topwindow=b.pos.t+c.yOffset+c.zoomHeight;e=topwindow<screen.height&&topwindow>0?b.pos.t+c.yOffset:b.pos.t;break;case "top":e=b.pos.t-Math.abs(c.yOffset)-c.zoomHeight>0?b.pos.t-Math.abs(c.yOffset)-c.zoomHeight:b.pos.t+b.h+
Math.abs(c.yOffset);leftwindow=b.pos.l+c.xOffset+c.zoomWidth;d=leftwindow<screen.width&&leftwindow>0?b.pos.l+c.xOffset:b.pos.l;break;case "bottom":e=b.pos.b+Math.abs(c.yOffset)+c.zoomHeight<a("body").height()?b.pos.b+Math.abs(c.yOffset):b.pos.t-c.zoomHeight-Math.abs(c.yOffset);leftwindow=b.pos.l+c.xOffset+c.zoomWidth;d=leftwindow<screen.width&&leftwindow>0?b.pos.l+c.xOffset:b.pos.l;break;default:d=b.pos.l+b.w+c.xOffset+c.zoomWidth<screen.width?b.pos.l+b.w+Math.abs(c.xOffset):b.pos.l-c.zoomWidth-Math.abs(c.xOffset);
e=b.pos.b+Math.abs(c.yOffset)+c.zoomHeight<screen.height?b.pos.b+Math.abs(c.yOffset):b.pos.t-c.zoomHeight-Math.abs(c.yOffset)}this.node.style.left=d+"px";this.node.style.top=e+"px";return this}function G(){this.node=jQuery("<div />").addClass("jqZoomTitle").html(""+I+"");this.loadtitle=function(){c.zoomType=="innerzoom"?a(this.node).css({position:"absolute",top:b.pos.b+3,left:b.pos.l+1,width:b.w}).appendTo("body"):a(this.node).appendTo(r.node)}}function C(){this.node=document.createElement("div");
a(this.node).addClass("preload");a(this.node).html(c.preloadText);a(this.node).appendTo("body").css("visibility","hidden");this.show=function(){switch(c.preloadPosition){case "center":loadertop=b.pos.t+(b.h-a(this.node).height())/2;loaderleft=b.pos.l+(b.w-a(this.node).width())/2;break;default:var d=this.getoffset();loadertop=!isNaN(d.top)?b.pos.t+d.top:b.pos.t+0;loaderleft=!isNaN(d.left)?b.pos.l+d.left:b.pos.l+0}a(this.node).css({top:loadertop,left:loaderleft,position:"absolute",visibility:"visible"})};
return this}var f=a(this),v=f.attr("title");a(f).removeAttr("title");a(f).css("outline-style","none");var n=a("img",this),u=n.attr("title");n.removeAttr("title");var z=new function(d){this.node=d[0];this.loadimage=function(){this.node.src=d[0].src};this.findborder=function(){var e="";e=a(n).css("border-top-width");var l=k="";l=a(n).css("border-left-width");m="";if(e)for(i=0;i<3;i++){var H=[];H=e.substr(i,1);if(isNaN(H)==false)k=k+""+e.substr(i,1);else break}if(l)for(i=0;i<3;i++)if(isNaN(l.substr(i,
1)))break;else m+=l.substr(i,1);k=k.length>0?eval(k):0;m=m.length>0?eval(m):0};this.node.onload=function(){f.css({cursor:"pointer",display:"block"});f.css("position")!="absolute"&&f.parent().css("position")&&f.css({cursor:"pointer",position:"relative",display:"block"});f.parent().css("position")!="absolute"&&f.parent().css("position","relative");if(a.browser.safari||a.browser.opera)a(n).css({position:"absolute",top:"0px",left:"0px"});b.w=a(this).width();b.h=a(this).height();b.h=a(this).height();b.pos=
a(this).offset();b.pos.l=a(this).offset().left;b.pos.t=a(this).offset().top;b.pos.r=b.w+b.pos.l;b.pos.b=b.h+b.pos.t;f.height(b.h);f.width(b.w);c.preloadImages&&o.loadimage()};return this}(n),b={},k=0,m=0,B=null;B=new C;var I=trim(v).length>0?v:trim(u).length>0?u:null,D=new G,o=new t(n.attr("bgimage")),h=new p,g={},A=false,q={},r=null,s=false,j={},E=0,F=false;z.loadimage();a(this).hover(function(d){j.x=d.pageX;j.y=d.pageY;y()},function(){c.zoomType=="reverse"&&!c.alwaysOn&&n.css({opacity:1});if(c.alwaysOn){if(c.lensReset)switch(c.zoomType){case "innerzoom":o.setcenter();
break;default:h.center()}}else{A=s=false;a(h.node).unbind("mousemove");h.remove();a("div.jqZoomWindow").length>0&&r.remove();a("div.jqZoomTitle").length>0&&D.remove();n.attr("title",u);f.attr("title",v);a().unbind();f.unbind("mousemove");E=0;jQuery(".zoom_ieframe").length>0&&jQuery(".zoom_ieframe").remove()}c.alwaysOn&&y()});c.alwaysOn&&setTimeout(function(){y()},150);p.prototype.activate=function(){this.loadlens();switch(c.zoomType){case "reverse":n.css({opacity:c.imageOpacity});c.alwaysOn?h.center():
h.setposition(null);f.bind("mousemove",function(d){j.x=d.pageX;j.y=d.pageY;h.setposition(d)});break;case "innerzoom":a(this.node).css({top:0,left:0});c.title&&D.loadtitle();o.setcenter();f.bind("mousemove",function(d){j.x=d.pageX;j.y=d.pageY;o.setinner(d)});break;default:c.alwaysOn?h.center():h.setposition(null);a(f).bind("mousemove",function(d){j.x=d.pageX;j.y=d.pageY;h.setposition(d)})}return this};p.prototype.setposition=function(d){if(d){j.x=d.pageX;j.y=d.pageY}if(E==0){d=b.w/2-g.w/2;var e=b.h/
2-g.h/2;a("div.jqZoomPup").show();if(c.lens)this.node.style.visibility="visible";else{this.node.style.visibility="hidden";a("div.jqZoomPup").hide()}E=1}else{d=j.x-b.pos.l-g.w/2;e=j.y-b.pos.t-g.h/2}if(j.x-(g.w+2)/2-m<b.pos.l)d=0+m;else if(j.x+(g.w+2)/2>b.pos.r+m)d=a.browser.msie?b.w-g.w+m+1:b.w-g.w+m-1;if(j.y-(g.h+2)/2-k<b.pos.t)e=0+k;else if(j.y+(g.h+2)/2>b.pos.b+k)e=a.browser.msie?b.h-g.h+k+1:b.h-g.h-1+k;d=parseInt(d);e=parseInt(e);a("div.jqZoomPup",f).css({top:e,left:d});c.zoomType=="reverse"&&
a("div.jqZoomPup img",f).css({position:"absolute",top:-(e-k+1),left:-(d-m+1)});this.node.style.left=d+"px";this.node.style.top=e+"px";o.setposition();return this};p.prototype.center=function(){a("div.jqZoomPup",f).css("display","none");var d=b.w/2-g.w/2,e=b.h/2-g.h/2;this.node.style.left=d+"px";this.node.style.top=e+"px";a("div.jqZoomPup",f).css({top:e,left:d});c.zoomType=="reverse"&&a("div.jqZoomPup img",f).css({position:"absolute",top:-(e-k+1),left:-(d-m+1)});o.setposition();a.browser.msie?a("div.jqZoomPup",
f).show():setTimeout(function(){a("div.jqZoomPup").fadeIn("fast")},10)};p.prototype.getoffset=function(){var d={};d.left=parseInt(this.node.style.left);d.top=parseInt(this.node.style.top);return d};p.prototype.remove=function(){c.zoomType=="innerzoom"?a("div.jqZoomPup",f).fadeOut("fast",function(){a(this).remove()}):a("div.jqZoomPup",f).remove()};p.prototype.findborder=function(){var d="";d=a("div.jqZoomPup").css("borderTop");var e=lensbtop="";e=a("div.jqZoomPup").css("borderLeft");lensbleft="";if(a.browser.msie){var l=
d.split(" ");d=l[1];l=e.split(" ");e=l[1]}if(d)for(i=0;i<3;i++){l=[];l=d.substr(i,1);if(isNaN(l)==false)lensbtop=lensbtop+""+d.substr(i,1);else break}if(e)for(i=0;i<3;i++)if(isNaN(e.substr(i,1)))break;else lensbleft+=e.substr(i,1);lensbtop=lensbtop.length>0?eval(lensbtop):0;lensbleft=lensbleft.length>0?eval(lensbleft):0};t.prototype.setposition=function(){this.node.style.left=Math.ceil(-q.x*parseInt(h.getoffset().left)+m)+"px";this.node.style.top=Math.ceil(-q.y*parseInt(h.getoffset().top)+k)+"px"};
t.prototype.setinner=function(d){this.node.style.left=Math.ceil(-q.x*Math.abs(d.pageX-b.pos.l))+"px";this.node.style.top=Math.ceil(-q.y*Math.abs(d.pageY-b.pos.t))+"px";a("div.jqZoomPup img",f).css({position:"absolute",top:this.node.style.top,left:this.node.style.left})};t.prototype.setcenter=function(){this.node.style.left=Math.ceil(-q.x*Math.abs(b.w/2))+"px";this.node.style.top=Math.ceil(-q.y*Math.abs(b.h/2))+"px";a("div.jqZoomPup img",f).css({position:"absolute",top:this.node.style.top,left:this.node.style.left})};
w.prototype.activate=function(){this.node.firstChild||this.node.appendChild(o.node);c.title&&D.loadtitle();document.body.appendChild(this.node);switch(c.showEffect){case "show":a(this.node).show();break;case "fadein":a(this.node).fadeIn(c.fadeinSpeed);break;default:a(this.node).show()}a(this.node).show();if(a.browser.msie&&a.browser.version<7)this.ieframe=a('<iframe class="zoom_ieframe" frameborder="0" src="#"></iframe>').css({position:"absolute",left:this.node.style.left,top:this.node.style.top,
zIndex:99,width:c.zoomWidth,height:c.zoomHeight}).insertBefore(this.node);o.node.style.display="block"};w.prototype.remove=function(){switch(c.hideEffect){case "hide":a(".jqZoomWindow").remove();break;case "fadeout":a(".jqZoomWindow").fadeOut(c.fadeoutSpeed);break;default:a(".jqZoomWindow").remove()}};G.prototype.remove=function(){a(".jqZoomTitle").remove()};C.prototype.getoffset=function(){var d=null;return d=a("div.preload").offset()}})}})(jQuery);
function trim(a){for(;a.substring(0,1)==" ";)a=a.substring(1,a.length);for(;a.substring(a.length-1,a.length)==" ";)a=a.substring(0,a.length-1);return a};
