
// ===== VARIABLES ET FONCTIONS POUR FAIRE SCROLLER LES PAVÉS DE LA PAGE D'ACCUEIL: =====
var defile2;       //--- assure la gestion du défilement
var rubdiv2;       //--- id de la div défilante
var PosY2;         //--- Position du haut de la div défilante (le ruban)
var haut_fen2;     //--- hauteur de la div de visualisation (la fenêtre)
var haut_rub2;     //--- hauteur de la div défilante (le ruban)
var delta2;        //--- différence entre ces deux hauteurs
var posY_max2;     //--- la butée haute de la div défilante
var posY_min2 = 0; //--- la butée basse de la div défilante
var step2;         //--- hauteur du pas de scrolling en pixels
var msecs2 = 10;   //--- intervalle entre les pas en millisecondes
var sens2;         //--- le sens de défilement2
// --------------------------------------------------------------------------------------

/*======================================================
--- Position d'une DIV par rapport au bord haut de la page.
--- Paramètres :
---     DivId2   ->  ID de la div
--------------------------------------------------------*/
function j_get_top2(){
 var top2 ;
 if ( rubdiv2.offsetParent ){
   top2 = rubdiv2.offsetTop + j_get_top2(rubdiv2.offsetParent) ; //--- récursif
 }else{
   top2 = document.getElementById(rubdiv2).offsetTop ;
 }
 return top2 ;
}
/*------------------------------------------------------*/

/*======================================================
--- Fonction permettant de positionner une div.
--------------------------------------------------------*/
function SetToY2(){
  document.getElementById(rubdiv2).style.top = PosY2 ;
}
/*------------------------------------------------------*/

/*======================================================
--- Bloque le scrolling en haut et en bas.
--------------------------------------------------------*/
function j_bloque2(){
  if (sens2 == 'down'){ //--- si je veux descendre la div
    if (PosY2 > 0){     //--- si la div est trop bas
      ScrollePlus2();
    }else{
      PosY2 += step2;
    }
  }
  if (sens2 == 'up'){ //--- si je veux monter la div
    if (PosY2 < posY_max2){   //--- si la div est trop haut
      ScrollePlus2();
    }else{
      PosY2 -= step2;
    }    
  }
}
/*------------------------------------------------------*/

/*======================================================
--- Fait scroller une div.
--------------------------------------------------------*/
function Scrolle2(DivId,Sens,Step){
  rubdiv2 = DivId;
  sens2   = Sens;
  step2   = Step;
  PosY2   = j_get_top2(rubdiv2);  
  
  if (sens2 == 'up'){
    if (PosY2 >= posY_max2){
      PosY2 -= step2;
      var repeter2 = "j_bloque2(),SetToY2(); ";
      defile2 = setInterval(repeter2,msecs2);
    }else{
      PosY2 = posY_max2;
    }
  }
  if (sens2 == 'down'){
    if (PosY2 <= posY_min2){
      PosY2 += step2;
      var repeter2 = "j_bloque2(),SetToY2(); ";
      defile2 = setInterval(repeter2,msecs2);
    }else{
      PosY2 = posY_min2;
    }
  }
}
/*------------------------------------------------------*/

/*======================================================
--- Arrête le scrolling.
--------------------------------------------------------*/
function ScrollePlus2(){
  clearInterval(defile2);
}
/*------------------------------------------------------*/

/*======================================================
--- Renvoie les positions des divs.
--------------------------------------------------------*/
function j_get_positions2(d21,d22){
  haut_fen2 = document.getElementById(d21).clientHeight ;
  haut_rub2 = document.getElementById(d22).clientHeight ;
  delta2    = haut_rub2 - haut_fen2;
  posY_max2 = (haut_rub2 - haut_fen2) * (-1);
  //document.write('<br><br>') ;
  //document.write('hauteur de la fenêtre: ' + haut_fen2 + '<br>');
  //document.write('hauteur du ruban: '      + haut_rub2 + '<br>');
  //document.write('différence: '            + delta2    + '<br>');
}
/*------------------------------------------------------*/