(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:"#000",overlayOpacity:0.8,fixedNavigation:false,imageLoading:"../_assets/presentation/lightbox/lightbox-ico-loading.gif",imageBtnPrev:"../_assets/presentation/lightbox/lightbox-btn-prev.gif",imageBtnNext:"../_assets/presentation/lightbox/lightbox-btn-next.gif",imageBtnClose:"../_assets/presentation/lightbox/lightbox-btn-close.gif",imageBlank:"../_assets/presentation/lightbox/lightbox-blank.gif",containerBorderSize:10,containerResizeSpeed:800,txtImage:"Aarron Painter Portfolio - Sample ",txtOf:"of",keyToClose:"c",keyToPrev:"p",keyToNext:"n",imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false}function _start(objClicked,jQueryMatchedObj){$("embed, object, select").css({visibility:"hidden"});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute("href"),objClicked.getAttribute("title")))}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute("href"),jQueryMatchedObj[i].getAttribute("title")))}}while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute("href")){settings.activeImage++}_set_image_to_view()}function _set_interface(){$("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="../../behaviour/'+settings.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="../../behaviour/'+settings.imageBtnClose+'"></a></div>--></div></div></div>');var arrPageSizes=___getPageSize();$("#jquery-overlay").css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$("#jquery-lightbox").css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$("#jquery-overlay,#jquery-lightbox").click(function(){_finish()});$("#lightbox-loading-link,#lightbox-secNav-btnClose").click(function(){_finish();return false});$(window).resize(function(){var arrPageSizes=___getPageSize();$("#jquery-overlay").css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$("#jquery-lightbox").css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]})})}function _set_image_to_view(){$("#lightbox-loading").show();if(settings.fixedNavigation){$("#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide()}else{$("#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide()}var objImagePreloader=new Image();objImagePreloader.onload=function(){$("#lightbox-image").attr("src",settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){}};objImagePreloader.src=settings.imageArray[settings.activeImage][0]}function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$("#lightbox-container-image-box").width();var intCurrentHeight=$("#lightbox-container-image-box").height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$("#lightbox-container-image-box").animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image()});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250)}else{___pause(100)}}$("#lightbox-container-image-data-box").css({width:intImageWidth});$("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({height:intImageHeight+(settings.containerBorderSize*2)})}function _show_image(){$("#lightbox-loading").hide();$("#lightbox-image").fadeIn(function(){_show_image_data();_set_navigation()});_preload_neighbor_images()}function _show_image_data(){$("#lightbox-container-image-data-box").slideDown("fast");$("#lightbox-image-details-caption").hide();if(settings.imageArray[settings.activeImage][1]){$("#lightbox-image-details-caption").html(settings.imageArray[settings.activeImage][1]).show()}if(settings.imageArray.length>1){$("#lightbox-image-details-currentNumber").html(settings.txtImage+" "+(settings.activeImage+1)+" "+settings.txtOf+" "+settings.imageArray.length).show()}}function _set_navigation(){$("#lightbox-nav").show();$("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({background:"transparent url("+settings.imageBlank+") no-repeat"});if(settings.activeImage!=0){if(settings.fixedNavigation){$("#lightbox-nav-btnPrev").css({background:"url("+settings.imageBtnPrev+") left 15% no-repeat"}).unbind().bind("click",function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false})}else{$("#lightbox-nav-btnPrev").unbind().hover(function(){$(this).css({background:"url("+settings.imageBtnPrev+") left 15% no-repeat"})},function(){$(this).css({background:"transparent url("+settings.imageBlank+") no-repeat"})}).show().bind("click",function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false})}}if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$("#lightbox-nav-btnNext").css({background:"url("+settings.imageBtnNext+") right 15% no-repeat"}).unbind().bind("click",function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false})}else{$("#lightbox-nav-btnNext").unbind().hover(function(){$(this).css({background:"url("+settings.imageBtnNext+") right 15% no-repeat"})},function(){$(this).css({background:"transparent url("+settings.imageBlank+") no-repeat"})}).show().bind("click",function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false})}}_enable_keyboard_navigation()}function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent)})}function _disable_keyboard_navigation(){$(document).unbind()}function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE}key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=="x")||(keycode==escapeKey)){_finish()}if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation()}}if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation()}}}function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0]}if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0]}}function _finish(){$("#jquery-lightbox").remove();$("#jquery-overlay").fadeOut(function(){$("#jquery-overlay").remove()});$("embed, object, select").css({visibility:"visible"})}function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight}}var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth}else{windowWidth=self.innerWidth}windowHeight=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight}else{if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight}}}if(yScroll<windowHeight){pageHeight=windowHeight}else{pageHeight=yScroll}if(xScroll<windowWidth){pageWidth=xScroll}else{pageWidth=windowWidth}arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize}function ___getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft}else{if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft}}}arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll}function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date()}while(curDate-date<ms)}return this.unbind("click").click(_initialize)}})(jQuery);