(function(B){var A;B.fn.lightbox=function(C){A=B.extend({},B.fn.lightbox.defaults,C);B.fn.lightbox.initialize();return this.each(function(){B(this).click(function(){B(this).lightbox.start(this);return false})})};B.fn.lightbox.initialize=function(){B("#overlay").remove();B("#lightbox").remove();A.inprogress=false;var C='<div id="outerImageContainer"><div id="imageContainer"><img id="lightboxImage"><div id="hoverNav"><a href="javascript://" title="'+A.strings.prevLinkTitle+'" id="prevLink"></a><a href="javascript://" id="nextLink" title="'+A.strings.nextLinkTitle+'"></a></div><div id="loading"><a href="javascript://" id="loadingLink"><img src="'+A.fileLoadingImage+'"></a></div></div></div>';var E='<div id="imageDataContainer" class="clearfix"><div id="imageData"><div id="imageDetails"><span id="caption"></span><span id="numberDisplay"></span></div><div id="bottomNav">';if(A.displayHelp){E+='<span id="helpDisplay">'+A.strings.help+"</span>"}E+='<a href="javascript://" id="bottomNavClose" title="'+A.strings.closeTitle+'"><img src="'+A.fileBottomNavCloseImage+'"></a></div></div></div>';var D;if(A.navbarOnTop){D='<div id="overlay"></div><div id="lightbox">'+E+C+"</div>";B("body").append(D);B("#imageDataContainer").addClass("ontop")}else{D='<div id="overlay"></div><div id="lightbox">'+C+E+"</div>";B("body").append(D)}B("#overlay").click(function(){B.fn.lightbox.end()}).hide();B("#lightbox").click(function(){B.fn.lightbox.end()}).hide();B("#loadingLink").click(function(){B.fn.lightbox.end();return false});B("#bottomNavClose").click(function(){B.fn.lightbox.end();return false});B("#outerImageContainer").width(A.widthCurrent).height(A.heightCurrent);B("#imageDataContainer").width(A.widthCurrent)};B.fn.lightbox.getPageSize=function(){var F,C;if(window.innerHeight&&window.scrollMaxY){F=window.innerWidth+window.scrollMaxX;C=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){F=document.body.scrollWidth;C=document.body.scrollHeight}else{F=document.body.offsetWidth;C=document.body.offsetHeight}}var E,G;if(self.innerHeight){if(document.documentElement.clientWidth){E=document.documentElement.clientWidth}else{E=self.innerWidth}G=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){E=document.documentElement.clientWidth;G=document.documentElement.clientHeight}else{if(document.body){E=document.body.clientWidth;G=document.body.clientHeight}}}if(C<G){pageHeight=G}else{pageHeight=C}if(F<E){pageWidth=F}else{pageWidth=E}var D=new Array(pageWidth,pageHeight,E,G);return D};B.fn.lightbox.getPageScroll=function(){var E,C;if(self.pageYOffset){C=self.pageYOffset;E=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){C=document.documentElement.scrollTop;E=document.documentElement.scrollLeft}else{if(document.body){C=document.body.scrollTop;E=document.body.scrollLeft}}}var D=new Array(E,C);return D};B.fn.lightbox.pause=function(E){var D=new Date();var C=null;do{C=new Date()}while(C-D<E)};B.fn.lightbox.start=function(H){B("select, embed, object").hide();var D=B.fn.lightbox.getPageSize();B("#overlay").hide().css({width:"100%",height:D[1]+"px",opacity:A.overlayOpacity}).fadeIn();A.imageArray=[];imageNum=0;var F=document.getElementsByTagName(H.tagName);if(!H.rel||(H.rel=="")){A.imageArray.push(new Array(H.href,A.displayTitle?H.title:""))}else{B("a").each(function(){if(this.href&&(this.rel==H.rel)){A.imageArray.push(new Array(this.href,A.displayTitle?this.title:""))}});for(i=0;i<A.imageArray.length;i++){for(j=A.imageArray.length-1;j>i;j--){if(A.imageArray[i][0]==A.imageArray[j][0]){A.imageArray.splice(j,1)}}}while(A.imageArray[imageNum][0]!=H.href){imageNum++}}var C=B.fn.lightbox.getPageScroll();var G=C[1]+(D[3]/10);var E=C[0];B("#lightbox").css({top:G+"px",left:E+"px"}).show();if(!A.slideNavBar){B("#imageData").hide()}B.fn.lightbox.changeImage(imageNum)};B.fn.lightbox.changeImage=function(C){if(A.inprogress==false){A.inprogress=true;A.activeImage=C;B("#loading").show();B("#lightboxImage").hide();B("#hoverNav").hide();B("#prevLink").hide();B("#nextLink").hide();if(A.slideNavBar){B("#imageDataContainer").hide();B("#imageData").hide();B.fn.doChangeImage()}else{B.fn.doChangeImage()}}};B.fn.doChangeImage=function(){imgPreloader=new Image();imgPreloader.onload=function(){var G=imgPreloader.width;var C=imgPreloader.height;if(A.fitToScreen){var E=B.fn.lightbox.getPageSize();var F;var D=E[2]-2*A.borderSize;var H=E[3]-200;if(imgPreloader.height>H){G=parseInt((H/imgPreloader.height)*imgPreloader.width);C=H}else{if(imgPreloader.width>D){C=parseInt((D/imgPreloader.width)*imgPreloader.height);G=D}}}B("#lightboxImage").attr("src",A.imageArray[A.activeImage][0]).width(G).height(C);B.fn.lightbox.resizeImageContainer(G,C)};imgPreloader.src=A.imageArray[A.activeImage][0]};B.fn.lightbox.end=function(){B.fn.lightbox.disableKeyboardNav();B("#lightbox").hide();B("#overlay").fadeOut();B("select, object, embed").show()};B.fn.lightbox.preloadNeighborImages=function(){if((A.imageArray.length-1)>A.activeImage){preloadNextImage=new Image();preloadNextImage.src=A.imageArray[A.activeImage+1][0]}if(A.activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=A.imageArray[A.activeImage-1][0]}};B.fn.lightbox.keyboardAction=function(F){if(F==null){var C=event.keyCode;var D=27}else{var C=F.keyCode;var D=F.DOM_VK_ESCAPE}var E=String.fromCharCode(C).toLowerCase();if((E=="x")||(E=="o")||(E=="c")||(C==D)){B.fn.lightbox.end()}else{if((E=="p")||(C==37)){if(A.activeImage!=0){B.fn.lightbox.disableKeyboardNav();B.fn.lightbox.changeImage(A.activeImage-1)}}else{if((E=="n")||(C==39)){if(A.activeImage!=(A.imageArray.length-1)){B.fn.lightbox.disableKeyboardNav();B.fn.lightbox.changeImage(A.activeImage+1)}}}}};B.fn.lightbox.resizeImageContainer=function(F,D){A.widthCurrent=document.getElementById("outerImageContainer").offsetWidth;A.heightCurrent=document.getElementById("outerImageContainer").offsetHeight;var C=(F+(A.borderSize*2));var E=(D+(A.borderSize*2));A.xScale=(C/A.widthCurrent)*100;A.yScale=(E/A.heightCurrent)*100;wDiff=A.widthCurrent-C;hDiff=A.heightCurrent-E;B("#imageDataContainer").animate({width:C},A.resizeSpeed,"linear");B("#outerImageContainer").animate({width:C},A.resizeSpeed,"linear",function(){B("#outerImageContainer").animate({height:E},A.resizeSpeed,"linear",function(){B.fn.lightbox.showImage()})});if((hDiff==0)&&(wDiff==0)){if(jQuery.browser.msie){B.fn.lightbox.pause(250)}else{B.fn.lightbox.pause(100)}}B("#prevLink").height(D);B("#nextLink").height(D)};B.fn.lightbox.showImage=function(){B("#loading").hide();B("#lightboxImage").fadeIn("fast");B.fn.lightbox.updateDetails();B.fn.lightbox.preloadNeighborImages();A.inprogress=false};B.fn.lightbox.updateDetails=function(){if(A.imageArray[A.activeImage][1]){B("#caption").html(A.imageArray[A.activeImage][1]).show()}if(A.imageArray.length>1){var D;D=A.strings.image+(A.activeImage+1)+A.strings.of+A.imageArray.length;if((A.activeImage)>0){D='<a title="'+A.strings.prevLinkTitle+'" href="#" id="prevLinkText">'+A.strings.prevLinkText+"</a>"+D}if((A.activeImage+1)<A.imageArray.length){D+='<a title="'+A.strings.nextLinkTitle+'" href="#" id="nextLinkText">'+A.strings.nextLinkText+"</a>"}B("#numberDisplay").html(D).show()}if(A.slideNavBar){B("#imageData").slideDown(A.navBarSlideSpeed)}else{B("#imageData").show()}var C=B.fn.lightbox.getPageSize();B("#overlay").height(C[1]);B.fn.lightbox.updateNav()};B.fn.lightbox.updateNav=function(){B("#hoverNav").show();if(A.activeImage!=0){B("#prevLink,#prevLinkText").show().click(function(){B.fn.lightbox.changeImage(A.activeImage-1);return false})}if(A.activeImage!=(A.imageArray.length-1)){B("#nextLink,#nextLinkText").show().click(function(){B.fn.lightbox.changeImage(A.activeImage+1);return false})}B.fn.lightbox.enableKeyboardNav()};B.fn.lightbox.enableKeyboardNav=function(){document.onkeydown=B.fn.lightbox.keyboardAction};B.fn.lightbox.disableKeyboardNav=function(){document.onkeydown=""};B.fn.lightbox.defaults={fileLoadingImage:"images/loading.gif",fileBottomNavCloseImage:"images/closelabel.gif",overlayOpacity:0.8,borderSize:10,imageArray:new Array,activeImage:null,inprogress:false,resizeSpeed:350,widthCurrent:250,heightCurrent:250,xScale:1,yScale:1,displayTitle:true,navbarOnTop:false,slideNavBar:false,navBarSlideSpeed:350,displayHelp:false,strings:{help:" \u2190 / P - previous image\u00a0\u00a0\u00a0\u00a0\u2192 / N - next image\u00a0\u00a0\u00a0\u00a0ESC / X - close image gallery",prevLinkTitle:"previous image",nextLinkTitle:"next image",prevLinkText:"« Previous",nextLinkText:"Next »",closeTitle:"close image gallery",image:"Image ",of:" of "},fitToScreen:false}})(jQuery);