  /*this.oMultiSlideShow = new multiSlideShowControl();
	this.aSlideShowVars = [this.aDescPhotos, this.cMediaFolder, this.aImgElements];
	this.oMultiSlideShow.init(this.aSlideShowVars);
	
  this.oMiniSlideShow1 = new miniSlideShowControl();
	this.aSlideShowVars = [this.aDescPhotos1, this.cMediaFolder, document.getElementById("liImg1")];
	this.oMiniSlideShow1.init(this.aSlideShowVars);
	this.oMiniSlideShow1.start();
*/
 ///////////////////// slideShowControl ///////////////

function slideShowControlII(){}

var _this = slideShowControlII.prototype = new Object();
_this.constructor		= slideShowControl;
_this.player;
_this.parentElement;
_this.aLoadedImages;
_this.aImageUrls;
_this.lPlaying;
_this.lPause;
_this.aImageElements;
_this.cMediaFolder;
_this.lSlideStopped;
_this.nSequenceCount;
_this.oParent;

_this.hBlend;
_this.hStatic;
_this.nStep;
_this.nTime;
_this.nStepSize;
_this.nMaxRange;
_this.nNoOfSteps; 
_this.nStaticTime;
_this.cImageIn;
_this.cImageOut;
_this.nCurIndex;

_this.lBlending;

_this.lOffset

_this.init = function ( aVars, loffset ) {
	
	this.player				= null;
	this.aLoadedImages	= [];
	this.aImageUrls 		= [];
	this.lPlaying			= false;
	this.lPause				= false;
	this.aImageElements	= [];
	this.hBlend				= 0;
	this.hStatic			= 0;
	this.nStep 				= 0;
	this.nTime 				= 3000;
	this.nStepSize 		= 5;
	this.nMaxRange 		= 100;
	this.nNoOfSteps 		= 0; 
	this.nStaticTime		= 10000;
	this.cImageIn			= "";
	this.cImageOut			= "";
	this.nCurIndex			= 0;	
	this.lOffset            = loffset;

	this.aImageUrls 		= aVars[0];
	this.cMediaFolder		= aVars[1];
	this.oParent			= aVars[2];
	this.aDesc				= aVars[3];
	
	this.parentElement	= this.oParent;

	this.nNoOfSteps 		= this.nMaxRange / this.nStepSize;
	
	this.lSlideStopped   = false;
	this.nSequenceCount	= 0;
	
	this.lBlending = false;
	
	this.preloadImages();
}

_this.preloadImages = function () {
	var self = this;
	var lAllImagesLoaded = true;
	for (var nIndex = 0; nIndex < this.aImageUrls.length; nIndex = nIndex + 1) {
		var cImageUrl = this.aImageUrls[nIndex];
		if (!this.aLoadedImages[cImageUrl]) {
			lAllImagesLoaded = false;
			this.aImageElements[cImageUrl] = document.createElement("img");
			this.aImageElements[cImageUrl].onload = function () {
				if ( self.lOffset ) { this.style.marginLeft = (this.width/2)*(-1) + "px"; }
				self.imageLoaded(this)
			}
			this.aImageElements[cImageUrl].id 	= cImageUrl;
			this.aImageElements[cImageUrl].style.filter = "alpha(opacity = 0)";	
			this.aImageElements[cImageUrl].style.opacity = 0;		
			this.aImageElements[cImageUrl].src 	= this.cMediaFolder + cImageUrl;
			nIndex 								= this.aImageUrls.length;
		}		
	}
	if (lAllImagesLoaded) {	
	}
}

_this.imageLoaded = function (eImage) {
		if (!this.lPlaying && !this.lSlideStopped) {
			this.start();
		}
		for ( var i = 0; i < this.aImageUrls.length; i++ ) {
	/*
		  if ( this.aImageUrls[i] == eImage.id )
			{
				if (typeof this.parent.photoButtons.aButtons[i] != "undefined") {
					this.parent.photoButtons.aButtons[i].style.display = "";
					i = this.aImageUrls.length;
				}
			}	*/
		}
		this.aLoadedImages[eImage.id] = true;		
		this.preloadImages();	
}


_this.start = function () {
//
//document.getElementById("ResumeSlideShow").style.display = "none";
	if (!this.lPlaying) {
	  for (var nIndex = 0; nIndex < this.aImageUrls.length; nIndex = nIndex + 1) {
			var cImageUrl = this.aImageUrls[nIndex];
			if (this.aLoadedImages[cImageUrl]) {
				this.nCurIndex = nIndex;
				this.cImageIn = cImageUrl;
				this.parentElement.appendChild(this.aImageElements[cImageUrl])
				this.lPlaying = true;
//				this.parent.photoButtons.render(this.nCurIndex);	
				this.blend();
				nIndex = this.aImageUrls.length;
			}
		}
	}	
}


