function initImageZoom(a){var b=$extend({rel:"imagezoom"},a||{});var e=$$(document.links).filter(function(f){if((f.rel)&&(f.rel.indexOf(b.rel)!=-1)){return true}else{return false}});for(var c=0;c<e.length;c++){var d=e[c];d.addEvent("click",function(){this.blur();var i=this;var g="";if(this.getElements("img").length>0){i=this.getElements("img")[0]}if((i.alt)&&(i.alt!="")){g=i.alt}else{if(i.title){g=i.title}else{if(i.parentNode.title){g=i.parentNode.title}}}var f=$extend({image:this.href,caption:g,startElement:i},b||{});f.image=this.href;f.caption=g;var h=new Imagezoom(f);h.preloadImage();h.show();return false})}}var Imagezoom=function(b){var c=$extend({image:false,caption:"",enableCaptions:true,startElement:false,x:10,y:10,initWidth:50,initHeight:50,draggable:true,loadImage:"../images/imageZoomLoading.gif",loadDelay:0,duration:150,closeDuration:150,transition:Fx.Transitions.Bounce.easeOut,startOpacity:0.6,closeText:"Close",rel:"imagezoom",showCaptionBar:true,overlay:false,overlayColor:"#000",overlayOpacity:0.75},b||{});var d=document.createElement("div");var a=this;this.preloadImage=function(){if(c.image!=false){var e=new Image();e.src=c.image;e.style.visibility="hidden";e.style.position="absolute";e.style.top="-9999999999px";e.setAttribute("id","imagezoom-"+c.image);$$("body")[0].appendChild(e)}};this.getImage=function(){if(($("imagezoom-"+c.image))&&($("imagezoom-"+c.image).width!="0")){var e=$("imagezoom-"+c.image).clone();e.setAttribute("id","");e.style.position="relative";e.style.top="0px";e.style.visibility="visible"}else{a.preloadImage();window.setTimeout(function(){a.getImage()},50)}return e};this.show=function(){if(c.image!=false){d.style.position="absolute";d.style.overflow="hidden";d.setAttribute("id","imagezoom-open-"+c.image);if(c.startElement!=false){c.startElement.blur()}var e=c.x;var i=c.y;var g=c.initWidth;var h=c.initHeight;if(c.startElement!=false){e=c.startElement.getPosition().x;i=c.startElement.getPosition().y;g=c.startElement.offsetWidth;h=c.startElement.offsetHeight}d.style.left=e+"px";d.style.top=i+"px";d.style.width=g+"px";d.style.height=h+"px";var f=new Fx.Morph(d);f.set({opacity:c.startOpacity});d.className="imagezoom";$$("body")[0].appendChild(d);d.style.cursor="pointer";d.addEvent("click",function(){var j=new Fx.Morph(d,{duration:200});j.start({opacity:0}).chain(function(){$$("body")[0].removeChild(d)})});this.loadImage()}};this.loadImage=function(){if(d.getElements(".loading").length==0){var g=new Image();g.src=c.loadImage;g.className="loading";d.appendChild(g)}if($("imagezoom-"+c.image)){var e=$("imagezoom-"+c.image);if(e.width!="0"){var f=new Image();f.src=c.image;window.setTimeout(function(){a.insertImage(f)},c.loadDelay)}else{window.setTimeout(function(){a.loadImage()},50)}}else{a.preloadImage();window.setTimeout(function(){a.loadImage()},50)}};this.insertImage=function(g){d.removeEvents("click");d.style.cursor="default";d.style.overflow="visible";var e=g.width;var i=g.height;g.style.width=e+"px";g.style.height=i+"px";g.className="image";var f=(window.getSize().y/2)+window.getScroll().y-(i/2);var k=(window.getSize().x/2)+window.getScroll().x-(e/2);var j=new Fx.Morph(d,{duration:c.duration,transition:c.transition});j.start({top:f,left:k,width:e,height:i,opacity:1}).chain(function(){var r=$(document.createElement("div"));r.innerHTML="<span>"+c.closeText+"</span>";r.className="close";r.addEvent("click",function(){a.close(true)});var m=d.getElements(".loading");if(m.length>0){d.removeChild(m[0])}var h=[r,g];for(var o=0;o<h.length;o++){var p=new Fx.Morph(h[o],{duration:600});p.set({opacity:0});d.adopt(h[o]);p.start({opacity:1})}var s;if((c.caption!="")&&(c.enableCaptions==true)){s=document.createElement("div");s.className="caption";s.innerHTML="<p>"+c.caption+"</p>";d.appendChild(s)}a.addSetNavigation();if(d.getElements(".caption").length>0){s=d.getElements(".caption")[0];var q=new Fx.Morph(s,{duration:200});q.set({opacity:0});if(c.showCaptionBar==true){s.className+=" visibleCaption";var n=new Fx.Morph(s,{duration:600});n.start({opacity:1})}d.addEvent("mouseenter",function(){q.start({opacity:1}).chain(function(){s.className+=" visibleCaption"})});d.addEvent("mouseleave",function(){q.start({opacity:0}).chain(function(){s.className=s.className.replace(/visibleCaption/g,"")})});r.addEvent("mouseenter",function(){q.start({opacity:0}).chain(function(){s.className=s.className.replace(/visibleCaption/g,"")})});d.getElements(".image")[0].addEvent("click",function(){var t="show";if(s.className.indexOf("visibleCaption")!=-1){t="hide"}if(t=="show"){q.start({opacity:1}).chain(function(){s.className+=" visibleCaption"})}else{q.start({opacity:0}).chain(function(){s.className=s.className.replace(/visibleCaption/g,"")})}})}if(c.draggable==true){var l=new Drag.Move(d,{handle:g})}})};this.addSetNavigation=function(){var q=$$(document.links).filter(function(i){if((i.rel)&&(i.rel.indexOf(c.rel)!=-1)){return true}else{return false}});var o=false;for(var j=0;j<q.length;j++){if((q[j].href.indexOf(c.image)!=-1)&&(q[j].rel)&&(q[j].rel.indexOf(c.rel+"["!=-1))){var t=q[j].getAttribute("rel");o=a.scanRel("after",c.rel+"[",this.scanRel("before","]",t))}}if(o!=false){var k=false;var p=false;var h=new Array();for(j=0;j<q.length;j++){if(q[j].rel.indexOf(c.rel+"["+o+"]")!=-1){h[h.length]=q[j]}}for(j=0;j<h.length;j++){var l=h[j];if((l.href.indexOf(c.image)!=-1)&&(l.rel)&&(l.rel.indexOf(c.rel!=-1))){if(j!=0){k=h[j-1]}if(j!=h.length-1){p=h[j+1]}}}if((k!=false)||(p!=false)){if(d.getElements(".caption").length==0){var s=document.createElement("div");s.className="caption";d.appendChild(s)}else{var s=d.getElements(".caption")[0]}}if(k!=false){var n=$(document.createElement("div"));n.className="previous";var f="";if(k.title){f=k.title}var e=k;if(k.getElements("img").length>0){e=k.getElements("img")[0]}n.addEvent("click",function(){var u=$unlink(c);var i=new Imagezoom($extend(u,{image:k.href,caption:f,rel:c.rel,startElement:e,showCaptionBar:true}));a.close();i.show()});s.appendChild(n)}if(p!=false){var r=$(document.createElement("div"));r.className="next";var m="";if(p.title){m=p.title}var g=p;if(p.getElements("img").length>0){g=p.getElements("img")[0]}r.addEvent("click",function(){var i=$unlink(c);var u=new Imagezoom($extend(i,{image:p.href,caption:m,rel:c.rel,startElement:g,showCaptionBar:true}));a.close();u.show()});s.appendChild(r)}}};this.scanRel=function(f,l,e){var k="";if(f=="after"){var j=e.indexOf(l)+l.length;var h=e.length}else{if(f=="before"){var j=0;var h=e.indexOf(l)}}for(var g=j;g<h;g++){k+=e.charAt(g)}return k};this.close=function(e){var h=d.getElements(".image")[0];d.removeChild(h);var n=d.getElements(".close")[0];d.removeChild(n);var o=d.getElements(".caption");if(o.length>0){d.removeChild(o[0])}var p=d.getElements(".s");for(var g=0;g<p.length;g++){d.removeChild(p[g])}var m=c.x;var l=c.y;var j=c.initWidth;var k=c.initHeight;if(c.startElement!=false){m=c.startElement.getPosition().x;l=c.startElement.getPosition().y;j=c.startElement.offsetWidth;k=c.startElement.offsetHeight}var f=new Fx.Morph(d,{duration:c.closeDuration});f.start({left:m,top:l,width:j,height:k,opacity:c.startOpacity}).chain(function(){f.start({opacity:0}).chain(function(){$$("body")[0].removeChild(d)})})}};
