/** ============================================================================================================================================ **/
/**										FONCTIONS POUR LES GALLERIES PHOTOS										**/
/** ============================================================================================================================================ **/
var selected ;
var fading;
var currentOpacity;
var play;
var galleryContainer;
// var galleryWidth;
// var galleryHeight;
var imagesArray = new Array;
var imagesTotalNumber = new Array;
var activeImage = new Array;
var nextActiveImage = new Array;
var timeBetweenSlides;

function initGallery()
{
	getImages();
	for(var j = 0; j < 4; j++)
	{
		for(var i = 0; i < imagesTotalNumber[j]; i++)
		{
			if( imagesTotalNumber[j] > 1)
			{
				if(document.all) imagesArray[j][i].style.filter = 'alpha(opacity=100)';
				else imagesArray[j][i].style.opacity = '0.99';
				
				imagesArray[j][i].style.visibility = 'hidden';
			}
		}
		imagesArray[j][0].style.visibility = 'visible';
	activeImage[j] = -1;
	nextActiveImage[j] = 0;
	}
	
	
	timeBetweenSlides = 1500;
	currentOpacity = 100;
	play = false;
	fading = true;
	
}

function getImages()
{
	
	for(var j = 0; j < 4; j++)
	{
		galleryContainer = getId('cadre_image_principale'+j);
		// galleryWidth = galleryContainer.clientWidth;
		// galleryHeight = galleryContainer.clientHeight;
		
		imagesArray[j] = galleryContainer.getElementsByTagName('IMG');
		imagesTotalNumber[j] = imagesArray[j].length;
	
	}
}

function startSlide()
{
	play = true;
	
	// getId('start').style.display = 'none';
	// getId('stop').style.display = 'inline';
	
	setTimeout('nextImages()', timeBetweenSlides);
}

function stopSlide()
{
	play = false;
	
	// getId('start').style.display = 'inline';
	// getId('stop').style.display = 'none';
}

function nextImages()
{	
	var prob = 0;
	while(selected == prob)
		prob = Math.round(0 + Math.random() * (3));
	selected = prob;
		activeImage[selected] = nextActiveImage[selected];
		
		if(nextActiveImage[selected] + 1 == imagesTotalNumber[selected]) nextActiveImage[selected] = 0;
		else nextActiveImage[selected]++;
	
	if(fading)
	{
		if(imagesTotalNumber[selected] > 1)
		{
			setTimeout('showImage()', timeBetweenSlides);
		}
		else
		{
			if(play) setTimeout('nextImages()', timeBetweenSlides);
		}
	}
	else
	{
		
			imagesArray[selected][nextActiveImage[selected]].style.visibility = 'visible';
			
			imagesArray[selected][activeImage[selected]].style.visibility = 'hidden';
			
			if(play) setTimeout('nextImages()', timeBetweenSlides);
		
	}
}

function showImage()
{
	
		if(currentOpacity == 100) imagesArray[selected][nextActiveImage[selected]].style.visibility = 'visible';
	
		currentOpacity = currentOpacity - 3;
		
		if(document.all) // IE
		{
			imagesArray[selected][activeImage[selected]].style.filter = 'alpha(opacity=' + currentOpacity + ')';
			imagesArray[selected][nextActiveImage[selected]].style.filter = 'alpha(opacity=' + (100 - currentOpacity) + ')';
		}
		else // FF
		{
			imagesArray[selected][activeImage[selected]].style.opacity = Math.max(0.01, currentOpacity / 100); // Can't use 1 and 0 because of screen flickering in FF
			imagesArray[selected][nextActiveImage[selected]].style.opacity = Math.min(0.99, (1 - (currentOpacity / 100)));
		}
		
		if(play )
		{
			if(currentOpacity > 0) setTimeout('showImage()', 40);
			else
			{
				
				currentOpacity = 100;
				if(play) nextImages();
			}
		}
		else
		{
			currentOpacity = 100;
			
			for(var i = 0; i < imagesTotalNumber[selected]; i++)
			{
				if(document.all) imagesArray[selected][i].style.filter = 'alpha(opacity=100)';
				else imagesArray[selected][i].style.opacity = '0.99';
				
				imagesArray[selected][i].style.visibility = 'hidden';
			}
			
			imagesArray[selected][nextActiveImage[selected]].style.visibility = 'visible';
		}
	
}



/** FONCTION DE TEST PERMETTANT D'AFFICHER LES OBJETS JAVASCRIPT **/
function print_r(obj)
{
	win_print_r = window.open('about:blank', 'win_print_r');
	win_print_r.document.write('<html><body>');
	r_print_r(obj, win_print_r);
	win_print_r.document.write('</body></html>');
}
function r_print_r(theObj, win_print_r) // fonction indispensable à la fonction précédente
{
	if(theObj.constructor == Array || theObj.constructor == Object)
	{
		if (win_print_r == null)
		win_print_r = window.open('about:blank', 'win_print_r');
	}
	for(var p in theObj)
	{
		if(theObj[p].constructor == Array|| theObj[p].constructor == Object)
		{
			win_print_r.document.write("<li>["+p+"] =>"+typeof(theObj)+"</li>");
			win_print_r.document.write("<ul>");
			r_print_r(theObj[p], win_print_r);
			win_print_r.document.write("</ul>");
		}
		else win_print_r.document.write("<li>["+p+"] =>"+theObj[p]+"</li>");
	}
	win_print_r.document.write("</ul>");
}

