// taille décalage
var DepX =10;

// vitesse décalage
// +grand = plus lent
var delaiRaff = 100;


// variables de travail
var PosX = 0;
var PasX = new Array;
var PasY = 0;
var Anim = 0;



// compatibilité
var DOM = (document.getElementById ? true : false);
var IE  = (document.all && !DOM ? true : false);
var NS4 = (document.layers ? true : false);
var NAV_OK   = ( DOM || IE || NS4);
var NETSCAPE = (navigator.appName == "Netscape");


function setToAnchor(ID_Anchor,Name_Anchor,ID_Div)
//Fonction permettant de positionner un DIV à une position occupée par une ancre
    {
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 
    if (DOM)
        {
        pos = document.getElementById(ID_Anchor);
        DivLeft = getLeft(pos);
        DivTop = getTop(pos);
        document.getElementById(ID_Div).style.left = DivLeft;
        document.getElementById(ID_Div).style.top = DivTop;
        }
    else if (IE4) 
        {
        pos = document.all[ID_Anchor];
        DivLeft = getLeft(pos);
        DivTop = getTop(pos);
        document.all[ID_Div].style.posLeft = DivLeft;
        document.all[ID_Div].style.posTop = DivTop;
        }
    else if (NS4)
        {
        pos = document.anchors[Name_Anchor];
        DivLeft = pos.x;
        DivTop = pos.y;
        document.layers[ID_Div].pageX = DivLeft;
        document.layers[ID_Div].pageY = DivTop;
        }
    }

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 GetObjet(div_){
  if( DOM) return document.getElementById(div_);
  if( IE)  return document.all[div_];
  if( NS4) return document.layers[div_];
}
//---------------------
function GetStyle(div_){
  return (NS4 ? GetObjet(div_) : GetObjet(div_).style);
}

//-----------------------------
function ObjMove( div_, x_, y_){
  var Obj = null;
  var Arg = arguments;
  if( div_){
    Obj = GetStyle( div_);
    if( Obj){
      if( NETSCAPE){
        if( Arg[1] != null) Obj.left = parseInt( Obj.left) +x_;
        if( Arg[2] != null) Obj.top  = parseInt( Obj.top)  +y_;
      }
      else{
        if( Arg[1] != null) Obj.pixelLeft = parseInt( Obj.pixelLeft) +x_;
        if( Arg[2] != null) Obj.pixelTop  = parseInt( Obj.pixelTop)  +y_;
      }
    }
  }
}

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 Animation(idBandeau, numAnim, localPosX){
  
  	if ( numAnim == Anim ){
	
	 	ObjMove(idBandeau,PasX[numAnim],0);

		localPosX ++;
		if (localPosX > DepX){
			localPosX = -1;
			PasX[numAnim] = -PasX[numAnim];
		 }
		 //alert(PasX+" - "+PosX);
		 
		 setTimeout('Animation("'+ idBandeau +'","'+numAnim +'","'+ localPosX +'")', delaiRaff);
	}
	
	else {
		if (numAnim > 0){
			numAnim = -numAnim;
			if (PasX[-numAnim] == -1)
				localPosX = DepX-localPosX;
			else 
				PasX[-numAnim] = -1;

		}
		
		ObjMove(idBandeau,PasX[-numAnim],0);
		
		if(localPosX > 0){
			localPosX = localPosX - Math.abs(PasX[-numAnim]);
			setTimeout('Animation("'+ idBandeau +'","'+numAnim +'","'+ localPosX +'")', delaiRaff);
		}
	}
	

}

