
// ===== VARIABLES ET FONCTIONS POUR FAIRE SCROLLER LES PAVÉS DE LA PAGE D'ACCUEIL: =====
var defile1;       //--- assure la gestion du défilement
var rubdiv1;       //--- id de la div défilante
var PosY1;         //--- position du haut de la div défilante (le ruban)
var haut_fen1;     //--- hauteur de la div de visualisation (la fenêtre)
var haut_rub1;     //--- hauteur de la div défilante (le ruban)
var delta1;        //--- différence entre ces deux hauteurs
var posY_max1;     //--- la butée haute de la div défilante
var posY_min1 = 0; //--- la butée basse de la div défilante
var step1;         //--- hauteur du pas de scrolling en pixels
var msecs1 = 10;   //--- intervalle entre les pas en millisecondes
var sens1;         //--- le sens de défilement
// --------------------------------------------------------------------------------------

/*======================================================
--- Position d'une DIV par rapport au bord haut de la page.
--- Paramètres :
---     DivId1   ->  ID de la div
--------------------------------------------------------*/
function j_get_top1(){
 var top1 ;
 if ( rubdiv1.offsetParent ){
   top1 = rubdiv1.offsetTop + j_get_top1(rubdiv1.offsetParent) ; //--- récursif
 }else{
   top1 = document.getElementById(rubdiv1).offsetTop ;
 }
 return top1 ;
}
/*------------------------------------------------------*/

/*======================================================
--- Fonction permettant de positionner une div.
--------------------------------------------------------*/
function SetToY1(){
  document.getElementById(rubdiv1).style.top = PosY1 ;
}
/*------------------------------------------------------*/

/*======================================================
--- Bloque le scrolling en haut et en bas.
--------------------------------------------------------*/
function j_bloque1(){
  if (sens1 == 'down'){ //--- si je veux descendre la div
    if (PosY1 > 0){     //--- si la div est trop bas
      ScrollePlus1();
    }else{
      PosY1 += step1;
    }
  }
  if (sens1 == 'up'){ //--- si je veux monter la div
    if (PosY1 < posY_max1){   //--- si la div est trop haut
      ScrollePlus1();
    }else{
      PosY1 -= step1;
    }    
  }
}
/*------------------------------------------------------*/

/*======================================================
--- Fait scroller une div.
--------------------------------------------------------*/
function Scrolle1(DivId,Sens,Step){
  rubdiv1 = DivId;
  sens1   = Sens;
  step1   = Step;
  PosY1   = j_get_top1(rubdiv1);  
  
  if (sens1 == 'up'){
    if (PosY1 >= posY_max1){
      PosY1 -= step1;
      var repeter1 = "j_bloque1(),SetToY1(); ";
      defile1 = setInterval(repeter1,msecs1);
    }else{
      PosY1 = posY_max1;
    }
  }
  if (sens1 == 'down'){
    if (PosY1 <= posY_min1){
      PosY1 += step1;
      var repeter1 = "j_bloque1(),SetToY1(); ";
      defile1 = setInterval(repeter1,msecs1);
    }else{
      PosY1 = posY_min1;
    }
  }
}
/*------------------------------------------------------*/

/*======================================================
--- Arrête le scrolling.
--------------------------------------------------------*/
function ScrollePlus1(){
  clearInterval(defile1);
}
/*------------------------------------------------------*/

/*======================================================
--- Renvoie les positions des divs.
--------------------------------------------------------*/
function j_get_positions1(d11,d21){
  haut_fen1 = document.getElementById(d11).clientHeight ;
  haut_rub1 = document.getElementById(d21).clientHeight ;
  delta1    = haut_rub1 - haut_fen1;
  posY_max1 = (haut_rub1 - haut_fen1) * (-1);
  //document.write('<br><br>') ;
  //document.write('hauteur de la fenêtre: ' + haut_fen1 + '<br>');
  //document.write('hauteur du ruban: '      + haut_rub1 + '<br>');
  //document.write('différence: '            + delta1    + '<br>');
}
/*------------------------------------------------------*/