(function(B){var A=0;B.widget("ui.magnifier",{_init:function(){var C=this,D=this.options;this.element.addClass("ui-magnifier").bind("click.magnifier",function(E){(!C.disabled&&D.click&&D.click.apply(this,[E,{options:C.options,current:C.current[0],currentOffset:C.current[1]}]))});if(!(/^(r|a)/).test(this.element.css("position"))){this.element.css("position","relative")}this.items=[];this.element.find(D.items).each(function(){var E=B(this);C.items.push([this,E.offset(),[E.width(),E.height()],(D.overlap?E.position():null)]);(D.opacity&&E.css("opacity",D.opacity.min))});(D.overlap&&B.each(this.items,function(){B(this[0]).css({position:"absolute",top:this[3].top,left:this[3].left})}));this.identifier=++A;B(document).bind("mousemove.magnifier"+this.identifier,function(E){(C.disabled||C._magnify.apply(C,[E]))});this.pp=this.element.offset()},destroy:function(){this.reset();this.element.removeClass("ui-magnifier ui-magnifier-disabled").unbind(".magnifier");B(document).unbind("mousemove.magnifier"+this.identifier)},disable:function(){this.reset();B.widget.prototype.disable.apply(this,arguments)},reset:function(C){var D=this.options;B.each(this.items,function(){var E=this;B(E[0]).css({width:E[2][0],height:E[2][1],top:(E[3]?E[3].top:0),left:(E[3]?E[3].left:0)});(D.opacity&&B(E[0]).css("opacity",D.opacity.min));(D.zIndex&&B(E[0]).css("z-index",""))})},_magnify:function(G){var F=[G.pageX,G.pageY],H=this.options,J,I=1;this.current=this.items[0];var C=((F[0]>this.pp.left-H.distance)&&(F[0]<this.pp.left+this.element[0].offsetWidth+H.distance)&&(F[1]>this.pp.top-H.distance)&&(F[1]<this.pp.top+this.element[0].offsetHeight+H.distance));if(!C){return false}for(var E=0;E<this.items.length;E++){J=this.items[E];var D=I;if(!H.axis){I=Math.sqrt(Math.pow(F[0]-((J[3]?this.pp.left:J[1].left)+parseInt(J[0].style.left,10))-(J[0].offsetWidth/2),2)+Math.pow(F[1]-((J[3]?this.pp.top:J[1].top)+parseInt(J[0].style.top,10))-(J[0].offsetHeight/2),2))}else{if(H.axis=="y"){I=Math.abs(F[1]-((J[3]?this.pp.top:J[1].top)+parseInt(J[0].style.top,10))-(J[0].offsetHeight/2))}else{I=Math.abs(F[0]-((J[3]?this.pp.left:J[1].left)+parseInt(J[0].style.left,10))-(J[0].offsetWidth/2))}}if(I<H.distance){this.current=I<D?J:this.current;if(!H.axis||H.axis!="y"){B(J[0]).css({width:J[2][0]+(J[2][0]*(H.magnification-1))-(((I/H.distance)*J[2][0])*(H.magnification-1)),left:(J[3]?(J[3].left+H.verticalLine*((J[2][1]*(H.magnification-1))-(((I/H.distance)*J[2][1])*(H.magnification-1)))):0)})}if(!H.axis||H.axis!="x"){B(J[0]).css({height:J[2][1]+(J[2][1]*(H.magnification-1))-(((I/H.distance)*J[2][1])*(H.magnification-1)),top:(J[3]?J[3].top:0)+(H.baseline-0.5)*((J[2][0]*(H.magnification-1))-(((I/H.distance)*J[2][0])*(H.magnification-1)))})}if(H.opacity){B(J[0]).css("opacity",H.opacity.max-(I/H.distance)<H.opacity.min?H.opacity.min:H.opacity.max-(I/H.distance))}}else{B(J[0]).css({width:J[2][0],height:J[2][1],top:(J[3]?J[3].top:0),left:(J[3]?J[3].left:0)});(H.opacity&&B(J[0]).css("opacity",H.opacity.min))}(H.zIndex&&B(J[0]).css("z-index",""))}(H.zIndex&&B(this.current[0]).css("z-index",H.zIndex))}});B.extend(B.ui.magnifier,{defaults:{distance:150,magnification:2,baseline:0,verticalLine:-0.5,items:"> *"}})})(jQuery)