/**
 * Librairie javascript de l'essentiel
 *
 * @package       lesite
 * @subpackage    js
 * @author        Kris fACv. 2010
 * @author        $Author: kris $
 * @version       $Revision: 44205 $
 * @date          $Date: 2010-01-14 10:25:50 +0100 (jeu., 14 janv. 2010) $
 * @id            $Id: newsletter.js 44205 2010-01-14 09:25:50Z kris $
 */
if (undefined === window.MIA)
{
   var MIA = {};
}

MIA.Essentiel =
{
   class_name: "Essentiel",
   
   flux : '',
   
   page_courante : 1,
   
   nb_pages : 0,
   
   page_width : 0,
   
   scroll_speed :50,
   
   /**
    * Fonction qui permet de changer de page
    */
   pageToPage : function(e, obj)
   {
	  //alert("left = " + document.getElementById('ess_slider').style.left + "\noffsetLeft = " + document.getElementById('ess_slider').offsetLeft);
	  // Position actuelle
	  var position_actuelle = (-1) * (MIA.Essentiel.page_courante - 1) * MIA.Essentiel.page_width;
	  // Position future
	  var position_future = (-1) * (obj.page - 1) * MIA.Essentiel.page_width;
	  // Sens de slide
	  var sens = (position_future > position_actuelle) ? 'gauche' : 'droite';
	  // Slide
	  MIA.Essentiel.slide(sens, position_actuelle, position_future);
	  // Page courante
	  MIA.Essentiel.page_courante = obj.page;
	  // Style des puces
	  MIA.Essentiel.styliserPuces(obj.page);	  
	  // Bouton PrACcedent / Suivant
	  MIA.Essentiel.afficherBoutonsPage();
   },
   
   /**
    * Fonction permettant de gACrer le bouton "page prACcACdente"
    */
   pagePrecedente : function()
   {
	  // Position actuelle
	  var position_actuelle = (MIA.Essentiel.page_courante - 1) * MIA.Essentiel.page_width;
	  // Position future
	  var position_future = (-1) * (position_actuelle - MIA.Essentiel.page_width);
	  // Slide
	  MIA.Essentiel.slide('gauche', position_actuelle, position_future);
	  // Page courante --
	  MIA.Essentiel.page_courante --;
	  // Style des puces
	  MIA.Essentiel.styliserPuces(MIA.Essentiel.page_courante);
	  // Bouton PrACcedent / Suivant
	  MIA.Essentiel.afficherBoutonsPage();
   },
   
   /**
    * Fonction permettant de gACrer le bouton "page suivante"
    */
   pageSuivante : function()
   {
      // Position actuelle
	  var position_actuelle = (MIA.Essentiel.page_courante - 1) * MIA.Essentiel.page_width;
      // Position future  
      var position_future = (-1) * (position_actuelle + MIA.Essentiel.page_width);
      // Slide
      MIA.Essentiel.slide('droite', position_actuelle, position_future);
      // Page courante ++
	  MIA.Essentiel.page_courante ++;
	  // Style des puces
	  MIA.Essentiel.styliserPuces(MIA.Essentiel.page_courante);
	  // Bouton PrACcedent / Suivant
	  MIA.Essentiel.afficherBoutonsPage();
   },
   
   /**
    * Fonction qui effectue le slide
    */
   slide : function(sens, position_actuelle, position_future)
   {
	  if (position_actuelle != position_future)
	  {
         var left = document.getElementById('ess_slider').style.left ? document.getElementById('ess_slider').style.left : 0;
		 if (left != '0')
		 {
		    left = left.substr(0, left.length - 2);
		 }
		 //alert("left = " + left + "\nsens = " + sens + "\nposition_actuelle = " + position_actuelle + "\nposition_future = " + position_future);
		 if (sens == 'droite')
		 {
			document.getElementById('ess_slider').style.left = (parseInt(left) - MIA.Essentiel.scroll_speed) + 'px';
			left = document.getElementById('ess_slider').style.left.substr(0, document.getElementById('ess_slider').style.left.length - 2);
			//alert("left = " + left + "\noffsetLeft = " + document.getElementById('ess_slider').offsetLeft);
			if (parseInt(left) > position_future)
			{
			setTimeout("MIA.Essentiel.slide('" + sens + "', " + left + "," + position_future + ")",1);  
			}
		 }
		 else
		 {
			document.getElementById('ess_slider').style.left = (parseInt(left) + MIA.Essentiel.scroll_speed) + 'px';
			left = document.getElementById('ess_slider').style.left.substr(0, document.getElementById('ess_slider').style.left.length - 2);
			//alert("left = " + left + "\noffsetLeft = " + document.getElementById('ess_slider').offsetLeft);
			if (parseInt(left) < position_future)
			{
               setTimeout("MIA.Essentiel.slide('" + sens + "', " + left + "," + position_future + ")",1);  
			}
		 }
	  }
   },
   
   /**
    * GA¨re l'affichage des boutons PrACcACdent / Suivant
    */
   afficherBoutonsPage : function()
   {
	  if (MIA.Essentiel.page_courante == 1)
	  {
		 document.getElementById('btn_page_suivante').style.display = 'block';
		 document.getElementById('btn_page_precedente').style.display = 'none';
	  }
	  else
	  {
         if (MIA.Essentiel.page_courante == MIA.Essentiel.nb_pages)
		 {
        	document.getElementById('btn_page_precedente').style.display = 'block';
		    document.getElementById('btn_page_suivante').style.display = 'none';
		 }
		 else
		 {
			document.getElementById('btn_page_precedente').style.display = 'block';
			document.getElementById('btn_page_suivante').style.display = 'block';
		 }
	  }
   },
   
   /**
    * GA¨re le style des puces
    */
   styliserPuces : function(page)
   {
	  for (var cpt = 0 ; cpt < MIA.Essentiel.nb_pages ; cpt ++)
	  {
		 document.getElementById('btn_page_' + (cpt + 1)).className = 'point';
	  }
	  document.getElementById('btn_page_' + page).className = 'point active';
   },
   
   /**
    * Initialisation de l'essentiel
    */
   init : function()
   {
	  // Puce des pages
	  YAHOO.util.Event.addListener('btn_page_1', 'click', MIA.Essentiel.pageToPage, { 'page' : 1 });
	  YAHOO.util.Event.addListener('btn_page_2', 'click', MIA.Essentiel.pageToPage, { 'page' : 2 });
	  YAHOO.util.Event.addListener('btn_page_3', 'click', MIA.Essentiel.pageToPage, { 'page' : 3 });
	  if (document.getElementById('btn_page_4') && document.getElementById('btn_page_5'))
	  {
		 YAHOO.util.Event.addListener('btn_page_4', 'click', MIA.Essentiel.pageToPage, { 'page' : 4 });
		 YAHOO.util.Event.addListener('btn_page_5', 'click', MIA.Essentiel.pageToPage, { 'page' : 5 });
	  }
	  // Bouton PrACcACdent / Suivant
	  YAHOO.util.Event.addListener('btn_page_precedente', 'click', MIA.Essentiel.pagePrecedente);
	  YAHOO.util.Event.addListener('btn_page_suivante', 'click', MIA.Essentiel.pageSuivante);
	  
	  // Style des puces
	  MIA.Essentiel.styliserPuces(1);
	  
	  // Affichage des boutons PrACcedent / Suivant
	  MIA.Essentiel.afficherBoutonsPage();
   },

   /**
    * GACnA¨re le code HTML du bloc
    */
   genererHTML : function()
   {
	  var code_html = '';
	  code_html += '<div class="blocEssential smallFormat" id="essentialSlider">';
	  code_html += '   <p class="essNav">';
	  code_html += '      <span class="prevPage point" id="btn_page_precedente" style="display: none;">&nbsp;</span>';
	  code_html += '      <span class="paging">';
	  code_html += '         <span id="btn_page_1">&nbsp;</span>';
	  code_html += '         <span id="btn_page_2">&nbsp;</span>';
	  code_html += '         <span id="btn_page_3">&nbsp;</span>';
	  code_html += '         <span id="btn_page_4">&nbsp;</span>';
	  code_html += '         <span id="btn_page_5">&nbsp;</span>';
	  code_html += '      </span>';
	  code_html += '      <span class="nextPage point" id="btn_page_suivante" style="display: none;">&nbsp;</span>';
	  code_html += '   </p>';
	  code_html += '   <div class="title">L&rsquo;essentiel</div>';
	  code_html += '   <div class="essSlider" id="ess_slider">';
	  code_html += '      <ul class="essList" id="page_1">';
	  var nb_page = 1;
	  for (var cpt = 0 ; cpt < MIA.Essentiel.flux.length ; cpt ++)
	  {
		 if (cpt && (cpt % 3) == 0)
		 {
			nb_page ++;
			code_html += '</ul><ul class="essList" id="page_' + nb_page + '">';
		 }
		 code_html += '<li>';
		 code_html += '   <a class="visu" href="' + MIA.Essentiel.flux[cpt].url + '">';
		 code_html += '<img src="' + MIA.Essentiel.flux[cpt].image_url + '" width="120" height="83" alt="" />';
		 if (MIA.Essentiel.flux[cpt].image_type == 'video')
		 {
			code_html += '<img height="83" width="120" src="' + MIA.Conf.general.www_medias_url + '/img/video_play.png" alt="" class="videoPlayer" />';
		 }
		 code_html += '</a>';
		 code_html += '   <div>';
		 if (MIA.Essentiel.flux[cpt].tag_libelle != '')
		 {
		    code_html += '      <small><a href="' + MIA.Essentiel.flux[cpt].tag_url + '">' + MIA.Essentiel.flux[cpt].tag_libelle + '</a></small><br />';
		 }
		 code_html += '      <a href="' + MIA.Essentiel.flux[cpt].url + '">' + MIA.Essentiel.flux[cpt].titre + '</a>';
		 code_html += '   </div>';
		 code_html += '</li>';
	  }
	  code_html += '      </ul>';
	  code_html += '   </div>';
	  code_html += '   <div class="cover">&nbsp;</div>';
	  code_html += '</div>';
      
      document.write(code_html);
   }
}
YAHOO.util.Event.onDOMReady(MIA.Essentiel.init);
