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