/**
 * MovieAnim
 * Classe Javascript de gestion d'animation de banniere pub
 *
 * Par Espace Video
 * 21 Novembre 2008
 */
MovieAnim = Class.create({

	/**
	 * Constructeur de la classe
	 * (Appellé automatiquement)
	 *
	 * @param DOMObject block contenant les items
	 * @param array liste des films
	 * @return void
	 */
	initialize: function(MovBlock, MovArray) {


		this.movListe  = MovArray;
		this.movCurrent = 0;
		this.movParent = MovBlock;
		this.anumRun = false;
		this.nbrMov = MovArray.size();

		//Préchargement des images de films
		this.movListe.each(function(mov) {
			mov[2] = new Image(123, 173);
			mov[2].src = 'images/jaquette/fiche/' + mov[0] + '.jpg';
		});

		this.putNextMovie();
	},

	/**
	 * Gere le défillement du prochain film
	 * Et incrémente le pointeur
	 * (Si un défilement n'est pas en cour)
	 *
	 * @return void
	 */
	putNextMovie: function() {

		//Si annimation active
		if (this.anumRun == true) { return true };

		var MovOld = this.getCurrentMovie();
		var MovNew = this.creatMovie();
		this.anumRun = true; //Activation anim

		//Affichage nouveau film
		this.movParent.insert(MovNew);

		//suppression de l'ancien film (si existant)
		if (MovOld != null) { MovOld.remove(); }

		//Incrémentation du film courant
		//Si fin liste atteind : remise a zero
		if (this.movCurrent < this.nbrMov - 1 ) {
			this.movCurrent++;
		} else {
			this.movCurrent = 0;
		}

		this.anumRun = false; //Desactivation anim
	},

	/**
	 * Retourne l'item de film courant
	 * (Si il y en a un)
	 *
	 * @return DOMObject Item de film courant
	 */
	getCurrentMovie: function() {

		var CurrentMov = null;
		var ReturnMov = null;

		//Definition de l'objet film actuel (Si il y en a un)
		CurrentMov = this.movParent.childElements();
		if (CurrentMov[0]) { ReturnMov = CurrentMov[0]; }

		return ReturnMov;
	},

	/**
	 * Génere un item de film
	 *
	 * @return DOMObject Item de film généré
	 */
	creatMovie: function() {

		//Génération de l'item du film
		var ItemMov = new Element('a', {
			'href': 'fichefilm.php?movid=' + this.movListe[this.movCurrent][0],
			'class': 'Movie_Link',
			'id': 'MovLnk_' + this.movCurrent
		});

		//Génération du contenu de l'item
		var ItemMovImage = this.movListe[this.movCurrent][2];
		var ItemMovBr = new Element('br');
		var ItemMovTitle = new Element('span').update(this.movListe[this.movCurrent][1]);

		//Insertion du contenu dans l'item
		ItemMov.insert(ItemMovImage);
		ItemMov.insert(ItemMovBr);
		ItemMov.insert(ItemMovTitle);

		return ItemMov;
	}
});


