carrousel = new Object();

carrousel.init = function() {


  this.current_position = 1;
  this.max_position = $('carrousel_slide_total').value  *  1;
  this.deplacement_width = 687;
	$('carrousel_container').setStyle("width", (this.max_position+1) * this.deplacement_width);
  
  $$('#carrousel_information .texte').each(function(el) {
    el.setStyle("display","none");
  });

  $$('#carrousel_information .titre').each(function(el) {
    el.setStyle("display","none");
  });
  
	$$('#carrousel_option .number').each( function(el) {
  	el.addEvent('click', function() { carrousel.move(el.id); } );
		el.addEvent('mouseover', function() { el.addClass('hover'); } );
		el.addEvent('mouseout', function() { el.removeClass('hover'); } );
    
    $('carrousel_up').addEvent('click', function(el) { carrousel.up_information(); } );
    $('carrousel_close').addEvent('click', function(el) { carrousel.down_information(); } );
    
		carrousel.sh_information(false);
		carrousel.sh_menu(true);
 
   carrousel.move(1);
	 $('carrousel_up').fireEvent('click');
	 
	 EwaDebug("[carrousel] init : finish"); 

	});
	
}


carrousel_automove = function() {
	EwaDebug("[carrousel] carrousel_automove : start"); 
	carrousel.automove();
}

carrousel.automove = function() {
	
	//return;
	
	EwaDebug("[carrousel] automove : start " + this.current_position + "/" + this.max_position); 
	goto = this.current_position * 1;
	goto += 1;
	EwaDebug("[carrousel] automove : goto " + goto);
	if(goto > (this.max_position*1)) { goto = 1; }
	carrousel.move("carrousel_number-" + goto);
}


/*
 * show / hide les informations qui sont dans panneau d'information
 */
carrousel.sh_information = function(show, lid) {
  if(lid == undefined) {
    lid = this.current_position;
  }

  if(show == true) {
    $$('#carrousel_information .texte').each(function(el) {
      el.setStyle("display","none");
    });

    $$('#carrousel_information .titre').each(function(el) {
      el.setStyle("display","none");
    });  
    
    EwaDebug("[carrousel] sh_information : show "  + this.current_position);
    
    $('carrousel_close').setStyle("display", "block");
    $('carrousel_titre-' + lid ).setStyle("display", "block");
    $('carrousel_texte-' + lid).setStyle("display", "block"); 
 } else {
    EwaDebug("[carrousel] sh_information : hide"  + this.current_position);
    $('carrousel_close').setStyle("display", "none");
    $('carrousel_titre-'+ lid).setStyle("display", "none");
    $('carrousel_texte-'+ lid).setStyle("display", "none");
 }
}

/*
 * show / hide les informations du panneau menu ( = bouton pour faire du slide)
 */
carrousel.sh_menu = function(show) {
  if(show == true) {
    EwaDebug("[carrousel] sh_menu : show");
    $('carrousel_up').setStyle("display", "block");
 } else {
    EwaDebug("[carrousel] sh_menu : hide");
    $('carrousel_up').setStyle("display", "none");
 }
}

/*
 * faire apparaitre le panneau d'information = le slider en haut / afficher ses informations
 */
carrousel.up_information = function(lid) {
  if(lid == undefined) {
    lid = this.current_position;
  }
  // masque le titre de la div slide
  carrousel.sh_slide_titre(lid, false);

  carrousel.sh_menu(false);
  carrousel.sh_information(true);
  // on montre nos informations
  $('carrousel_information').tween('margin-top',0);
}

/*
 * faire disparaitre le panneau d'information = le slider en bas / masquer ses informations
 */
carrousel.down_information = function(lid) {
  if(lid == undefined) {
    lid = this.current_position;
  }
  var fx = new Fx.Tween($('carrousel_information'));
  fx.start('margin-top', 190).chain(function() {
    carrousel.sh_information(false);
    carrousel.sh_menu(true);
    carrousel.sh_slide_titre(lid, true);
    });

}

/*
 * show, hide : show => le titre du slide id, hide => masque TOUS les titres de slide
 */
carrousel.sh_slide_titre = function(id, show) {
  if(show == true) {
    $$('#slide-' + id + ' .titre')[0].setStyle('display', 'block');
  } else {
    $$('.slide .titre').setStyle('display', 'none');
  }
}

carrousel.move = function(id) {
  // si on a recu un entier on le prend  commme id
  // sinon c'est le .id de l'element donc on recupere le nombre
  if((id % 1) == 0) {
    lid = id;
  } else {
    ids = id.split("-");
    lid = ids[1];
  }
  
  EwaDebug("[carrousel] move : " + lid);

  // le panneau d'information est visible
  ml = $('carrousel_information').getStyle("margin-top").replace(/px/,'') * 1;
  if(ml == 0) { 
    // on masque le texte du slide qu'on va déplacer et on change les informations du panneau
    carrousel.sh_slide_titre(lid, false);
    carrousel.sh_information(true, lid); 
  } else {
    carrousel.sh_slide_titre(lid, true);
  }
  
  deplacement = this.deplacement_width * -1 * (lid-1);
  $('carrousel_container').tween('margin-left',deplacement);
  
  $('carrousel_number-' + this.current_position).removeClass("selected");
  this.current_position = lid;
  $('carrousel_number-' + this.current_position).addClass("selected");

}



