/**
 * @author Christophe Meiller - 2011
 */

var AnimationManager = function () {
  this.animations = new Array();
  this.step = 0;
  var himself = this;
  
  this.addAnimation = function (element, delay1, speedFadeIn, delay2, speedFadeOut) {
    var anim = function () {
      var elt = jQuery(element);
      if (delay1) {
        elt.delay(delay1);
      }
      if (speedFadeIn) {
        if (speedFadeOut) {
          elt.fadeIn(speedFadeIn);
        } else {
          elt.fadeIn(speedFadeIn, himself.animate);
        }
      }
      if (delay2) {
        elt.delay(delay2);
      }
      if (speedFadeOut) {
        elt.fadeOut(speedFadeOut, himself.animate);
      }
    };
    this.animations.push(anim);
  }
  
  this.animate = function () {
    if (himself.step < himself.animations.length) {
      himself.animations[himself.step++]();
    }
    else {
      himself.step = 0;
      himself.animations[himself.step++]();
    }
  }
  
  this.count = function () {
    return this.animations.length;
  }
}
