var gallery={initialize:function(element,options){this.setOptions({showArrows:true,showCarousel:true,showInfopane:true,embedLinks:true,fadeDuration:500,timed:false,delay:9000,preloader:true,preloaderImage:true,preloaderErrorImage:true,manualData:[],populateFrom:false,populateData:true,destroyAfterPopulate:true,elementSelector:"div.imageElement",titleSelector:"h2",subtitleSelector:"p",linkSelector:"a.open",imageSelector:"img.full",thumbnailSelector:"img.thumbnail",defaultTransition:'fade',slideInfoZoneOpacity:0.7,slideInfoZoneSlide:true,carouselMinimizedOpacity:0.4,carouselMinimizedHeight:20,carouselMaximizedOpacity:0.9,thumbHeight:75,thumbWidth:100,thumbSpacing:10,thumbIdleOpacity:0.6,textShowCarousel:'Featured Content',showCarouselLabel:true,thumbCloseCarousel:true,useThumbGenerator:false,thumbGenerator:'resizer.php',useExternalCarousel:false,carouselElement:false,carouselHorizontal:true,activateCarouselScroller:true,carouselPreloader:true,textPreloadingCarousel:'Loading...',baseClass:'jdGallery',withArrowsClass:'withArrows',useHistoryManager:false,customHistoryKey:false},options);this.fireEvent('onInit');this.currentIter=0;this.lastIter=0;this.maxIter=0;this.galleryElement=element;this.galleryData=this.options.manualData;this.galleryInit=1;this.galleryElements=Array();this.thumbnailElements=Array();this.galleryElement.addClass(this.options.baseClass);this.populateFrom=element;if(this.options.populateFrom)this.populateFrom=this.options.populateFrom;if(this.options.populateData)this.populateData();element.style.display="block";if(this.options.useHistoryManager)this.initHistory();if(this.options.embedLinks){this.currentLink=new Element('a').addClass('open').setProperties({href:'#',title:''}).injectInside(element);if((!this.options.showArrows)&&(!this.options.showCarousel))this.galleryElement=element=this.currentLink;else this.currentLink.setStyle('display','none');}this.constructElements();if((this.galleryData.length>1)&&(this.options.showArrows)){var leftArrow=new Element('a').addClass('left').addEvent('click',this.prevItem.bind(this)).injectInside(element);var rightArrow=new Element('a').addClass('right').addEvent('click',this.nextItem.bind(this)).injectInside(element);this.galleryElement.addClass(this.options.withArrowsClass);}this.loadingElement=new Element('div').addClass('loadingElement').injectInside(element);if(this.options.showInfopane)this.initInfoSlideshow();if(this.options.showCarousel)this.initCarousel();this.doSlideShow(1);},populateData:function(){currentArrayPlace=this.galleryData.length;options=this.options;var data=$A(this.galleryData);data.extend(this.populateGallery(this.populateFrom,currentArrayPlace));this.galleryData=data;this.fireEvent('onPopulated');},populateGallery:function(element,startNumber){var data=[];options=this.options;currentArrayPlace=startNumber;element.getElements(options.elementSelector).each(function(el){elementDict={image:el.getElement(options.imageSelector).getProperty('src'),number:currentArrayPlace,transition:this.options.defaultTransition};elementDict.extend=$extend;if((options.showInfopane)|(options.showCarousel))elementDict.extend({title:el.getElement(options.titleSelector).innerHTML,description:el.getElement(options.subtitleSelector).innerHTML});if(options.embedLinks)elementDict.extend({link:el.getElement(options.linkSelector).href||false,linkTitle:el.getElement(options.linkSelector).title||false,linkTarget:el.getElement(options.linkSelector).getProperty('target')||false});if((!options.useThumbGenerator)&&(options.showCarousel))elementDict.extend({thumbnail:el.getElement(options.thumbnailSelector).getProperty('src')});else if(options.useThumbGenerator)elementDict.extend({thumbnail:options.thumbGenerator+'?imgfile='+elementDict.image+'&max_width='+options.thumbWidth+'&max_height='+options.thumbHeight});data.extend([elementDict]);currentArrayPlace++;if(this.options.destroyAfterPopulate)el.remove();});return data;},constructElements:function(){el=this.galleryElement;this.maxIter=this.galleryData.length;var currentImg;for(i=0;i=this.maxIter)this.nextIter=0;this.galleryInit=0;this.goTo(this.nextIter);},prevItem:function(){this.fireEvent('onPreviousCalled');this.nextIter=this.currentIter-1;if(this.nextIter<=-1)this.nextIter=this.maxIter-1;this.galleryInit=0;this.goTo(this.nextIter);},goTo:function(num){this.clearTimer();if(this.options.preloader){this.galleryElements[num].load();if(num==0)this.galleryElements[this.maxIter-1].load();else this.galleryElements[num-1].load();if(num==(this.maxIter-1))this.galleryElements[0].load();else this.galleryElements[num+1].load();}if(this.options.embedLinks)this.clearLink();if(this.options.showInfopane){this.slideInfoZone.clearChain();this.hideInfoSlideShow().chain(this.changeItem.pass(num,this));}else this.currentChangeDelay=this.changeItem.delay(500,this,num);if(this.options.embedLinks)this.makeLink(num);this.prepareTimer();},changeItem:function(num){this.fireEvent('onStartChanging');this.galleryInit=0;if(this.currentIter!=num){for(i=0;i'+(myself.relatedImage.number+1)+"/"+this.maxIter+": "+myself.relatedImage.title);}.pass(currentImg,this),'mouseout':function(myself){myself.clearTimer();myself.start(this.options.thumbIdleOpacity);}.pass(currentImg,this),'click':function(myself){this.goTo(myself.relatedImage.number);if(this.options.thumbCloseCarousel)this.hideCarousel();}.pass(currentImg,this)});currentImg.relatedImage=this.galleryData[i];this.thumbnailElements[parseInt(i)]=currentImg;}},log:function(value){if(console.log)console.log(value);},preloadThumbnails:function(){var thumbnails=[];for(i=0;ioldPos)newFx.start({opacity:1});else{newFx.set({opacity:1});oldFx.start({opacity:0});}},crossfade:function(oldFx,newFx,oldPos,newPos){oldFx.options.transition=newFx.options.transition=Fx.Transitions.linear;oldFx.options.duration=newFx.options.duration=this.options.fadeDuration;newFx.start({opacity:1});oldFx.start({opacity:0});},fadebg:function(oldFx,newFx,oldPos,newPos){oldFx.options.transition=newFx.options.transition=Fx.Transitions.linear;oldFx.options.duration=newFx.options.duration=this.options.fadeDuration/2;oldFx.start({opacity:0}).chain(newFx.start.pass([{opacity:1}],newFx));}});var Preloader=new Class({Implements:[Events,Options],options:{root:'',period:100},initialize:function(options){this.setOptions(options);},load:function(sources){this.index=0;this.images=[];this.sources=this.temps=sources;this.total=this.sources.length;this.fireEvent('onStart',[this.index,this.total]);this.timer=this.progress.periodical(this.options.period,this);this.sources.each(function(source,index){this.images[index]=new Asset.image(this.options.root+source,{'onload':function(){this.index++;if(this.images[index])this.fireEvent('onLoad',[this.images[index],index,source]);}.bind(this),'onerror':function(){this.index++;this.fireEvent('onError',[this.images.splice(index,1),index,source]);}.bind(this),'onabort':function(){this.index++;this.fireEvent('onError',[this.images.splice(index,1),index,source]);}.bind(this)});},this);},progress:function(){this.fireEvent('onProgress',[Math.min(this.index,this.total),this.total]);if(this.index>=this.total)this.complete();},complete:function(){$clear(this.timer);this.fireEvent('onComplete',[this.images]);},cancel:function(){$clear(this.timer);}});Preloader.implement(new Events,new Options);function formatString(){var num=arguments.length;var oStr=arguments[0];for(var i=1;i