var Lightbox=null;
(function(c){Lightbox={activeImage:null,badObjects:["select","object","embed"],container:null,enableSlideshow:null,groupName:null,imageArray:[],options:null,overlayDuration:null,overlayOpacity:null,playSlides:null,refTags:["a","area"],relAttribute:null,resizeDuration:null,slideShowTimer:null,startImage:null,prefix:"slb",initialize:function(a){this.options=c.extend(true,{animate:true,captionSrc:true,autoPlay:true,borderSize:10,containerID:document,enableSlideshow:true,googleAnalytics:false,imageDataLocation:"south",
initImage:"",loop:true,overlayDuration:0.2,overlayOpacity:0.8,relAttribute:"lightbox",resizeSpeed:400,showGroupName:false,slideTime:4,strings:{closeLink:"close",loadingMsg:"loading",nextLink:"next &raquo;",prevLink:"&laquo; prev",startSlideshow:"start slideshow",stopSlideshow:"stop slideshow",numDisplayPrefix:"Image",numDisplaySeparator:"of"},placeholders:{slbContent:'<img id="slb_slbContent" />',slbLoading:'<span id="slb_slbLoading">loading</span>',slbClose:'<a class="slb_slbClose" href="#">close</a>',
navPrev:'<a class="slb_navPrev slb_nav" href="#">&laquo; prev</a>',navNext:'<a class="slb_navNext slb_nav" href="#">&raquo; next</a>',navSlideControl:'<a class="slb_navSlideControl" href="#">Stop</a>',dataCaption:'<span class="slb_dataCaption"></span>',dataNumber:'<span class="slb_dataNumber"></span>'},layout:null},a);if(!this.options.layout||this.options.layout.toString().length==0)this.end();if(this.options.animate){this.overlayDuration=Math.max(this.options.overlayDuration,0);this.resizeDuration=
this.options.resizeSpeed}else this.resizeDuration=this.overlayDuration=0;this.enableSlideshow=this.options.enableSlideshow;this.overlayOpacity=Math.max(Math.min(this.options.overlayOpacity,1),0);this.playSlides=this.options.autoPlay;this.container=c(this.options.containerID);this.relAttribute=this.options.relAttribute;this.updateImageList();var b=this;a=c(this.container).get(0)!=document?this.container:c("body");c("<div/>",{id:this.getID("overlay"),css:{display:"none"}}).appendTo(a).click(function(){b.end()});
a=c("<div/>",{id:this.getID("lightbox"),css:{display:"none"}}).appendTo(a).click(function(){b.end()});var d=this.getLayout();c(d).appendTo(a);this.setUI();this.setEvents();this.options.initImage!=""&&this.start(c(this.options.initImage))},getLayout:function(){var a=this.options.layout,b,d;for(b in this.options.placeholders){d="{"+b+"}";if(a.indexOf(d)!=-1){d=new RegExp(d,"g");a=a.replace(d,this.options.placeholders[b])}}return a},setUI:function(){var a=this.options.strings;this.get("slbClose").html(a.closeLink);
this.get("navNext").html(a.nextLink);this.get("navPrev").html(a.prevLink);this.get("navSlideControl").html(this.playSlides?a.stopSlideshow:a.startSlideshow)},setEvents:function(){var a=this;this.get("container,details").click(function(b){b.stopPropagation()});this.get("navPrev").click(function(){a.showPrev();return false});this.get("navNext").click(function(){a.showNext();return false});this.get("navSlideControl").click(function(){a.toggleSlideShow();return false});this.get("slbClose").click(function(){a.end();
return false})},updateImageList:function(){for(var a,b,d,g=this,f=0;f<this.refTags.length;f++){b=c(this.container).find(this.refTags[f]);for(var e=0;e<b.length;e++){a=b[e];d=c(a).attr("rel");c(a).attr("href")&&d.toLowerCase().match(this.relAttribute)&&c(a).click(function(){g.start(this);return false})}}},getCaption:function(a){a=c(a);var b=a.attr("title")||"";if(b==""){var d=c(a).find("img").first();if(c(d).length)b=c(d).attr("title")||c(d).attr("alt");b=!b&&a.text().length?a.text():this.options.captionSrc?
a.attr("href"):""}return b},start:function(a){a=c(a);this.hideBadObjects();this.get("overlay").height(c(document).height()).fadeTo(this.overlayDuration,this.overlayOpacity);this.imageArray=[];this.groupName=null;var b=c(a).attr("rel"),d="";if(b==this.relAttribute){d=this.getCaption(a);this.imageArray.push({link:c(a).attr("href"),title:d});this.startImage=0}else{for(var g=c(this.container).find(c(a).get(0).tagName.toLowerCase()),f=0;f<g.length;f++){var e=c(g[f]);if(e.attr("href")&&e.attr("rel")==b){d=
this.getCaption(e);this.imageArray.push({link:e.attr("href"),title:d});if(c(e).get(0)==c(a).get(0))this.startImage=this.imageArray.length-1}}this.groupName=b.substring(this.relAttribute.length+1,b.length-1)}a=c(document).scrollTop()+c(window).height()/15;this.get("lightbox").css("top",a+"px").show();this.changeImage(this.startImage)},changeImage:function(a){this.activeImage=a;this.disableKeyboardNav();this.pauseSlideShow();this.get("slbLoading").show();this.get("slbContent").hide();this.get("details").hide();
var b=new Image,d=this;c(b).bind("load",function(){d.get("slbContent").attr("src",b.src);d.resizeImageContainer(b.width,b.height);d.isSlideShowActive()&&d.startSlideShow()});b.src=this.imageArray[this.activeImage].link;this.options.googleAnalytics&&urchinTracker(this.imageArray[this.activeImage].link)},resizeImageContainer:function(a,b){this.get("container");var d=this.options.borderSize*2;this.get("container").animate({width:a+d,height:b+d},this.resizeDuration);this.showImage()},showImage:function(){this.get("slbLoading").hide();
var a=this;this.get("slbContent").fadeIn(500,function(){a.updateDetails()});this.preloadNeighborImages()},updateDetails:function(){this.get("dataCaption").text(this.imageArray[this.activeImage].title);this.get("dataCaption").show();if(this.hasImages()){var a=this.options.strings.numDisplayPrefix+" "+(this.activeImage+1)+" "+this.options.strings.numDisplaySeparator+" "+this.imageArray.length;if(this.options.showGroupName&&this.groupName!="")a+=" "+this.options.strings.numDisplaySeparator+" "+this.groupName;
this.get("dataNumber").text(a).show();this.enableSlideshow||this.get("navSlideControl").hide()}else{this.get("navSlideControl").hide();this.get("navPrev").hide();this.get("navNext").hide()}this.get("details").width(this.get("slbContent").width()+this.options.borderSize*2);var b=this;this.get("details").animate({height:"show",opacity:"show"},650,function(){b.updateNav()})},updateNav:function(){if(this.hasImages())if(this.enableSlideshow)this.playSlides?this.startSlideShow():this.stopSlideShow();this.enableKeyboardNav()},
isSlideShowActive:function(){return this.playSlides},startSlideShow:function(){this.playSlides=true;var a=this;clearInterval(this.slideShowTimer);this.slideShowTimer=setInterval(function(){a.showNext();a.pauseSlideShow()},this.options.slideTime*1E3);this.get("navSlideControl").text(this.options.strings.stopSlideshow)},stopSlideShow:function(){this.playSlides=false;this.slideShowTimer&&clearInterval(this.slideShowTimer);this.get("navSlideControl").text(this.options.strings.startSlideshow)},toggleSlideShow:function(){this.playSlides?
this.stopSlideShow():this.startSlideShow()},pauseSlideShow:function(){this.slideShowTimer&&clearInterval(this.slideShowTimer)},hasImage:function(){return this.imageArray.length>0},hasImages:function(){return this.imageArray.length>1},isFirstImage:function(){return this.activeImage==0},isLastImage:function(){return this.activeImage==this.imageArray.length-1},showNext:function(){if(this.hasImages()){if(!this.options.loop&&this.isLastImage())return this.end();this.isLastImage()?this.showFirst():this.changeImage(this.activeImage+
1)}},showPrev:function(){if(this.hasImages()){if(!this.options.loop&&this.isFirstImage())return this.end();this.activeImage==0?this.showLast():this.changeImage(this.activeImage-1)}},showFirst:function(){this.hasImages()&&this.changeImage(0)},showLast:function(){this.hasImages()&&this.changeImage(this.imageArray.length-1)},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction},disableKeyboardNav:function(){document.onkeydown=""},keyboardAction:function(a){keycode=a==null?event.keyCode:
a.which;key=String.fromCharCode(keycode).toLowerCase();if(key=="x"||key=="o"||key=="c")this.end();else if(key=="p"||key=="%")this.showPrev();else if(key=="n"||key=="'")this.showNext();else if(key=="f")this.showFirst();else if(key=="l")this.showLast();else key=="s"&&this.hasImage()&&this.options.enableSlideshow&&this.toggleSlideShow()},preloadNeighborImages:function(){var a=this.imageArray.length-1==this.activeImage?0:this.activeImage+1;nextImage=new Image;nextImage.src=this.imageArray[a].link;a=this.activeImage==
0?this.imageArray.length-1:this.activeImage-1;prevImage=new Image;prevImage.src=this.imageArray[a].link},end:function(){this.disableKeyboardNav();this.pauseSlideShow();this.get("lightbox").hide();this.get("overlay").fadeOut(this.overlayDuration);this.showBadObjects()},showBadObjects:function(a){c(this.badObjects.join(",")).css("visibility",(typeof a=="undefined"?true:!!a)?"visible":"hidden")},hideBadObjects:function(){this.showBadObjects(false)},addPrefix:function(a){return this.prefix+"_"+a},getID:function(a){return this.addPrefix(a)},
getSel:function(a){var b="#";if(a.toString().indexOf(",")!=-1){a=a.toString().split(",");for(b=0;b<a.length;b++)a[b]=this.getSel(c.trim(a[b]));a=a.join(",")}else{if(a in this.options.placeholders)c(this.options.placeholders[a]).attr("id")||(b=".");a=b+this.getID(a)}return a},get:function(a){return c(this.getSel(a))}}})(jQuery);

