window.addEvent('domready', function()
{ 
/*********************************************/
/** 			PARAMETRES	SCROLLER							**/
/*********************************************/		
	var container = $('breves-container');
	var elementsClass = '.breve';
	var carLeft = $('breves-fleche-g');
	var carRight = $('breves-fleche-d');
	var nbElementsDislayed = 1;
	var dureeScroll = 1500;
	
/*********************************************/
/** 			PARAMETRES	GALLERY								**/
/*********************************************/		
	
	/*
	var classContainersLiens = 'photosLiens';
	var classContainersPhotos = 'actuImages';
	
	
	var containersImages = $$('.'+classContainersPhotos);
	var currentContainer = containersImages[0];
	var classFirst = 'first';
	var classLast = 'last';
	var classActive = 'active';
	var showDuration = 4000;
	var interval;
	
	
	
	var createGallery = function(container,index){
		container.imagesArray = container.getElements('img');
		container.liensArray = new Array();
		
		// Récupère la classe du modèle de lien
		containerLien = container.getElement('.'+classContainersLiens);
		classModeleLien = containerLien.getElement('a').get('class');
		containerLien.set('html','');
		// définition de l'Index
		container.currentIndex = 0;
		
		if(container.imagesArray != null && container.imagesArray.length > 1){
			// Parcours des images
			container.imagesArray.each(function(img,i){
				// Création du lien pour chaque image
				classLien = classModeleLien;
				if(i==0) classLien = classFirst+' '+classActive+' '+classModeleLien;
				if(i==container.imagesArray.length - 1) classLien = classLast+' '+classModeleLien;
				container.liensArray[i] = new Element('a', {'class': classLien, 'href': '#', 'html': '&nbsp;'});
				
				activeLien(container.liensArray[i], i);
				container.liensArray[i].inject(containerLien);
				
				// Masque les images
				if(i > 0) {img.set('opacity',0);}
			});
		}
	}

	
	
	// fonction de fondu de la gallerie
	var blendGallerie = function(nextIndex){
		if(currentContainer == null) return false;
		if(nextIndex == null){
			nextIndex = currentContainer.currentIndex < currentContainer.imagesArray.length - 1 ? currentContainer.currentIndex+1 : 0;
		}
		currentContainer.liensArray[currentContainer.currentIndex].removeClass(classActive);
		currentContainer.liensArray[nextIndex].addClass(classActive);
		currentContainer.imagesArray[nextIndex].fade('in');
		currentContainer.imagesArray[currentContainer.currentIndex].fade('out');
		currentContainer.currentIndex = nextIndex;
	}
	
	var changeContainer = function(newContainer){
		$clear(diaporama);
		currentContainer = newContainer.getElement('.'+classContainersPhotos);
		if(currentContainer.imagesArray.length > 1)diaporama = blendGallerie.periodical(showDuration);
	}


	// Active les boutons des images
	var activeLien = function(lien,index){
		lien.addEvents({
			'mouseenter' : function(){
				$clear(diaporama);
			},
			'mouseleave' : function(){
				diaporama = blendGallerie.periodical(showDuration);
			},
			'click' : function(event){ 
				blendGallerie(index);
				event.stop();
			}		  		  
		});
	};
	
	
//INITIALISATION
	containersImages.each(function(containerImages,index) {
		createGallery(containerImages,index);									
	});
	
	diaporama = blendGallerie.periodical(showDuration);
	*/
	
/*********************************************/
/** 				SCROLLER												**/
/*********************************************/

// VARIABLES SCROLLER
	var elementsArray = container.getElements(elementsClass);
	var increment = parseInt(container.getStyle('width').replace('px', ''));
	var maxRightIncrement	= increment*(elementsArray.length - nbElementsDislayed);
	var totIncrement = 0;
	var currentElement = 0;
	var previousElement = null;
	var nextElement = 1;
	var sens = 0;
	var fxPos = 0;
	var notScrolling = 1;
	
// TRANSITIONS SCROLLER	
	// Définiton de l'effet Scroll
	var scrollEffect = new Fx.Scroll(container, {
		offset: {'x': 0, 'y': 0}, 
		duration: dureeScroll,
		transition: Fx.Transitions.Quad.easeInOut,
		wait: false
		}
	)
	.toLeft()
	.addEvents({ 
		'start' : function(event){ 
			notScrolling = 0;
		},
		'complete' : function(event){
			notScrolling = 1;
		}
	});	
	
	// Définition de la transition d'apparition/disparition des elements lors du scroll
	elementsArray.each(function(item, index){
		if(index >= nbElementsDislayed) item.setStyles({'opacity': 0.0});
		item.blendEffect = new Fx.Tween(item, {
			property : 'opacity',
			duration: parseInt(dureeScroll/2),
			transition: Fx.Transitions.Quad.easeInOut,
			wait: false
		});
	});

// BOUTONS DROITE/GAUCHE
	// Desactivation
	var desactiveButton = function(button){
		button.fade('.0');
		button.removeEvents();
		button.addEvents({ 
			'mouseenter' : function(){
			},
			'mouseleave' : function(){
			},
			'click' : function(event){ 
				event.stop();
			}		  		  
		});
	}

	// Activation
	var activeButton = function(button, sens){
		button.fade('1.0');
		button.removeEvents();
		button.addEvents({ 
			'mouseenter' : function(){
				
			},
			'mouseleave' : function(){
				
			},
			'click' : function(event){ 
				event.stop();
				// Bouton de Droite (+1)
				if( maxRightIncrement > totIncrement && notScrolling && sens == +1){
					activeButton(carLeft, -sens);
					
					totIncrement = (currentElement+sens)*increment;
					previousElement = currentElement;
					currentElement += sens; 
					scrollEffect.start(totIncrement ,0);
					elementsArray[currentElement].blendEffect.start(1.0);
					elementsArray[previousElement].blendEffect.start(0.0);
					if( maxRightIncrement <= totIncrement) desactiveButton(this);
				}
				// Bouton de Gauche (-1)
				if( totIncrement > 0 && notScrolling && sens == -1){
					activeButton(carRight, -sens);
					totIncrement = (currentElement + sens )*increment;
					if( totIncrement <= 0) desactiveButton(this);
					previousElement = currentElement+nbElementsDislayed+sens;
					currentElement += sens;
					scrollEffect.start(totIncrement ,0)
					elementsArray[currentElement].blendEffect.start(1.0)
					.chain(function(){elementsArray[previousElement].blendEffect.start(0.0);});
				}
				//changeContainer(elementsArray[currentElement]);
			}		  		  
		});
	}

//INITIALISATION
	carLeft.set('opacity', 0);
	if(container.getElements(elementsClass).length > nbElementsDislayed){
		carRight.set('opacity', 1);
		activeButton(carRight, 1);
	}else{
		carRight.set('opacity', 0);
	}
	
});

	


