var Lightbox={init:function(b){this.options=Object.extend({resizeDuration:100,resizeTransition:Fx.Transitions.sineInOut,initialWidth:250,initialHeight:250,animateCaption:true,defaultIframeWidth:730,defaultIframeHeight:500},b||{});if(window.ie6&&document.compatMode=="BackCompat"){this.options.animateCaption=false}if($("formAyQuickSignup")){var c=new Element("a").appendText("formAyQuickSignup").setProperties({href:"newsletter-join.html?j=day",rel:"lightbox"}).setStyle("display","none").injectInside($("formAyQuickSignup"));var a=this;$("formAyQuickSignup").onsubmit=function(){c.href="newsletter-join.html?j=day&joinemail="+escape(this.joinemail.value);a.click(c);return false}}this.anchors=[];$each(document.links,function(e){var f=this.el_if_href_exists(e.href);if(f===false){if(e.rel&&e.rel.test(/^lightbox/i)){e.onclick=this.click.pass(e,this);this.anchors.push(e)}}else{if(e.rel&&e.rel.test(/^lightbox/i)){e.onclick=this.click.pass(f,this)}}},this);this.eventKeyDown=this.keyboardListener.bindAsEventListener(this);this.eventPosition=this.position.bind(this);this.overlay=new Element("div").setProperty("id","lbOverlay").injectInside(document.body);this.center=new Element("div").setProperty("id","lbCenter").setStyles({width:this.options.initialWidth+"px",height:this.options.initialHeight+"px",marginLeft:"-"+(this.options.initialWidth/2)+"px",display:"none"}).injectInside(document.body);this.canvas=new Element("div").setProperty("id","lbCanvas").injectInside(this.center);this.prevLink=new Element("a").setProperties({id:"lbPrevLink",href:"#"}).setStyle("display","none").injectInside(this.canvas);this.nextLink=this.prevLink.clone().setProperty("id","lbNextLink").injectInside(this.canvas);this.prevLink.onclick=this.previous.bind(this);this.nextLink.onclick=this.next.bind(this);this.prevLinkPreload=new Element("div").setProperty("id","lbPrevLinkImgLoader").injectInside(document.body);this.nextLinkPreload=new Element("div").setProperty("id","lbNextLinkImgLoader").injectInside(document.body);this.bottomContainer=new Element("div").setProperty("id","lbBottomContainer").setStyle("display","none").injectInside(document.body);this.bottom=new Element("div").setProperty("id","lbBottom").injectInside(this.bottomContainer);new Element("a").setProperties({id:"lbCloseLink",href:"#"}).injectInside(this.bottom).onclick=this.overlay.onclick=this.close.bind(this);this.caption=new Element("div").setProperty("id","lbCaption").injectInside(this.bottom);this.number=new Element("div").setProperty("id","lbNumber").injectInside(this.bottom);new Element("div").setStyle("clear","both").injectInside(this.bottom);var d=this.nextEffect.bind(this);this.fx={overlay:this.overlay.effect("opacity",{duration:this.options.resizeDuration}).hide(),resizeCenter:this.center.effects({duration:this.options.resizeDuration,transition:this.options.resizeTransition,onComplete:d}),image:this.canvas.effect("opacity",{duration:this.options.resizeDuration,onComplete:d}),bottom:this.bottomContainer.effect("height",{duration:this.options.resizeDuration,onComplete:d})};this.preloadPrev=new Image();this.preloadNext=new Image()},crazylink:function(a){return a},el_if_href_exists:function(b){var a=false;this.anchors.each(function(c){if(c.href==b){a=c}},this);return a},toggleTroubleElements:function(a){var g=a?"":"none";var c=document.getElementsByTagName("select");for(var b=0;b<c.length;b++){c[b].style.display=g}var e=document.getElementsByTagName("object");for(b=0;b!=e.length;b++){e[b].style.display=g}var d=document.getElementsByTagName("embed");for(b=0;b!=d.length;b++){d[b].style.display=g}var f=document.getElementsByTagName("iframe");for(b=0;b!=f.length;b++){f[b].style.display=g}},toggleTroubleElements2:function(b){var a=b?"visible":"hidden";var d=document.getElementsByTagName("select");for(var c=0;c<d.length;c++){d[c].style.visibility=a}var f=document.getElementsByTagName("object");for(c=0;c!=f.length;c++){f[c].style.visibility=a}var e=document.getElementsByTagName("embed");for(c=0;c!=e.length;c++){e[c].style.visibility=a}var g=document.getElementsByTagName("iframe");for(c=0;c!=g.length;c++){g[c].style.visibility=a}},click:function(d){if(d.rel.length==8){return this.show(this.crazylink(d.href),d.title,d.rev)}var b,c,a=[];this.anchors.each(function(e){if(e.rel==d.rel){for(b=0;b<a.length;b++){if(a[b][0]==e.href&&a[b][2]==e.rev){break}}if(b==a.length){a.push([this.crazylink(e.href),e.title,e.rev]);if(this.crazylink(e.href)==this.crazylink(d.href)&&e.rev==d.rev){c=b}}}},this);return this.open(a,c)},show:function(b,c,a){return this.open([[b,c,a]],0)},open:function(b,d){if($("mainmenu")){var e=$("mainmenu").getParent();e.style.backgroundPosition="0px 0px";$("mainmenu").remove()}this.items=b;this.position();this.setup(true);var a=(window.getHeight()==0)?window.getScrollHeight():window.getHeight();var c=document.body.scrollTop||document.documentElement.scrollTop;this.top=c+(a/15);this.center.setStyles({top:this.top+"px",display:""});this.fx.overlay.start(0.8);return this.changeItem(d)},position:function(){var c=(window.getWidth()==0)?window.getScrollWidth()-22:window.getWidth();var a=(window.getHeight()==0)?window.getScrollHeight():window.getHeight();var b=document.body.scrollTop||document.documentElement.scrollTop;this.overlay.setStyles({top:b+"px",height:a+"px",width:c+"px"})},setup:function(a){var c=$A(document.getElementsByTagName("object"));if(window.ie){c.extend(document.getElementsByTagName("select"))}c.each(function(d){d.style.visibility=a?"hidden":"visible"});var b=a?"addEvent":"removeEvent";window[b]("scroll",this.eventPosition)[b]("resize",this.eventPosition);document[b]("keydown",this.eventKeyDown);this.step=0},keyboardListener:function(a){switch(a.keyCode){case 27:case 88:case 67:this.close();break;case 37:case 80:this.previous();break;case 39:case 78:this.next()}},previous:function(){return this.changeItem(this.activeItem-1)},next:function(){return this.changeItem(this.activeItem+1)},changeItem:function(c){if(this.step||(c<0)||(c>=this.items.length)){return false}this.step=1;this.activeItem=c;this.bottomContainer.style.display=this.prevLink.style.display=this.nextLink.style.display="none";this.fx.image.hide();this.center.className="lbLoading";this.removeCurrentItem();var b=this.items[this.activeItem][0];var a=this.items[this.activeItem][2];var d=/\.(jpe?g|png|gif|bmp)/i;if(b.match(d)){this.preload=new Image();this.preload.datatype="image";this.preload.w=this.matchOrDefault(a,new RegExp("width=(\\d+%?)","i"),-1);this.preload.h=this.matchOrDefault(a,new RegExp("height=(\\d+%?)","i"),-1);this.preload.onload=this.nextEffect.bind(this);this.preload.src=b}else{this.preload=new Object();this.preload.datatype="iframe";this.preload.w=this.matchOrDefault(a,new RegExp("width=(\\d+)","i"),this.options.defaultIframeWidth);this.preload.h=this.matchOrDefault(a,new RegExp("height=(\\d+)","i"),this.options.defaultIframeHeight);this.preload.src=b;this.nextEffect()}return false},nextEffect:function(){switch(this.step++){case 1:this.center.className="";if(this.preload.datatype=="image"){var ws=(this.preload.w==-1)?this.preload.width.toString():this.preload.w.toString();var hs=(this.preload.h==-1)?this.preload.height.toString():this.preload.h.toString();this.p_width=(q=ws.match(/(\d+)%/))?q[1]*this.preload.width*0.01:ws;this.p_height=(q=hs.match(/(\d+)%/))?q[1]*this.preload.height*0.01:hs;new Element("img").setProperties({id:"lbImage",src:this.preload.src,width:this.p_width,height:this.p_height}).injectInside(this.canvas);this.nextLink.style.right=""}else{this.p_width=this.preload.w;this.p_height=this.preload.h;this.iframeId="lbFrame_"+new Date().getTime();new Element("iframe").setProperties({id:this.iframeId,width:this.p_width,height:this.p_height,frameBorder:0,scrolling:"no",src:"about:blank"}).injectInside(this.canvas);this.nextLink.style.right="25px"}this.canvas.style.width=this.bottom.style.width=this.p_width+"px";this.canvas.style.height=this.prevLink.style.height=this.nextLink.style.height=this.p_height+"px";this.caption.setHTML(this.items[this.activeItem][1]||"");this.number.setHTML((this.items.length==1)?"":"Page "+(this.activeItem+1)+" of "+this.items.length);if(this.activeItem){this.preloadPrev.src=this.items[this.activeItem-1][0]}if(this.activeItem!=(this.items.length-1)){this.preloadNext.src=this.items[this.activeItem+1][0]}if(this.center.clientHeight!=this.canvas.offsetHeight){var oh=(this.p_height==this.canvas.clientHeight)?this.canvas.offsetHeight:eval(this.p_height)+18;this.fx.resizeCenter.start({height:oh});break}this.step++;case 2:if(this.center.clientWidth!=this.canvas.offsetWidth){var ow=(this.p_width==this.canvas.clientWidth)?this.canvas.offsetWidth:eval(this.p_width)+18;this.fx.resizeCenter.start({width:ow,marginLeft:-ow/2});break}this.step++;case 3:this.bottomContainer.setStyles({top:(this.top+this.center.clientHeight)+"px",height:"0px",marginLeft:this.center.style.marginLeft,width:this.center.style.width,display:""});this.fx.image.start(1);break;case 4:if(this.options.animateCaption){this.fx.bottom.start(0,this.bottom.offsetHeight+10);break}this.bottomContainer.style.height=(this.bottom.offsetHeight+10)+"px";case 5:if(this.activeItem){this.prevLink.style.display=""}if(this.activeItem!=(this.items.length-1)){this.nextLink.style.display=""}if(this.preload.datatype=="iframe"){$(this.iframeId).src=this.preload.src}this.step=0}},close:function(){if(this.step<0){return}this.step=-1;this.removeCurrentItem();for(var a in this.fx){this.fx[a].stop()}this.center.style.display=this.bottomContainer.style.display="none";this.fx.overlay.chain(this.setup.pass(false,this)).start(0);return false},removeCurrentItem:function(){if(this.preload){if(this.preload.datatype=="image"){$("lbImage").remove();this.preload.onload=Class.empty}else{$(this.iframeId).src="about:blank";$(this.iframeId).remove()}this.preload=null}},matchOrDefault:function(d,b,c){var a=d.match(b);return a?a[1]:c}};window.addEvent("domready",Lightbox.init.bind(Lightbox));