// Classe de manipulation en DOM des boites a onglets reagir/lire/voir/debattre
// @author        $Author: pierre $
// @version       $Revision: 27732 $
// @date          $Date: 2008-01-23 11:19:49 +0100 (Wed, 23 Jan 2008) $
// @id            $Id: ensemble.js 27732 2008-01-23 10:19:49Z pierre $
if ( "undefined" == typeof MIA  )
{
   MIA = {};
}

if ( "undefined" == typeof MIA.Ensemble  )
{
   MIA.Ensemble = {
      
ensembleId: 0,
initEventLoaded: false,	
		
decrementeNbElemBoite: function(nb_elem_boite_input_id)
{
  nb_elem_input = document.getElementById(nb_elem_boite_input_id);

   if (! nb_elem_input)
   {
      return;
   }
   nb_elem_input.value = (nb_elem_input.value - 1);
},


getNbElemBoite: function(nb_elem_boite_input_id)
{
   nb_elem_input = document.getElementById(nb_elem_boite_input_id);

   if (! nb_elem_input)
   {
      return 0;
   }
   return (nb_elem_input.value);    
},


formaliseBoiteRvld: function()
{
	//on commence par effacer le pave 'pave_lvdr_hidden' (si un browser est utilisé sans JS alors il reste affiché, permettant de voir les blocs)
   var pave;
   if (pave = document.getElementById('pave_lvdr_hidden'))
   {
		pave.style.display = 'none';
   }
      
   //suppresssion de l element courant dans la boite
   cur_elem = document.getElementById('rlvd_id_element');
   if (document.getElementById('rlvd_id_element') && (document.getElementById('rlvd_id_element').value != ''))
   {
      cur_elem = document.getElementById('rlvd_id_element')
   }
   else
   {
      return;
   }
	
	//Récupération de l'ensemble courant
	if ( !MIA.Ensemble.ensembleId )
	{
		return ;
	}
   
   //L'ensemble existe-t-il dans la page ?
   if ( !document.getElementById('pave_lvdr_hidden_'+MIA.Ensemble.ensembleId) )
   {
      return;
   }   

	//On va parcourir tous les fils de pave_lvdr_hidden 
   //et supprimer ceux qui ne sont pas référencés
	//var les_fils_hidden = pave.getElementsByTagName('div');
   var les_fils_hidden = pave.childNodes;
   
	for ( var i=0; i<les_fils_hidden.length; i++ )
	{
      if ( "undefined" != typeof les_fils_hidden[i].getAttribute ) {
         var lid = les_fils_hidden[i].getAttribute('id');
         if ( lid ) {
            var eid = lid.replace(/^pave_lvdr_hidden_(\d+)$/, "$1");
            if ( eid && eid != lid ) {
              if ( eid != MIA.Ensemble.ensembleId )
              {
                 //On sort le pavé du DOM
                 pave.removeChild(les_fils_hidden[i]);
              } 
            }
         }         
      }
	}
	
   //on verifie que l element n est pas avec une illustration dans le pave lire (ne s effectue que si on est dans un article)
   if (document.getElementById('elem_img_1') && (document.getElementById('elem_img_1').value == cur_elem.value))
   { 
      //l element courant correspond au premier element avec illustration dans le pave lire; 
      //on supprime donc cet element avec illus
      var elem_to_suppr;
      if (elem_to_suppr = document.getElementById('elem_img_rlvd_lire_' + (document.getElementById('elem_img_1').value )))
      {
         elem_to_suppr.style.display = 'none';
         MIA.Ensemble.decrementeNbElemBoite('rlvd_nb_elem_lire');   
      }
      if (document.getElementById('elem_img_2'))
      {
         //on garde le seconde illus avec photo et on supprime son doublon sans photo
         var elem_to_suppr;
         if (elem_to_suppr = document.getElementById('elem_rlvd_lire_' + (document.getElementById('elem_img_2').value)))
         {
            elem_to_suppr.style.display = 'none';
         }
      }
   }
   else if (document.getElementById('elem_img_2') && (document.getElementById('elem_img_2').value == cur_elem.value))
   { 
      //l element courant correspond au second element avec illus dans le pave lire et le premier elem a une illus; 
      //on supprime donc le second elem avec illus et on supprime son doublon sans photo
      var elem_to_suppr;
      if (elem_to_suppr = document.getElementById('elem_img_rlvd_lire_' + (document.getElementById('elem_img_2').value )))
      {
         elem_to_suppr.style.display = 'none';
      }
      if (elem_to_suppr = document.getElementById('elem_rlvd_lire_' + (document.getElementById('elem_img_2').value )))
      {
         elem_to_suppr.style.display = 'none';
      }
      MIA.Ensemble.decrementeNbElemBoite('rlvd_nb_elem_lire'); 
   }
   else
   {
      if (document.getElementById('elem_img_2'))
      {
         //cas ou l objet courant n est ni le premier ni le second element avec illustration
         //on laisse donc le premier mais on supprime le second avec illus (on utilisera alors le second sans illus)
         var elem_to_suppr;
         if (elem_to_suppr = document.getElementById('elem_img_rlvd_lire_' + (document.getElementById('elem_img_2').value)))
         {
            elem_to_suppr.style.display = 'none';
         }
      }
      
      //on supprime l element qui est actuellement affiché ...
      //... dans un pave autre que lire et voir
      var cur_element;
      if (cur_element = document.getElementById('elem_rlvd_' + (cur_elem.value )))
      {
         cur_element.style.display ='none';
      }
      
      //... dans le pave lire
      if (cur_element = document.getElementById('elem_rlvd_lire_' + (cur_elem.value )))
      {
         cur_element.style.display ='none';
         
         MIA.Ensemble.decrementeNbElemBoite('rlvd_nb_elem_lire'); 
      }
      
      //... dans le pave Voir
      if (cur_element = document.getElementById('elem_rlvd_voir_' + (cur_elem.value )))
      {
         cur_element.style.display ='none';
         
         MIA.Ensemble.decrementeNbElemBoite('rlvd_nb_elem_voir');
      }
   }
     
   
   //si le nombre d elem est égal à 1 dans la boite Voir ou Lire il faut supprimer un éventuel trait de separation (pas tres beau en bas de boite)
   var nb_elem_lire_input = document.getElementById('rlvd_nb_elem_lire');
   if (nb_elem_lire_input && (nb_elem_lire_input.value == 1))
   {
      if (trait = document.getElementById('rlvd_trait_lire'))
      {
         trait.parentNode.removeChild(trait);
      }
   }
   
   
   var nb_elem_voir_input = document.getElementById('rlvd_nb_elem_voir');
   if (nb_elem_voir_input && (nb_elem_voir_input.value == 1))
   {
      if (trait = document.getElementById('rlvd_trait_voir'))
      {
        trait.parentNode.removeChild(trait);
      }
      if (trait = document.getElementById('rlvd_trait_av_d_voir'))
      {
        trait.parentNode.removeChild(trait);
      }
   }
   var rlvd_der_elem = document.getElementById('rlvd_d_elem');
   if (rlvd_der_elem)
   {
      if (rlvd_der_elem.value ==  cur_elem)
      {
         if (trait = document.getElementById('rlvd_trait_av_d_voir'))
         {
            trait.parentNode.removeChild(trait);
         }
   
      }
   }
   
      
   //on remplit le contenu si il s agit d'une boite lire externe (et sans onglet)
   if (document.getElementById('boite_lire_interieur') && (MIA.Ensemble.getNbElemBoite('rlvd_nb_elem_lire') > 0))
   {  
     document.getElementById('boite_lire_interieur').innerHTML = document.getElementById('pave_lire').innerHTML;
   }  
   
   //selection ou non des onglets
   var onglet;
   var nb_onglet = 0;
   //affichage ou non des onglets
   if (MIA.Ensemble.getNbElemBoite('rlvd_nb_elem_lire') > 0)
   {
      if ((onglet = document.getElementById('onglet_lvd_lire')))
      {
         onglet.style.display='block';
         if (!document.getElementById('boite_lire_interieur'))
         {
            nb_onglet++;
         }
      }  
   }
   
   if ((onglet_reagir = document.getElementById('onglet_lvd_reagir')))
   {
      onglet = onglet_reagir;
      nb_onglet++;
   }
   
   if (MIA.Ensemble.getNbElemBoite('rlvd_nb_elem_voir') > 0)
   {
      if ((onglet = document.getElementById('onglet_lvd_voir')))
      {
         onglet.style.display='block';
         nb_onglet++;
      }
   }
      
   if (  document.getElementById('pave_debattre') && document.getElementById('pave_debattre').innerHTML != '')
   {
      if (onglet = document.getElementById('onglet_lvd_debattre'))
      {
         onglet.style.display='block';
         nb_onglet++;
      }
   }
   
   
   //si plusieurs onglet existe il faut selectionner le bon 
   if (!document.getElementById('boite_lire_interieur') && (MIA.Ensemble.getNbElemBoite('rlvd_nb_elem_lire') > 0))
   {
      enschange(0);
   }
   else if (document.getElementById('onglet_lvd_reagir'))
   {
      enschange(0);
   }
   else if (MIA.Ensemble.getNbElemBoite('rlvd_nb_elem_voir') > 0)
   {
      if (onglet = document.getElementById('onglet_lvd_voir'))
      {
         enschange(1);
      }  
   }
   else if (  document.getElementById('pave_debattre') && document.getElementById('pave_debattre').innerHTML != '')
   {
      if (onglet = document.getElementById('onglet_lvd_debattre'))
      {
         enschange(2);
      }
   }
   
   //si il n y a qu un onglet il faut le remplacer par une image
   if (nb_onglet == 1)
   {
      if (onglet.id == 'onglet_lvd_lire')
      {
         var e_lrvd_image_lire = document.getElementById('lrvd_image_lire');
         if (e_lrvd_image_lire)
         {
            onglet.innerHTML = e_lrvd_image_lire.innerHTML;
         }
      }
      else if (onglet.id == 'onglet_lvd_reagir')
      {
      
      }
      else if (onglet.id == 'onglet_lvd_voir')
      {
         var e_lrvd_image_voir = document.getElementById('lrvd_image_voir');
         if (e_lrvd_image_voir)
         {
            onglet.innerHTML = e_lrvd_image_voir.innerHTML;
         }
      }
      else if (onglet.id == 'onglet_lvd_debattre')
      {
         var e_lrvd_image_deb = document.getElementById('lrvd_image_deb');
         if (e_lrvd_image_deb)
         {
            onglet.innerHTML = e_lrvd_image_deb.innerHTML;
         }
      }
   }
   if ((nb_onglet == 0) && (! document.getElementById('onglet_lvd_reagir')))
   {
      if (document.getElementById('lrvd_lire_boite') &&  document.getElementById('lrvd_pub_middle_1'))
      {
        var lrvd_lire_boite_inner = document.getElementById('lrvd_lire_boite').innerHTML;
        document.getElementById('lrvd_lire_boite').innerHTML = document.getElementById('lrvd_pub_middle_1').innerHTML;
        document.getElementById('lrvd_pub_middle_1').innerHTML = lrvd_lire_boite_inner;
      }
   }
   
}      
   }; //Fin declaration MIA.Ensemble
}