_this.blend = function () {	
	this.lBlending = true;
	var self = this;
	this.nStep++
	if( this.nStep < this.nNoOfSteps ){
		this.aImageElements[this.cImageIn].style.filter = "alpha(opacity = " + (this.nStep * this.nStepSize) + ")";
		this.aImageElements[this.cImageIn].style.opacity = ((this.nStep * this.nStepSize)/100);
		this.hBlend = setTimeout( function () {self.blend()}, this.nTime / this.nNoOfSteps );

		try{		document.getElementById("GalleryCaption").innerHTML = this.aDesc[this.nCurIndex];}catch(e){}

	}
	else {
		this.lBlending = false;
		this.nStep = 0;
		this.aImageElements[this.cImageIn].style.filter = "alpha(opacity = 100)";
		this.aImageElements[this.cImageIn].style.opacity = 1;		
		
		if (this.aImageElements[this.cImageOut] != null) {
			this.aImageElements[this.cImageOut].style.filter = "alpha(opacity = 0)";	
			this.aImageElements[this.cImageOut].style.opacity = 0;		
		}
		if(!this.lPause){
			this.hStatic = setTimeout( function () {self.sequence()}, this.nStaticTime );
		}

//		document.getElementById("GalleryCaption").innerHTML = this.cImageIn;

	}
}

_this.sequence = function () {
	var self = this;	
	var cImageUrl = "";
	if (this.nSequenceCount >= 5) {	
		this.pause();		
//		document.getElementById("ResumeSlideShow").style.display = "";
	}
	else {
		for (var nIndex = 0; nIndex < this.aImageUrls.length; nIndex = nIndex + 1) {
			if(nIndex == this.nCurIndex){
				if (nIndex == this.aImageUrls.length - 1) {
					// restart	
					cImageUrl = this.aImageUrls[0];
					this.nCurIndex = 0;
					this.nSequenceCount = this.nSequenceCount + 1;
				}
				else {
					// step
					cImageUrl = this.aImageUrls[nIndex + 1];				
					this.nCurIndex = nIndex + 1;
				}
//				this.parent.photoButtons.render(this.nCurIndex);	
				nIndex = this.aImageUrls.length;
			}
		}
		if (cImageUrl == "") {
			alert("error");
		}
		else {
			if (this.aLoadedImages[cImageUrl]) {	
				this.cImageOut = this.cImageIn;		
				this.cImageIn = cImageUrl;
				this.aImageElements[this.cImageIn].style.filter = "alpha(opacity = 0)";	
				this.aImageElements[this.cImageIn].style.opacity = 0;		
				this.parentElement.appendChild(this.aImageElements[cImageUrl]);	
				this.blend();
			}
			else {
				this.hStatic = setTimeout( function () {self.sequence()}, this.nStaticTime );
			}		
		}
	}
}


_this.finish = function () {
	this.lPlaying      = false;
	this.lSlideStopped = true;
	clearTimeout(this.hBlend);
	clearTimeout(this.hStatic);
	if (this.nStep > 0) {
		this.nStep = this.nNoOfSteps;
	}
}

_this.pause = function () {
	this.lPause = true;
	clearTimeout(this.hStatic);
}			

_this.resume = function () {
	this.nSequenceCount = 0;
//	document.getElementById("ResumeSlideShow").style.display = "none";
	this.lPause = false;
	this.sequence();
}			

_this.show = function(nIndex){
	this.pause();
	//document.getElementById("ResumeSlideShow").style.display = "";
	if( this.aImageUrls[nIndex] && !this.lBlending ){
		this.nCurIndex = nIndex;
		var cImageUrl = this.aImageUrls[nIndex];
		if( this.aLoadedImages[cImageUrl] ){
			this.cImageOut = this.cImageIn;		
			this.cImageIn = cImageUrl;
			this.parentElement.appendChild(this.aImageElements[cImageUrl]);	
//			this.parent.photoButtons.render(this.nCurIndex);	
			this.blend();
		}
		else{	
		}
	}
}

_this.previous = function () {
	if (this.nCurIndex > 0) {
		this.show(this.nCurIndex - 1);
	}
}

_this.next = function () {
	if (this.nCurIndex < this.aImageUrls.length) {
		this.show(this.nCurIndex + 1);
	}
}

_this.resetSequenceCount = function() {
	this.nSequenceCount = 0;	
}

///////////////////// end //////////////////////// 


