(function(A){A.fn.lightbox=function(H){var Q=A.extend({},A.fn.lightbox.defaults,H);return this.each(function(){A(this).click(function(){E();L(this);return false})});function E(){A("#overlay").remove();A("#lightbox").remove();Q.inprogress=false;if(Q.jsonData&&Q.jsonData.length>0){var W=Q.jsonDataParser?Q.jsonDataParser:A.fn.lightbox.parseJsonData;Q.imageArray=[];Q.imageArray=W(Q.jsonData)}var T='<div id="outerImageContainer"><div id="imageContainer"><iframe id="lightboxIframe" /><img id="lightboxImage"><div id="hoverNav"><a href="javascript://" title="'+Q.strings.prevLinkTitle+'" id="prevLink"></a><a href="javascript://" id="nextLink" title="'+Q.strings.nextLinkTitle+'"></a></div><div id="loading"><a href="javascript://" id="loadingLink"><img src="'+Q.fileLoadingImage+'"></a></div></div></div>';var V='<div id="imageDataContainer" class="clearfix"><div id="imageData"><div id="imageDetails"><span id="caption"></span><span id="numberDisplay"></span></div><div id="bottomNav">';if(Q.displayHelp){V+='<span id="helpDisplay">'+Q.strings.help+"</span>"}V+='<a href="javascript://" id="bottomNavClose" title="'+Q.strings.closeTitle+'"><img src="'+Q.fileBottomNavCloseImage+'"></a></div></div></div>';var U;if(Q.navbarOnTop){U='<div id="overlay"></div><div id="lightbox">'+V+T+"</div>";A("body").append(U);A("#imageDataContainer").addClass("ontop")}else{U='<div id="overlay"></div><div id="lightbox">'+T+V+"</div>";A("body").append(U)}A("#overlay").click(function(){J()}).hide();A("#lightbox").click(function(){J()}).hide();A("#loadingLink").click(function(){J();return false});A("#bottomNavClose").click(function(){J();return false});A("#outerImageContainer").width(Q.widthCurrent).height(Q.heightCurrent);A("#imageDataContainer").width(Q.widthCurrent);if(!Q.imageClickClose){A("#lightboxImage").click(function(){return false});A("#hoverNav").click(function(){return false})}}function S(){var T=new Array(A(document).width(),A(document).height(),A(window).width(),A(window).height());return T}function G(){var V,T;if(self.pageYOffset){T=self.pageYOffset;V=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){T=document.documentElement.scrollTop;V=document.documentElement.scrollLeft}else{if(document.body){T=document.body.scrollTop;V=document.body.scrollLeft}}}var U=new Array(V,T);return U}function M(V){var U=new Date();var T=null;do{T=new Date()}while(T-U<V)}function L(X){A("select, embed, object").hide();var U=S();A("#overlay").hide().css({width:"100%",height:U[1]+"px",opacity:Q.overlayOpacity}).fadeIn();imageNum=0;if(!Q.jsonData){Q.imageArray=[];if(!X.rel||(X.rel=="")){Q.imageArray.push(new Array(X.href,Q.displayTitle?X.title:""))}else{A("a").each(function(){if(this.href&&(this.rel==X.rel)){Q.imageArray.push(new Array(this.href,Q.displayTitle?this.title:""))}})}}if(Q.imageArray.length>1){for(i=0;i<Q.imageArray.length;i++){for(j=Q.imageArray.length-1;j>i;j--){if(Q.imageArray[i][0]==Q.imageArray[j][0]){Q.imageArray.splice(j,1)}}}while(Q.imageArray[imageNum][0]!=X.href){imageNum++}}var T=G();var W=T[1]+(U[3]/10);var V=T[0];A("#lightbox").css({top:W+"px",left:V+"px"}).show();if(!Q.slideNavBar){A("#imageData").hide()}R(imageNum)}function R(T){if(Q.inprogress==false){Q.inprogress=true;Q.activeImage=T;A("#loading").show();A("#lightboxImage").hide();A("#hoverNav").hide();A("#prevLink").hide();A("#nextLink").hide();if(Q.slideNavBar){A("#imageDataContainer").hide();A("#imageData").hide();I()}else{I()}}}function I(){imgPreloader=new Image();imgPreloader.onload=function(){var X=imgPreloader.width;var T=imgPreloader.height;if(Q.fitToScreen){var V=S();var W;var U=V[2]-2*Q.borderSize;var Y=V[3]-200;if(imgPreloader.height>Y){X=parseInt((Y/imgPreloader.height)*imgPreloader.width);T=Y}else{if(imgPreloader.width>U){T=parseInt((U/imgPreloader.width)*imgPreloader.height);X=U}}}A("#lightboxImage").attr("src",Q.imageArray[Q.activeImage][0]).width(X).height(T);K(X,T)};imgPreloader.src=Q.imageArray[Q.activeImage][0]}function J(){N();A("#lightbox").hide();A("#overlay").fadeOut();A("select, object, embed").show()}function F(){if(Q.loopImages&&Q.imageArray.length>1){preloadNextImage=new Image();preloadNextImage.src=Q.imageArray[(Q.activeImage==(Q.imageArray.length-1))?0:Q.activeImage+1][0];preloadPrevImage=new Image();preloadPrevImage.src=Q.imageArray[(Q.activeImage==0)?(Q.imageArray.length-1):Q.activeImage-1][0]}else{if((Q.imageArray.length-1)>Q.activeImage){preloadNextImage=new Image();preloadNextImage.src=Q.imageArray[Q.activeImage+1][0]}if(Q.activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=Q.imageArray[Q.activeImage-1][0]}}}function K(W,U){Q.widthCurrent=A("#outerImageContainer").outerWidth();Q.heightCurrent=A("#outerImageContainer").outerHeight();var T=(W+(Q.borderSize*2));var V=(U+(Q.borderSize*2));Q.xScale=(T/Q.widthCurrent)*100;Q.yScale=(V/Q.heightCurrent)*100;wDiff=Q.widthCurrent-T;hDiff=Q.heightCurrent-V;A("#imageDataContainer").animate({width:T},Q.resizeSpeed,"linear");A("#outerImageContainer").animate({width:T},Q.resizeSpeed,"linear",function(){A("#outerImageContainer").animate({height:V},Q.resizeSpeed,"linear",function(){D()})});if((hDiff==0)&&(wDiff==0)){if(jQuery.browser.msie){M(250)}else{M(100)}}A("#prevLink").height(U);A("#nextLink").height(U)}function D(){A("#loading").hide();A("#lightboxImage").fadeIn("fast");C();F();Q.inprogress=false}function C(){A("#numberDisplay").html("");if(Q.imageArray[Q.activeImage][1]){A("#caption").html(Q.imageArray[Q.activeImage][1]).show()}if(Q.imageArray.length>1){var U;U=Q.strings.image+(Q.activeImage+1)+Q.strings.of+Q.imageArray.length;if(!Q.disableNavbarLinks){if((Q.activeImage)>0||Q.loopImages){U='<a title="'+Q.strings.prevLinkTitle+'" href="#" id="prevLinkText">'+Q.strings.prevLinkText+"</a>"+U}if(((Q.activeImage+1)<Q.imageArray.length)||Q.loopImages){U+='<a title="'+Q.strings.nextLinkTitle+'" href="#" id="nextLinkText">'+Q.strings.nextLinkText+"</a>"}}A("#numberDisplay").html(U).show()}if(Q.slideNavBar){A("#imageData").slideDown(Q.navBarSlideSpeed)}else{A("#imageData").show()}var T=S();A("#overlay").height(T[1]);O()}function O(){if(Q.imageArray.length>1){A("#hoverNav").show();if(Q.loopImages){A("#prevLink,#prevLinkText").show().click(function(){R((Q.activeImage==0)?(Q.imageArray.length-1):Q.activeImage-1);return false});A("#nextLink,#nextLinkText").show().click(function(){R((Q.activeImage==(Q.imageArray.length-1))?0:Q.activeImage+1);return false})}else{if(Q.activeImage!=0){A("#prevLink,#prevLinkText").show().click(function(){R(Q.activeImage-1);return false})}if(Q.activeImage!=(Q.imageArray.length-1)){A("#nextLink,#nextLinkText").show().click(function(){R(Q.activeImage+1);return false})}}B()}}function P(W){var X=W.data.opts;var T=W.keyCode;var U=27;var V=String.fromCharCode(T).toLowerCase();if((V=="x")||(V=="o")||(V=="c")||(T==U)){J()}else{if((V=="p")||(T==37)){if(X.loopImages){N();R((X.activeImage==0)?(X.imageArray.length-1):X.activeImage-1)}else{if(X.activeImage!=0){N();R(X.activeImage-1)}}}else{if((V=="n")||(T==39)){if(Q.loopImages){N();R((X.activeImage==(X.imageArray.length-1))?0:X.activeImage+1)}else{if(X.activeImage!=(X.imageArray.length-1)){N();R(X.activeImage+1)}}}}}}function B(){A(document).bind("keydown",{opts:Q},P)}function N(){A(document).unbind("keydown")}};A.fn.lightbox.parseJsonData=function(C){var B=[];A.each(C,function(){B.push(new Array(this.url,this.title))});return B};A.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:"&laquo; Previous",nextLinkText:"Next &raquo;",closeTitle:"close image gallery",image:"Image ",of:" of "},fitToScreen:false,disableNavbarLinks:false,loopImages:false,imageClickClose:true,jsonData:null,jsonDataParser:null}})(jQuery);
