
var duration=0;

function getAbsoluteLeft(objectId) {
	// Get an object left position from the upper left viewport corner
	// Tested with relative and nested objects
	o = document.getElementById(objectId)
	oLeft = o.offsetLeft            // Get left position from the parent object
	while(o.offsetParent!=null) {   // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent    // Get parent object reference
		oLeft += oParent.offsetLeft // Add parent left position
		o = oParent
	}
	// Return left postion
	return oLeft
}

function getAbsoluteTop(objectId) {
	// Get an object top position from the upper left viewport corner
	// Tested with relative and nested objects
	o = document.getElementById(objectId)
	oTop = o.offsetTop            // Get top position from the parent object
	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent  // Get parent object reference
		oTop += oParent.offsetTop // Add parent top position
		o = oParent
	}
	// Return top position
	return oTop
}

function getLeft(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.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 getHeight(objectId) {
	// Get an object top position from the upper left viewport corner
	// Tested with relative and nested objects
	o = document.getElementById(objectId)
	oTop = o.offsetHeight            // Get top position from the parent object
	return oTop
}

function getWidth(objectId) {
	// Get an object top position from the upper left viewport corner
	// Tested with relative and nested objects
	o = document.getElementById(objectId)
	oTop = o.offsetWidth            // Get top position from the parent object
	return oTop
}

var panuscroll=new Array();


function predit(objet,contenu)
{
ancien = document.getElementById(objet).innerHTML;
document.getElementById(objet).innerHTML=contenu;
var taille=Array();
taille['largeur']=getWidth(objet);
taille['hauteur']=getHeight(objet);
document.getElementById(objet).innerHTML=ancien;
return taille;
}


function scrolle(scroller,nouveau)
{
 	if (panuscroll[scroller,"etat"]=="encours") return;

        support=document.getElementById(scroller);
        largeur=support.offsetWidth;
        hauteur=support.offsetHeight; 

	panuscroll[scroller,"position"]=support.style.position;
	panuscroll[scroller,"width"]=support.style.width;
	panuscroll[scroller,"height"]=support.style.height;
	panuscroll[scroller,"overflow"]=support.style.overflow;
        panuscroll[scroller,"duration"]=hauteur;
	panuscroll[scroller,"etat"]="encours";
	panuscroll[scroller,"frequence"]=20;
	panuscroll[scroller,"vitesse"]=10;

        support.style.position="relative";
        support.style.width=largeur;
        support.style.height=hauteur;
        support.style.overflow="hidden";

        support.innerHTML="<div id='v_" + scroller + "' style='position: absolute; '>" +  document.getElementById(scroller).innerHTML+"<div id='" + scroller + "_page2'>" + nouveau + "</div></div>";

	cross_marquee=document.getElementById("v_" + scroller);
	cross_marquee.style.top=0;
	if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1)
	{ //if Opera or Netscape 7x, add scrollbars to scroll and exit
		  cross_marquee.style.height=hauteur+"px";
		  cross_marquee.style.overflow="scroll";
		  return
	}
	panuscroll[scroller,"lefttime"]=setInterval("stepscroll('" + scroller + "')",panuscroll[scroller,"frequence"]);
}

function depanuize(scroller,support)
{
    clearInterval(panuscroll[scroller,"lefttime"]);
    support.style.position=panuscroll[scroller,"position"];
    support.style.width=panuscroll[scroller,"width"];
    support.style.height=panuscroll[scroller,"height"];
    support.style.overflow=panuscroll[scroller,"overflow"];
    panuscroll[scroller,"etat"]="";
}

function stepscroll(scroller){
cross_marquee=document.getElementById("v_" + scroller);
if (parseInt(cross_marquee.style.top)>(panuscroll[scroller,"duration"]*(-1)+8)) //if scroller hasn't reached the end of its height
  {
    cross_marquee.style.top=parseInt(cross_marquee.style.top)-panuscroll[scroller,"vitesse"]+"px"; //move scroller upwards
    if (parseInt(cross_marquee.style.top)<=(panuscroll[scroller,"duration"]*(-1)+8)) cross_marquee.style.top=panuscroll[scroller,"duration"]*(-1)+"px";
  }
else //else, 
  {  
    support=document.getElementById(scroller);
	depanuize(scroller,support);
    support.innerHTML=document.getElementById(scroller + "_page2").innerHTML;

  }
}







function stepfade(scroller,maxi){
cross_marquee=document.getElementById(scroller);
cm2=document.getElementById("v_" + scroller);

if (parseInt(cross_marquee.style.height)<maxi) //if scroller hasn't reached the end of its height
  {
    cross_marquee.style.height=parseInt(cross_marquee.style.height)+ panuscroll[scroller,"vitesse"]+ "px"; //move scroller upwards
    cm2.style.top=parseInt(cm2.style.top)+ panuscroll[scroller,"vitesse"]+ "px";
	if (parseInt(cross_marquee.style.height)>maxi) cross_marquee.style.height=maxi+"px";
	if (parseInt(cm2.style.top)>0) cm2.style.top="0px";
  }
else //else, 
  {  
    support=document.getElementById(scroller);
	depanuize(scroller,support);
    support.innerHTML=document.getElementById("v_"+scroller).innerHTML;
  }

}


