var MooZoom=new Class({Implements:Options,elements:null,options:{linkSelector:"a",imageSelector:"img",imageRoot:"/images/",transition:Fx.Transitions.linear.easeOut,duration:250,close:"top-left"},initialize:function(a){this.setOptions(a);if(this.options.imageRoot[this.options.imageRoot.length-1]!="/"){this.options.imageRoot+="/"}this.elements=document.getElements(this.options.linkSelector);this.elements.each(function(b){b.getElements(this.options.imageSelector).each(function(c){this.setupImage(b,c)}.bind(this))}.bind(this))},setupImage:function(c,e){var d=c.getProperty("href");c.setProperty("href",null);c.setStyle("cursor","pointer");var b=new Element("img",{src:d,styles:{opacity:0,top:-99999,left:-99999,position:"absolute",cursor:"pointer",border:"1px solid #000"}}).inject(document.body);if(this.options.close){var i=new Element("img",{src:this.options.imageRoot+"moozoom_close.png",styles:{opacity:0,top:-99999,left:-99999,position:"absolute",cursor:"pointer"}}).inject(document.body)}var f=null;var g=null;c.addEvent("click",function(o){if(!f){f={width:b.width,height:b.height}}if(!g){g=e.getCoordinates()}var k=(g.width/f.width)*f.width;var j=(g.height/f.height)*f.height;var n=document.id(document.body);var l=n.getScroll().y+(n.getHeight()-f.height)/2;var m=n.getScroll().x+(n.getWidth()-f.width)/2;if(this.options.close){var a=l-10;var p=m-10;switch(this.options.close){case"bottom-right":a=l+f.height-14;p=m+f.width-14;break;case"bottom-left":a=l+f.height-14;break;case"top-right":p=m+f.width-14;break}i.setStyles({top:g.top,left:g.left,opacity:0,width:1,height:1});new Fx.Morph(i,{transition:this.options.transition,duration:this.options.duration}).start({height:24,width:24,opacity:1,top:a,left:p})}b.setStyles({position:"absolute",top:g.top,left:g.left,opacity:0,width:k,height:j});new Fx.Morph(b,{transition:this.options.transition,duration:this.options.duration,onComplete:function(q){b.setStyles({"-moz-box-shadow":"0px 2px 15px #000","-webkit-box-shadow":"0px 2px 15px #000"})}.bind(this)}).start({height:f.height,width:f.width,opacity:1,top:l,left:m})}.bind(this));var h=function(j){if(!f){f={width:b.width,height:b.height}}if(!g){g=e.getCoordinates()}var k=(g.width/f.width)*f.width;var a=(g.height/f.height)*f.height;b.setStyles({"-moz-box-shadow":"none","-webkit-box-shadow":"none"});if(this.options.close){new Fx.Morph(i,{transition:this.options.transition,duration:this.options.duration,onComplete:function(){i.setStyles({top:-99999,left:-99999})}}).start({width:1,height:1,opacity:0,top:g.top,left:g.left})}new Fx.Morph(b,{transition:this.options.transition,duration:this.options.duration,onComplete:function(){b.setStyles({top:-99999,left:-99999})}}).start({width:k,height:a,opacity:0,top:g.top,left:g.left});j.stopPropagation()}.bind(this);b.addEvent("click",h);if(this.options.close){i.addEvent("click",h)}}});MooZoom.Strict=new Class({Extends:MooZoom,setupImage:function(c,e){var b=c.get("href");var d=e.get("src");if(b.substring(b.lastIndexOf("."))!=d.substring(d.lastIndexOf("."))){return}return this.parent(c,e)}});
