(function(b){b.fn.lightbox=function(m){function l(){b("#overlay").remove();b("#lightbox").remove();a.inprogress=false;if(a.jsonData&&a.jsonData.length>0){var c=a.jsonDataParser?a.jsonDataParser:b.fn.lightbox.parseJsonData;a.imageArray=[];a.imageArray=c(a.jsonData)}c='<div id="outerImageContainer"><div id="imageContainer"><iframe id="lightboxIframe" /><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 d='<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)d+='<span id="helpDisplay">'+a.strings.help+"</span>";d+='<a href="javascript://" id="bottomNavClose" title="'+a.strings.closeTitle+'"><img src="'+a.fileBottomNavCloseImage+
'"></a></div></div></div>';if(a.navbarOnTop){b("body").append('<div id="overlay"></div><div id="lightbox">'+d+c+"</div>");b("#imageDataContainer").addClass("ontop")}else b("body").append('<div id="overlay"></div><div id="lightbox">'+c+d+"</div>");b("#overlay").click(function(){h()}).hide();b("#lightbox").click(function(){h()}).hide();b("#loadingLink").click(function(){h();return false});b("#bottomNavClose").click(function(){h();return false});b("#outerImageContainer").width(a.widthCurrent).height(a.heightCurrent);
b("#imageDataContainer").width(a.widthCurrent);if(!a.imageClickClose){b("#lightboxImage").click(function(){return false});b("#hoverNav").click(function(){return false})}}function n(){return new Array(b(document).width(),b(document).height(),b(window).width(),b(window).height())}function p(){var c,d;if(self.pageYOffset){d=self.pageYOffset;c=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){d=document.documentElement.scrollTop;c=document.documentElement.scrollLeft}else if(document.body){d=
document.body.scrollTop;c=document.body.scrollLeft}return new Array(c,d)}function o(c){var d=new Date,e=null;do e=new Date;while(e-d<c)}function q(c){b("select, embed, object, iframe").hide();var d=n();b("#overlay").hide().css({width:d[0],height:d[1]+"px",opacity:a.overlayOpacity}).fadeIn();imageNum=0;if(!a.jsonData){a.imageArray=[];!c.rel||c.rel==""?a.imageArray.push(new Array(c.href,a.displayTitle?c.title:"")):b("a").each(function(){if(this.href&&this.rel==c.rel)a.imageArray.push(new Array(this.href,a.displayTitle?
this.title:""))})}if(a.imageArray.length>1){for(i=0;i<a.imageArray.length;i++)for(j=a.imageArray.length-1;j>i;j--)a.imageArray[i][0]==a.imageArray[j][0]&&a.imageArray.splice(j,1);for(;a.imageArray[imageNum][0]!=c.href;)imageNum++}var e=p();d=e[1]+d[3]/10;e=e[0];b("#lightbox").css({top:d+"px",left:e+"px"}).show();a.slideNavBar||b("#imageData").hide();g(imageNum)}function g(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()}r()}}function r(){imgPreloader=new Image;imgPreloader.onload=function(){var c=imgPreloader.width,d=imgPreloader.height;if(a.fitToScreen){var e=n(),f=e[2]-2*a.borderSize;e=e[3]-200;var s=f/e,t=imgPreloader.width/imgPreloader.height;if(imgPreloader.height>e||imgPreloader.width>f)if(s>t){c=parseInt(e/imgPreloader.height*imgPreloader.width);d=e}else{d=parseInt(f/imgPreloader.width*imgPreloader.height);
c=f}}b("#lightboxImage").attr("src",a.imageArray[a.activeImage][0]).width(c).height(d);u(c,d)};imgPreloader.src=a.imageArray[a.activeImage][0]}function h(){k();b("#lightbox").hide();b("#overlay").fadeOut();b("select, object, embed, iframe").show()}function u(c,d){a.widthCurrent=b("#outerImageContainer").outerWidth();a.heightCurrent=b("#outerImageContainer").outerHeight();c=Math.max(350,c+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("#loading").hide();b("#lightboxImage").fadeIn("fast");b("#numberDisplay").html("");a.imageArray[a.activeImage][1]&&b("#caption").html(a.imageArray[a.activeImage][1]).show();if(a.imageArray.length>1){var f;f=a.strings.image+(a.activeImage+1)+a.strings.of+
a.imageArray.length;if(!a.disableNavbarLinks){if(a.activeImage>0||a.loopImages)f='<a title="'+a.strings.prevLinkTitle+'" href="#" id="prevLinkText">'+a.strings.prevLinkText+"</a>"+f;if(a.activeImage+1<a.imageArray.length||a.loopImages)f+='<a title="'+a.strings.nextLinkTitle+'" href="#" id="nextLinkText">'+a.strings.nextLinkText+"</a>"}b("#numberDisplay").html(f).show()}a.slideNavBar?b("#imageData").slideDown(a.navBarSlideSpeed):b("#imageData").show();f=n();b("#overlay").height(f[1]);v();if(a.loopImages&&
a.imageArray.length>1){preloadNextImage=new Image;preloadNextImage.src=a.imageArray[a.activeImage==a.imageArray.length-1?0:a.activeImage+1][0];preloadPrevImage=new Image;preloadPrevImage.src=a.imageArray[a.activeImage==0?a.imageArray.length-1:a.activeImage-1][0]}else{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]}}a.inprogress=
false})});if(hDiff==0&&wDiff==0)jQuery.browser.msie?o(250):o(100);b("#prevLink").height(d);b("#nextLink").height(d)}function v(){if(a.imageArray.length>1){b("#hoverNav").show();if(a.loopImages){b("#prevLink,#prevLinkText").show().click(function(){g(a.activeImage==0?a.imageArray.length-1:a.activeImage-1);return false});b("#nextLink,#nextLinkText").show().click(function(){g(a.activeImage==a.imageArray.length-1?0:a.activeImage+1);return false})}else{a.activeImage!=0&&b("#prevLink,#prevLinkText").show().click(function(){g(a.activeImage-
1);return false});a.activeImage!=a.imageArray.length-1&&b("#nextLink,#nextLinkText").show().click(function(){g(a.activeImage+1);return false})}b(document).bind("keydown",{opts:a},w)}}function w(c){var d=c.data.opts;c=c.keyCode;var e=String.fromCharCode(c).toLowerCase();if(e=="x"||e=="o"||e=="c"||c==27)h();else if(e=="p"||c==37)if(d.loopImages){k();g(d.activeImage==0?d.imageArray.length-1:d.activeImage-1)}else{if(d.activeImage!=0){k();g(d.activeImage-1)}}else if(e=="n"||c==39)if(a.loopImages){k();
g(d.activeImage==d.imageArray.length-1?0:d.activeImage+1)}else if(d.activeImage!=d.imageArray.length-1){k();g(d.activeImage+1)}}function k(){b(document).unbind("keydown")}var a=b.extend({},b.fn.lightbox.defaults,m);return this.each(function(){b(this).click(function(){l();q(this);return false})})};b.fn.lightbox.parseJsonData=function(m){var l=[];b.each(m,function(){l.push(new Array(this.url,this.title))});return l};b.fn.lightbox.defaults={fileLoadingImage:"images/loading.gif",fileBottomNavCloseImage:"images/closelabel.gif",
overlayOpacity:0.8,borderSize:10,imageArray:[],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);