(function($){
var _2;
$.fn.lightbox=function(_3){
_2=$.extend({},$.fn.lightbox.defaults,_3);
$.fn.lightbox.initialize();
return this.each(function(){
$(this).click(function(){
$(this).lightbox.start(this);
return false;
});
});
};
$.fn.lightbox.initialize=function(){
$("#overlay").remove();
$("#lightbox").remove();
_2.inprogress=false;
var _4="<div id=\"outerImageContainer\"><div id=\"imageContainer\"><img id=\"lightboxImage\"><div id=\"hoverNav\"><a href=\"javascript://\" title=\""+_2.strings.prevLinkTitle+"\" id=\"prevLink\"></a><a href=\"javascript://\" id=\"nextLink\" title=\""+_2.strings.nextLinkTitle+"\"></a></div><div id=\"loading\"><a href=\"javascript://\" id=\"loadingLink\"><img src=\""+_2.fileLoadingImage+"\"></a></div></div></div>";
var _5="<div id=\"imageDataContainer\" class=\"clearfix\"><div id=\"imageData\"><div id=\"imageDetails\"><span id=\"caption\"></span><span id=\"numberDisplay\"></span></div><div id=\"bottomNav\">";
if(_2.displayHelp){
_5+="<span id=\"helpDisplay\">"+_2.strings.help+"</span>";
}
_5+="<a href=\"javascript://\" id=\"bottomNavClose\" title=\""+_2.strings.closeTitle+"\"><img src=\""+_2.fileBottomNavCloseImage+"\"></a></div></div></div>";
var _6;
if(_2.navbarOnTop){
_6="<div id=\"overlay\"></div><div id=\"lightbox\">"+_5+_4+"</div>";
$("body").append(_6);
$("#imageDataContainer").addClass("ontop");
}else{
_6="<div id=\"overlay\"></div><div id=\"lightbox\">"+_4+_5+"</div>";
$("body").append(_6);
}
$("#overlay").click(function(){
$.fn.lightbox.end();
}).hide();
$("#lightbox").click(function(){
$.fn.lightbox.end();
}).hide();
$("#loadingLink").click(function(){
$.fn.lightbox.end();
return false;
});
$("#bottomNavClose").click(function(){
$.fn.lightbox.end();
return false;
});
$("#outerImageContainer").width(_2.widthCurrent).height(_2.heightCurrent);
$("#imageDataContainer").width(_2.widthCurrent);
};
$.fn.lightbox.getPageSize=function(){
var _7,_8;
if(window.innerHeight&&window.scrollMaxY){
_7=window.innerWidth+window.scrollMaxX;
_8=window.innerHeight+window.scrollMaxY;
}else{
if(document.body.scrollHeight>document.body.offsetHeight){
_7=document.body.scrollWidth;
_8=document.body.scrollHeight;
}else{
_7=document.body.offsetWidth;
_8=document.body.offsetHeight;
}
}
var _9,_a;
if(self.innerHeight){
if(document.documentElement.clientWidth){
_9=document.documentElement.clientWidth;
}else{
_9=self.innerWidth;
}
_a=self.innerHeight;
}else{
if(document.documentElement&&document.documentElement.clientHeight){
_9=document.documentElement.clientWidth;
_a=document.documentElement.clientHeight;
}else{
if(document.body){
_9=document.body.clientWidth;
_a=document.body.clientHeight;
}
}
}
if(_8<_a){
pageHeight=_a;
}else{
pageHeight=_8;
}
if(_7<_9){
pageWidth=_7;
}else{
pageWidth=_9;
}
var _b=new Array(pageWidth,pageHeight,_9,_a);
return _b;
};
$.fn.lightbox.getPageScroll=function(){
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;
}
}
}
var _e=new Array(_c,_d);
return _e;
};
$.fn.lightbox.pause=function(ms){
var _10=new Date();
var _11=null;
do{
_11=new Date();
}while(_11-_10<ms);
};
$.fn.lightbox.start=function(_12){
$("select, embed, object").hide();
var _13=$.fn.lightbox.getPageSize();
$("#overlay").hide().css({width:"100%",height:_13[1]+"px",opacity:_2.overlayOpacity}).fadeIn();
_2.imageArray=[];
imageNum=0;
var _14=document.getElementsByTagName(_12.tagName);
if(!_12.rel||(_12.rel=="")){
_2.imageArray.push(new Array(_12.href,_2.displayTitle?_12.title:""));
}else{
$("a").each(function(){
if(this.href&&(this.rel==_12.rel)){
_2.imageArray.push(new Array(this.href,_2.displayTitle?this.title:""));
}
});
for(i=0;i<_2.imageArray.length;i++){
for(j=_2.imageArray.length-1;j>i;j--){
if(_2.imageArray[i][0]==_2.imageArray[j][0]){
_2.imageArray.splice(j,1);
}
}
}
while(_2.imageArray[imageNum][0]!=_12.href){
imageNum++;
}
}
var _15=$.fn.lightbox.getPageScroll();
var _16=_15[1]+(_13[3]/10);
var _17=_15[0];
$("#lightbox").css({top:_16+"px",left:_17+"px"}).show();
if(!_2.slideNavBar){
$("#imageData").hide();
}
$.fn.lightbox.changeImage(imageNum);
};
$.fn.lightbox.changeImage=function(_18){
if(_2.inprogress==false){
_2.inprogress=true;
_2.activeImage=_18;
$("#loading").show();
$("#lightboxImage").hide();
$("#hoverNav").hide();
$("#prevLink").hide();
$("#nextLink").hide();
if(_2.slideNavBar){
$("#imageDataContainer").hide();
$("#imageData").hide();
$.fn.doChangeImage();
}else{
$.fn.doChangeImage();
}
}
};
$.fn.doChangeImage=function(){
imgPreloader=new Image();
imgPreloader.onload=function(){
var _19=imgPreloader.width;
var _1a=imgPreloader.height;
if(_2.fitToScreen){
var _1b=$.fn.lightbox.getPageSize();
var _1c;
var _1d=_1b[2]-2*_2.borderSize;
var _1e=_1b[3]-200;
if(imgPreloader.height>_1e){
_19=parseInt((_1e/imgPreloader.height)*imgPreloader.width);
_1a=_1e;
}else{
if(imgPreloader.width>_1d){
_1a=parseInt((_1d/imgPreloader.width)*imgPreloader.height);
_19=_1d;
}
}
}
$("#lightboxImage").attr("src",_2.imageArray[_2.activeImage][0]).width(_19).height(_1a);
$.fn.lightbox.resizeImageContainer(_19,_1a);
};
imgPreloader.src=_2.imageArray[_2.activeImage][0];
};
$.fn.lightbox.end=function(){
$.fn.lightbox.disableKeyboardNav();
$("#lightbox").hide();
$("#overlay").fadeOut();
$("select, object, embed").show();
};
$.fn.lightbox.preloadNeighborImages=function(){
if((_2.imageArray.length-1)>_2.activeImage){
preloadNextImage=new Image();
preloadNextImage.src=_2.imageArray[_2.activeImage+1][0];
}
if(_2.activeImage>0){
preloadPrevImage=new Image();
preloadPrevImage.src=_2.imageArray[_2.activeImage-1][0];
}
};
$.fn.lightbox.keyboardAction=function(e){
if(e==null){
var _20=event.keyCode;
var _21=27;
}else{
var _20=e.keyCode;
var _21=e.DOM_VK_ESCAPE;
}
var key=String.fromCharCode(_20).toLowerCase();
if((key=="x")||(key=="o")||(key=="c")||(_20==_21)){
$.fn.lightbox.end();
}else{
if((key=="p")||(_20==37)){
if(_2.activeImage!=0){
$.fn.lightbox.disableKeyboardNav();
if((((_2.activeImage)%blockTotal)==0)&&(_2.activeImage>1)){
swapBlock((curBlock-1),curBlock);
}
$.fn.lightbox.changeImage(_2.activeImage-1);
}
}else{
if((key=="n")||(_20==39)){
if(_2.activeImage!=(_2.imageArray.length-1)){
$.fn.lightbox.disableKeyboardNav();
if((((_2.activeImage+1)%blockTotal)==0)&&(_2.activeImage<numImages)){
swapBlock((curBlock+1),curBlock);
}
$.fn.lightbox.changeImage(_2.activeImage+1);
}
}
}
}
};
$.fn.lightbox.resizeImageContainer=function(_23,_24){
_2.widthCurrent=document.getElementById("outerImageContainer").offsetWidth;
_2.heightCurrent=document.getElementById("outerImageContainer").offsetHeight;
var _25=(_23+(_2.borderSize*2));
var _26=(_24+(_2.borderSize*2));
_2.xScale=(_25/_2.widthCurrent)*100;
_2.yScale=(_26/_2.heightCurrent)*100;
wDiff=_2.widthCurrent-_25;
hDiff=_2.heightCurrent-_26;
$("#imageDataContainer").animate({width:_25},_2.resizeSpeed,"linear");
$("#outerImageContainer").animate({width:_25},_2.resizeSpeed,"linear",function(){
$("#outerImageContainer").animate({height:_26},_2.resizeSpeed,"linear",function(){
$.fn.lightbox.showImage();
});
});
if((hDiff==0)&&(wDiff==0)){
if(jQuery.browser.msie){
$.fn.lightbox.pause(250);
}else{
$.fn.lightbox.pause(100);
}
}
$("#prevLink").height(_24);
$("#nextLink").height(_24);
};
$.fn.lightbox.showImage=function(){
$("#loading").hide();
$("#lightboxImage").fadeIn("fast");
$.fn.lightbox.updateDetails();
$.fn.lightbox.preloadNeighborImages();
_2.inprogress=false;
};
$.fn.lightbox.updateDetails=function(){
$("#numberDisplay").html("");
if(_2.imageArray[_2.activeImage][1]){
$("#caption").html(_2.imageArray[_2.activeImage][1]).show();
}
if(_2.imageArray.length>1){
var _27;
_27=_2.strings.image+(_2.activeImage+1)+_2.strings.of+_2.imageArray.length;
$("#numberDisplay").html(_27).show();
}
if(_2.slideNavBar){
$("#imageData").slideDown(_2.navBarSlideSpeed);
}else{
$("#imageData").show();
}
var _28=$.fn.lightbox.getPageSize();
$("#overlay").height(_28[1]);
$.fn.lightbox.updateNav();
};
$.fn.lightbox.updateNav=function(){
if(_2.imageArray.length>1){
$("#hoverNav").show();
if(_2.activeImage!=0){
$("#prevLink,#prevLinkText").show().click(function(){
if((((_2.activeImage)%blockTotal)==0)&&(_2.activeImage>1)&&_2.inprogress==false){
swapBlock((curBlock-1),curBlock);
}
$.fn.lightbox.changeImage(_2.activeImage-1);
return false;
});
}
if(_2.activeImage!=(_2.imageArray.length-1)){
$("#nextLink,#nextLinkText").show().click(function(){
if((((_2.activeImage+1)%blockTotal)==0)&&((_2.activeImage-1)<numImages)&&_2.inprogress==false){
swapBlock((curBlock+1),curBlock);
}
$.fn.lightbox.changeImage(_2.activeImage+1);
return false;
});
}
$.fn.lightbox.enableKeyboardNav();
}
};
$.fn.lightbox.enableKeyboardNav=function(){
document.onkeydown=$.fn.lightbox.keyboardAction;
};
$.fn.lightbox.disableKeyboardNav=function(){
document.onkeydown="";
};
$.fn.lightbox.defaults={fileLoadingImage:"lightbox/images/loading.gif",fileBottomNavCloseImage:"lightbox/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:" ? / P - previous image????? / N - next image????ESC / 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};
})(jQuery);


