/******************************************** 
 *
 * Fade.js
 *
 * Copyright (c) Perific AB 2003
 *
 *
 ********************************************/

function doFadeIn() {
  if (document.fadeinimage.filters.alpha.opacity < 100) {
    document.fadeinimage.filters.alpha.opacity +=100
    setTimeout("doFadeIn()",10)
  }
}

/********************************************
 *
 * NAME:
 * FadeImages - Performes a slide show with images
 *
 * PARAMETERS:
 * canvasNrRange	The first canvas number
 * imageSwitchPause	Pause time in msec between images
 * fadePause		Pause time in msec between fade increment
 * fadeIncrease		Increase level between fade increment
 *
 ********************************************/
function FadeImages_( canvasNrRange, imageSwitchPause, fadePause, fadeIncrease ) {
	_NextImage( canvasNrRange, 1, imageSwitchPause, fadePause, 10, fadeIncrease, -1 )
}

var fadeimages
/********************************************
 *
 * SetFadeImages
 *
 ********************************************/
function SetFadeImages( images ) {
	fadeimages = images
}

/********************************************
 *
 * _ChangeFadeLevel
 *
 ********************************************/
function _ChangeFadeLevel( 	canvasNrRange,
							canvasNr, 
							imageSwitchPause,
							fadePause,
							fadeLevel, 
							fadeIncrease, 
							curImageIndex ) {
	
	canvas = _GetCanvas( canvasNrRange, canvasNr )
	if ( canvas.filters ) {
		canvas.filters.alpha.opacity = fadeLevel
	}
	else if ( canvas.style.MozOpacity ) {
		canvas.style.MozOpacity = fadeLevel / 100
	}
}

/********************************************
 *
 * _FadeImage
 *
 ********************************************/
function _FadeImage( 	canvasNrRange,
						canvasNr, 
						imageSwitchPause,
						fadePause,
						fadeLevel, 
						fadeIncrease, 
						curImageIndex ) {
	//Fade as long as the picture is not 100%
	fadeLevel += fadeIncrease
	if ( fadeLevel <= 100 ) {
		_ChangeFadeLevel( canvasNrRange, canvasNr, imageSwitchPause, fadePause, fadeLevel, fadeIncrease, curImageIndex )
		temp = "_FadeImage(" + canvasNrRange + ", " + canvasNr + ", " + imageSwitchPause + ", " + fadePause + ", " + fadeLevel + ", " + fadeIncrease + ", " + curImageIndex + " )"
		setTimeout( temp, fadePause )

	}
	else {	//When picture(n) reach 100%, stop fading and change to picture(n+1)

		temp = "_NextImage(" + canvasNrRange + ", " + canvasNr + ", " + imageSwitchPause + ", " + fadePause + ", " + fadeLevel + ", " + fadeIncrease + ", " + curImageIndex + " )"
		setTimeout( temp, imageSwitchPause )
	}
}


/********************************************
 *
 * _NextImage
 *
 ********************************************/
function _NextImage(	canvasNrRange,
						canvasNr, 
						imageSwitchPause,
						fadePause,
						fadeLevel, 
						fadeIncrease, 
						curImageIndex ) {
	fadeLevel = 10
	if ( canvasNr == 1 ) {
		canvasNr = 0
	}
	else {
		canvasNr = 1
	} 

	curImageIndex += 1
	if ( fadeimages.length <= curImageIndex  ) {
	 	curImageIndex = 0
	}
	canvas = _GetCanvas( canvasNrRange, canvasNr )
	
	canvas.innerHTML='<img src="' + fadeimages[ curImageIndex ] + '">'
		
	canvas.style.zIndex++
			
	// Execute setInterval and store a handler to the process
	//temp = "_FadeImage(" + canvasNrRange + ", " + canvasNr + ", " + imageSwitchPause + ", " + fadePause + ", " + fadeLevel + ", " + fadeIncrease + ", " + curImageIndex + " )"
	//setTimeout( temp, fadePause )
	_FadeImage( canvasNrRange, canvasNr, imageSwitchPause, fadePause, fadeLevel, fadeIncrease, curImageIndex )

}

/********************************************
 *
 * _GetCanvas
 *
 ********************************************/
function _GetCanvas( canvasNrRange, nr ) {
	var temp
	canvasNr = canvasNrRange + nr
	var name = "canvas" + canvasNr
	if (ie4) {
		temp = eval( "document.all." + name )
	}
	else {
		temp = document.getElementById( name )
	}
	return temp
} 

function _SwapImages() {
	document.images.defaultslide.src = fadeimages[ curimageindex ]
	
	curimageindex += 1
	if ( fadeimages.length <= curimageindex  ) {
	 	curimageindex = 0
	}
}

if ( fadeimages ) {

	var preloadedimages = new Array()
	for (p=0;p<fadeimages.length;p++){
		preloadedimages[p]=new Image()
		preloadedimages[p].src=fadeimages[p]
	}
}



	
