
// ===== VARIABLES ET FONCTIONS POUR FAIRE SCROLLER LES PAVÉS DE LA PAGE D'ACCUEIL: =====
var defile3;       //--- assure la gestion du défilement
var rubdiv3;       //--- id de la div défilante
var PosY3;         //--- position du haut de la div défilante (le ruban)
var haut_fen3;     //--- hauteur de la div de visualisation (la fenêtre)
var haut_rub3;     //--- hauteur de la div défilante (le ruban)
var delta3;        //--- différence entre ces deux hauteurs
var posY_max3;     //--- la butée haute de la div défilante
var posY_min3 = 0; //--- la butée basse de la div défilante
var step3;         //--- hauteur du pas de scrolling en pixels
var msecs3 = 10;   //--- intervalle entre les pas en millisecondes
var sens3;         //--- le sens de défilement
// --------------------------------------------------------------------------------------

/*======================================================
--- Position d'une DIV par rapport au bord haut de la page.
--- Paramètres :
---     DivId3   ->  ID de la div
--------------------------------------------------------*/
function j_get_top3(){
 var top3 ;
 if ( rubdiv3.offsetParent ){
   top3 = rubdiv3.offsetTop + j_get_top3(rubdiv3.offsetParent) ; //--- récursif
 }else{
   top3 = document.getElementById(rubdiv3).offsetTop ;
 }
 return top3 ;
}
/*------------------------------------------------------*/

/*======================================================
--- Fonction permettant de positionner une div.
--------------------------------------------------------*/
function SetToY3(){
  document.getElementById(rubdiv3).style.top = PosY3 ;
}
/*------------------------------------------------------*/

/*======================================================
--- Bloque le scrolling en haut et en bas.
--------------------------------------------------------*/
function j_bloque3(){
  if (sens3 == 'down'){ //--- si je veux descendre la div
    if (PosY3 > 0){     //--- si la div est trop bas
      ScrollePlus3();
    }else{
      PosY3 += step3;
    }
  }
  if (sens3 == 'up'){ //--- si je veux monter la div
    if (PosY3 < posY_max3){   //--- si la div est trop haut
      ScrollePlus3();
    }else{
      PosY3 -= step3;
    }    
  }
}
/*------------------------------------------------------*/

/*======================================================
--- Fait scroller une div.
--------------------------------------------------------*/
function Scrolle3(DivId,Sens,Step){
  rubdiv3 = DivId;
  sens3   = Sens;
  step3   = Step;
  PosY3   = j_get_top3(rubdiv3);  
  
  if (sens3 == 'up'){
    if (PosY3 >= posY_max3){
      PosY3 -= step3;
      var repeter3 = "j_bloque3(),SetToY3(); ";
      defile3 = setInterval(repeter3,msecs3);
    }else{
      PosY3 = posY_max3;
    }
  }
  if (sens3 == 'down'){
    if (PosY3 <= posY_min3){
      PosY3 += step3;
      var repeter3 = "j_bloque3(),SetToY3(); ";
      defile3 = setInterval(repeter3,msecs3);
    }else{
      PosY3 = posY_min3;
    }
  }
}
/*------------------------------------------------------*/

/*======================================================
--- Arrête le scrolling.
--------------------------------------------------------*/
function ScrollePlus3(){
  clearInterval(defile3);
}
/*------------------------------------------------------*/

/*======================================================
--- Renvoie les positions des divs.
--------------------------------------------------------*/
function j_get_positions3(d11,d21){
  haut_fen3 = document.getElementById(d11).clientHeight ;
  haut_rub3 = document.getElementById(d21).clientHeight ;
  delta3    = haut_rub3 - haut_fen3;
  posY_max3 = (haut_rub3 - haut_fen3) * (-1);
  //document.write('<br><br>') ;
  //document.write('hauteur de la fenêtre: ' + haut_fen3 + '<br>');
  //document.write('hauteur du ruban: '      + haut_rub3 + '<br>');
  //document.write('différence: '            + delta3    + '<br>');
}
/*------------------------------------------------------*/