// JavaScript Document
var DiaporamaDLN =
{
	_cible :'',
	_suivant : '',
	_precedent : '',
	_pause : '',
	_description : '',
	_ul : '',
	_li : '',
	_liID : '',
	_autoriser : true,
	_nbr_dimage : 0,
	_derniere_image : '',
	
	//------------------------------------------------------
	//											        init
	init : function(objet)
	{
		//on sauvegarde les valeurs par defaut
		this._cible = document.getElementById('DiaporamaDLN');
		this._suivant = document.getElementById('DiaporamaDLN-suivant');
		this._precedent = document.getElementById('DiaporamaDLN-precedent');
		this._pause = document.getElementById('DiaporamaDLN-pause');
		this._description = 'DiaporamaDLN-description';
		this._ul = document.getElementById('DiaporamaDLN-conteneur');
		this._liID = 'DiaporamaDLN-vue';
		
		//on test si le programmeur à passer un objet en parametre
		if(objet != null)
		{
			this._cible = (objet.cible == null) ? this._cible : document.getElementById(objet.cible);
			this._suivant = (objet.suivant == null) ? this._suivant : document.getElementById(objet.suivant);
			this._precedent = (objet.precedent == null) ? this._precedent : document.getElementById(objet.precedent);
			this._pause = (objet.pause == null) ? this._pause : document.getElementById(objet.pause);
			this._description = (objet.description == null) ? this._description : objet.description;
			this._ul = (objet.ul == null) ? this._ul : document.getElementById(objet.ul);
		}//if(objet != null)
		
		//on détermine combien il y a d'images
		this._li = this._ul.getElementsByTagName('li');
		this._nbr_dimage = this._li.length;
		
		//on détermine la dernière image
		this._derniere_image = this._li[this._nbr_dimage - 1];
		this._interval = setInterval("DiaporamaDLN.fn_suivant()", 5000);
		
	},//init
	
	suivant : function()
	{
		clearInterval(this._interval);
		this.fn_suivant();
		this._interval = setTimeout("DiaporamaDLN.fn_suivant()", 5000);
	},
	
	//------------------------------------------------------
	//											  fn_suivant
	fn_suivant : function()
	{
		if(this._autoriser)
		{
			//on empeche l'utilisateur de 
			//recliquer sur le bouton suivant
			this._autoriser = false
				$("."+this._description).hide();
			if(this._derniere_image.offsetLeft == 0)
			{
				//on détermine la position initiale
				//de la liste des LI
				var pos = this._li[0].offsetWidth * (this._nbr_dimage-1);
				
				//on lance l'animation
				//une fois que l'animation est terminée
				//on autorise l'utilisateur à recliquer 
				//sur le bouton suivant
	  			$('.'+this._liID).animate({"left": "+="+pos+"px"}, "slow", function() {DiaporamaDLN._autoriser = true; DiaporamaDLN.afficherDescription()});
			}
			else
			{
				//on lance l'animation
				//une fois que l'animation est terminée
				//on autorise l'utilisateur à recliquer 
				//sur le bouton suivant
				$('.'+this._liID).animate({"left": "-="+this._li[0].offsetWidth+"px"}, "slow", function() { DiaporamaDLN._autoriser = true;DiaporamaDLN.afficherDescription()});
			}//if(this._derniere_image.offsetLeft == 0)
		}//if(this._autoriser)
	},//suivant
	
	//------------------------------------------------------
	//											   precedent
	precedent : function()
	{
		if(this._autoriser)
		{
			
			if(this._li[0].offsetLeft < 0)
			{
				//on empeche l'utilisateur de 
				//recliquer sur le bouton suivant
				this._autoriser = false
				$("."+this._description).hide();
				//on lance l'animation
				//une fois que l'animation est terminée
				//on autorise l'utilisateur à recliquer 
				//sur le bouton precedent
	  			$('.'+this._liID).animate({"left": "+="+this._li[0].offsetWidth+"px"}, "slow", function() {DiaporamaDLN._autoriser = true;DiaporamaDLN.afficherDescription()});
			}//if(this._li[0].offsetLeft < 0)
			
		}//if(this._autoriser)
	}, //precedent
	
	afficherDescription : function()
	{
		
		
		if ($(".DiaporamaDLN-description").is(":hidden")) 
		{
			
			$("."+this._description).show("slow");
		} else {
		//$(".DiaporamaDLN-description").slideUp();
		}
		
	}
}// DiaporamaDLN
