function CMRSlideShow(Name, DivName, TransitionTime, WaitTime) {
	this.Start = function() {
		var cont = document.getElementById(this.DivName);
		var dSlides = cont.getElementsByTagName("div");
		var i=0;
		//Valid Slides count
		this.SlidesCount = 0;
		for (i=0; i<dSlides.length; i++)
			if (dSlides[i].className=="csSlide") { this.SlidesCount++; }
		//copia i elimina la ruta de totes les imatges de l'slide
		for (i=0; i<this.SlidesCount; i++) {
			var pics = dSlides[i].getElementsByTagName("img");
			this.Imgs[i] = pics[0].src;
			this.ImgsLoaded[i] = false;
			if (i>0) {
				if (this.IsMoz) { dSlides[i].style.opacity = 0; } else { dSlides[i].style.filter = "alpha(opacity=0)"; }
				pics[0].src="";
			}
			dSlides[i].style.zIndex = this.SlidesCount-i;
		}
		if (this.SlidesCount>1) {
			this.SlideIndex = 0;
			this.AlphaMax = 100;
			if (this.IsMoz) { this.AlphaStep=1/(this.TransitionTime/30); this.AlphaMax=1.0; } else { this.AlphaStep=100/(this.TransitionTime/30); this.AlphaMax=100.0; }
			setTimeout(this.Name + ".LoadPicture(1, false)", this.WaitTime);
		}
	}
	
	this.LoadPicture = function(pIndex, wait) {
		var dSlides = document.getElementById(this.DivName).getElementsByTagName("div");
		if (wait) {
			//Espera a que es carregue la imatge
			var pic = dSlides[this.SlideIndex].getElementsByTagName("img");
			var pc = pic[0].complete;
			if (pic[0].src.length!=this.Imgs[this.SlideIndex]) { pic[0].src = this.Imgs[this.SlideIndex]; }
			if (pc) {
				this.ImgsLoaded[this.SlideIndex] = true;
				setTimeout(this.Name + ".Transition()",20);
			} else {
				setTimeout(this.Name + ".LoadPicture(0, true)",250);
			}
		} else {
			this.Alpha = this.AlphaMax;
			//load new picture
			if (pIndex>=this.SlidesCount) {
				this.SlideObj = dSlides[this.SlideIndex];
				this.SlideObjNext = dSlides[0];
				this.SlideIndex = 0;
			} else {
				this.SlideObj = dSlides[this.SlideIndex];
				this.SlideObjNext = dSlides[pIndex];
				this.SlideIndex = pIndex;
			}
			if (this.ImgsLoaded[this.SlideIndex])
				this.Transition();
			else
				setTimeout(this.Name + ".LoadPicture(0, true);",20);
		}		
	}
	
	this.Transition = function() {
		this.Alpha -= this.AlphaStep;
		if (this.Alpha<0) { this.Alpha = 0; }
		if (this.IsMoz) {
			this.SlideObj.style.opacity = this.Alpha;
			this.SlideObjNext.style.opacity = this.AlphaMax - this.Alpha;
		} else {
			this.SlideObj.style.filter = "alpha(opacity=" + this.Alpha + ")";
			this.SlideObjNext.style.filter = "alpha(opacity=" + (this.AlphaMax-this.Alpha) + ")";
		}
		if (this.Alpha>0.00001) {
			setTimeout(this.Name + ".Transition()",30);
		} else {
			this.SlideObj.style.zIndex = 0;
			this.SlideObjNext.style.zIndex = 1;
			setTimeout(this.Name + ".LoadPicture(" + (this.SlideIndex+1) + ", false)",this.WaitTime);
		}
	}
	
	this.Name = Name;
	this.DivName = DivName;
	this.Imgs = new Array();
	this.ImgsLoaded = new Array();
	this.SlidesCount = 0;
	this.SlideIndex = 0;
	this.SlideObj;
	this.SlideObjNext;
	this.TransitionTime = TransitionTime; //en mseg
	this.WaitTime = WaitTime; //en mseg
	this.Alpha = 0;
	this.AlphaStep = 5.0;
	this.AlphaMax = 100.0;
	this.IsMoz = ((navigator.appName).search("Microsoft")==-1) ? true : false;
	
	this.Start();
} //class

