/*
 * 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($){
/*
    * $ is an alias to jQuery object
    *
    */
$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:"#000",overlayOpacity:0.5,heightClose:22,minImageWidth:300,fixedNavigation:false,imagePathName:request_uri,imageLoading:"images/lightbox/lightbox-ico-loading.gif",imageBtnPrev:"images/lightbox/lightbox-btn-prev.gif",imageBtnNext:"images/lightbox/lightbox-btn-next.gif",imageBtnClose:"images/lightbox/_zamknij.gif",imageBlank:"images/lightbox/lightbox-blank.gif",containerBorderSize:10,containerResizeSpeed:400,txtImage:"Zdjęcie",txtOf:"z",keyToClose:"c",keyToPrev:"p",keyToNext:"n",imageArray:[],activeImage:0,
/* Dodano. W.Wezdecki */
isImage:true,myWidth:600,myHeight:600,myHTML:"",callback:null,cbackobject:null,is_clicked:true},settings);var jQueryMatchedObj=this;
/*
        * Initializing the plugin calling the start function
        *
        * @return boolean false
        */
function _initialize(){if(settings.imageBtnClose.substr(0,settings.imagePathName.length)!=settings.imagePathName){settings.imageLoading=settings.imagePathName+settings.imageLoading;settings.imageBtnPrev=settings.imagePathName+settings.imageBtnPrev;settings.imageBtnNext=settings.imagePathName+settings.imageBtnNext;settings.imageBtnClose=settings.imagePathName+settings.imageBtnClose;settings.imageBlank=settings.imagePathName+settings.imageBlank}_start(this,jQueryMatchedObj);return false}
/*
        * Start the jQuery lightBox plugin
        *
        * @param object objClicked The object (link) whick the user have clicked
        * @param object jQueryMatchedObj The jQuery object with all elements matched
        */
function _start(objClicked,jQueryMatchedObj){_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(settings.isImage){if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute("href"),objClicked.getAttribute("lightboxTitle")))}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute("href"),jQueryMatchedObj[i].getAttribute("lightboxTitle")))}}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-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><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div><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="'+settings.imageLoading+'"></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();var obj="#jquery-overlay,#jquery-lightbox";if(!settings.isImage){obj="#jquery-overlay"}$(obj).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]})})}
/*
        * Prepares image exibition; doing a image´s preloader to calculate it´s size
        *
        */
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()}if(settings.isImage){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]}else{$("#lightbox-container-image").html($.setDIV({id:"lightbox-image",html:+settings.myHTML}));if(settings.callback){eval(settings.callback)}_resize_container_image_box(settings.myWidth,settings.myHeight)}}
/*
        * Perfomance an effect in the image container resizing it
        *
        * @param integer intImageWidth The image´s width that will be showed
        * @param integer intImageHeight The image´s height that will be showed
        */
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)+settings.heightClose);var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;if(intWidth<settings.minImageWidth){intWidth=(settings.minImageWidth+(settings.containerBorderSize*2))}$("#lightbox-container-image-box").animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image()});if((intDiffW==0)&&(intDiffH==0)){___pause(($.browser.msie?250:100))}$("#lightbox-container-image-data-box").css({width:(intImageWidth<settings.minImageWidth?settings.minImageWidth:intImageWidth)});if(!settings.isImage){$("#lightbox-container-image-data-box").css({height:"22px"})}$("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({height:intImageHeight+(settings.containerBorderSize*2)-settings.heightClose,"margin-top":settings.heightClose+"px"})}
/*
        * Show the prepared image
        *
        */
function _show_image(){$("#lightbox-loading").hide();$("#lightbox-image").fadeIn(function(){_show_image_data();if(settings.isImage){_set_navigation()}});if(settings.isImage){_preload_neighbor_images()}else{if(settings.cbackobject!=null){var bimg=$(settings.cbackobject).getposition();var cimg=$("#jquery-lightbox").getposition();settings.myHeight=bimg.top+bimg.height-cimg.top+10;$("#lightbox-container-image-box").css({height:settings.myHeight})}}}
/*
        * Show the image information
        *
        */
function _show_image_data(){$("#lightbox-container-image-data-box").slideDown("fast");if(settings.isImage){$("#lightbox-image-details-caption").hide();if(settings.imageArray[settings.activeImage][1]){var myTemp=settings.imageArray[settings.activeImage][1];if(settings.imageArray.length>1){myTemp+=" ("+settings.txtImage+" "+(settings.activeImage+1)+" "+settings.txtOf+" "+settings.imageArray.length+")"}$("#lightbox-image-details-caption").html(myTemp).show()}}}
/*
        * Display the button navigations
        *
        */
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()}
/*
        * Enable a support to keyboard navigation
        *
        */
function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent)})}
/*
        * Disable the support to keyboard navigation
        *
        */
function _disable_keyboard_navigation(){$(document).unbind()}
/*
        * Perform the keyboard actions
        *
        */
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()}}}
/*
        * Preload prev and next images being showed
        *
        */
function _preload_neighbor_images(){if(settings.isImage){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]}}}
/*
        * Remove jQuery lightBox plugin HTML markup
        *
        */
function _finish(){$("#jquery-lightbox").remove();$("#jquery-overlay").fadeOut(function(){$("#jquery-overlay").remove()});$("embed, object, select").css({visibility:"visible"})}
/*
        * Stop the code execution from a escified time in milisecond
        *
        */
function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date()}while(curDate-date<ms)}if(settings.is_clicked){return this.unbind("click").click(_initialize)}else{_initialize()}}})(jQuery);