function fadein(scroller,duree,apparence)
{
  	if (panuscroll[scroller,"etat"]=="encours") return;
       support=document.getElementById(scroller);
	support.style.display="";
 	support.style.visibility="hidden";

var t=Array();
t['largeur']=getWidth(scroller);
t['hauteur']=getHeight(scroller);
 	support.style.visibility="";

	panuscroll[scroller,"position"]=support.style.position;
	panuscroll[scroller,"width"]=support.style.width;
	panuscroll[scroller,"height"]=support.style.height;
	panuscroll[scroller,"overflow"]=support.style.overflow;
    panuscroll[scroller,"maxi"]=t['hauteur'];
	panuscroll[scroller,"etat"]="encours";
	panuscroll[scroller,"frequence"]=20;
	panuscroll[scroller,"apparence"]=apparence;
	panuscroll[scroller,"vitesse"]=parseInt(t['hauteur']*panuscroll[scroller,"frequence"]/duree);

        support.style.position="relative";
        support.style.width=t['largeur']+"px";
        support.style.height="0px";
        support.style.overflow="hidden";
    
        support.innerHTML="<div id='v_" + scroller + "' style='position: absolute; '>" + support.innerHTML + "</div>";

	cross_marquee=document.getElementById("v_" + scroller);
	if (apparence=="haut") cross_marquee.style.top=0;else cross_marquee.style.top=-t['hauteur'];
	if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1)
	{ //if Opera or Netscape 7x, add scrollbars to scroll and exit
		  cross_marquee.style.height=hauteur+"px";
		  cross_marquee.style.overflow="scroll";
		  return
	}
	panuscroll[scroller,"lefttime"]=setInterval("stepfade('" + scroller + "','"+ t['hauteur']+"')",panuscroll[scroller,"frequence"]);
}

function panuize(scroller)
{
}

function fadeout(scroller,duree,apparence)
{
  	if (panuscroll[scroller,"etat"]=="encours") return;
       support=document.getElementById(scroller);
	    
	largeur=support.offsetWidth;
        hauteur=support.offsetHeight; 


	panuscroll[scroller,"position"]=support.style.position;
	panuscroll[scroller,"width"]=support.style.width;
	panuscroll[scroller,"height"]=support.style.height;
	panuscroll[scroller,"overflow"]=support.style.overflow;
	panuscroll[scroller,"etat"]="encours";
        panuscroll[scroller,"duration"]=hauteur;
	panuscroll[scroller,"frequence"]=20;
	panuscroll[scroller,"apparence"]=apparence;
	panuscroll[scroller,"vitesse"]=parseInt(hauteur*panuscroll[scroller,"frequence"]/duree);

        support=document.getElementById(scroller);

        support.style.position="relative";
        support.style.width=largeur+"px";
        support.style.height=hauteur+"px";
        support.style.overflow="hidden";

	contenu=support.innerHTML;
        support.innerHTML="<div id='v_" + scroller + "'>" +  contenu + "</div>";
	cross_marquee=document.getElementById("v_" + scroller);
        cross_marquee.style.position="absolute";
	cross_marquee.style.top=0;

// style='position: absolute; '
	if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1)
	{ //if Opera or Netscape 7x, add scrollbars to scroll and exit
		  cross_marquee.style.height=hauteur+"px";
		  cross_marquee.style.overflow="scroll";
		  return
	}
	panuscroll[scroller,"lefttime"]=setInterval("stepfadeout('" + scroller + "')",panuscroll[scroller,"frequence"]);
}

function stepfadeout(scroller){
cross_marquee=document.getElementById(scroller);
cm2=document.getElementById("v_" + scroller);

if (parseInt(cross_marquee.style.height)>0) //if scroller hasn't reached the end of its height
  {
	if (parseInt(cross_marquee.style.height)-panuscroll[scroller,"vitesse"]<0) cross_marquee.style.height=0+"px";else
    cross_marquee.style.height=parseInt(cross_marquee.style.height)-panuscroll[scroller,"vitesse"]+ "px"; //move scroller upwards
    if (panuscroll[scroller,"apparence"]=="haut")
	{
	  cm2.style.top=parseInt(cm2.style.top)- panuscroll[scroller,"vitesse"]+ "px";
	  if (parseInt(cm2.style.top)*(-1)>panuscroll[scroller,"duration"]) cm2.style.top=-panuscroll[scroller,"duration"]+"px";
	}
  }
else //else, 
  {  
    support=document.getElementById(scroller);
	depanuize(scroller,support);
	support.innerHTML=document.getElementById("v_"+scroller).innerHTML;
    support.style.display="none";
   }

}

