//########################################################################
//
//                   POE - POrtail d'Entreprise PSA
//
//               COPYRIGHT 2004 - PSA PEUGEOT CITROEN
//
//	D. MOUGEY J405202 29/10/04
//####################################################################
// ROLE :
// Gestion d'une zone de texte défilante de type "info Brûlante"
//####################################################################
// 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 infoOnglet[] 
// - un tableau infoCanal[] 
//      Exemple :
//      
//var infoOnglet = new Array();
//infoOnglet["Espace Salarié"]="C'est mon message";
//infoOnglet["anonyme"]="C'est autre";
//
//var infoCanal = new Array();
//infoCanal[0] = new Array();
//infoCanal[0]["prhOutilsProvider"] = "prhOutilsProvider cassé";
//
// - une image dont le NOM et l'ID sont passé à la fonction ScrollInit
// - un DIV dont ID est passée à la fonction ScrollInit
//########################################################################
//Paramètre à définir
var DivWidth = 850;			//Largeur du DIV contenant le message
var ScrollSpeed = 30;			//vitesse du message (tempo en millisecondes)

//Déclaration des variables globales
var DivLeft	= 0;			//Position du Div par rapport au côté gauche de la page
var DivTop	= 0;			//Position du Div par rapport au haut de la page
var MessageWidth = 0;			//Largeur du Message
var first = true;			//Indication de démarrage du défilement
var StartPos = 0;			//Position de départ du DIV contenant le message
var EndPos = 0;				//Position finale du DIV contenant le message
var MyPos = StartPos;			//Position courante du DIV contenant le message
var DivClipLeft = 0;			//Début de la partie visible du DIV
var DivClipRight = 0;			//Fin de la partie visible du DIV

function ScrollInit(ID_Anchor,Name_Anchor,ID_Div,WS_tab)
//Fonction faisant l'initialisation du DIV contenant le message
//et le lancement du défilement du message
	{
	var message = getMessage(WS_tab);
	if(message=='') return false;
	if (window.strStyle){
		document.getElementById(ID_Div).innerHTML = '<nobr>' + strStyle.replace(/poemessage/,message) + '</nobr>';
	}
	else{
		document.getElementById(ID_Div).innerHTML = '<nobr>' + message + '</nobr>';
	}
	
	pos = document.getElementById(ID_Anchor);
	MessageWidth = document.getElementById(ID_Div).offsetWidth;
	DivLeft = getLeft(pos);
	DivTop = getTop(pos);
	StartPos = DivLeft + DivWidth;
	EndPos = DivLeft - MessageWidth;
	MyPos = StartPos;
	document.getElementById(ID_Div).style.top = DivTop;
	setInterval("Scrolling('"+ID_Div+"')", ScrollSpeed);
	}

		
function getLeft(MyObject)
//Fonction permettant de connaître la position d'un objet
//par rapport au bord gauche de la page.
//Cet objet peut être à l'intérieur d'un autre objet.
	{
	if (MyObject.offsetParent)
		return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
	else 
		return (MyObject.offsetLeft);
	}

	
function getTop(MyObject)
//Fonction permettant de connaître la position d'un objet
//par rapport au bord haut de la page.
//Cet objet peut être à l'intérieur d'un autre objet.
	{
	if (MyObject.offsetParent)
		return (MyObject.offsetTop + getTop(MyObject.offsetParent));
	else
		return (MyObject.offsetTop);
	}


function Scrolling(ID_Div)
//Fonction faisant défilé le message
	{
	if (MyPos < EndPos) MyPos = StartPos;
	DivClipLeft = DivLeft - MyPos;
	DivClipRight = StartPos - MyPos;
	document.getElementById(ID_Div).style.left = MyPos;
	document.getElementById(ID_Div).style.top = DivTop;
	document.getElementById(ID_Div).style.clip = "rect(auto "+DivClipRight+"px auto "+DivClipLeft+"px)";
	if (first) document.getElementById(ID_Div).style.visibility = "visible";
	first = false;
	MyPos = MyPos - 1;
	}
function getMessage(onglet){
	var message ="";
	var strSpace=" - ";
	if(window.infoOnglet){ // Test l'existence de la variable infoOnglet
		if(infoOnglet[onglet]){
		message += infoOnglet[onglet];
		}
	}
	if(window.infoCanal){ // Test l'existence de la variable infoCanal
		for (var propriete in infoCanal[0]){
			strReg = eval('/.+'+propriete+'.+/');
			if(document.body.innerHTML.search(strReg) != -1){
				if (message==""){
					message += infoCanal[0][propriete];
				}
				else{
					message += strSpace + infoCanal[0][propriete];
				}
			}
		}
	}
return message
}