(function($){$.fn.swImageGallery=function(settings){settings=jQuery.extend({imageLoading:'/images/icons/loading.gif',imageArray:[],imgCanvasPath:'.swImageGallery_Image',selectedLinkClass:'swImageGallery_Sel',activeImage:0,onBeforeSwitch:null,onAfterSwitch:null},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;};function _start(objClicked,jQueryMatchedObj){if(settings.imageArray.length<=0){_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'),objClicked.getAttribute('id')));objClicked.setAttribute('id','swIG_0');}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'),jQueryMatchedObj[i].getAttribute('id')));jQueryMatchedObj[i].setAttribute('id','swIG_'+i);}}}if(settings.onBeforeSwitch)settings.onBeforeSwitch.call(this,settings);jQueryMatchedObj.removeClass(settings.selectedLinkClass);for(var i=0;i<settings.imageArray.length;i++){if(settings.imageArray[i][0]==objClicked.getAttribute('href')){settings.activeImage=i;$('#swIG_'+i).addClass(settings.selectedLinkClass);break;}}_set_image_to_view();};function _set_interface(){if($('#swImageGallery-loading').length==0)$('body').append('<div id="swImageGallery-loading" style="display:none;"><img src="'+settings.imageLoading+'"></div>');var offset=$(settings.imgCanvasPath).parent().offset();$('#swImageGallery-loading').css({position:'absolute',top:offset.top+($(settings.imgCanvasPath).parent().height()/2)-($('#swImageGallery-loading').height()/2),left:offset.left+($(settings.imgCanvasPath).parent().width()/2)});};function _set_image_to_view(){$('#swImageGallery-loading').show();$(settings.imgCanvasPath).hide();var objImagePreloader=new Image();objImagePreloader.onload=function(){$(settings.imgCanvasPath).attr('src',settings.imageArray[settings.activeImage][0]);$(settings.imgCanvasPath).fadeIn('normal');objImagePreloader.onload=function(){};$('#swImageGallery-loading').hide();if(settings.onAfterSwitch)settings.onAfterSwitch.call(this,settings);_preload_neighbor_images();};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};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];}};return this.unbind('click').click(_initialize);};})(jQuery);