///////////////////// miniSlideShowControl ///////////////

function miniSlideShowControl(){}

var _this = miniSlideShowControl.prototype = new slideShowControl();
_this.constructor		= miniSlideShowControl;
_this.cRandom;

_this.init = function ( aVars ) {

	this.player				= null;
	this.aLoadedImages	= [];
	this.lPlaying			= false;
	this.lPause				= false;
	this.aImageElements	= [];
	this.hBlend				= 0;
	this.hStatic			= 0;
	this.nStep 				= 0;
	this.nTime 				= 1000;
	this.nStepSize 		= 5;
	this.nMaxRange 		= 100;
	this.nNoOfSteps 		= 0; 
	this.nStaticTime		= 2000;
	this.cImageIn			= "";
	this.cImageOut			= "";
	this.nCurIndex			= 0;	
	this.nSequenceCount	= 0;

/*	this.aImageUrls 		= aVars[0];
	this.cMediaFolder		= aVars[1];
	this.parentElement	= aVars[2];
	*/
	this.nNoOfSteps 		= this.nMaxRange / this.nStepSize;
	
	this.cRandom            = "?rnd=" + new Date().getTime();
	
	this.preloadImages();
}

_this.preloadImages = function () {
	var self = this;
	var lAllImagesLoaded = true;
	for (var nIndex = 0; nIndex < this.aImageUrls.length; nIndex = nIndex + 1) {
		var cImageUrl = this.aImageUrls[nIndex];
		if (!this.aLoadedImages[cImageUrl]) {
			lAllImagesLoaded = false;
			this.aImageElements[cImageUrl] 					= document.createElement("img");
			this.aImageElements[cImageUrl].onload 			= function () {
				self.imageLoaded(this)
			}
			this.aImageElements[cImageUrl].id 				= cImageUrl;
			this.aImageElements[cImageUrl].style.filter 	= "alpha(opacity = 0)";	
			this.aImageElements[cImageUrl].style.opacity = 0;		
			this.aImageElements[cImageUrl].src 				= this.cMediaFolder + cImageUrl + this.cRandom;
			nIndex 													= this.aImageUrls.length;
		}		
	}
	if (lAllImagesLoaded) {	
	}
}

_this.imageLoaded = function (eImage) {
		if (!this.lPlaying && !this.lSlideStopped) {
			this.start();
		}
		this.aLoadedImages[eImage.id] = true;		
		this.preloadImages();	
}

_this.start = function () {
	if (!this.lPlaying) {
		this.nSequenceCount	= 0;
		for (var nIndex = 0; nIndex < this.aImageUrls.length; nIndex = nIndex + 1) {
			var cImageUrl = this.aImageUrls[nIndex];
			if (this.aLoadedImages[cImageUrl]) {
				this.nCurIndex = nIndex;
				this.cImageIn = cImageUrl;
				this.parentElement.appendChild(this.aImageElements[cImageUrl]);
				this.lPlaying = true;
				this.blend();
				nIndex = this.aImageUrls.length;
			}
		}
	}	
}

_this.sequence = function () {
	var self = this;	
	var cImageUrl = "";
	this.nSequenceCount = this.nSequenceCount + 1
	if (this.nSequenceCount > 20) {
		this.finish();	
	}
	else {	
		for (var nIndex = 0; nIndex < this.aImageUrls.length; nIndex = nIndex + 1) {
			if(nIndex == this.nCurIndex){
				if (nIndex == this.aImageUrls.length - 1) {
					// restart	
					cImageUrl = this.aImageUrls[0];
					this.nCurIndex = 0;
				}
				else {
					// step
					cImageUrl = this.aImageUrls[nIndex + 1];				
					this.nCurIndex = nIndex + 1;
				}
				nIndex = this.aImageUrls.length;
			}
		}
		if (cImageUrl == "") {
			alert("error");
		}
		else {
			if (this.aLoadedImages[cImageUrl]) {	
				this.cImageOut = this.cImageIn;		
				this.cImageIn  = cImageUrl;
				this.aImageElements[this.cImageIn].style.filter = "alpha(opacity = 0)";	
				this.aImageElements[this.cImageIn].style.opacity = 0;		
				this.parentElement.appendChild(this.aImageElements[cImageUrl]);	
				this.blend();
			}
			else {
				this.hStatic = setTimeout( function () {self.sequence()}, this.nStaticTime );
			}		
		}
	}
}

_this.finish = function () {
	this.lPlaying      = false;
	this.lSlideStopped = true;
	clearTimeout(this.hBlend);
	clearTimeout(this.hStatic);
}

//////////////////////// end ///////////////////



