var SSLightbox={IMG_TYPES:["/picture/",".jpg",".gif",".png",".bmp",".tiff",".png"],SPEED_FACTOR:0.20,BORDER_WIDTH:14,ARROW_INACTIVE_OPACITY:.80,photos:[],imageObjectsByPhoto:{},indiciesByPhoto:{},currentPhoto:null,isImageLink:function(s){for(var i=0;i<this.IMG_TYPES.length;++i){if(s.indexOf(this.IMG_TYPES[i])!=-1){return true;}}return false;},init:function(){var ri=0;var links=document.getElementsByTagName("a");for(var i=0;i<links.length;++i){if(this.isImageLink(links[i].href)){YAHOO.util.Event.addListener(links[i],"click",this.load);if(this.indiciesByPhoto[links[i].href]==null){this.photos.push(links[i]);this.indiciesByPhoto[links[i].href]=ri;++ri;}}}var body=document.getElementsByTagName("body").item(0);this.overlay=document.createElement("div");this.overlay.setAttribute("id","sslightbox_overlay");this.overlay.setAttribute("title","Click to Close");YAHOO.util.Dom.setStyle(this.overlay,"background","#000");YAHOO.util.Dom.setStyle(this.overlay,"width","100%");YAHOO.util.Dom.setStyle(this.overlay,"height","100%");YAHOO.util.Dom.setStyle(this.overlay,"position","absolute");YAHOO.util.Dom.setStyle(this.overlay,"top","0");YAHOO.util.Dom.setStyle(this.overlay,"left","0");YAHOO.util.Dom.setStyle(this.overlay,"z-index","900");YAHOO.util.Dom.setStyle(this.overlay,"display","none");YAHOO.util.Dom.setStyle(this.overlay,"cursor","pointer");YAHOO.util.Dom.setStyle(this.overlay,"opacity","0");body.appendChild(this.overlay);this.previmg=document.createElement("a");this.previmg.setAttribute("id","sslightbox_previmg");this.previmg.setAttribute("href","javascript:SSLightbox.switchImage(-1);");YAHOO.util.Dom.setStyle(this.previmg,"background-color","transparent");YAHOO.util.Dom.setStyle(this.previmg,"background-image","url(/universal/images/overlay-arrow-left.png)");YAHOO.util.Dom.setStyle(this.previmg,"position","absolute");YAHOO.util.Dom.setStyle(this.previmg,"display","none");YAHOO.util.Dom.setStyle(this.previmg,"width","35px");YAHOO.util.Dom.setStyle(this.previmg,"height","50px");YAHOO.util.Dom.setStyle(this.previmg,"left","8px");YAHOO.util.Dom.setStyle(this.previmg,"z-index","950");YAHOO.util.Dom.setStyle(this.previmg,"opacity","0");YAHOO.util.Dom.setStyle(this.previmg,"-moz-outline","0");body.appendChild(this.previmg);this.nextimg=document.createElement("a");this.nextimg.setAttribute("id","sslightbox_nextimg");this.nextimg.setAttribute("href","javascript:SSLightbox.switchImage(1);");YAHOO.util.Dom.setStyle(this.nextimg,"background-color","transparent");YAHOO.util.Dom.setStyle(this.nextimg,"background-image","url(/universal/images/overlay-arrow-right.png)");YAHOO.util.Dom.setStyle(this.nextimg,"position","absolute");YAHOO.util.Dom.setStyle(this.nextimg,"display","none");YAHOO.util.Dom.setStyle(this.nextimg,"width","35px");YAHOO.util.Dom.setStyle(this.nextimg,"height","50px");YAHOO.util.Dom.setStyle(this.nextimg,"right","8px");YAHOO.util.Dom.setStyle(this.nextimg,"z-index","950");YAHOO.util.Dom.setStyle(this.nextimg,"opacity","0");YAHOO.util.Dom.setStyle(this.nextimg,"-moz-outline","0");body.appendChild(this.nextimg);this.imgholder=document.createElement("div");this.imgholder.setAttribute("id","sslightbox_imgholder");YAHOO.util.Dom.setStyle(this.imgholder,"position","absolute");YAHOO.util.Dom.setStyle(this.imgholder,"top","0px");YAHOO.util.Dom.setStyle(this.imgholder,"left","0px");YAHOO.util.Dom.setStyle(this.imgholder,"background-color","#fff");YAHOO.util.Dom.setStyle(this.imgholder,"opacity","0");YAHOO.util.Dom.setStyle(this.imgholder,"z-index","950");YAHOO.util.Dom.setStyle(this.imgholder,"width","200px");YAHOO.util.Dom.setStyle(this.imgholder,"height","200px");body.appendChild(this.imgholder);this.img=document.createElement("img");this.img.setAttribute("id","sslightbox_img");YAHOO.util.Dom.setStyle(this.img,"position","absolute");YAHOO.util.Dom.setStyle(this.img,"top",SSLightbox.BORDER_WIDTH+"px");YAHOO.util.Dom.setStyle(this.img,"left",SSLightbox.BORDER_WIDTH+"px");YAHOO.util.Dom.setStyle(this.img,"opacity","0");YAHOO.util.Dom.setStyle(this.img,"display","none");YAHOO.util.Dom.setStyle(this.img,"z-index","1000");YAHOO.util.Dom.setStyle(this.img,"padding","0");YAHOO.util.Dom.setStyle(this.img,"margin","0");this.imgholder.appendChild(this.img);this.loadimg=document.createElement("img");this.loadimg.setAttribute("id","sslightbox_loadimg");this.loadimg.src="/universal/images/manager/loading.gif";YAHOO.util.Dom.setStyle(this.loadimg,"position","absolute");YAHOO.util.Dom.setStyle(this.loadimg,"opacity","0");YAHOO.util.Dom.setStyle(this.loadimg,"width","48px");YAHOO.util.Dom.setStyle(this.loadimg,"height","54px");YAHOO.util.Dom.setStyle(this.loadimg,"z-index","990");body.appendChild(this.loadimg);YAHOO.util.Dom.setXY(this.imgholder,[(YAHOO.util.Dom.getViewportWidth()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_imgholder'),'width'))/2)+YAHOO.util.Dom.getDocumentScrollLeft(),(YAHOO.util.Dom.getViewportHeight()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_imgholder'),'height'))/2)+YAHOO.util.Dom.getDocumentScrollTop()]);YAHOO.util.Dom.setXY(this.loadimg,[(YAHOO.util.Dom.getViewportWidth()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_loadimg'),'width'))/2)+YAHOO.util.Dom.getDocumentScrollLeft(),(YAHOO.util.Dom.getViewportHeight()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_loadimg'),'height'))/2)+YAHOO.util.Dom.getDocumentScrollTop()]);YAHOO.util.Dom.setStyle(this.imgholder,"display","none");YAHOO.util.Dom.setStyle(this.loadimg,"display","none");YAHOO.util.Event.addListener(this.overlay,"click",this.close);YAHOO.util.Event.addListener(this.nextimg,"mouseover",function(){new YAHOO.util.Anim("sslightbox_nextimg",{opacity:{to:1}},SSLightbox.SPEED_FACTOR).animate();});YAHOO.util.Event.addListener(this.nextimg,"mouseout",function(){new YAHOO.util.Anim("sslightbox_nextimg",{opacity:{to:SSLightbox.ARROW_INACTIVE_OPACITY}},SSLightbox.SPEED_FACTOR).animate();});YAHOO.util.Event.addListener(this.previmg,"mouseover",function(){new YAHOO.util.Anim("sslightbox_previmg",{opacity:{to:1}},SSLightbox.SPEED_FACTOR).animate();});YAHOO.util.Event.addListener(this.previmg,"mouseout",function(){new YAHOO.util.Anim("sslightbox_previmg",{opacity:{to:SSLightbox.ARROW_INACTIVE_OPACITY}},SSLightbox.SPEED_FACTOR).animate();});},getImageIndex:function(imgSrc){if(!imgSrc){imgSrc=this.currentPhoto;}return this.indiciesByPhoto[imgSrc];},isLastImage:function(imgSrc){return(this.getImageIndex(imgSrc)==(this.photos.length-1));},isFirstImage:function(imgSrc){return(this.getImageIndex(imgSrc)==0);},switchImage:function(direction){var cIdx=this.getImageIndex();if(direction==1&&!this.isLastImage()){SSLightbox.load(null,SSLightbox.photos[cIdx+1]);}else if(direction==-1&&!this.isFirstImage()){SSLightbox.load(null,SSLightbox.photos[cIdx-1]);}},presentImage:function(imgSrc){var img=SSLightbox.imageObjectsByPhoto[imgSrc];if(img){if(!SSLightbox.isFirstImage()){if(YAHOO.util.Dom.getStyle("sslightbox_previmg","display")=="none"){YAHOO.util.Dom.setStyle("sslightbox_previmg","display","block");YAHOO.util.Dom.setStyle("sslightbox_previmg","opacity","0");}YAHOO.util.Dom.setY("sslightbox_previmg",(YAHOO.util.Dom.getViewportHeight()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_previmg'),'height'))/2)+YAHOO.util.Dom.getDocumentScrollTop());if(YAHOO.util.Dom.getStyle("sslightbox_previmg","opacity")=="0"){var animationStep=new YAHOO.util.Anim("sslightbox_previmg",{opacity:{to:SSLightbox.ARROW_INACTIVE_OPACITY}},SSLightbox.SPEED_FACTOR);animationStep.onStart.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_previmg","display","block");});animationStep.animate();}}else{var animationStep=new YAHOO.util.Anim("sslightbox_previmg",{opacity:{to:0}},SSLightbox.SPEED_FACTOR);animationStep.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_previmg","display","none");});animationStep.animate();}if(!SSLightbox.isLastImage()){if(YAHOO.util.Dom.getStyle("sslightbox_nextimg","display")=="none"){YAHOO.util.Dom.setStyle("sslightbox_nextimg","display","block");YAHOO.util.Dom.setStyle("sslightbox_nextimg","opacity","0");}YAHOO.util.Dom.setY("sslightbox_nextimg",(YAHOO.util.Dom.getViewportHeight()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_nextimg'),'height'))/2)+YAHOO.util.Dom.getDocumentScrollTop());if(YAHOO.util.Dom.getStyle("sslightbox_nextimg","opacity")=="0"){var animationStep=new YAHOO.util.Anim("sslightbox_nextimg",{opacity:{to:SSLightbox.ARROW_INACTIVE_OPACITY}},SSLightbox.SPEED_FACTOR);animationStep.onStart.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_nextimg","display","block");});animationStep.animate();}}else{var animationStep=new YAHOO.util.Anim("sslightbox_nextimg",{opacity:{to:0}},SSLightbox.SPEED_FACTOR);animationStep.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_nextimg","display","none");});animationStep.animate();}YAHOO.util.Dom.get("sslightbox_img").src=img.src;SSLightbox.scaleImage(img.src);YAHOO.util.Dom.setStyle("sslightbox_loadimg","display","none");YAHOO.util.Dom.setStyle("sslightbox_img","height",img.scaledHeight+"px");YAHOO.util.Dom.setStyle("sslightbox_img","width",img.scaledWidth+"px");if(SSLightbox.currentImgHolderAnimation){SSLightbox.currentImgHolderAnimation.stop();}var animationStep=new YAHOO.util.Motion('sslightbox_imgholder',{width:{to:(img.scaledWidth+SSLightbox.BORDER_WIDTH*2)},height:{to:(img.scaledHeight+SSLightbox.BORDER_WIDTH*2)},points:{to:[(YAHOO.util.Dom.getViewportWidth()/2)-(img.scaledWidth/2)+YAHOO.util.Dom.getDocumentScrollLeft()-SSLightbox.BORDER_WIDTH,(YAHOO.util.Dom.getViewportHeight()/2)-(img.scaledHeight/2)+YAHOO.util.Dom.getDocumentScrollTop()-SSLightbox.BORDER_WIDTH]}},SSLightbox.SPEED_FACTOR,YAHOO.util.Easing.easeOutStrong);animationStep.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_img","display","block");new YAHOO.util.Anim("sslightbox_img",{opacity:{to:1}},SSLightbox.SPEED_FACTOR).animate();});animationStep.animate();this.preloadNeighbors(imgSrc);}else{this.retrieveImage(imgSrc);}},resizeWindow:function(){if(this.currentPhoto){this.presentImage(this.currentPhoto);}},scaleImage:function(imgSrc){var img=SSLightbox.imageObjectsByPhoto[imgSrc];var resizeDirection=((YAHOO.util.Dom.getViewportWidth()-img.width)<(YAHOO.util.Dom.getViewportHeight()-img.height)?'W':'H');if(resizeDirection=='H'&&img.height+(SSLightbox.BORDER_WIDTH*2)>YAHOO.util.Dom.getViewportHeight()-100){img.scaledHeight=YAHOO.util.Dom.getViewportHeight()-100;img.scaledWidth=img.width*(img.scaledHeight/img.height);}else if(resizeDirection=='W'&&img.width+(SSLightbox.BORDER_WIDTH*2)>YAHOO.util.Dom.getViewportWidth()-180){img.scaledWidth=YAHOO.util.Dom.getViewportWidth()-180;img.scaledHeight=img.height*(img.scaledWidth/img.width);}else{img.scaledWidth=img.width;img.scaledHeight=img.height;}},retrieveImage:function(imgSrc){var el=SSLightbox.imageObjectsByPhoto[imgSrc];if(el==null){el=document.createElement("img");el.style.position="absolute";el.style.left="-5000px";el.style.top="0px";document.body.appendChild(el);SSLightbox.imageObjectsByPhoto[imgSrc]=el;el.src=imgSrc;el.onload=function(e){if(this.src==SSLightbox.currentPhoto){SSLightbox.presentImage(this.src);}}}},preloadNeighbors:function(imgSrc){var imgIdx=SSLightbox.indiciesByPhoto[imgSrc];if(imgIdx!=0){this.retrieveImage(SSLightbox.indiciesByPhoto[SSLightbox.currentPhoto]-1);}if(imgIdx!=(SSLightbox.photos.length-1)){this.retrieveImage(SSLightbox.indiciesByPhoto[SSLightbox.currentPhoto]+1);}},load:function(e,directImg){YAHOO.util.Dom.setStyle("sslightbox_img","display","none");YAHOO.util.Dom.setStyle("sslightbox_img","opacity","0");if(e){YAHOO.util.Event.stopEvent(e);}var imgSrc=(e?this.href:directImg);var imgIdx=SSLightbox.getImageIndex(imgSrc);SSLightbox.currentPhoto=imgSrc;var animationStep=new YAHOO.util.Anim("sslightbox_overlay",{opacity:{to:0.85}},SSLightbox.SPEED_FACTOR);animationStep.onStart.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_overlay","display","block");YAHOO.util.Dom.setStyle("sslightbox_overlay","height",YAHOO.util.Dom.getDocumentHeight()+"px");});animationStep.animate();var animationStep=new YAHOO.util.Anim("sslightbox_imgholder",{opacity:{to:1}},SSLightbox.SPEED_FACTOR);animationStep.onStart.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_imgholder","display","block");});animationStep.animate();SSLightbox.currentImgHolderAnimation=new YAHOO.util.Motion('sslightbox_imgholder',{points:{to:[(YAHOO.util.Dom.getViewportWidth()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_imgholder'),'width'))/2)+YAHOO.util.Dom.getDocumentScrollLeft(),(YAHOO.util.Dom.getViewportHeight()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_imgholder'),'height'))/2)+YAHOO.util.Dom.getDocumentScrollTop()]}},SSLightbox.SPEED_FACTOR);SSLightbox.currentImgHolderAnimation.animate();var animationStep=new YAHOO.util.Anim("sslightbox_loadimg",{opacity:{to:1}},SSLightbox.SPEED_FACTOR);animationStep.onStart.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_loadimg","display","block");});animationStep.animate();new YAHOO.util.Motion("sslightbox_loadimg",{points:{to:[(YAHOO.util.Dom.getViewportWidth()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_loadimg'),'width'))/2)+YAHOO.util.Dom.getDocumentScrollLeft(),(YAHOO.util.Dom.getViewportHeight()/2)-(parseInt(YAHOO.util.Dom.getStyle(YAHOO.util.Dom.get('sslightbox_loadimg'),'height'))/2)+YAHOO.util.Dom.getDocumentScrollTop()]}},SSLightbox.SPEED_FACTOR).animate();SSLightbox.presentImage(imgSrc);return false;},close:function(){SSLightbox.currentPhoto=null;var animationStep=new YAHOO.util.Anim("sslightbox_overlay",{opacity:{to:0}},SSLightbox.SPEED_FACTOR);animationStep.onStart.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_loadimg","display","none");});animationStep.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_overlay","display","none");});animationStep.animate();var animationStep=new YAHOO.util.Anim("sslightbox_imgholder",{opacity:{to:0}},SSLightbox.SPEED_FACTOR);animationStep.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_imgholder","display","none");});animationStep.animate();var animationStep=new YAHOO.util.Anim("sslightbox_previmg",{opacity:{to:0}},SSLightbox.SPEED_FACTOR);animationStep.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_previmg","display","none");});animationStep.animate();var animationStep=new YAHOO.util.Anim("sslightbox_nextimg",{opacity:{to:0}},SSLightbox.SPEED_FACTOR);animationStep.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle("sslightbox_nextimg","display","none");});animationStep.animate();}};YAHOO.util.Event.addListener(window,"load",function(){SSLightbox.init();});YAHOO.util.Event.addListener(window,"resize",function(){SSLightbox.resizeWindow();});function showImage(imgSrc){SSLightbox.load(null,imgSrc);};
