
var gallery={initialize:function(element,options){this.setOptions({showArrows:true,showCarousel:false,showInfopane:true,embedLinks:false,fadeDuration:500,timed:false,delay:7000,preloader:true,preloaderImage:true,preloaderErrorImage:true,manualData:[],populateFrom:false,populateData:true,destroyAfterPopulate:true,elementSelector:"div.imageElement",titleSelector:"h3",subtitleSelector:"p",clientSelector:"span",linkSelector:"a.open",imageSelector:"img.full",thumbnailSelector:"img.thumbnail",defaultTransition:"fadebg",slideInfoZoneOpacity:0.5,slideInfoZoneSlide:true,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.str='';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();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);var middleArrow=new Element('a').addClass('middle').addEvent('click',this.gow.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();this.doSlideShow(1);},gow:function(){a=this.options.timed;if(this.options.timed){$$('.withArrows a.middle').setStyle('background','transparent url(../images/benedictefavarel-diaporama.gif) no-repeat scroll center bottom');$$('.withArrows a.middle').addEvent('mouseover',function(){$$('.withArrows a.middle').setStyle('background','transparent url(../images/benedictefavarel-diaporama.gif) no-repeat scroll center bottom');});$$('.withArrows a.middle').addEvent('mouseout',function(){$$('.withArrows a.middle').setStyle('background','none');});$$('a.right').setStyle('display','block');$$('a.left').setStyle('display','block');this.clearTimer();this.options.timed=false;}else{$$('.withArrows a.middle').setStyle('background','transparent url(../images/benedictefavarel-diaporama-fermer.gif) no-repeat scroll center bottom');$$('.withArrows a.middle').addEvent('mouseover',function(){if(a==false){$$('.withArrows a.middle').setStyle('background','transparent url(../images/benedictefavarel-diaporama-fermer.gif) no-repeat scroll center bottom');}else{$$('.withArrows a.middle').setStyle('background','transparent url(../images/benedictefavarel-diaporama.gif) no-repeat scroll center bottom');}});$$('.withArrows a.middle').addEvent('mouseout',function(){$$('.withArrows a.middle').setStyle('background','none');});$$('a.right').setStyle('display','none');$$('a.left').setStyle('display','none');this.options.timed=true;this.prepareTimer();}},changeTaille:function(num){currentImgw=new Image();currentImgw.src=this.galleryData[num].image;imgw=currentImgw.width;if(imgw!==0){$('cache').setStyle('width',imgw+40);var fx1=$('myGallery').effects({duration:400,transition:Fx.Transitions.Quart.easeOut});fx1.start({'width':imgw+40+'px'});var fx2=$('titre').effects({duration:400,transition:Fx.Transitions.Quart.easeOut});fx2.start({'width':(imgw+42)+'px'});var fx4=$('angle').effects({duration:400,transition:Fx.Transitions.Quart.easeOut});fx4.start({'width':(imgw+52)+'px'});$('categorie').setStyle('display','block');var fx5=$('categorie').effects({duration:400,transition:Fx.Transitions.Quart.easeOut});fx5.start({'margin-left':(imgw+48)+'px'});}},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)
elementDict.extend({title:el.getElement(options.titleSelector).innerHTML,description:el.getElement(options.subtitleSelector).innerHTML,client:el.getElement(options.clientSelector).innerHTML});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.galleryData.length;i++)
{var currentImg=new Fx.Styles(new Element('div').addClass('slideElement').setStyles({'position':'absolute','left':'0px','right':'0px','margin':'0px','padding':'0px','backgroundPosition':"center center",'opacity':'0'}).injectInside(el),'opacity',{duration:this.options.fadeDuration});if(this.options.preloader)
{currentImg.source=this.galleryData[i].image;currentImg.loaded=false;currentImg.load=function(imageStyle){if(!imageStyle.loaded){new Asset.image(imageStyle.source,{'onload':function(img){img.element.setStyle('backgroundImage',"url('"+img.source+"')")
img.loaded=true;}.bind(this,imageStyle)});}}.pass(currentImg,this);}else{currentImg.element.setStyle('backgroundImage',"url('"+this.galleryData[i].image+"')");}
this.galleryElements[parseInt(i)]=currentImg;}},destroySlideShow:function(element){var myClassName=element.className;var newElement=new Element('div').addClass('myClassName');element.parentNode.replaceChild(newElement,element);},startSlideShow:function(){this.fireEvent('onStart');this.loadingElement.style.display="none";this.lastIter=this.maxIter-1;this.currentIter=0;this.galleryInit=0;this.galleryElements[parseInt(this.currentIter)].set({opacity:1});if(this.options.showInfopane){}
this.prepareTimer();},nextItem:function(){this.fireEvent('onNextCalled');this.nextIter=this.currentIter+1;if(this.nextIter>=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){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();}
this.slideInfoZone.clearChain();this.hideInfoSlideShow().chain(this.changeItem.pass(num,this));this.prepareTimer();},changeItem:function(num){this.changeTaille(num);$('cache').setStyle('display','block');this.fireEvent('onStartChanging');this.galleryInit=0;if(this.currentIter!=num)
{for(i=0;i<this.maxIter;i++)
{if((i!=this.currentIter))this.galleryElements[i].set({opacity:0});}
gallery.Transitions[this.galleryData[num].transition].pass([this.galleryElements[this.currentIter],this.galleryElements[num],this.currentIter,num],this)();this.currentIter=num;}
this.doSlideShow.bind(this)();this.fireEvent('onChanged');},clearTimer:function(){if(this.options.timed)
$clear(this.timer);},prepareTimer:function(){if(this.options.timed)
this.timer=this.nextItem.delay(this.options.delay,this);},doSlideShow:function(position){if(this.galleryInit==1)
{imgPreloader=new Image();imgPreloader.onload=function(){this.startSlideShow.delay(10,this);}.bind(this);imgPreloader.src=this.galleryData[0].image;if(this.options.preloader)
this.galleryElements[0].load();}else{if(this.options.showInfopane)
{this.showInfoSlideShow.delay((500+this.options.fadeDuration),this);}}},log:function(value){if(console.log)
console.log(value);},initInfoSlideshow:function(){this.slideInfoZone=new Fx.Styles(new Element('div').addClass('slideInfoZone').injectInside($(this.galleryElement))).set({'opacity':0});var slideInfoZoneTitle=new Element('h2').injectInside(this.slideInfoZone.element);var slideInfoZoneDescription=new Element('p').injectInside(this.slideInfoZone.element);var slideInfoZoneClient=new Element('span').injectInside(this.slideInfoZone.element);this.slideInfoZone.normalHeight=this.slideInfoZone.element.offsetHeight;this.slideInfoZone.element.setStyle('opacity',0);},showInfoSlideShow:function(){this.fireEvent('onShowInfopane');this.slideInfoZone.clearTimer();element=this.slideInfoZone.element;element.getElement('h2').setHTML(this.galleryData[this.currentIter].title);element.getElement('p').setHTML(this.galleryData[this.currentIter].description);element.getElement('span').setHTML(this.galleryData[this.currentIter].client);if(this.options.slideInfoZoneSlide){this.slideInfoZone.start({'opacity':[0,this.options.slideInfoZoneOpacity],'height':[0,this.slideInfoZone.normalHeight]});this.hideInfoSlideShow.delay(2500,this);}
return this.slideInfoZone;},hideInfoSlideShow:function(){this.fireEvent('onHideInfopane');this.slideInfoZone.clearTimer();if(this.options.slideInfoZoneSlide){this.slideInfoZone.start({'opacity':0,'height':0});$('cache').setStyle('display','none');}
return this.slideInfoZone;},initHistory:function(){reg=/#/;url=document.URL;x=0;this.fireEvent('onHistoryInit');nom=this.galleryData;nlien=lien(nom[x]);inom=nom[x].image.replace('images/galerie/','');inom=inom.replace('.jpg','');this.historyKey=nlien+inom+'%photographie';this.addEvent('onChanged',function(){this.history.setValue(0,this.currentIter+1);}.bind(this));this.history=HistoryManager.register(this.historyKey,[1],function(values){if(parseInt(values[0])-1<this.maxIter){this.goTo(parseInt(values[0])-1);}}.bind(this),function(values){this.historyKey=lien(nom[values[0]-1])+nom[values[0]-1].image.replace('images/galerie/','').replace('.jpg','')+'%photographie';return[this.historyKey,'(',values[0],')'].join('');}.bind(this),this.historyKey+'\\((\\d+)\\)');this.fireEvent('onHistoryInited');}};gallery=new Class(gallery);gallery.implement(new Events);gallery.implement(new Options);gallery.Transitions=new Abstract({fade:function(oldFx,newFx,oldPos,newPos){oldFx.options.transition=newFx.options.transition=Fx.Transitions.linear;oldFx.options.duration=newFx.options.duration=this.options.fadeDuration;if(newPos>oldPos)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<num;i++){var pattern="\\{"+(i-1)+"\\}";var re=new RegExp(pattern,"g");oStr=oStr.replace(re,arguments[i]);}
return oStr;}
function lien(n){l=n.title.toLowerCase();l=l.replace(/[,\'\"\(\)]/g,'');l=l.replace(/[\s\.\:]/g,'-');l=l.replace(/[éèë]/g,'e');l=l.replace(/[éèë]/g,'e');l=l.replace(/[âà]/g,'a');l=l+'-';return l;}