//####################################################################
//
//                   POE - POrtail d'Entreprise PSA
//
//               COPYRIGHT 2002 - PSA PEUGEOT CITROEN
//
//####################################################################
// ROLE :
// Gestion d'une zone de texte déroulante de type "fil rouge"
//####################################################################
// UTILISATION :
//
// La page dans laquelle on souhaite disposer d'une telle zone déroulante doit
// comporter, dans l'ordre, les éléments suivants :
//
// - un tableau poeHtml[] donnant les news sous forme html
//      Exemple :
//      <script LANGUAGE="JavaScript1.2">
//      var poeHtml = new Array();
//      poeHtml[0]= '<a href="url">news avec lien</a>';
//      poeHtml[1]= 'news sans lien';
//      </script>
//
// - l'appel au présent script
//      Exemple :
//      <script LANGUAGE="JavaScript1.2" src="banner_common.js"></script>
//
// - des commandes suivantes sur le tag BODY :
//   Exemple :
//      <body onLoad="POE_startBanner()">
//
// - une image dont le NOM et l'ID sont "poe_banner"
//   c'est la taille de l'image qui fixe la zone de scrolling
//   Exemple :
//   <img src="foo.gif" id="poe_banner" width="400" height="15">
//########################################################################

// delai entre deux steps de scrolling
// nombre de pixels de scroll
// pause entre deux titres
var interval = 30, increment = 1, pause = 2000;

// gestion des etats de defilement
var moveUpToGo = 0, nextToGo = 0, freezed = 0;

// couleur de fond
var  bannerColor = "#ffffff";

// espace entre le layer principal et les layers de chaque titre
var leftPadding = 3, topPadding = 1;

// périmètre de la zone de banner
var bannerLeft, bannerTop, bannerWidth, bannerHeight;

// Taille de depart (pour le restore en cas de modif de la taille de fenetre)
var origWidth, origHeight;

// Table des news
var poeHtml;

// Definit des news par defaut si la table n'existe pas ou est trop petite
createNews = false;
doRotate = true;
if (poeHtml == undefined) {
  createNews = true;
} else if (poeHtml.length < 2) {
//  createNews = true;
  doRotate = false;
}
if (createNews) {
  poeHtml = new Array(2);
  poeHtml[0] = 'Il faut définir au moins 2 news';
  poeHtml[1] = 'dans la variable javascript poeHtml[]';
}
// pour memoire
//poeHtml[i] = "<font FACE='VERDANA, ARIAL, HELVETICA' STYLE='font-weight:bold; font-size:7.8pt'><A STYLE=color:'#0000FF' HREF='URL'>TEXT</A></font>"


// *********************************
function POE_detecteBrouteur() {
  //var majorType = window.navigator.appName;
  //var majorVersion = window.navigator.appVersion.substring(0,1);
  if (document.layers) {
    return "NS4";
  } else if (document.all) {
    return "IE5";
  } else if (document.compatMode) {
    return "MOZ";
  } else {
    return "UNKNOWN";
  }
}


// *********************************
function POE_nextMessage() {
  var fromInd = current;
  nextToGo = 0;
  (fromInd == poeHtml.length - 1) ? current = 0 : current = fromInd + 1;
  POE_scrollBanner(fromInd, current);
}


// *********************************
function POE_freeze() {
  if (freezed)
    return;
  if (moveUpToGo == 1) {
    moveUpToGo = 2;
    clearInterval(intervalID);
  }
  if (nextToGo == 1) {
    nextToGo = 2;
    clearTimeout(timeoutID);
  }
  freezed = 1;
}

// *********************************
function POE_unfreeze() {
  if (!freezed)
    return;
  if (moveUpToGo == 2) {
    moveUpToGo = 1;
    intervalID = setInterval("POE_moveUp()", interval);
  }
  if (nextToGo == 2) {
    nextToGo = 1;
    timeoutID = setTimeout("POE_nextMessage()", 100);
  }
  freezed = 0;
}



// *********************************
function POE_startBanner() {
  POE_buildBanner( );
  POE_fillBanner();
  POE_showMessage(0, true);
  if (doRotate == true) {
    current = 0;
    nextToGo = 1;
    timeoutID = setTimeout("POE_nextMessage()", pause);
  }
}


// *********************************
//      Debut du script
// *********************************
var brouteur = POE_detecteBrouteur();
//alert(brouteur);
if (brouteur == "NS4") {
  document.write ('<script LANGUAGE="JavaScript1.2" src="js/banner_ns4.js"></script>');
} else if (brouteur == "IE5") {
  document.write ('<script LANGUAGE="JavaScript1.2" src="js/banner_ie5.js"></script>');
} else if (brouteur == "MOZ" || brouteur == "UNKNOWN") {
  document.write ('<script LANGUAGE="JavaScript1.2" src="js/banner_moz.js"></script>');
}

// C'est fini