﻿// Fichier JScript pour les nouvelles du bandeau

var TEMPS_CARAC = 80;
var TEMPS_CHAINE = 4000;
var TEMPS_TITRE = 50;

var nbElem = 0;
var iCourant = Math.round(Math.random()*10)-1; 
var iPrecedent = -1;
var TexteSpan	= null;
var texteCourant = "";
var iCarac = 0;
var etat = 1;
var longChaine = 0;
var nouvCourante = null;
var iCouleur = 0;
var nbCouleurs = 19;
var tabCouleurs = null;
var objTitre = null;

/******************************************************************************
* Initialiser les informations sur les nouvelles qui seront affichées.
******************************************************************************/
function InitNouvelles()
{

  //Obtenir la référence sur la zone du bandeau et de ses éléments div.
  objBandeau = document.getElementById('zoneBandeau');
  if(!(objBandeau == null))
  {  
    tabDiv = objBandeau.getElementsByTagName('div');
    
    //Obtenir le nombre d'éléments div du bandeau.
    nbElem = tabDiv.length;
    if(nbElem == 0)
      return;
  }
  else
    return;
    
  //Il y a au moins une nouvelle dans le bandeau.
  
  //Obtenir le texte contenu dans les balises span du bandeau.
  TexteSpan = new Array();
  for(var i = 0; i < nbElem; ++i)
  {
    var spanCourant = tabDiv[i].getElementsByTagName('span')[0];
    TexteSpan[i] = spanCourant.innerHTML;
  }

  NbElem = TexteSpan.length;

  DemarrerNouvelles();
}

/******************************************************************************
* Démarrer la gestion de l'écriture de la nouvelle.
******************************************************************************/
function DemarrerNouvelles()
{
  //Vérifier que l'état est correct et obtenir les informations sur une nouvelle
  if(etat == 1) 
    ConfigNouvelle(); 
    
  //alignerDivs();
  
  //Vérifier si l'indice du caractère est dans la chaine
  if(iCarac < longChaine)
    //Dessiner la chaine
    DessinerChaine(); 
  else
    //Terminer l'écriture et l'afficher
    TerminerNouvelle(); 
}

/******************************************************************************
* Initialiser les informations pour l'écriture de la nouvelle courante.
******************************************************************************/
function ConfigNouvelle()
{
  iCarac = 0;
  etat = 0;
  iPrecedent = iCourant;
  iCourant = ++iCourant % nbElem;

  texteCourant = TexteSpan[iCourant];
  longChaine = texteCourant.length;
  nouvCourante = document.getElementById("Nouvelle");
}

/******************************************************************************
* Écrire les caractères de la chaine avec un peu de style.
******************************************************************************/
function DessinerChaine()
{
  var curseur = (iCarac % 2) == 0 
                ? "-" 
                : "_";
                
  nouvCourante.innerHTML = texteCourant.substring(0, iCarac) + curseur;
  ++iCarac;
  setTimeout("DemarrerNouvelles()", TEMPS_CARAC);
}

/******************************************************************************
* Terminer l'écriture de la chaine.
******************************************************************************/
function TerminerNouvelle()
{
  nouvCourante.innerHTML = texteCourant;
  etat = 1; 
  setTimeout("DemarrerNouvelles()", TEMPS_CHAINE);
}
