/**************************************************************************************
//
//    FONCTIONS DE GESTION DU MENU
//
**************************************************************************************/

// Initialisation d'un timer general pour le menu
var TIMER_MENU = null;

// Fonction d'affichage du menu
function showSousMenu(id) {

   // On masque tous les autres sous menus
   var sousmenus = $$('.sousmenu');
   for(i = 0; i < sousmenus.length; i++)
   { if($(sousmenus[i]).id != 'sousmenu_'+id && $(sousmenus[i]).visible()) $(sousmenus[i]).hide(); }

   // On enlève le status "hover" sur tous les menus
   var menus = $$('.menu_item');
   for(i = 0; i < menus.length; i++)
   { $(menus[i]).removeClassName('hover'); }

   // On met le menu en "selected"
   $('menu_'+id).addClassName('hover');

   // On affiche le sous-menu (seulement si il est masqué)
   if(!$('sousmenu_'+id).visible())
   {
      Effect.SlideDown('sousmenu_'+id, { duration : 0.2 , queue: { position: 'end', scope: 'slidedown'+id, limit: 1 } });
      Effect.Appear('sousmenu_'+id, { duration : 0.2 , queue: { position: 'end', scope: 'appeardown'+id, limit: 1 } });
   }

   // Annulation du timer
   clearTimeout(TIMER_MENU);
}

// Fonction de lancement du masque du menu
function hideSousMenu(id) {
   TIMER_MENU = setTimeout("delayedHideSousMenu('"+id+"')",300);
}

// Fonction de masquage du menu
function delayedHideSousMenu(id) {
   // On enlève le status "hover" du menu
   setTimeout("$('menu_"+id+"').removeClassName('hover')", 100);
   // On masque le sous-menu
   Effect.Fade('sousmenu_'+id, { duration : 0.2 , queue: { position: 'end', scope: 'fade'+id, limit: 1 } });
}

/**************************************************************************************
//
//    FONCTIONS DE GESTION DE LA RECHERCHE
//
**************************************************************************************/

// Préchargement d'images
IMG = new Image();
IMG.src = "http://www.actu-environnement.com/images/interface/header/header_recherche_loader.gif";

function focusSearchField(theField) { if(theField.value == 'Recherche') $(theField).value = ''; }
function blurSearchField(theField) { if(theField.value == '') $(theField).value = 'Recherche'; }

// Gestion de la validation du formulaire
function valid_search_header(){
   if ($('inputSearchHeader').value == "" || $('inputSearchHeader').value == "Recherche"){
      alert("Veuillez saisir un mot à rechercher");
      $('inputSearchHeader').focus();
      return false;
   } else {
      $('submitSearchHeader').addClassName('loading');
      $('submitSearchHeader').disabled = 'disabled';
      return true;
   }
}

/**************************************************************************************
//
//    FONCTIONS DE GESTION DU FLASH INFO
//
**************************************************************************************/

// Variables
var NB_FLASHINFO = null;
var TIMER_FLASHINFO = null;
var TIMER_OPEN_FLASHINFO = null;
var MOVED_FLASHINFO = 0;

// Préchargement d'images
IMG = new Image();
IMG.src = "http://www.ludivert.fr/images/deco/flashinfo_moins.gif";


// Défilement automatique
function defileFlashInfo() {

   if(MOVED_FLASHINFO < NB_FLASHINFO-1)
   {
      MOVED_FLASHINFO++;
      new Effect.Move('flashinfo_defilement', { x : 0 , y : -28 , mode : 'relative', transition: Effect.Transitions.spring });
   } else {
      MOVED_FLASHINFO = 0;
      new Effect.Move('flashinfo_defilement', { duration : 0.5 , x : 0 , y : 28 * (NB_FLASHINFO-1) , mode : 'relative', transition: Effect.Transitions.sinoidal });
   }

   TIMER_FLASHINFO = setTimeout('defileFlashInfo()',5000);

}

// Ouverture / Fermeture de la liste des Flashinfos
function toggleFlashInfo() {

   if(!$('flashinfo_full').visible())
   {
      Effect.BlindDown('flashinfo_full', {
         duration : 0.4 ,
         queue: { position: 'end', scope: 'openflashinfo', limit: 1 } ,
         beforeSetup: function() {
            $('flashinfo_action').addClassName('moins');
            clearTimeout(TIMER_FLASHINFO);
            Effect.Fade('flashinfo_container_defilement', { duration : 0.4 });
            new Effect.Morph('flashinfo_separateur', { style: 'height:0px;margin-top:16px;', duration: 0.4 });
            Effect.Fade('flashinfo_bottom', { duration : 0.4 });
         }
      });
   }
   else
   {
      Effect.BlindUp('flashinfo_full', {
         duration : 0.4 ,
         queue: { position: 'end', scope: 'openflashinfo', limit: 1 } ,
         beforeSetup: function() {
            $('flashinfo_action').removeClassName('moins');
            Effect.Appear('flashinfo_container_defilement', { duration : 0.4 });
            TIMER_FLASHINFO = setTimeout('defileFlashInfo()',5000);
            new Effect.Morph('flashinfo_separateur', { style: 'height:28px;margin-top:1px;', duration: 0.4 });
            Effect.Appear('flashinfo_bottom', { duration : 0.4 });
         }
      });
   }

}



