(function(a){a.fn.jqzoom=function(y){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"};y=y||{};a.extend(c,y);return this.each(function(){var f=a(this),u=f.attr("title");a(f).removeAttr("title");a(f).css("outline-style","none"); var o=a("img",this),v=o.attr("title");o.removeAttr("title");var z=new I(o),b={},l=0,m=0,A=null;A=new B;var J=trim(u).length>0?u:trim(v).length>0?v:null,C=new G,n=new s(f[0].href),h=new p,g={},D=false,q={},r=null,t=false,j={},E=0,H=false;z.loadimage();a(this).click(function(){return false});a(this).hover(function(d){j.x=d.pageX;j.y=d.pageY;F()},function(){K()});c.alwaysOn&&setTimeout(function(){F()},150);function F(){if(!t){z.findborder();t=true;v=o.attr("title");o.removeAttr("title");u=f.attr("title"); a(f).removeAttr("title");if(!n||a.browser.safari)n=new s(f[0].href);if(!D||a.browser.safari)n.loadimage();else{if(c.zoomType!="innerzoom"){r=new w;r.activate()}h=new p;h.activate()}f[0].blur();return false}}function K(){c.zoomType=="reverse"&&!c.alwaysOn&&o.css({opacity:1});if(c.alwaysOn){if(c.lensReset)switch(c.zoomType){case "innerzoom":n.setcenter();break;default:h.center();break}}else{D=t=false;a(h.node).unbind("mousemove");h.remove();a("div.jqZoomWindow").length>0&&r.remove();a("div.jqZoomTitle").length> 0&&C.remove();o.attr("title",v);f.attr("title",u);a().unbind();f.unbind("mousemove");E=0;jQuery(".zoom_ieframe").length>0&&jQuery(".zoom_ieframe").remove()}c.alwaysOn&&F()}function I(d){this.node=d[0];this.loadimage=function(){this.node.src=d[0].src};this.findborder=function(){var e="";e=a(o).css("border-top-width");var k=l="";k=a(o).css("border-left-width");m="";if(e)for(i=0;i<3;i++){var x=[];x=e.substr(i,1);if(isNaN(x)==false)l=l+""+e.substr(i,1);else break}if(k)for(i=0;i<3;i++)if(isNaN(k.substr(i, 1)))break;else m+=k.substr(i,1);l=l.length>0?eval(l):0;m=m.length>0?eval(m):0};this.node.onload=function(){f.css({cursor:"crosshair",display:"block"});f.css("position")!="absolute"&&f.parent().css("position")&&f.css({cursor:"crosshair",position:"relative",display:"block"});f.parent().css("position")!="absolute"&&f.parent().css("position","relative");if(a.browser.safari||a.browser.opera)a(o).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&&n.loadimage()};return this}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=n.node.src;this.node.appendChild(this.image);a(this.node).css({opacity:1});break;default:break}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;break}a(this.node).css({width:g.w+"px",height:g.h+"px",position:"absolute",display:"none",borderWidth:"1px"});f.append(this.node)};return this}p.prototype.activate=function(){this.loadlens();switch(c.zoomType){case "reverse":o.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&&C.loadtitle();n.setcenter();f.bind("mousemove",function(d){j.x=d.pageX;j.y=d.pageY;n.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)});break}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(k())d=0+m;else if(x())d=a.browser.msie?b.w-g.w+m+1:b.w-g.w+m-1;if(L())e=0+l;else if(M())e=a.browser.msie?b.h-g.h+l+1:b.h-g.h-1+l;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- l+1),left:-(d-m+1)});this.node.style.left=d+"px";this.node.style.top=e+"px";n.setposition();function k(){return j.x-(g.w+2)/2-m<b.pos.l}function x(){return j.x+(g.w+2)/2>b.pos.r+m}function L(){return j.y-(g.h+2)/2-l<b.pos.t}function M(){return j.y+(g.h+2)/2>b.pos.b+l}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-l+1),left:-(d-m+1)});n.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 k=d.split(" ");d=k[1];k=e.split(" ");e=k[1]}if(d)for(i=0;i<3;i++){k=[];k=d.substr(i,1);if(isNaN(k)==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};function s(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";A=new B;if(c.showPreload&&!H){A.show();H=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()),k=Math.round(a(this).height());this.style.display="none";q.x=e/b.w;q.y=k/b.h;a("div.preload").length>0&&a("div.preload").remove(); D=true;if(c.zoomType!="innerzoom"&&t){r=new w;r.activate()}if(t){h=new p;h.activate()}a("div.preload").length>0&&a("div.preload").remove()};return this}s.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)+l)+"px"};s.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})};s.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})};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:10000,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);break}this.node.style.left=d+"px";this.node.style.top=e+"px";return this}w.prototype.activate=function(){this.node.firstChild||this.node.appendChild(n.node);c.title&& C.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();break}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);n.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();break}};function G(){this.node=jQuery("<div />").addClass("jqZoomTitle").html(""+J+"");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)}}G.prototype.remove=function(){a(".jqZoomTitle").remove()}; function B(){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;break}a(this.node).css({top:loadertop, left:loaderleft,position:"absolute",visibility:"visible"})};return this}B.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};
