var iFishEye=new Class({options:{container:document,targetImageClass:".iFishEyeImg",targetCaptionClass:".iFishEyeCaption",dimThumb:{width:0,height:64},magnify:2,maxWidth:300,eyeRadius:192,pupilRadius:50,useAxis:"x",norm:"L1",blankPath:"images/blank.gif",wrapper:"encBg",wrapperHeight:0,onEyeOver:Class.empty,onEyeOut:Class.empty,onPupilOver:Class.empty,onPupilOut:Class.empty},initialize:function(b){this.setOptions(b);this.imgs=$$(this.options.targetImageClass);this.captions=$A($$(this.options.targetCaptionClass));
var a=1;if(this.options.maxWidth!=0){var d=0;this.imgs.each(function(c){d+=this.options.dimThumb.width?this.options.dimThumb.width:c.getSize().x}.bind(this));a=this.options.maxWidth/d}this.imgs.each(function(c,e){c.w=Math.floor((this.options.dimThumb.width?this.options.dimThumb.width:c.getSize().x)*a);c.h=Math.floor((this.options.dimThumb.height?this.options.dimThumb.height:c.getSize().y)*a);c.animate=true;c.setStyle("height",c.h);this.options.wrapperHeight=c.h;var f=c.get("src");if(f.substr(f.length-
3)=="png"&&Browser.Engine.trident4){c.setStyle("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+f+"',sizingMethod='scale')");c.setProperty("src",this.options.blankPath)}this.captions[e].setOpacity(0)}.bind(this));$(this.options.wrapper).setStyle("height",this.options.wrapperHeight);this.options.container.addEvents({mousemove:function(c){this._nextState(c)}.bind(this),mouseleave:function(c){this._initialState(c)}.bind(this)})},_initialState:function(b){this.imgs.each(function(a,
d){b.type=="mouseout"&&this.captions[d].setStyle("opacity",0);a.set("tween",{duration:150,transition:Fx.Transitions.Sine.easeInOut});a.tween("height",[a.getStyle("height").toInt(),a.h])}.bind(this))},_startAnimation:function(b){this.imgs.each(function(a){var d=this._getDimensions(this._getDistance(b,a),a);a.set("tween",{duration:150,transition:Fx.Transitions.Sine.easeInOut});a.tween("height",d.height)}.bind(this))},_nextState:function(b){this.imgs.each(function(a,d){this.captions[d].setStyle("opacity",
1);if(a.animate){var c=this._getDistance(b,a),e=this._getDimensions(c,a);a.setStyle("height",e.height);c<this.options.eyeRadius?this.fireEvent("onEyeOver",a,20):this.fireEvent("onEyeOut",a,20);if(c<this.options.pupilRadius){this.captions[d].setStyle("opacity",Browser.Engine.trident?1:0.8);this.fireEvent("onPupilOver",a,20)}else{this.captions[d].setStyle("opacity",0);this.fireEvent("onPupilOut",a,20)}}}.bind(this))},_getDistance:function(b,a){a=a.getCoordinates();b={x:b.page.x,y:b.page.y};a.center=
{x:a.left+a.width/2,y:a.top+a.height/2};if(this.options.useAxis.length>1)switch(this.options.norm.toUpperCase()){case "L1":return Math.abs(b.x-a.center.x)+Math.abs(b.y-a.center.y);case "L2":return Math.round(Math.sqrt(Math.pow(b.x-a.center.x,2)+Math.pow(b.y-a.center.y,2)))}else return Math.abs(b[this.options.useAxis]-a.center[this.options.useAxis])},_getDimensions:function(b,a){var d=a.w;a=a.h;if(b<this.options.eyeRadius){d=(d-d*this.options.magnify)/this.options.eyeRadius*b+d*this.options.magnify;
b=(a-a*this.options.magnify)/this.options.eyeRadius*b+a*this.options.magnify}else{d=d;b=a}return{width:d,height:b}}});iFishEye.implement(new Events);iFishEye.implement(new Options);

