
// Slider text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

var slider = new Array();
          
// scroll the element vertically based on its width and the slider maximum value
function scrollVertical(value, element, nom) {
  element.scrollTop = Math.round(value*slider[nom].scrollMax);
}

function monter(nom) {
  slider[nom].setValueBy(-40/slider[nom].scrollMax);
}
          
function descendre(nom) {
  slider[nom].setValueBy(40/slider[nom].scrollMax);
}
          
// mouse wheel code from http://adomas.org/javascript-mouse-wheel/
function handle(delta,nom) {
  slider[nom].setValueBy(-(delta*60)/slider[nom].scrollMax);
}
      
function initSlider0(adiv) {
  var max = $(adiv+'_main').scrollHeight-$(adiv+'_main').offsetHeight;
  s = new Control.Slider('contentText_slider_ascenseur', 'contentText_slider_chemin', {
    axis: 'vertical',
    onSlide: function(v) { scrollVertical(v, $(adiv+'_main'), 'contentText');  },
    onChange: function(v) { scrollVertical(v, $(adiv+'_main'), 'contentText'); }
  });
  s.scrollMax = max;
  slider['contentText']=s;
}
      
function wheel0(event) { 
  var delta = 0;
  if (!event) /* For IE. */
    event = window.event;
  if (event.wheelDelta) { /* IE/Opera. */
    delta = event.wheelDelta/120;
  /** In Opera 9, delta differs in sign as compared to IE. */
  if (window.opera)
    delta = -delta;
  }
  else if (event.detail) { /** Mozilla case. */
    /** In Mozilla, sign of delta is different than in IE.
      * Also, delta is multiple of 3. */
    delta = -event.detail/3;
  }
      
/** If delta is nonzero, handle it.
  * Basically, delta is now positive if wheel was scrolled up,
  * and negative, if wheel was scrolled down. */
  if (delta)
    handle(delta,'contentText');
      
/** Prevent default actions caused by mouse wheel.
  * That might be ugly, but we handle scrolls somehow
  * anyway, so don't bother here..
  */
  if (event.preventDefault)
    event.preventDefault();
              
  event.returnValue = false;
}
          
function initMouseWheel0(adiv) {
  // mozilla
  Event.observe(adiv+'_main', 'DOMMouseScroll', wheel0);
  // IE/Opera
  Event.observe(adiv+'_main', 'mousewheel', wheel0);
}
      
function initAscenseur(adiv) {
  if ($(adiv+'_main').scrollHeight > $(adiv+'_main').offsetHeight) {
    $(adiv+'_slider').style.display='block';
    divTexte = $(adiv+'_main');
    largeur = divTexte.offsetWidth;
    largeur2 = largeur-10;
    divTexte.style.width = largeur2+'px';
    initSlider0(adiv);
    initMouseWheel0(adiv);
  }
}

// Scroll menus - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

var margin, timeout;
var initScroll = new Array();
var posOrigin = 10000;
var scrolling;

function scrollTopp(myDiv,longScroll,offset,init) {
  if (initScroll[myDiv]==null) initScroll[myDiv]=init;
  scrolling = initScroll[myDiv];

  if(scrolling >= 5) {
    //document.getElementById(myDiv).style.marginTop = "-"+(scrolling--)+"px";
    document.getElementById(myDiv).style.marginTop = "-"+(scrolling-=5)+"px";
    initScroll[myDiv] = scrolling;
  }
  else {
    return;
  }
  if(longScroll == true) {
    timeout = setTimeout("scrollTopp('"+myDiv+"',true,"+offset+","+init+")", 5);
  }
}

function scrollBottom(myDiv,longScroll,offset,init) {
  if (initScroll[myDiv]==null) initScroll[myDiv]=init;
  scrolling = initScroll[myDiv];

  if(scrolling < (document.getElementById(myDiv).offsetHeight-offset)) {
    //document.getElementById(myDiv).style.marginTop = "-"+(scrolling++)+"px";
    document.getElementById(myDiv).style.marginTop = "-"+(scrolling+=5)+"px";
    initScroll[myDiv] = scrolling;
  }
  else {
    return;
  }
  if(longScroll == true) {
    timeout = setTimeout("scrollBottom('"+myDiv+"',true,"+offset+","+init+")", 5);
  }
}


