﻿function Nouveautes() {

  this.img = $("NouveauteImg");
  this.nom = $("NouveauteNom");
  this.description = $("NouveauteDescription");
  this.precharge = new Image();
  
  this.nouveautes = null;
  this.current = 0;

  this.start = function() {
    new Request.JSON({ url: "Default.ashx?Action=Nouveautes",
      onComplete: this.startAnimation.bind(this)
    }).send();
  }

  this.startAnimation = function($data) {
    this.nouveautes = $data.Nouveautes;
    this.fondue();
    this.next.periodical(7000, this);
  }

  this.next = function() {
    this.current = (this.current + 1) % this.nouveautes.length;
    this.img.fade(0);
    this.fondue.delay(1000, this);
  }

  this.fondue = function() {
    new Request.JSON({ url: "Default.ashx?Action=Ensemble&Id=" + this.nouveautes[this.current].Id,
      onComplete: this.displayEnsemble.bind(this)
    }).send();
    new Request.JSON({ url: "Default.ashx?Action=UrlPhoto&Id=" + this.nouveautes[(this.current + 1) % this.nouveautes.length].Id,
      onComplete: this.prechargerImage.bind(this)
    }).send();
  }

  this.prechargerImage = function($photo) {
    if ($photo.Url)
      this.precharge.src = $photo.Url;
  }

  this.displayEnsemble = function($ensemble) {
    this.img.src = $ensemble.UrlPhoto;
    this.img.fade(1);
    this.nom.innerHTML = "Ligne : " + $ensemble.Ligne + " - " + $ensemble.Nom;
    this.description.innerHTML = $ensemble.Description + "<br /><a href=\"" + $ensemble.Url + "\">Consulter cet ensemble</a>";
  }
  
}