document.observe('dom:loaded',function() {
	// SlideShow
	function loadSlideShow() {
		
		// On récupère tous les elements de class bonPlanSlideShow
		var numSlideshow = 0;
		$$('.bonPlanSlideShow','.imagesHotelShow').each(function(slideshow) {
			numSlideshow = numSlideshow+1;
			slideshow.id = 'slideshow'+numSlideshow;
			slideshow.totalWidth = 0;
			slideshow.nbElem = 0;
			slideshow.elemEnCours = 1;
			slideshow.delayTime = 15;
			var StartTimeRandom = (Math.random()*10).floor()+10;

			slideshow.select('.bonPlan','.imageHotel').each(function(bonplan) {
				slideshow.totalWidth += bonplan.getWidth();
				slideshow.nbElem++;
			});
			slideshow.setStyle({width:slideshow.totalWidth+'px',left:'0px'});
			slideMe.delay(StartTimeRandom,slideshow,'suivant');
		});

		// Initialisation des mini carre
		$$('.pied').each(function(elem) {
			var tabSlideShowTmp = $(elem.parentNode).select('.bonPlanSlideShowMask');
			var slideshow = null;
			if(tabSlideShowTmp.length > 0) {
				slideshow = tabSlideShowTmp[0].descendants()[0];
			}
			else {
				slideshow = $(elem.parentNode).select('.imagesHotelMask')[0].descendants()[0];
			}
			var carres = elem.select('.carres')[0];
			for(var i=1;i<=slideshow.nbElem;i++) {
				var miniactif = new Element('img',{
					'class':'cursor carre',
					'src':'http://images.ebuyclub.com/slideShow/carre-rouge.gif',
					'alt':'Page '+i,
					'id':slideshow.id+'carreActif'+i,
					'width':'7',
					'height':'7',
					'style':'display:none;'
				}
				);

				carres.insert(miniactif,{position:'after'});

				var miniinactif = new Element('img',{
					'class':'cursor carre',
					'src':'http://images.ebuyclub.com/slideShow/carre-gris.gif',
					'alt':'Page '+i,
					'id':slideshow.id+'carreInactif'+i,
					'width':'7',
					'height':'7',
					'style':'display:none;'
				}
				);

				miniinactif.observe('click',function(e) {
					slideshow.delayTime = 0;
					//slideMe(slideshow,this.id.substr(this.id.length-1,1));
					var regexMiniCarre = new RegExp("slideshow[0-9]+carreInactif([0-9]+)");
					var idCarre = this.id.match(regexMiniCarre);
					if(idCarre) {
						slideMe(slideshow,idCarre[1]);
					}
					e.stop();
				});

				carres.insert(miniinactif,{position:'after'});

				if(i==1) {
					miniactif.setStyle({'display':'block'});
				}
				else {
					miniinactif.setStyle({'display':'block'});
				}
			}
		});

	}

	function slideMe(slideshow,sens) {
		
		if(slideshow.disabled == true)
		{
			return false;
		}
		
		slideshow.disabled = true;
		var currentLeft = slideshow.getStyle('left').sub('px','');
		var nouveauElem = 0;
		if(sens == 'suivant') {
			currentLeft = Math.round(currentLeft) - slideshow.totalWidth/slideshow.nbElem;
			nouveauElem = Math.round(slideshow.elemEnCours)+1;
		}
		else if(sens == 'precedent') {
			currentLeft = Math.round(currentLeft) + slideshow.totalWidth/slideshow.nbElem;
			nouveauElem = Math.round(slideshow.elemEnCours)-1;
		}
		else {
			currentLeft = -((slideshow.totalWidth/slideshow.nbElem) * (Math.round(sens-1)));
			nouveauElem = Math.round(sens);
		}

		if(currentLeft <= -slideshow.totalWidth) {
			currentLeft = 0;
			nouveauElem = 1;
		}
		else if(currentLeft > 0) {
			currentLeft = -slideshow.totalWidth + Math.round(currentLeft);
			nouveauElem = slideshow.nbElem;
		}
		
		new Effect.Morph(slideshow,{
			style: {
				left:currentLeft+'px'
			},
			afterFinish: function() {
				slideshow.disabled = false;

				// Gestion mini carré
				$(slideshow.id+'carreActif'+slideshow.elemEnCours).setStyle({'display':'none'});
				$(slideshow.id+'carreInactif'+slideshow.elemEnCours).setStyle({'display':'block'});

				$(slideshow.id+'carreInactif'+nouveauElem).setStyle({'display':'none'});
				$(slideshow.id+'carreActif'+nouveauElem).setStyle({'display':'block'});

				slideshow.elemEnCours = nouveauElem;

				if(slideshow.delayTime>0) {
					slideMe.delay(slideshow.delayTime,slideshow,sens);
				}
			}
		});
	}
	loadSlideShow();

	// Gestion des boutons précédents
	$$('.imgPrecedent').each(function(elem) {
		elem.observe('click',function(e) {
			var tabSlideShowTmp = $(elem.parentNode.parentNode).select('.bonPlanSlideShowMask');
			if(tabSlideShowTmp.length > 0) {
				slideshow = tabSlideShowTmp[0].descendants()[0];
			}
			else {
				slideshow = $(elem.parentNode.parentNode).select('.imagesHotelMask')[0].descendants()[0];
			}
			slideshow.delayTime = 0;
			slideMe(slideshow,'precedent');
			e.stop();
		});
	});

	// Gestion des boutons suivants
	$$('.imgSuivant').each(function(elem) {
		elem.observe('click',function(e) {
			var tabSlideShowTmp = $(elem.parentNode.parentNode).select('.bonPlanSlideShowMask');
			if(tabSlideShowTmp.length > 0) {
				slideshow = tabSlideShowTmp[0].descendants()[0];
			}
			else {
				slideshow = $(elem.parentNode.parentNode).select('.imagesHotelMask')[0].descendants()[0];
			}
			slideshow.delayTime = 0;
			slideMe(slideshow,'suivant');
			e.stop();
		});
	});


	$$('img.imgProduitHotel').each(function(elem) { new Tip(elem,new Element('img',{'src':elem.src}), { className: 'zoom' }); });
});

