/*
 * DEFILEMENT D'IMAGE AUTO OU MANUEL
 * ---------------------------------
 * © Point Communication 2009 v1.01
 */


// Variable par defaut
var id_actif  = 1;			// Pointeur de rotation
var zIndex 	  = 1;			// Positionnement de <li>
var timer_out = null


// Positionne l'objet avant de l'afficher
function position_slide(id) {

	var objet = document.getElementById(id);
	
	// Masque l'objet  
	objet.style.opacity = 0;
    objet.style.filter  = "alpha(opacity=0)";	
	
	// Affiche en premier plan				
	objet.style.zIndex = zIndex++;					

	// Récupère l'id actif pour éviter un double affichage
	id_actif = num_id_actif(id);
		
}

						
// Déclenche une animation avec un timer									
function opacity(id, opacStart, opacEnd, millisec){
	
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	if (opacStart > opacEnd) {

		for (i = opacStart; i >= opacEnd; i--) {

			timer_out = setTimeout("change(" + i + ",'" + id + "')", (timer * speed));
			timer++;

		}
			
	}else{
	
		if (opacStart < opacEnd) {
			
			for (i = opacStart; i <= opacEnd; i++) {

				timer_out = setTimeout("change(" + i + ",'" + id + "')", (timer * speed));
				timer++;

			}
			
		}
		
	}
			
}


// Change l'opacité de l'image
function change(opacity, id) {
 
    var objet = document.getElementById(id).style;
 	
    objet.opacity = (opacity / 100);
    objet.filter = "alpha(opacity=" + opacity + ")";				
	
}					


// Recupère le nombre total de <li> disponible
function nbr_total_li(id) {
	
	var ul 	= document.getElementById(id);
	var li	= ul.getElementsByTagName("li");				
	
	if (ul) return li.length;
	
}


// Récupère le n° de l'objet actif
function num_id_actif(id) {

	var objet  = document.getElementById(id);
	var chaine = objet.id;
	
	return parseInt(chaine.substr(enfant.length, 1));
	
}


// Affiche l'objet demandé sous condition
function slideshow(id) {

	var objet = document.getElementById(id);
	
	if (objet) {
		
		// Positionne l'objet de façon transparente
		position_slide(objet.id);

        // Stop l'animation en cours
        clearTimeout(timer_out);

		// Déclenche l'animation					
		opacity(objet.id, 0, 100, transition);
					
	}				
											
}


// Gérer l'affichage automatique dans l'ordre
function auto() {
					
	if (id_actif == nbr_total_li(parent)) {
		id_actif = 1
		
	}else{
		id_actif++;
		
	}
	
	slideshow(enfant + id_actif);
	
}


// Déclenchement du défilement auto
function start(id, interval) {
	
	// Image par défaut
	slideshow(id);
	
	// Déclenche le défilement automatique
	setInterval("auto()", interval);
	
}

			
