AI.carroussel =
{
 eltNext:null,
 eltPrevious:null,
 eltHeader:null, 
 currentElt:null,
 currentPos:null,
 largeurBloc:0,
 autoplay:(function()
 {
  var
   buttonNext, buttonPrevious, toid, delay, maxPos,
   actif = true;
  function clearToid() { if ( toid ) { toid = window.clearTimeout(toid); } }

  function go()
  {
  }

  function placeFirst()
  {
   selected = AI.carroussel.getDivPos(0);
   AI.DOM.CSS.setStyle(selected, {width:'343px',height:'174px',marginTop:'0px'});
   AI.DOM.CSS.setStyle('videoimg', {width:'343px',height:'174px'});
   AI.DOM.CSS.add("selected", selected);
  }
  function nextOne()
  {
   var pos = AI.carroussel.currentPos;
   if ( actif )
   {
    pos++;
    if ( pos >= maxPos ) { pos = 0; }
    AI.carroussel.scrollTo(pos, go, maxPos, 'next');
   }
  }
  function previousOne()
  {
   var pos = AI.carroussel.currentPos;
   if ( actif )
   {
    pos--;
    if ( pos < 0 ) { pos = maxPos-1; }
    AI.carroussel.scrollTo(pos, go, maxPos, 'prev');
   }
  }
  function toggle()
  {
  alert(toggle);
/*
   clearToid();
   actif = !actif;
   if ( actif ) { go(); }
   else { stop(); }
*/
  }
  return {
   init:function(eltNext, eltPrevious, nb, ms)
   {
    delay = ms;
    maxPos = nb;
    buttonNext = AI.DOM.getById(eltNext);
    buttonNext.onclick = nextOne;
    buttonPrevious = AI.DOM.getById(eltPrevious);
    buttonPrevious.onclick = previousOne;
    placeFirst();
   }
  };
 })(),
 getPosDiv:function(div)
 {
  var
   i,
   posWhiteSpace = 0,
   childs = div.parentNode.childNodes;
  for ( i = 0; i < childs.length; i++ )
  {
   if ( childs[posWhiteSpace] == div ) { return posWhiteSpace; }
   if ( childs[i].nodeName == "DIV" ) { posWhiteSpace++; }
  }
  return null;
 },
 getDivPos:function(pos)
 {
  var
   i,
   posWhiteSpace = 0,
//   childs = AI.carroussel.eltHeader.childNodes;
   childs = AI.carroussel.elt.childNodes;
  for ( i = 0; i < childs.length; i++ )
  {
   if ( childs[i].nodeName == "DIV" )
   {
    if ( posWhiteSpace == pos ) { return childs[i]; }
    posWhiteSpace++;
   }
  }
  return null;
 },
 scrollTo:function(position, oncomplete, maxPos, type)
 {
  var
   anime, selected,
   F = 0,
   T = 0;
  if ( position != AI.carroussel.currentPos )
  {
   selected = AI.carroussel.getDivPos(position);

   positionPrev = position-1;
   if ( positionPrev < 0 ) { positionPrev = maxPos-1; }
   prev = AI.carroussel.getDivPos(positionPrev);

   positionNext = position+1;
   if ( positionNext >= maxPos ) { positionNext = 0; }
   next = AI.carroussel.getDivPos(positionNext);

   selectedx = AI.carroussel.getDivPos(0);
   AI.DOM.CSS.remove("selected", selectedx);

   AI.DOM.CSS.remove("selected", AI.carroussel.currentElt);
   F = AI.carroussel.largeurBloc * AI.carroussel.currentPos;
   T = AI.carroussel.largeurBloc * position;
   AI.carroussel.currentPos = position;
   AI.carroussel.currentElt = selected;
   AI.carroussel.prevElt = prev;
   AI.carroussel.nextElt = next;
//   AI.DOM.CSS.add("selected", selected);

//  oncomplete = oncomplete || function(){};
  function oncomplete()
  {
   AI.DOM.CSS.add("selected", selected);
  }

   anime = new AI.ANIMATION(
    {
     step:20,
     duration:500,
     onComplete:oncomplete
    }
   );
    
//deplacement scroller
   anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.elt, "left", -F, -T, "px"));
//agrandir IMG current
   anime.addSubject(new AI.ANIMATION.numericalTransition($tags('img', $(AI.carroussel.currentElt)), "width", 68, 343, "px"));
   anime.addSubject(new AI.ANIMATION.numericalTransition($tags('img', $(AI.carroussel.currentElt)), "height", 35, 174, "px"));
//agrandir DIV current
   anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.currentElt, "width", 70, 351, "px"));
   anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.currentElt, "height", 54, 271, "px"));
   anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.currentElt, "marginTop", 60, 0, "px"));

   if(type == 'prev')
   {
    anime.addSubject(new AI.ANIMATION.numericalTransition($tags('img', $(AI.carroussel.nextElt)), "width", 343, 68, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition($tags('img', $(AI.carroussel.nextElt)), "height", 174, 35, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.nextElt, "width", 351, 70, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.nextElt, "height", 271, 54, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.nextElt, "marginTop", 0, 60, "px"));
//    anime.addSubject(new AI.ANIMATION.numericalTransition($tags('h1', $(AI.carroussel.nextElt)), "opacity", 1, 0, "%"));
   }
   if(type == 'next')
   {
    anime.addSubject(new AI.ANIMATION.numericalTransition($tags('img', $(AI.carroussel.prevElt)), "width", 343, 68, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition($tags('img', $(AI.carroussel.prevElt)), "height", 174, 35, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.prevElt, "width", 351, 70, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.prevElt, "height", 271, 54, "px"));
    anime.addSubject(new AI.ANIMATION.numericalTransition(AI.carroussel.prevElt, "marginTop", 0, 60, "px"));
//    anime.addSubject(new AI.ANIMATION.numericalTransition($tags('h1', $(AI.carroussel.prevElt)), "opacity", 1, 0, "%"));
   }
   anime.play();
  
   
  } else {
   return true;
  }
  return false;
 },
 init:function(largeurBloc, eltHeader, eltMain, eltButtonNext, eltButtonPrevious)
 {
  function nbChilds(elt)
  {
   var
    i,
    nb = 0,
    childs = AI.DOM.getById(elt).childNodes;
   for ( i = childs.length; i--; ) { if ( childs[i].nodeName == "DIV" ) { nb++; } }
   return nb;
  }
  pere = eltHeader
  AI.carroussel.largeurBloc = largeurBloc;
  AI.carroussel.elt = AI.DOM.getById(eltMain).firstChild;
  AI.carroussel.autoplay.init(eltButtonNext, eltButtonPrevious, nbChilds(eltHeader), 5000);
 }
};