var fade_speed      = 0.3;
var blindup_speed   = 0.2;
var appear_speed    = 0.4;
var blinddown_speed = 0.3;

var menu_can_change = true;
var menu_actuel     = 'accueil';

var texte_can_change = true;
var texte_actuel     = 'accueil';

var transition_type = '';

// ----------------------------------------------------------------------------------------------

function onEndFade(div_id) {

  // si c'est un div de type menu
  if (div_id.indexOf('_menu_') > 0) {
    set_rea(menu_actuel);

    // si on est sur la page d'accueil, il y a des rea à faire en plus
    if (div_id.indexOf('_menu_accueil') > 0)
      set_rea_accueil();

    Effect.Appear('div_menu_' + menu_actuel, appear_speed);
    Effect.Appear('div_texte_' + texte_actuel, appear_speed);

    // si c'est un menu, on reaffiche le bas
    Effect.BlindDown('div_bas', blinddown_speed);

  // si c'est un div de type texte
  } else {
    Effect.Appear('div_texte_' + texte_actuel, appear_speed);

    // si la transition est de type menu, on a déja fait le BlindDown
    if (transition_type == 'texte')
      Effect.BlindDown('div_bas', blinddown_speed);

  } // if

} // function

// ----------------------------------------------------------------------------------------------

function onEndAppear(div_id) {
  // si c'est un div de type menu
  if (div_id.indexOf('_menu_') > 0)
    menu_can_change = true;
  // si c'est un div de type texte
  else
    texte_can_change = true;
} // function

// ----------------------------------------------------------------------------------------------

function menu_secondaire(menu, texte) {
  if (!menu_can_change) return ;

  menu_can_change = false;
  texte_can_change = false;

  transition_type = 'menu';

  Effect.Fade('div_menu_' + menu_actuel, fade_speed);
  Effect.Fade('div_texte_' + texte_actuel, fade_speed);
  Effect.BlindUp('div_bas', blindup_speed);

  menu_actuel  = menu;
  texte_actuel = texte;
} // function

// ----------------------------------------------------------------------------------------------

function texte(texte) {
  if (!texte_can_change) return ;

  texte_can_change = false;

  transition_type = 'texte';

  Effect.Fade('div_texte_' + texte_actuel, fade_speed);
  Effect.BlindUp('div_bas', blindup_speed);

  texte_actuel = texte;
} // function

// ----------------------------------------------------------------------------------------------

function set_rea(menu, rea_nok) {
  // si on n'a pas indiqué de rea_nok
  if (rea_nok == undefined)
    rea_nok = new Array();

  rea_index = Math.floor(Math.random() * realisations.length);
  while(in_array(rea_index, rea_nok))
    rea_index = Math.floor(Math.random() * realisations.length);

  // si c'est un lien normal
  if (realisations[rea_index][3] == 0)
    $('div_menu_' + menu + '_rea_contenu').innerHTML = '<a href="http://' + realisations[rea_index][2] + '" target="_blank"><img src="image/miniature/' + realisations[rea_index][1] + '" border="0" /></a>';
  // si c'est un lien javascript
  else if (realisations[rea_index][3] == 1)
    $('div_menu_' + menu + '_rea_contenu').innerHTML = '<a href="javascript:' + realisations[rea_index][2] + ';"><img src="image/miniature/' + realisations[rea_index][1] + '" border="0" /></a>';

  $('div_menu_' + menu + '_rea_contenu').innerHTML += '<br />' + realisations[rea_index][0];

  return rea_index;
} // function

// ----------------------------------------------------------------------------------------------

function set_rea_accueil() {
  var rea_nok = new Array();
  rea_nok[0] = set_rea('rea1');
  rea_nok[1] = set_rea('rea2', rea_nok);
  set_rea('rea3', rea_nok);
} // function

// ----------------------------------------------------------------------------------------------

function in_array(value, my_array) {
  for (boucle = 0; boucle < my_array.length; boucle++)
    if (my_array[boucle] === value)
      return true;
  return false;
} // function

// ----------------------------------------------------------------------------------------------