// diaporama
function diaporama(tab_img, largeur_image, duree_transition, duree_transition_retour, duree_affichage, auto_play, tab_img_control){
	var diaporama = $('diaporama');
	if(diaporama){
        var tailleTabImg = tab_img.length;
			$(diaporama).removeClass('bloc-diaporama');
			$(diaporama).addClass('bloc-diaporama-js');
			var ulImages = $(diaporama).getElement('ul');
            if(tailleTabImg>0){
                for(var i = 0; i < tailleTabImg; i++){
        			var liImg  = new Element('li', {
        					'html': tab_img[i]
        			});
                    $(liImg).inject(ulImages);
                }
            }
			$(ulImages).removeClass('list-image-diaporama');
			$(ulImages).addClass('list-image-diaporama-js');
            var nbImages = $('diaporama-images').getElements('li').length;
            if(nbImages>1){
    			var totIncrement		= 0;
    			var increment			= largeur_image;
    			var maxRightIncrement	= increment*(-(nbImages-1));
                var maxWidth            = increment*nbImages;
                //$('list-image-diaporama-js').setStyles({border: '1px solid #000',width: 300px,height: 400px});
                //$('myElement').setStyle('width', 300);
                $('diaporama-images').setStyle('width', maxWidth);
    			var fx 				= "";
    			var fx_initial		= new Fx.Tween($('diaporama-images'), {duration: duree_transition, transition: 'back:in:out'});
    			if(auto_play == true){
    				var fx_retour	= new Fx.Tween($('diaporama-images'), {duration: duree_transition_retour, transition: 'back:in:out'});
    				var deplacement = function(){
    					if (totIncrement == 0){
    						fx = fx_initial;
    					} else if(totIncrement == maxRightIncrement){
    						fx = fx_retour;
    						totIncrement = increment;
    					}
    					totIncrement -= increment;
    					fx.pause();
    					fx.start('margin-left', totIncrement);
    					
    				}
    				var monDep = deplacement.periodical(duree_affichage);
    			}else{
    				var divControle  = new Element('div', {
    					'id': 'diaporama-control',
    					'class': 'btn-control-diapo',
    					'html': '<img id="prec" src="'+tab_img_control["img_prec"]+'" alt="image précedente"> <img id="suiv" src="'+tab_img_control["img_suiv"]+'" alt="image suivante">'
    				});
    				divControle.inject(diaporama, 'after');
    				var fx = new Fx.Tween($('diaporama-images'), {duration: duree_transition, transition: 'back:in:out'});
    				if(totIncrement == 0) {
    				$('prec').src=tab_img_control["img_prec_inactif"];
    				}
    				if(totIncrement == maxRightIncrement) {
    				$('suiv').src=tab_img_control["img_suiv_inactif"];
    				}
    				$('prec').addEvent('mouseover', function() {
    				if(totIncrement < 0) {
    				this.src=tab_img_control["img_prec_over"];
    				}else{
    				this.src=tab_img_control["img_suiv_inactif"];
    				}
    				});
    				$('prec').addEvent('mouseout', function() {
    				if(totIncrement < 0) {
    				this.src=tab_img_control["img_prec"];
    				}else{
    				this.src=tab_img_control["img_prec_inactif"];
    				}
    				});
    				$('prec').addEvent('click', function() {
    				if(totIncrement < 0) {
    				totIncrement += increment;
    				fx.pause();
    				fx.start('margin-left', totIncrement);
    				$('suiv').src=tab_img_control["img_suiv"];
    				}
    				});
    				$('suiv').addEvent('mouseover', function() {
    				if(totIncrement > maxRightIncrement) {
    				this.src=tab_img_control["img_suiv_over"];
    				}else{
    				this.src=tab_img_control["img_suiv_inactif"];
    				}
    				});
    				$('suiv').addEvent('mouseout', function() {
    				if(totIncrement > maxRightIncrement) {
    				this.src=tab_img_control["img_suiv"];
    				}else{
    				this.src=tab_img_control["img_suiv_inactif"];
    				}
    				});
    				$('suiv').addEvent('click', function() {
    				if(totIncrement > maxRightIncrement) {
    				totIncrement -= increment;
    				fx.pause();
    				fx.start('margin-left', totIncrement);
    				$('prec').src=tab_img_control["img_prec"];
    				}
    				});	
             }	
		}	
	 }
}

var noobSlide=new Class({initialize:function(a){this.items=a.items;this.mode=a.mode||'horizontal';this.modes={horizontal:['left','width'],vertical:['top','height']};this.size=a.size||240;this.box=a.box.setStyle(this.modes[this.mode][1],(this.size*this.items.length)+'px');this.button_event=a.button_event||'click';this.handle_event=a.handle_event||'click';this.onWalk=a.onWalk||null;this.currentIndex=null;this.previousIndex=null;this.nextIndex=null;this.interval=a.interval||5000;this.autoPlay=a.autoPlay||false;this._play=null;this.handles=a.handles||null;if(this.handles){this.addHandleButtons(this.handles)}this.buttons={previous:[],next:[],play:[],playback:[],stop:[]};if(a.addButtons){for(var b in a.addButtons){this.addActionButtons(b,$type(a.addButtons[b])=='array'?a.addButtons[b]:[a.addButtons[b]])}}this.fx=new Fx.Tween(this.box,$extend((a.fxOptions||{duration:500,wait:false}),{property:this.modes[this.mode][0]}));this.walk((a.startItem||0),true,true)},addHandleButtons:function(a){for(var i=0;i<a.length;i++){a[i].addEvent(this.handle_event,this.walk.bind(this,[i,true]))}},addActionButtons:function(a,b){for(var i=0;i<b.length;i++){switch(a){case'previous':b[i].addEvent(this.button_event,this.previous.bind(this,[true]));break;case'next':b[i].addEvent(this.button_event,this.next.bind(this,[true]));break;case'play':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'next',false]));break;case'playback':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'previous',false]));break;case'stop':b[i].addEvent(this.button_event,this.stop.bind(this));break}this.buttons[a].push(b[i])}},previous:function(a){this.walk((this.currentIndex>0?this.currentIndex-1:this.items.length-1),a)},next:function(a){this.walk((this.currentIndex<this.items.length-1?this.currentIndex+1:0),a)},play:function(a,b,c){this.stop();if(!c){this[b](false)}this._play=this[b].periodical(a,this,[false])},stop:function(){$clear(this._play)},walk:function(a,b,c){if(a!=this.currentIndex){this.currentIndex=a;this.previousIndex=this.currentIndex+(this.currentIndex>0?-1:this.items.length-1);this.nextIndex=this.currentIndex+(this.currentIndex<this.items.length-1?1:1-this.items.length);if(b){this.stop()}if(c){this.fx.cancel().set((this.size*-this.currentIndex)+'px')}else{this.fx.start(this.size*-this.currentIndex)}if(b&&this.autoPlay){this.play(this.interval,'next',true)}if(this.onWalk){this.onWalk((this.items[this.currentIndex]||null),(this.handles&&this.handles[this.currentIndex]?this.handles[this.currentIndex]:null))}}}});