var iFishEye=new Class({options:{container:document,targetImageClass:".iFishEyeImg",targetCaptionClass:".iFishEyeCaption",dimThumb:{width:64,height:64},dimFocus:{width:128,height:128},eyeRadius:192,pupilRadius:50,useAxis:"x",norm:"L1",blankPath:"images/blank.gif",onEyeOver:Class.empty,onEyeOut:Class.empty,onPupilOver:Class.empty,onPupilOut:Class.empty},initialize:function(a){this.setOptions(a);this.imgs=$$(this.options.targetImageClass);this.captions=$A($$(this.options.targetCaptionClass));this.imgs.each(function(d,b){d.setStyles({width:this.options.dimThumb.width+"px",height:this.options.dimThumb.height+"px"});var e=d.getProperty("src");var c=e.substr(e.length-3);if(c=="png"&&window.ie){d.setStyle("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+e+"',sizingMethod='scale')");d.setProperty("src",this.options.blankPath)}this.captions[b].setStyle("display","none");this.captions[b].setOpacity(0)}.bind(this));this.options.container.addEvents({mousemove:function(b){b=new Event(b);this._nextState(b)}.bind(this),mouseleave:function(){this._initialState()}.bind(this)})},_initialState:function(){this.imgs.each(function(b,a){this.captions[a].setOpacity(0);this.captions[a].setStyle("display","none");b.set({duration:300,transition:Fx.Transitions.Sine.easeInOut});b.morph({width:[b.getStyle("width").toInt(),this.options.dimThumb.width],height:[b.getStyle("height").toInt(),this.options.dimThumb.height]})}.bind(this))},_nextState:function(a){this.imgs.each(function(e,b){var c=this._getDistance(a,e);var d=this._getDimensions(c);e.setStyles({width:d.width+"px",height:d.height+"px"});if(c<this.options.eyeRadius){this.fireEvent("onEyeOver",e,20)}else{this.fireEvent("onEyeOut",e,20)}if(c<this.options.pupilRadius){this.captions[b].setOpacity(1);this.captions[b].setStyle("display","inline");this.fireEvent("onPupilOver",e,20)}else{this.captions[b].setOpacity(0);this.captions[b].setStyle("display","none");this.fireEvent("onPupilOut",e,20)}}.bind(this))},_getDistance:function(a,c){var b=c.getCoordinates();var d={x:a.page.x,y:a.page.y};b.center={x:(b.left+(b.width/2)),y:(b.top+(b.height/2))};if(this.options.useAxis.length>1){switch(this.options.norm.toUpperCase()){case"L1":return Math.abs(d.x-b.center.x)+Math.abs(d.y-b.center.y);break;case"L2":return Math.round(Math.sqrt(Math.pow((d.x-b.center.x),2)+Math.pow((d.y-b.center.y),2)));break}}else{return Math.abs(d[this.options.useAxis]-b.center[this.options.useAxis])}},_getDimensions:function(c){if(c<this.options.eyeRadius){var b=(((this.options.dimThumb.width-this.options.dimFocus.width)/this.options.eyeRadius)*c)+this.options.dimFocus.width;var a=(((this.options.dimThumb.height-this.options.dimFocus.height)/this.options.eyeRadius)*c)+this.options.dimFocus.height}else{var b=this.options.dimThumb.width;var a=this.options.dimThumb.height}return{width:b,height:a}}});iFishEye.implement(new Events);iFishEye.implement(new Options);
