/**
 * Librairie javascript la création d'un carrouseel
 *
 * @package       lesite
 * @subpackage    js
 * @author        Kris dev. 2008
 * @author        $Author: kris $
 * @version       $Revision: 36975 $
 * @date          $Date: 2008-12-10 20:15:11 +0100 (mer., 10 déc. 2008) $
 * @id            $Id: carroussel.js 36975 2008-12-10 19:15:11Z kris $
 */
 if (undefined===window.MIA)
{
   var MIA = {};
}
if (undefined===window.MIA.TV)
{
	MIA.TV = {};
}
MIA.TV.Carroussel =
{
   class_name : "TV.Carroussel",
    
	nom_div : '',
	
   nb_vignettes : 0,
  
   bloc_externe : 0,
	
	vignette_actuelle : 0,
   
   vignette_precedente : -1,
   
   vignette_suivante : 1,
   
   vignette_plus_2 : 2,
   
   vignette_moins_2 : -2,
   
   scroll_speed : 150,
	
	duree_animations : 0.3,
   
	pos_x : new Array(),
	
	pos_w_x : new Array(),
	
	pos_y : new Array(),
	
	pos_w_y : new Array(),
   
   /**
    * Initialisation du carrousel
    */
   init : function()
   {
      MIA.TV.Carroussel.activerBoutonNext();
		
		if(MIA.TV.Carroussel.bloc_externe == 0)
		{
			// Valeurs pour version Bloc Tv
			MIA.TV.Carroussel.pos_x = [-170, -63, 56, 277, 400];
			MIA.TV.Carroussel.pos_w_x = [-170, -63, 56, 277, 400];
			MIA.TV.Carroussel.pos_y = [22, 22, 0, 22, 22];
			MIA.TV.Carroussel.pos_w_y = [22, 22, 0, 22, 22];
		}
		else
		{
			// Valeurs pour version Le Post
			MIA.TV.Carroussel.pos_x = [-170, -37, 81, 301, 440];
			MIA.TV.Carroussel.pos_w_x = [-170, -37, 81, 301, 440];
			MIA.TV.Carroussel.pos_y = [22, 22, 0, 22, 22];
			MIA.TV.Carroussel.pos_w_y = [22, 22, 0, 22, 22];
		}
		
   	if (MIA.TV.Carroussel.vignette_actuelle == MIA.TV.Carroussel.nb_vignettes - 1)
      {
         MIA.TV.Carroussel.vignette_suivante = 0;
      }
      else
      {
         MIA.TV.Carroussel.vignette_suivante = MIA.TV.Carroussel.vignette_actuelle + 1;
      }
		
		// Autorotation automatique
		MIA.TV.Carroussel.periodeAutorotation = 10000;
		MIA.TV.Carroussel.sensAutorotation = 'Next';
		MIA.TV.Carroussel.lancerAutorotation();
   },
   
	
	/**
    * Autorotation automatique : next / prev
    */
   tickerTalentsTv : function()
   {
		if(MIA.TV.Carroussel.sensAutorotation == 'Next')
		{
			if(MIA.TV.Carroussel.vignette_actuelle != MIA.TV.Carroussel.nb_vignettes)
			{
				MIA.TV.Carroussel.moveNext();
			}
			if (MIA.TV.Carroussel.vignette_suivante == MIA.TV.Carroussel.nb_vignettes)
			{
				MIA.TV.Carroussel.sensAutorotation = 'Prev';
			}
		}
		else
		{
			if (MIA.TV.Carroussel.vignette_actuelle != 0)
			{
				MIA.TV.Carroussel.movePrev();
			}
			if (MIA.TV.Carroussel.vignette_actuelle == 0)
			{
				MIA.TV.Carroussel.sensAutorotation = 'Next';
			}
		}
		MIA.TV.Carroussel.autorotation = setTimeout("MIA.TV.Carroussel.tickerTalentsTv()",MIA.TV.Carroussel.periodeAutorotation);
	},
	

	/**
    * Autorotation automatique : lancer / arreter
    */
   lancerAutorotation: function()
   {
		MIA.TV.Carroussel.autorotation = setTimeout("MIA.TV.Carroussel.tickerTalentsTv()",MIA.TV.Carroussel.periodeAutorotation);
	},	
	
	arreterAutorotation: function()
   {
		clearTimeout(MIA.TV.Carroussel.autorotation);
	},	
	
	
   /**
    * Déplacement vers la droite
    */
   moveNext : function()
   {
      if (MIA.TV.Carroussel.vignette_suivante != MIA.TV.Carroussel.nb_vignettes)
      {
		var vignette_precedente 			= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_precedente;
		var within_vignette_precedente	= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_precedente;
		var img_vignette_precedente 		= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_precedente;
		
		var vignette_actuelle 				= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_actuelle;
		var within_vignette_actuelle 		= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_actuelle;
		var img_vignette_actuelle 			= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_actuelle;
		
		var vignette_suivante 				= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_suivante;
		var within_vignette_suivante 		= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_suivante;
		var img_vignette_suivante 			= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_suivante;
		
		var vignette_plus_2 					= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_plus_2;
		var within_vignette_plus_2 		= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_plus_2;
		var img_vignette_plus_2 			= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_plus_2;

		//animation vignette actuelle
		var attributes = { 
			width: { to: 101 },
			height: { to: 56 },
			left: { to: MIA.TV.Carroussel.pos_x[1] },
			top: { to: MIA.TV.Carroussel.pos_y[1] }
		}; 
		var anim_actuelle = new YAHOO.util.Motion(vignette_actuelle, attributes, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_actuelle.animate();
		
		var within_attributes = { 
			width: { to: 101 },
			height: { to: 56 },
			left: { to: MIA.TV.Carroussel.pos_w_x[1] },
			top: { to: MIA.TV.Carroussel.pos_w_y[1] }
		}; 
		var anim_within_actuelle = new YAHOO.util.Motion(within_vignette_actuelle, within_attributes, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_within_actuelle.animate();
			
		var img_attributes = { 
			width: { to: MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][0] },
			height: { to: MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][1] },
			left: { to: MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][2] },
			top: { to: - MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][3] }
		}; 
		var anim_img_actuelle = new YAHOO.util.Motion(img_vignette_actuelle, img_attributes, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_img_actuelle.animate();	
			
		//animation vignette suivante
		var attributes2 = { 
			width: { to: 203 },
			height: { to: 113 },
			left: { to: MIA.TV.Carroussel.pos_x[2] },
			top: { to: MIA.TV.Carroussel.pos_y[2] }
		}; 
		var anim_suivante = new YAHOO.util.Motion(vignette_suivante, attributes2, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_suivante.animate();
		
		var within_attributes2 = { 
			width: { to: 203 },
			height: { to: 113 },
			left: { to: MIA.TV.Carroussel.pos_w_x[2] },
			top: { to: MIA.TV.Carroussel.pos_w_y[2] }
		}; 
		var anim_within_suivante = new YAHOO.util.Motion(within_vignette_suivante, within_attributes2, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_within_suivante.animate();
		
		var img_attributes2 = { 
			width: { to: MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_suivante][0] },
			height: { to: MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_suivante][1] },
			left: { to: MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_suivante][2] },
			top: { to: - MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_suivante][3] }
		}; 
		var anim_img_suivante = new YAHOO.util.Motion(img_vignette_suivante, img_attributes2, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_img_suivante.animate();
				
		//animation vignette +2
		if (MIA.TV.Carroussel.vignette_plus_2 < MIA.TV.Carroussel.nb_vignettes)
		{
			var attributes3 = { 
				left: { to: MIA.TV.Carroussel.pos_x[3] }
			}; 
			var anim_plus_2 = new YAHOO.util.Motion(vignette_plus_2, attributes3, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_plus_2.animate();
			
			var within_attributes3 = { 
				left: { to: MIA.TV.Carroussel.pos_x[3] }
			}; 
			var anim_within_plus_2 = new YAHOO.util.Motion(within_vignette_plus_2, within_attributes3, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_within_plus_2.animate();
		} 
		
		//animation vignette précédente
		if (MIA.TV.Carroussel.vignette_precedente >= 0)
		{
			var attributes4 = { 
				left: { to: MIA.TV.Carroussel.pos_x[0] }
			}; 
			var anim_precedente = new YAHOO.util.Motion(vignette_precedente, attributes4, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_precedente.animate();
			
			var within_attributes4 = { 
				left: { to: MIA.TV.Carroussel.pos_x[0] }
			}; 
			var anim_within_precedente = new YAHOO.util.Motion(within_vignette_precedente, within_attributes4, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_within_precedente.animate();
		}
		
		//mise à jour du lien
		for(i=0;i<MIA.TV.Carroussel.nb_vignettes;i++)
		{
			document.getElementById('link_'+i).style.display = "none";
		}
		document.getElementById('link_'+MIA.TV.Carroussel.vignette_suivante).style.display = "block";
		
		//mise à jour du header
		if(MIA.TV.Carroussel.bloc_externe == 0)
		{
			for(i=0;i<MIA.TV.Carroussel.nb_vignettes;i++)
			{
				document.getElementById('title_'+i).style.display = "none";
			}
			document.getElementById('title_'+MIA.TV.Carroussel.vignette_suivante).style.display = "block";
		}
		
		//mise à jour des variables
		MIA.TV.Carroussel.vignette_precedente = MIA.TV.Carroussel.vignette_actuelle;
		MIA.TV.Carroussel.vignette_actuelle = MIA.TV.Carroussel.vignette_suivante;
		MIA.TV.Carroussel.vignette_suivante ++;
		MIA.TV.Carroussel.vignette_plus_2 ++;	
		MIA.TV.Carroussel.vignette_moins_2 ++;			

		//activation du bouton précédent
		MIA.TV.Carroussel.activerBoutonPrev();
		
		//désactivation du bouton suivant si on arrive au bout
		if (MIA.TV.Carroussel.vignette_suivante == MIA.TV.Carroussel.nb_vignettes)
		 {
			MIA.TV.Carroussel.desactiverBoutonNext();
		 }
	
      }
   },
   
   /**
    * Déplacement vers la gauche
    */
   movePrev : function()
   {
   	if (MIA.TV.Carroussel.vignette_suivante != MIA.TV.Carroussel.nb_vignettes+1)
    {
		var vignette_precedente 			= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_precedente;
		var within_vignette_precedente	= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_precedente;
		var img_vignette_precedente 		= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_precedente;
		
		var vignette_actuelle 				= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_actuelle;
		var within_vignette_actuelle 		= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_actuelle;
		var img_vignette_actuelle 			= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_actuelle;
		
		var vignette_suivante 				= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_suivante;
		var within_vignette_suivante 		= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_suivante;
		var img_vignette_suivante 			= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_suivante;
		
		var vignette_moins_2 				= 'vignette_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_moins_2;
		var within_vignette_moins_2 		= 'within_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_moins_2;
		var img_vignette_moins_2 			= 'img_' + MIA.TV.Carroussel.nom_div + "_" + MIA.TV.Carroussel.vignette_moins_2;
		
		//animation vignette actuelle
		var attributes = { 
			width: { to: 101 },
			height: { to: 56 },
			left: { to: MIA.TV.Carroussel.pos_x[3] },
			top: { to: MIA.TV.Carroussel.pos_y[3] }
		}; 
		var anim_actuelle = new YAHOO.util.Motion(vignette_actuelle, attributes, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_actuelle.animate();
		
		var within_attributes = { 
			width: { to: 101 },
			height: { to: 56 },
			left: { to: MIA.TV.Carroussel.pos_w_x[3] },
			top: { to: MIA.TV.Carroussel.pos_w_y[3] }
		}; 
		var anim_within_actuelle = new YAHOO.util.Motion(within_vignette_actuelle, within_attributes, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_within_actuelle.animate();
			
		var img_attributes = { 
			width: { to: MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][0] },
			height: { to: MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][1] },
			left: { to: MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][2] },
			top: { to: - MIA.TV.Carroussel.attr_petits_formats[MIA.TV.Carroussel.vignette_actuelle][3] }
		}; 
		var anim_img_actuelle = new YAHOO.util.Motion(img_vignette_actuelle, img_attributes, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_img_actuelle.animate();	
			
		//animation vignette suivante
		var attributes2 = { 
			left: { to: MIA.TV.Carroussel.pos_x[4] }
		}; 
		var anim_suivante = new YAHOO.util.Motion(vignette_suivante, attributes2, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_suivante.animate();
		
		var within_attributes2 = { 
			left: { to: MIA.TV.Carroussel.pos_w_x[4] }
		}; 
		var anim_within_suivante = new YAHOO.util.Motion(within_vignette_suivante, within_attributes2, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
		anim_within_suivante.animate();
				
		//animation vignette -2
		if (MIA.TV.Carroussel.vignette_moins_2 + 2 > 0)
		{
			var attributes3 = { 
				left: { to: MIA.TV.Carroussel.pos_x[1] }
			}; 
			var anim_moins_2 = new YAHOO.util.Motion(vignette_moins_2, attributes3, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_moins_2.animate();
			
			var within_attributes3 = { 
				left: { to: MIA.TV.Carroussel.pos_x[1] }
			}; 
			var anim_within_moins_2 = new YAHOO.util.Motion(within_vignette_moins_2, within_attributes3, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_within_moins_2.animate();
		} 

		//animation vignette précédente
		if (MIA.TV.Carroussel.vignette_precedente >= 0)
		{
			var attributes4 = { 
				width: { to: 203 },
				height: { to: 113 },
				left: { to: MIA.TV.Carroussel.pos_x[2] },
				top: { to: MIA.TV.Carroussel.pos_y[2] }
			}; 
			var anim_precedente = new YAHOO.util.Motion(vignette_precedente, attributes4, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_precedente.animate();
			
			var within_attributes4 = { 
				width: { to: 203 },
				height: { to: 113 },
				left: { to: MIA.TV.Carroussel.pos_x[2] },
				top: { to: MIA.TV.Carroussel.pos_y[2] }
			}; 
			var anim_within_precedente = new YAHOO.util.Motion(within_vignette_precedente, within_attributes4, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_within_precedente.animate();
			
			var img_attributes4 = { 
				width: { to: MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_precedente][0] },
				height: { to: MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_precedente][1] },
				left: { to: MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_precedente][2] },
				top: { to: - MIA.TV.Carroussel.attr_grands_formats[MIA.TV.Carroussel.vignette_precedente][3] }
			}; 
			var anim_img_precedente = new YAHOO.util.Motion(img_vignette_precedente, img_attributes4, MIA.TV.Carroussel.duree_animations, YAHOO.util.Easing.easeOut); 
			anim_img_precedente.animate();
		}

		//mise à jour du lien
		for(i=0;i<MIA.TV.Carroussel.nb_vignettes;i++)
		{
			document.getElementById('link_'+i).style.display = "none";
		}
		document.getElementById('link_'+MIA.TV.Carroussel.vignette_precedente).style.display = "block";
		
		//mise à jour du header
		if(MIA.TV.Carroussel.bloc_externe == 0)
		{
			for(i=0;i<MIA.TV.Carroussel.nb_vignettes;i++)
			{
				document.getElementById('title_'+i).style.display = "none";
			}
			document.getElementById('title_'+MIA.TV.Carroussel.vignette_precedente).style.display = "block";
		}
	
		//mise à jour des variables
		MIA.TV.Carroussel.vignette_suivante = MIA.TV.Carroussel.vignette_actuelle;
		MIA.TV.Carroussel.vignette_actuelle = MIA.TV.Carroussel.vignette_precedente;
		MIA.TV.Carroussel.vignette_precedente --;
		MIA.TV.Carroussel.vignette_plus_2 --;	
		MIA.TV.Carroussel.vignette_moins_2 --;			

		//activation du bouton suivant
		MIA.TV.Carroussel.activerBoutonNext();

		//désactivation du bouton suivant si on arrive au bout
		if (MIA.TV.Carroussel.vignette_actuelle == 0)
		{
			MIA.TV.Carroussel.desactiverBoutonPrev();
		}
	}
   },
   
   /**
    * Activation du bouton "Retour"
    */
   activerBoutonPrev : function()
   {
      document.getElementById('lptv_fleche_prev').style.display = 'block';
      document.getElementById('lptv_fleche_prev').style.cursor = 'pointer';
      YAHOO.util.Event.removeListener('lptv_fleche_prev', 'click');
      YAHOO.util.Event.addListener('lptv_fleche_prev', 'click', MIA.TV.Carroussel.movePrev);
   },
   
   /**
    * Activation du bouton "Suivant"
    */
   activerBoutonNext : function()
   {
     document.getElementById('lptv_fleche_next').style.display = 'block';	 
	  document.getElementById('lptv_fleche_next').style.cursor = 'pointer';
	  YAHOO.util.Event.removeListener('lptv_fleche_next', 'click');
	  YAHOO.util.Event.addListener('lptv_fleche_next', 'click', MIA.TV.Carroussel.moveNext);
   },
   
   /**
    * Désactivation du bouton "Retour"
    */
   desactiverBoutonPrev : function()
   {
   	 document.getElementById('lptv_fleche_prev').style.display = 'none';
      document.getElementById('lptv_fleche_prev').style.cursor = 'default';
      YAHOO.util.Event.removeListener('lptv_fleche_prev', 'click');
   },
   
   /**
    * Désactivation du bouton "Suivant"
    */
   desactiverBoutonNext : function()
   {
	  document.getElementById('lptv_fleche_next').style.display = 'none';
      document.getElementById('lptv_fleche_next').style.cursor = 'default';
      YAHOO.util.Event.removeListener('lptv_fleche_next', 'click');
   },
	
	/**
    * Gestion du clic sur la vignette
    */
   clicVignette : function(i,lien)
   {
		if(i != MIA.TV.Carroussel.vignette_actuelle)
		{
			if(i > MIA.TV.Carroussel.vignette_actuelle)
			{
				MIA.TV.Carroussel.moveNext();
			}
			else
			{
				MIA.TV.Carroussel.movePrev();
			}
		}
		else
		{
			window.location.href = lien;
		}
	}
	
} // fin classe Une Carroussel