/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */
(function(a){a.fn.lightBox=function(b){function r(a){var b=new Date;c=null;do{var c=new Date}while(c-b<a)}function q(){var a,b;if(self.pageYOffset){b=self.pageYOffset;a=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){b=document.documentElement.scrollTop;a=document.documentElement.scrollLeft}else if(document.body){b=document.body.scrollTop;a=document.body.scrollLeft}arrayPageScroll=new Array(a,b);return arrayPageScroll}function p(){var a,b;if(window.innerHeight&&window.scrollMaxY){a=window.innerWidth+window.scrollMaxX;b=window.innerHeight+window.scrollMaxY}else if(document.body.scrollHeight>document.body.offsetHeight){a=document.body.scrollWidth;b=document.body.scrollHeight}else{a=document.body.offsetWidth;b=document.body.offsetHeight}var c,d;if(self.innerHeight){if(document.documentElement.clientWidth){c=document.documentElement.clientWidth}else{c=self.innerWidth}d=self.innerHeight}else if(document.documentElement&&document.documentElement.clientHeight){c=document.documentElement.clientWidth;d=document.documentElement.clientHeight}else if(document.body){c=document.body.clientWidth;d=document.body.clientHeight}if(b<d){pageHeight=d}else{pageHeight=b}if(a<c){pageWidth=a}else{pageWidth=c}arrayPageSize=new Array(pageWidth,pageHeight,c,d);return arrayPageSize}function o(){a("#jquery-lightbox").remove();a("#jquery-overlay").fadeOut(function(){a("#jquery-overlay").remove()});a("embed, object, select").css({visibility:"visible"})}function n(){if(b.imageArray.length-1>b.activeImage){objNext=new Image;objNext.src=b.imageArray[b.activeImage+1][0]}if(b.activeImage>0){objPrev=new Image;objPrev.src=b.imageArray[b.activeImage-1][0]}}function m(a){if(a==null){keycode=event.keyCode;escapeKey=27}else{keycode=a.keyCode;escapeKey=a.DOM_VK_ESCAPE}key=String.fromCharCode(keycode).toLowerCase();if(key==b.keyToClose||key=="x"||keycode==escapeKey){o()}if(key==b.keyToPrev||keycode==37){if(b.activeImage!=0){b.activeImage=b.activeImage-1;g();l()}}if(key==b.keyToNext||keycode==39){if(b.activeImage!=b.imageArray.length-1){b.activeImage=b.activeImage+1;g();l()}}}function l(){a(document).unbind()}function k(){a(document).keydown(function(a){m(a)})}function j(){a("#lightbox-nav").show();a("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({background:"transparent url("+b.imageBlank+") no-repeat"});if(b.activeImage!=0){if(b.fixedNavigation){a("#lightbox-nav-btnPrev").css({background:"url("+b.imageBtnPrev+") left 15% no-repeat"}).unbind().bind("click",function(){b.activeImage=b.activeImage-1;g();return false})}else{a("#lightbox-nav-btnPrev").unbind().hover(function(){a(this).css({background:"url("+b.imageBtnPrev+") left 15% no-repeat"})},function(){a(this).css({background:"transparent url("+b.imageBlank+") no-repeat"})}).show().bind("click",function(){b.activeImage=b.activeImage-1;g();return false})}}if(b.activeImage!=b.imageArray.length-1){if(b.fixedNavigation){a("#lightbox-nav-btnNext").css({background:"url("+b.imageBtnNext+") right 15% no-repeat"}).unbind().bind("click",function(){b.activeImage=b.activeImage+1;g();return false})}else{a("#lightbox-nav-btnNext").unbind().hover(function(){a(this).css({background:"url("+b.imageBtnNext+") right 15% no-repeat"})},function(){a(this).css({background:"transparent url("+b.imageBlank+") no-repeat"})}).show().bind("click",function(){b.activeImage=b.activeImage+1;g();return false})}}k()}function i(){a("#lightbox-loading").hide();a("#lightbox-image").fadeIn(function(){});n()}function h(c,d){var e=a(window).width()/4*3;var f=a(window).height()/4*3;var g=a("#lightbox-container-image-box").width();var h=a("#lightbox-container-image-box").height();var j=c+b.containerBorderSize*2;var k=d+b.containerBorderSize*2;var l=g-j;var m=h-k;if(c>d){a("#lightbox-image").css("width",e-b.containerBorderSize*2);a("#lightbox-container-image-box").animate({width:e,height:e/j*k},b.containerResizeSpeed,function(){i()})}else if(d>c){a("#lightbox-image").css("height",f-b.containerBorderSize*2);a("#lightbox-container-image-box").animate({width:f/k*j,height:f},b.containerResizeSpeed,function(){i()})}if(l==0&&m==0){if(a.browser.msie){r(250)}else{r(100)}}a("#lightbox-container-image-data-box").css({width:c});a("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({height:d+b.containerBorderSize*2})}function g(){a("#lightbox-loading").show();if(b.fixedNavigation){a("#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide()}else{a("#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide()}var c=new Image;c.onload=function(){a("#lightbox-image").attr("src",b.imageArray[b.activeImage][0]);h(c.width,c.height);c.onload=function(){}};c.src=b.imageArray[b.activeImage][0]}function f(){a("body").append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+b.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+b.imageBtnClose+'"></a></div></div></div></div>');var c=p();a("#jquery-overlay").css({backgroundColor:b.overlayBgColor,opacity:b.overlayOpacity,width:c[0],height:c[1]}).fadeIn();var d=q();a("#jquery-lightbox").css({top:d[1]+c[3]/10,left:d[0]}).show();a("#jquery-overlay,#jquery-lightbox").click(function(){o()});a("#lightbox-loading-link,#lightbox-secNav-btnClose").click(function(){o();return false});a(window).resize(function(){var b=p();a("#jquery-overlay").css({width:b[0],height:b[1]});var c=q();a("#jquery-lightbox").css({top:c[1]+b[3]/10,left:c[0]})})}function e(c,d){a("embed, object, select").css({visibility:"hidden"});f();b.imageArray.length=0;b.activeImage=0;if(d.length==1){b.imageArray.push(new Array(c.getAttribute("href"),c.getAttribute("title")))}else{for(var e=0;e<d.length;e++){b.imageArray.push(new Array(d[e].getAttribute("href"),d[e].getAttribute("title")))}}while(b.imageArray[b.activeImage][0]!=c.getAttribute("href")){b.activeImage++}g()}function d(){e(this,c);return false}b=jQuery.extend({overlayBgColor:"#000",overlayOpacity:.8,fixedNavigation:false,imageLoading:"/application/assets/images/lightbox/lightbox-ico-loading.gif",imageBtnPrev:"/application/assets/images/lightbox/lightbox-btn-prev.gif",imageBtnNext:"/application/assets/images/lightbox/lightbox-btn-next.gif",imageBtnClose:"/application/assets/images/lightbox/lightbox-btn-close.png",imageBlank:"/application/assets/images/lightbox/lightbox-blank.gif",containerBorderSize:10,containerResizeSpeed:400,txtImage:"Image",txtOf:"of",keyToClose:"c",keyToPrev:"p",keyToNext:"n",imageArray:[],activeImage:0},b);var c=this;return this.unbind("click").click(d)}})(jQuery)
