(function($){var ver='ParadeGallery 0.3';jQuery.fn.paradeGallery=function(images,options){var allImages=images;var pagers=null;var container=$(this);var settings=jQuery.extend(true,{},$.fn.paradeGallery.defaults,options);var index=0;var isLoading=false;var currentlyLoading=[];var loader;var isPlaying=false;var slideshowInterval;this.loadGallery=function(images,newPagers){if(images!=allImages){index=0;allImages=images;settings.pagers=newPagers;activatePagers();displayImage()};return allImages};return this.each(function(){var $this=$(this);holder=$(this);initGallery();displayImage();$(settings.next).click(function(){getNextImage();return false});$(settings.prev).click(function(){getPrevImage();return false});$(settings.playToggle).click(function(){toggleSlideshow();return false});if(settings.keyboardShortcuts){$(document).keyup(function(e){switch(e.which){case 83:case 32:toggleSlideshow();break;case 37:case 188:getPrevImage();break;case 39:case 190:getNextImage();break;default:break}})}});function getNextImage(){if(index<allImages.length-1){index++}else{index=0};displayImage()};function getPrevImage(){if(index>0){index--}else{index=allImages.length-1};displayImage()};function goToImage(i){if(i>=0&&i<allImages.length){index=i;displayImage()}};function startSlideshow(){isPlaying=true;startTimer();settings.startSlideshow.call(slideshowInterval)};function stopSlideshow(){isPlaying=false;pauseTimer();settings.stopSlideshow.call(slideshowInterval)};function toggleSlideshow(){if(isPlaying){stopSlideshow()}else{startSlideshow()}};function startTimer(){slideshowInterval=setInterval(getNextImage,settings.timeout)};function pauseTimer(){clearInterval(slideshowInterval)};function cancelLoad(){for(var i in currentlyLoading){$(currentlyLoading[i]).unbind('load');currentlyLoading.shift()}};function displayImage(){if(isPlaying){pauseTimer()};if(currentlyLoading.length){cancelLoad()};var o=allImages[index];var nextImage=$('<img />');currentlyLoading.unshift(nextImage);nextImage.load(function(){var obj=$(this);currentlyLoading.splice(jQuery.inArray(obj,currentlyLoading),1);if($(holder).children('img').length){$(holder).children('img').fadeOut(settings.speed,function(){$(this).remove();showImage(obj)})}else{showImage(obj)};if(settings.autoCenter){obj.css({position:'absolute',top:'50%',left:'50%',marginTop:obj.attr('height')/(-2)+'px',marginLeft:obj.attr('width')/(-2)+'px'})};if(pagers.length){pagers.removeClass(settings.activeClass);$(pagers[index]).addClass(settings.activeClass)}}).error(function(){}).attr({src:o.path,height:o.height,width:o.width,alt:o.title});if(settings.disableRightClick)nextImage.bind('contextmenu',function(){return false});settings.before.call(nextImage,index);loader.show()};function showImage(obj){loader.hide();settings.startFadeIn.call(obj,index);obj.hide().appendTo(holder).fadeIn(settings.speed,function(){settings.after.call(obj,index);if(isPlaying)startTimer()})};function getLargestDimensions(){var height=0;var width=0;for(var i=0;i<allImages.length;i++){if(allImages[i].height>height)height=allImages[i].height;if(allImages[i].width>width)width=allImages[i].width};return{width:width,height:height}};function initGallery(){loader=$('<div>').append($('<img/>').attr({src:settings.loaderImage})).css(settings.loaderCss).hide().appendTo(holder);holder.css(settings.containerCss);if(holder.height()==0){var height=getLargestDimensions().height;if(height!=0&&height!=null){holder.css('height',height+'px')}};activatePagers();if(settings.autoStart)startSlideshow()};function activatePagers(){pagers=$(settings.pagers);if(pagers.length){for(var i=0;i<pagers.length;i++){$(pagers[i]).attr('rel',i)};pagers.click(function(){goToImage($(this).attr('rel'))}).css(settings.pagerCss)}}};$.fn.paradeGallery.ver=function(){return ver};$.fn.paradeGallery.defaults={next:'#next',prev:'#prev',pagers:'#thumbs li',playToggle:'#slideshow',speed:400,timeout:2500,autoStart:false,activeClass:'activePager',loaderImage:'loading.gif',autoCenter:true,keyboardShortcuts:true,containerCss:{position:'relative',overflow:'hidden'},loaderCss:{position:'absolute',top:'50%',left:'50%',margin:'-8px 0 0 -8px',zIndex:'99'},pagerCss:{cursor:'pointer'},disableRightClick:true,debug:false,before:function(){},after:function(){},startFadeIn:function(){},startSlideshow:function(){},stopSlideshow:function(){}}})(jQuery);
