sourisX =0;
sourisY =0;
tabObjetsEcran=new Array();
tabObjetsGlisse=new Array();
tabObjetsOnglet=new Array();
tabObjetsFlash=new Array();
tabObjetsProjection=new Array();
tabObjetsImgMulti=new Array();
function coordSouris(event)
	{
	event= event || window.event;
	sourisX= event.clientX + (document.body.scrollLeft + document.documentElement.scrollLeft);
	sourisY= event.clientY + (document.body.scrollTop + document.documentElement.scrollTop);
	window.status = "( x = " + sourisX + " ; y = " + sourisY + ")";
	}

//-------------------------------------------- classe defilement -------------------------------------------------
oDefilement = function (nom,ecran)
{
this.ecran=ecran;
var existe=false;
for(var i = 0; i < tabObjetsEcran.length; i++)
	{
	if(tabObjetsEcran[i].ecran == this.ecran)
		{
		existe = true;break;
		}
	}
if(existe)
	{
	tabObjetsEcran[i]=this;
	}
else
	{
	tabObjetsEcran.push(this);
	}

this.vertical=false;
this.tempsMs=50;
this.nom=nom;
this.repliId = 'repli';
this.pellicule="";
this.inhibeDefileEcran=false;
this.inhibeInversionSens=false;
this.controleDefile=false;
this.vitesseConstante=false;
this.vitessePellicule=-10;
this.vitesse=0;
this.vitMoinsId="";
this.vitPlusId="";
this.vitPauseId;
this.stopId;
this.modeleChangePel;
this.vitesseOld=0;
this.hauteurEcran=document.getElementById(this.ecran).offsetHeight;
this.largeurEcran=document.getElementById(this.ecran).offsetWidth;
this.ecranX0=0;
this.ecranY0=0;
this.cadence;
}

//---------------------------------fonctions publiques
oDefilement.prototype = 
{
initEvDefilement: function ()
	{
	this.razRepli();
	ajoutEv(this.ecran, 'mousemove', coordSouris);
	if(!this.inhibeDefileEcran)
		{
		ajoutEv(this.ecran, 'mouseout', this.sortieEcran);
		ajoutEv(this.ecran, 'mouseover', this.sourisSurEcran);
		}
	if(this.vitPlusId)
		{
		ajoutEv(this.vitPlusId, 'mouseover', this.actionPlus);
		}
	if(this.vitMoinsId)
		{
		ajoutEv(this.vitMoinsId, 'mouseover', this.actionMoins);
		}
	if(this.vitPauseId)
		{
		ajoutEv(this.vitPauseId, 'mouseover', this.actionPause);
		}
	if(this.stopId)
		{
		ajoutEv(this.stopId, 'mouseover', this.actionStop);
		}
	},
autreEv: function ()
	{
	var imgs=document.getElementsByTagName('img');
	var imgId;
	for(var i = 0; i <  imgs.length; i ++)
		{
		if(imgId=imgs[i].id)
			{
			if (this.modeleChangePel.test(imgId))
				{
				ajoutEv(imgId, 'mouseover', this.changePel);
				}
			}
		}
	},
stopAutreEv: function ()
	{
	var imgs=document.getElementsByTagName('img');
	var imgId;
	for(var i = 0; i <  imgs.length; i ++)
		{
		if(imgId=imgs[i].id)
			{
			if (this.modeleChangePel.test(imgId))
				{
				enleveEv(imgId, 'mouseover', this.changePel);
				}
			}
		}
	},
stopDefilement: function ()
	{
	if(this.modeleChangePel)
		{
		this.stopAutreEv();
		}
	enleveEv(this.ecran, 'mousemove', coordSouris);
	if(!this.inhibeDefileEcran)
		{
		enleveEv(this.ecran, 'mouseout', this.sortieEcran);
		enleveEv(this.ecran, 'mouseover', this.sourisSurEcran);
		}
	if(this.vitPlusId)
		{
		enleveEv(this.vitPlusId, 'mouseover', this.actionPlus);
		}
	if(this.vitMoinsId)
		{
		enleveEv(this.vitMoinsId, 'mouseover', this.actionMoins);
		}
	if(this.vitPauseId)
		{
		enleveEv(this.vitPauseId, 'mouseover', this.actionPause);
		}
	if(this.stopId)
		{
		enleveEv(this.stopId, 'mouseover', this.actionStop);
		}
	if(this.cadence)
		{
		clearTimeout(this.cadence);
		}
	},
sourisSurEcran: function (event)
	{
	event = event || window.event;
	var target = event.target || event.srcElement;
	var ecranId=target.id;
	if(ecranId)
		{
		var objet=document.getElementById(ecranId);
		while(objet && objet.tagName.toLowerCase() != 'div')
			{
			objet = objet.parentNode;
			ecranId=objet.id;
			}
		for(var i = 0; i < tabObjetsEcran.length; i++)
			{
			if(tabObjetsEcran[i].ecran == ecranId)
				{
				tabObjetsEcran[i].controleDefile=true;
				}
			}
		}
	},
sortieEcran: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var ecranId=target.id;
	if(ecranId)
		{
		var objet=document.getElementById(ecranId);
		while(objet && objet.tagName.toLowerCase() != 'div')
			{
			objet = objet.parentNode;
			ecranId=objet.id;
			}
		for(var i = 0; i < tabObjetsEcran.length; i++)
			{
			if(tabObjetsEcran[i].ecran == ecranId)
				{
				tabObjetsEcran[i].controleDefile=false;
				}
			}
		}
	},
actionPlus: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var cmdId=target.id;
	if(cmdId)
		{
		var objet=document.getElementById(cmdId);
		while(objet && objet.tagName.toLowerCase() != 'a')
			{
			objet = objet.parentNode;
			cmdId=objet.id;
			}
		for(var i = 0; i < tabObjetsEcran.length; i++)
			{
			if(tabObjetsEcran[i].vitPlusId == cmdId)
				{
				tabObjetsEcran[i].vitesse = -Math.abs(tabObjetsEcran[i].vitessePellicule);
				}
			}
		}
	},
actionMoins: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var cmdId=target.id;
	if(cmdId)
		{
		var objet=document.getElementById(cmdId);
		while(objet && objet.tagName.toLowerCase() != 'a')
			{
			objet = objet.parentNode;
			cmdId=objet.id;
			}
		for(var i = 0; i < tabObjetsEcran.length; i++)
			{
			if(tabObjetsEcran[i].vitMoinsId == cmdId)
				{
				tabObjetsEcran[i].vitesse = Math.abs(tabObjetsEcran[i].vitessePellicule);
				}
			}
		}
	},
actionPause: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var cmdId=target.id;
	if(cmdId)
		{
		var objet=document.getElementById(cmdId);
		while(objet && objet.tagName.toLowerCase() != 'a')
			{
			objet = objet.parentNode;
			cmdId=objet.id;
			}
		for(var i = 0; i < tabObjetsEcran.length; i++)
			{
			if(tabObjetsEcran[i].vitPauseId == cmdId)
				{
				tabObjetsEcran[i].vitesse = 0;
				}
			}
		}
	},
actionStop: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var cmdId=target.id;
	if(cmdId)
		{
		var objet=document.getElementById(cmdId);
		while(objet && objet.tagName.toLowerCase() != 'a')
			{
			objet = objet.parentNode;
			cmdId=objet.id;
			}
		for(var i = 0; i < tabObjetsEcran.length; i++)
			{
			if(tabObjetsEcran[i].stopId == cmdId)
				{
				tabObjetsEcran[i].stopLecture();
				}
			}
		}
	},
changePel: function(event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var imgId=target.id;
	if((imgId))
		{
		for(var i = 0; i < tabObjetsEcran.length; i++)
			{
			if(tabObjetsEcran[i].ecran == 'ecran')
				{
				tabObjetsEcran[i].changePellicule(imgId);
				}
			}
		}
	},
vitessePositionSouris: function ()
	{
	this.ecranX0=0;
	this.ecranY0=0;
	var objet=document.getElementById(this.ecran);
	do
		{
		this.ecranX0 +=objet.offsetLeft;
		this.ecranY0 +=objet.offsetTop;
		objet = objet.offsetParent;
		} while(objet && objet.tagName != 'BODY');
	var cy0 =this.ecranY0 + this.hauteurEcran/2;
	var vitesseY=cy0 - sourisY;
	if(Math.abs(vitesseY) < Math.abs(this.hauteurEcran/5))
		{
		vitesseY=0;
		}
	vitesseY /= 10;
	vitesseY=Math.floor(vitesseY);
	if (vitesseY > this.hauteurEcran/2)
		{
		vitesseY=this.hauteurEcran/2;
		}
	var cx0 =this.ecranX0 + this.largeurEcran/2;
	var vitesseX=cx0 - sourisX;
	if(Math.abs(vitesseX) < Math.abs(this.largeurEcran/5))
		{
		vitesseX=0;
		}
	vitesseX /= 10;
	vitesseX=Math.floor(vitesseX);
	if (vitesseX > this.largeurEcran/2)
		{
		vitesseX=this.largeurEcran/2;
		}
	if(this.vertical)
		{
		vitesse= vitesseY;
		}
	else
		{
		vitesse= vitesseX;
		}
	return vitesse;
	},
diaporama: function(ecran)
	{
	var cetObjet;
	for(var i = 0; i < tabObjetsEcran.length; i++)
		{
		if(tabObjetsEcran[i].ecran == ecran)
			{
			cetObjet = tabObjetsEcran[i];
			}
		}
	if(cetObjet.pellicule)
		{
		if(document.getElementById(cetObjet.pellicule))
			{
			var largeurPellicule = document.getElementById(cetObjet.pellicule).offsetWidth;
			var limiteGauche = cetObjet.largeurEcran - largeurPellicule;
			var hauteurPellicule = document.getElementById(cetObjet.pellicule).offsetHeight;
			var limiteHaute=cetObjet.hauteurEcran - hauteurPellicule;
			var coordX=0;
			var coordY=0;
			if (cetObjet.controleDefile)
				{
				cetObjet.vitesse=cetObjet.vitessePositionSouris();
				if (cetObjet.vitesseConstante && cetObjet.vitesse < 0)
					{
					cetObjet.vitesse = -Math.abs(cetObjet.vitessePellicule);
					}
				if (cetObjet.vitesseConstante && cetObjet.vitesse > 0)
					{
					cetObjet.vitesse = Math.abs(cetObjet.vitessePellicule);
					}
				}
			if(cetObjet.vertical)
				{
				if (limiteHaute < 0)			//pellicule plus grande que l'écran
					{
					coordY = document.getElementById(cetObjet.pellicule).offsetTop;
					coordY += cetObjet.vitesse;
					var ecart = coordY - parseInt(document.getElementById(cetObjet.pellicule).style.top); //a cause du decalage entre offset et style
					document.getElementById(cetObjet.pellicule).style.top = coordY + 'px';
					}
				else
					{
					document.getElementById(cetObjet.pellicule).style.top = '0px';
					coordY=0;
					cetObjet.vitesse=0;
					}
				if(cetObjet.vitesse < 0)			// pellicule monte
					{
					if(coordY <= limiteHaute)
						{
						document.getElementById(cetObjet.pellicule).style.top = limiteHaute + 'px';
						if (cetObjet.controleDefile || cetObjet.inhibeInversionSens)
							{
							cetObjet.vitesse= 0 ;
							}
						else
							{
							cetObjet.vitesse=cetObjet.vitesse * (-1);
							}
						}
					}
				else
					{
					if(coordY >= 0)
						{
						document.getElementById(cetObjet.pellicule).style.top = '0px';
						if (cetObjet.controleDefile || cetObjet.inhibeInversionSens)
							{
							cetObjet.vitesse= 0 ;
							}
						else
							{
							cetObjet.vitesse=cetObjet.vitesse * (-1);
							}
						}
					}
				}
			else
				{
				if (limiteGauche < 0)			//pellicule plus grande que l'écran
					{
					coordX = document.getElementById(cetObjet.pellicule).offsetLeft;
					var ecart = coordX - parseInt(document.getElementById(cetObjet.pellicule).style.left); 	//a cause du decalage entre offset et style
					coordX += cetObjet.vitesse - ecart;													//document.getElementById('obl_rechs').value=coordX + "-" + document.getElementById(cetObjet.pellicule).style.left;
					document.getElementById(cetObjet.pellicule).style.left = coordX + 'px';
					}
				else
					{
					document.getElementById(cetObjet.pellicule).style.left = '0px';
					coordX=0;
					cetObjet.vitesse=0;
					}
				if(cetObjet.vitesse < 0)			// pellicule va à gauche
					{
					if(coordX <= limiteGauche)
						{
						document.getElementById(cetObjet.pellicule).style.left = limiteGauche + 'px';
						if (cetObjet.controleDefile || cetObjet.inhibeInversionSens)
							{
							cetObjet.vitesse= 0 ;
							}
						else
							{
							cetObjet.vitesse=cetObjet.vitesse * (-1);
							}
						}
					}
				else
					{
					if(coordX >= 0)
						{
						document.getElementById(cetObjet.pellicule).style.left = '0px';
						if (cetObjet.controleDefile || cetObjet.inhibeInversionSens)
							{
							cetObjet.vitesse= 0 ;
							}
						else
							{
							cetObjet.vitesse=cetObjet.vitesse * (-1);
							}
						}
					}
				}
			if(cetObjet.vitesse)
				{
				cetObjet.vitesseOld=cetObjet.vitesse;
				}
			cetObjet.cadence=setTimeout(function(){cetObjet.diaporama(cetObjet.ecran)},cetObjet.tempsMs);
			}
		}
	},
pause: function()
	{
	this.vitesse=0;
	},
arret: function()
	{
	this.vitesse=0;
	document.getElementById(this.pellicule).style.visibility='hidden';
	},
changePellicule: function(imgId)
	{
	tmpPellicule = imgId.replace(this.modeleChangePel,'pellicule' + '$1');
	if(this.pellicule != tmpPellicule)
		{
		if(this.cadence)
			{
			clearTimeout(this.cadence);
			}
		this.pellicule = tmpPellicule;
		if(this.pellicule)
			{
			if(this.vertical)
				{
				document.getElementById(this.pellicule).style.top = '0px';
				}
			else
				{
				document.getElementById(this.pellicule).style.left = '0px';
				}
			this.lecture();
			}
		}
	},
razRepli: function()
	{
	var repli=document.getElementById(this.repliId);
	repli.inneHTML='';
	},
miseEnRepli: function()
	{
	var repli=document.getElementById(this.repliId);
	var pellicules=document.getElementById(this.ecran).childNodes;
	var listeTab = new Array();
	var j = 0;
	for(var i =  0; i < pellicules.length ; i++)
		{
		var tmpPel=pellicules[i];
		if(tmpPel.nodeType == 1)
			{
			listeTab[j]=tmpPel.id;
			j += 1;
			}
		}
	for(var i =  0; i < listeTab.length ; i++)
		{
		var tmpPel=document.getElementById(listeTab[i]);
		repli.appendChild(tmpPel);
		}
	document.getElementById(this.ecran).parentNode.style.zIndex = '0';
	},
stopLecture: function()
	{
	this.miseEnRepli();
	this.pellicule='';
	},
lecture: function()
	{
	this.miseEnRepli();
	if(this.pellicule)
		{
		document.getElementById(this.ecran).parentNode.style.zIndex = '3';
		var pelCourante = document.getElementById(this.pellicule);
		document.getElementById(this.ecran).appendChild(pelCourante);
		}
	this.diaporama(this.ecran);
	},
set_vitessePellicule: function (vitessePellicule)
	{
	if(vitessePellicule)
		{
		this.vitessePellicule=vitessePellicule;
		this.vitesse=this.vitessePellicule;
		}
	},
set_modeleChangePel: function (modeleChangePel)
	{
	if(modeleChangePel)
		{
		this.modeleChangePel=new RegExp (modeleChangePel);
		this.autreEv();
		}
	},
set_controlePellicule: function (moinsId,pauseId,plusId,stopId)
	{
	if(moinsId)
		{
		this.vitMoinsId=moinsId;
		}
	if(pauseId)
		{
		this.vitPauseId=pauseId;
		}
	if(plusId)
		{
		this.vitPlusId=plusId;
		}
	if(stopId)
		{
		this.stopId=stopId;
		}
	},
set_ecran: function (ecran)
	{
	if(ecran)
		{
		this.ecran=ecran;
		}
	},
set_repliId: function (repliId)
	{
	if(repliId)
		{
		this.repliId=repliId;
		}
	},
set_pellicule: function (pellicule)
	{
	if(pellicule)
		{
		this.pellicule=pellicule;
		}
	},
set_vertical: function (vertical)
	{
	if(vertical)
		{
		this.vertical=vertical;
		}
	},
set_controleDefile: function (controleDefile)
	{
	if(controleDefile)
		{
		this.initEvDefilement();
		this.controleDefile=false;
		}
	},
set_inhibeDefileEcran: function (inhibeDefileEcran)
	{
	this.inhibeDefileEcran=inhibeDefileEcran;
	},
set_vitesseConstante: function (vitesseConstante)
	{
	this.vitesseConstante=vitesseConstante;
	},
set_inhibeInversionSens: function (inhibeInversionSens)
	{
	this.inhibeInversionSens=inhibeInversionSens;
	},
set_tempsMs: function (tempsMs)
	{
	if(tempsMs)
		{
		this.tempsMs=tempsMs;
		}
	},
get_nom: function ()
	{
	return this.nom ;
	}
}
//--------------------------------------------------------------------------------------------- fin classe defilement
//-------------------------------------------- classe Glisse -------------------------------------------------
oGlisse = function (nom,type)
{
var args = oGlisse.arguments;
this.nom=nom;
var existe=false;
for(var i = 0; i < tabObjetsGlisse.length; i++)
	{
	if(tabObjetsGlisse[i].nom == this.nom)
		{
		existe = true;break;
		}
	}
if(existe)
	{
	tabObjetsGlisse[i]=this;
	}
else
	{
	tabObjetsGlisse.push(this);
	}
this.ouvert = false;
if(args[3])
	{
	this.controleFenetre=args[3];
	}
else
	{
	this.controleFenetre="controle_" + this.nom;
	}

this.hauteur;
this.hauteurMax;
this.largeur;
this.largeurMax;
this.hauteurIni = 0;
this.largeurIni = 0;
this.classe;
this.classeRepli;
this.delta = 10;
this.typeSlide = type;
this.typeEv='click';
this.cadence;
this.controleFenetreBis;
if(document.getElementById(this.controleFenetre + "Bis"))
	{
	this.controleFenetreBis = this.controleFenetre + "Bis";
	}
switch (args[2])
	{
	case 'mouseover' :
	this.typeEv = args[2];
	break;
	case 'sans' :
	this.typeEv = '';
	break;
	}
this.initEvGlisse();
}
//---------------------------------fonctions publiques
oGlisse.prototype = 
{
initEvGlisse: function ()
	{
	if(this.typeEv)
		{
		ajoutEv(this.controleFenetre, this.typeEv, this.action);
		if (this.controleFenetreBis)
			{
			ajoutEv(this.controleFenetreBis, this.typeEv, this.action);
			}
		if (this.typeEv == 'mouseover')
			{
			ajoutEv(this.controleFenetre, 'mouseout', this.action);
			}
		}
	},
stopGlisse: function ()
	{
	if(this.typeEv)
		{
		enleveEv(this.controleFenetre, this.typeEv, this.action);
		if (this.typeEv == 'mouseover')
			{
			enleveEv(this.controleFenetre, 'mouseout', this.action);
			}
		}
	},
action: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var id=target.id;
	if(id)
		{
		var objet=document.getElementById(id);
		while(objet && (objet.tagName.toLowerCase() != 'div' && objet.tagName.toLowerCase() != 'span' && objet.tagName.toLowerCase() != 'td' && objet.tagName.toLowerCase() != 'img'))
			{
			objet = objet.parentNode;
			id=objet.id;
			}
		for(var i = 0; i < tabObjetsGlisse.length; i++)
			{
			if((tabObjetsGlisse[i].controleFenetre == id)||(tabObjetsGlisse[i].controleFenetreBis == id))
				{
				tabObjetsGlisse[i].controle();
				}
			}
		}
	},
controle: function ()
	{
	var objet=document.getElementById(this.nom);
	if(!isNaN(parseInt(this.largeur)))
		{
		objet.style.width=this.largeur + "px";
		}
	if(!isNaN(parseInt(this.hauteur)))
		{
		objet.style.height=this.hauteur + "px";	
		}
	if(this.ouvert)
		{
		objet.style.visibility='hidden';
		objet.className = this.classeRepli;
		this.ouvert = false;
		objet.style.height = this.hauteurIni + 'px';
		objet.style.width = this.largeurIni + 'px';
		clearTimeout(this.cadence);
		}
	else
		{
		this.ouvert = true;
		switch (this.typeSlide)
			{
			case 'vertical' :
			this.hauteur = 0;
			this.derouleVertical(this.nom);
			break;
			case 'horizontal' :
			this.largeur = 0;
			this.derouleHorizontal(this.nom);
			break;
			case 'diagonal' :
			this.largeur = 0;
			this.hauteur = 0;
			this.derouleDiagonal(this.nom);
			break;
			}
		}
	},
derouleVertical: function (id)
	{
	var cetObjet;
	for(var i = 0; i < tabObjetsGlisse.length; i++)
		{
		if(tabObjetsGlisse[i].nom == id)
			{
			cetObjet = tabObjetsGlisse[i];
			}
		}
	var objet=document.getElementById(cetObjet.nom);
	if((cetObjet.hauteur <= cetObjet.hauteurMax - cetObjet.delta) && cetObjet.ouvert)
		{
		cetObjet.hauteur += cetObjet.delta;
		cetObjet.cadence=setTimeout(function(){cetObjet.derouleVertical(cetObjet.nom)},50);
		}
	else
		{
		cetObjet.hauteur = cetObjet.hauteurMax;	
		}
	objet.className = this.classe;
	objet.style.visibility='visible';
	objet.style.height = cetObjet.hauteur + "px";
	},
derouleHorizontal: function (id)
	{
	var cetObjet;
	for(var i = 0; i < tabObjetsGlisse.length; i++)
		{
		if(tabObjetsGlisse[i].nom == id)
			{
			cetObjet = tabObjetsGlisse[i];
			}
		}
	var objet=document.getElementById(cetObjet.nom);
	if((cetObjet.largeur <= cetObjet.largeurMax - cetObjet.delta) && cetObjet.ouvert)
		{
		cetObjet.largeur += cetObjet.delta;
		cetObjet.cadence=setTimeout(function(){cetObjet.derouleHorizontal(cetObjet.nom)},50);
		}
	else
		{
		cetObjet.largeur = cetObjet.largeurMax;	
		}
	objet.className = this.classe;
	objet.style.visibility='visible';
	objet.style.width = cetObjet.largeur + "px";
	},
derouleDiagonal: function (id)
	{
	var cetObjet;
	for(var i = 0; i < tabObjetsGlisse.length; i++)
		{
		if(tabObjetsGlisse[i].nom == id)
			{
			cetObjet = tabObjetsGlisse[i];
			}
		}
	var objet=document.getElementById(cetObjet.nom);
	if((cetObjet.hauteur <= cetObjet.hauteurMax - cetObjet.delta) && cetObjet.ouvert)
		{
		var deltaP = cetObjet.delta * cetObjet.largeurMax / cetObjet.hauteurMax;
		deltaP = Math.round(deltaP);
		cetObjet.hauteur += cetObjet.delta;
		cetObjet.largeur += deltaP;
		cetObjet.cadence=setTimeout(function(){cetObjet.derouleDiagonal(cetObjet.nom)},50);
		}
	else
		{
		cetObjet.hauteur = cetObjet.hauteurMax;
		cetObjet.largeur = cetObjet.largeurMax;
		}
	objet.className = cetObjet.classe;
	objet.style.visibility='visible';
	objet.style.height = cetObjet.hauteur + "px";
	objet.style.width = cetObjet.largeur + "px";
	},
set_largeur: function (largeur)
	{
	if(!isNaN(parseInt(largeur)))
		{
		this.largeur=parseInt(largeur);
		this.largeurIni = this.largeur;
		document.getElementById(this.nom).style.width = this.largeurIni + 'px';
		}
	},
set_hauteur: function (hauteur)
	{
	if(!isNaN(parseInt(hauteur)))
		{
		this.hauteur=parseInt(hauteur);
		this.hauteurIni = this.hauteur;
		document.getElementById(this.nom).style.height = this.hauteurIni + 'px';
		}
	},
set_largeurMax: function (largeurMax)
	{
	if(!isNaN(parseInt(largeurMax)))
		{
		this.largeurMax=parseInt(largeurMax);
		}
	},
set_hauteurMax: function (hauteurMax)
	{
	if(!isNaN(parseInt(hauteurMax)))
		{
		this.hauteurMax=parseInt(hauteurMax);
		}
	},
set_delta: function (delta)
	{
	if(!isNaN(parseInt(delta)))
		{
		this.delta=parseInt(delta);
		}
	},
set_classe: function (classe)
	{
	if(classe)
		{
		this.classe=classe;
		}
	},
set_classeRepli: function (classeRepli)
	{
	if(classeRepli)
		{
		this.classeRepli=classeRepli;
		}
	},
get_nom: function ()
	{
	return this.nom ;
	}
}
//--------------------------------------------------------------------------------------------- fin classe glisse
//-------------------------------------------- classe Onglet -------------------------------------------------
oOnglet = function (nom)
{
this.nom=nom;
var existe=false;
for(var i = 0; i < tabObjetsOnglet.length; i++)
	{
	if(tabObjetsOnglet[i].nom == this.nom)
		{
		existe = true;break;
		}
	}
if(existe)
	{
	tabObjetsOnglet[i]=this;
	}
else
	{
	tabObjetsOnglet.push(this);
	}
this.actif="";
this.ancien="";
this.ongletActifCss="ongletActif";
this.ongletCss="onglet";
this.conteneurId = "";
this.repliId="repli";
this.initEvOnglet();
}
//---------------------------------fonctions publiques
oOnglet.prototype = 
{
initEvOnglet: function ()
	{
	var nbTds=document.getElementsByTagName('td').length;
	var modele = new RegExp ("onglet_");
	for(var i = 0; i <  nbTds; i ++)
		{
		if(tdId=document.getElementsByTagName('td')[i].id)
			{
			if (modele.test(tdId))
				{
				ajoutEv(tdId, 'click', this.changeContenu);
				}
			}
		}
	},
stopOnglet: function ()
	{
	var nbTds=document.getElementsByTagName('td').length;
	var modele = new RegExp ("onglet_");
	for(var i = 0; i <  nbTds; i ++)
		{
		if(tdId=document.getElementsByTagName('td')[i].id)
			{
			if (modele.test(tdId))
				{
				enleveEv(tdId, 'click', this.changeContenu);
				}
			}
		}
	},
changeContenu: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var tdId=target.id;
	if(tdId)
		{
		var objet=document.getElementById(tdId);
		while(objet && (objet.tagName.toLowerCase() != 'td'))
			{
			objet = objet.parentNode;
			tdId=objet.id;
			}
		}
	var id;
	if(id=tdId)
		{
		var objet=document.getElementById(id);
		while(objet && (objet.tagName.toLowerCase() != 'table'))
			{
			objet = objet.parentNode;
			id=objet.id;
			}
		for(var i = 0; i < tabObjetsOnglet.length; i++)
			{
			if(tabObjetsOnglet[i].nom == id)
				{
				tabObjetsOnglet[i].actionContenu(tdId);
				}
			}
		}
	},
actionContenu: function (id)
	{
	var idContenu = "";
	var repli=document.getElementById(this.repliId);
	var conteneur=document.getElementById(this.conteneurId);
	this.actif=id;
	if(document.getElementById(this.ancien))
		{
		document.getElementById(this.ancien).className = this.ongletCss;
		idContenu = this.ancien.replace("_","");
		if(document.getElementById(idContenu))
			{
			repli.appendChild(document.getElementById(idContenu));
			}
		}
	document.getElementById(this.actif).className = this.ongletActifCss;
	idContenu = id.replace("_","");
	if(document.getElementById(idContenu))
		{
		conteneur.appendChild(document.getElementById(idContenu));
		}
	this.ancien=id;
	},
set_ancien: function (ancien)
	{
	if(ancien)
		{
		this.ancien=ancien;
		}
	},
set_conteneurId: function (conteneurId)
	{
	if(conteneurId)
		{
		this.conteneurId = conteneurId;
		}
	},
set_repliId: function (repliId)
	{
	if(repliId)
		{
		this.repliId = repliId;
		}
	},
set_ongletCss: function (ongletCss)
	{
	if(ongletCss)
		{
		this.ongletCss=ongletCss;
		}
	},
set_ongletActifCss: function (ongletActifCss)
	{
	if(ongletActifCss)
		{
		this.ongletActifCss=ongletActifCss;
		}
	},
get_nom: function ()
	{
	return this.nom ;
	}
}
//--------------------------------------------------------------------------------------------- fin classe onglet
//-------------------------------------------- classe projection -------------------------------------------------
oProjection = function (conteneurEcr,obj)
{
this.nom=obj;
var existe=false;
for(var i = 0; i < tabObjetsProjection.length; i++)
	{
	if(tabObjetsProjection[i].nom == this.nom)
		{
		existe = true;break;
		}
	}
if(existe)
	{
	tabObjetsProjection[i]=this;
	}
else
	{
	tabObjetsProjection.push(this);
	}
this.ecran=conteneurEcr;
this.tempsMs=1000;
this.tempsBase=50;
this.numImage=0;
this.Alpha=10;
this.pellicule=new Array();
this.pause=false;
this.fondue=true;
this.finFondu=true;
this.opaqueNew=100;
this.opaqueOld=0;
this.imageOld=0;
this.initEvProjection();
this.debut=true;
this.repliId="repli";
this.cadence="";
}

//---------------------------------fonctions publiques
oProjection.prototype = 
{
initEvProjection: function ()
	{
	ajoutEv(this.ecran, 'click', this.actionPause);
	},
stopProjection: function ()
	{
	enleveEv(this.ecran, 'click', this.actionPause);
	if(this.cadence)
			{
			clearTimeout(this.cadence);
			}
	},
diaporama: function(nom)
	{
	var cetObjet;
	for(var i = 0; i < tabObjetsProjection.length; i++)
		{
		if(tabObjetsProjection[i].nom == nom)
			{
			cetObjet = tabObjetsProjection[i];
			}
		}
	var repli=document.getElementById(cetObjet.repliId);
	var conteneur=document.getElementById(cetObjet.ecran);
	var dejaLance =false;
	if (initOk && conteneur)
		{
		if(cetObjet.pellicule[cetObjet.numImage] && cetObjet.fondue && !cetObjet.finFondu && !cetObjet.debut && !cetObjet.pause)
			{
			dejaLance =true;
			setTimeout(function(){cetObjet.diaporama(cetObjet.nom)},cetObjet.tempsBase);
			cetObjet.opaqueNew += 10;
			cetObjet.opaqueOld -= 10;
			if(cetObjet.opaqueNew >= 100)
				{
				cetObjet.opaqueNew = 100;
				}
			if(cetObjet.opaqueOld <= 0)
				{
				cetObjet.opaqueOld = 0;
				}
			if(cetObjet.opaqueOld <= 0 && cetObjet.opaqueNew >= 100)
				{
				cetObjet.finFondu = true;
				cetObjet.cadence=setTimeout(function(){cetObjet.diaporama(cetObjet.nom)},cetObjet.tempsMs);
				}
			}
		var tmpId;
		var tmpIdOld;
		if(cetObjet.pellicule[cetObjet.numImage] && !cetObjet.pause && (cetObjet.finFondu || !cetObjet.fondue || cetObjet.debut))
			{
			if(!dejaLance || cetObjet.debut)
				{
				tmpIdOld = cetObjet.pellicule[cetObjet.imageOld];
				try {
				conteneur.appendChild(document.getElementById(tmpIdOld));
				if(cetObjet.imageOld != cetObjet.numImage)
					{
					var tmpOldOld=cetObjet.imageOld -1;
					if (tmpOldOld<0)
						{
						tmpOldOld = cetObjet.pellicule.length -1;
						}
					var z=0;
					var existe=false;
					while (z < repli.childNodes.length)
						{
						if (cetObjet.pellicule[tmpOldOld] == repli.childNodes[z].id)
							{
							existe=true;
							}
						z++;
						}
					if(!existe)
						{
						repli.appendChild(document.getElementById(cetObjet.pellicule[tmpOldOld]));
						if(!gecko)
							{
							document.getElementById(cetObjet.pellicule[tmpOldOld]).style.filter='alpha(opacity=100)';
							}
						else
							{
							document.getElementById(cetObjet.pellicule[tmpOldOld]).style.opacity='1.0';
							}
						}
					tmpId = cetObjet.pellicule[cetObjet.numImage];
					conteneur.appendChild(document.getElementById(tmpId));
					}
				}catch (err){}
				}
			if(!dejaLance)
				{
				cetObjet.imageOld = cetObjet.numImage;
				cetObjet.numImage +=1;
				var imageFin=cetObjet.pellicule.length;
				if(cetObjet.numImage >= imageFin)
					{
					cetObjet.numImage =0;
					}
				if (cetObjet.fondue)
					{
					cetObjet.opaqueNew = 0;
					cetObjet.opaqueOld = 100;
					cetObjet.finFondu=false;
					}
				}
			if(!cetObjet.fondue || cetObjet.debut)
				{
				var tmpTemps = cetObjet.tempsMs;
				if(cetObjet.fondue && cetObjet.debut)
					{
					tmpTemps = cetObjet.tempsBase;
					cetObjet.opaqueNew = 100;
					cetObjet.opaqueOld = 0;
					}
				cetObjet.cadence=setTimeout(function(){cetObjet.diaporama(cetObjet.nom)},tmpTemps);
				}
			}
		if(document.getElementById(cetObjet.ecran).childNodes.length && !cetObjet.debut && cetObjet.fondue)
			{
			cetObjet.fondu(cetObjet.ecran);
			}
		cetObjet.debut=false;
		}
	},
actionPause: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var ecranId=target.id;
	if(ecranId)
		{
		var objet=document.getElementById(ecranId);
		while(objet && objet.tagName.toLowerCase() != 'div')
			{
			objet = objet.parentNode;
			ecranId=objet.id;
			}
		for(var i = 0; i < tabObjetsProjection.length; i++)
			{
			if(tabObjetsProjection[i].ecran == ecranId)
				{
				tabObjetsProjection[i].pauseProjection();
				}
			}
		}
	},
pauseProjection: function()
	{
	if(this.pause==false)
		{
		this.pause=true;
		clearTimeout(this.cadence);
		}
	else
		{
		this.lecture();
		}
	},
lecture: function()
	{
	this.pause=false;
	this.diaporama(this.nom);
	},
fondu: function(ecran)
	{
	var id;
	var idOld;
	var i=0;
	while (document.getElementById(ecran).childNodes[i].nodeType != 1 && i < document.getElementById(ecran).childNodes.length)
		{
		i++;
		if (i >= document.getElementById(ecran).childNodes.length)
			{
			break;
			}
		}
	if (i < document.getElementById(ecran).childNodes.length)
		{
		idOld=document.getElementById(ecran).childNodes[i].id;
		i++;
		}
	if (i < document.getElementById(ecran).childNodes.length)
		{
		while (document.getElementById(ecran).childNodes[i].nodeType !=1 && i < document.getElementById(ecran).childNodes.length)
			{
			i++;
			if (i >= document.getElementById(ecran).childNodes.length)
				{
				break;
				}
			}
		id=document.getElementById(ecran).childNodes[i].id;
		}
	if(document.getElementById(idOld))
		{
		if(!gecko)
			{
			document.getElementById(idOld).style.filter='alpha(opacity=' + this.opaqueOld + ')';
			}
		else
			{
			var tmpOpaque=this.opaqueOld/100;
			document.getElementById(idOld).style.opacity= + tmpOpaque;
			}
		if(document.getElementById(id))
			{
			if(!gecko)
				{
				document.getElementById(id).style.filter='alpha(opacity=' + this.opaqueNew + ')';
				}
			else
				{
				var tmpOpaque=this.opaqueNew/100;
				document.getElementById(id).style.opacity= + tmpOpaque;
				}
			}
		}
	},
set_pellicule: function (pellicule)
	{
	if(pellicule)
		{
		this.pellicule=pellicule;
		}
	},
set_tempsMs: function (tempsMs)
	{
	if(tempsMs)
		{
		this.tempsMs=tempsMs;
		}
	},
set_fondu: function (fondue)
	{
	if(fondue)
		{
		this.fondue=true;
		}
	},
get_nom: function ()
	{
	return this.nom ;
	}
}
//--------------------------------------------------------------------------------------------- fin classe projection
//-------------------------------------------- classe flash -------------------------------------------------
oFlash = function (nom)
{
this.nom=nom;
var existe=false;
for(var i = 0; i < tabObjetsFlash.length; i++)
	{
	if(tabObjetsFlash[i].nom == this.nom)
		{
		existe = true;break;
		}
	}
if(existe)
	{
	tabObjetsFlash[i]=this;
	}
else
	{
	tabObjetsFlash.push(this);
	}
this.cadence;
this.fichier="";
this.lien="";
this.hauteur = 250;
this.largeur = 400;
this.decompte = 0;
this.qualite = 'high';
this.modeFenetre = 'transparent';
this.bgCouleur = 'transparent';
this.accesScript='always';
this.initEvFlash();
}
//---------------------------------fonctions publiques
oFlash.prototype = 
{
initEvFlash: function ()
	{
	ajoutEv(this.nom, 'click', this.actionStop);
	//ajoutEv(this.nom, 'click', this.actionLien);
	},
stopFlash: function ()
	{
	enleveEv(this.nom, 'click', this.actionStop);
	},
actionStop: function (event)
	{
	event = event || window.event;
	var target = event.target || event.srcElement;
	var divId=target.id;
	if(divId)
		{
		var objet=document.getElementById(divId);
		while(objet && (objet.tagName.toLowerCase() != 'div'))
			{
			objet = objet.parentNode;
			divId=objet.id;
			}
		}
	var id;
	if(id=divId)
		{
		for(var i = 0; i < tabObjetsFlash.length; i++)
			{
			if(tabObjetsFlash[i].nom == id)
				{
				tabObjetsFlash[i].actionSupprime(id);
				}
			}
		}
	},
/*actionLien: function (event)
	{
	event = event || window.event;
	var target = event.target || event.srcElement;
	var divId=target.id;
	if(divId)
		{
		var objet=document.getElementById(divId);
		while(objet && (objet.tagName.toLowerCase() != 'a'))
			{
			objet = objet.parentNode;
			divId=objet.id;
			}
		}
	var id;
	if(id=divId)
		{
		for(var i = 0; i < tabObjetsFlash.length; i++)
			{
			if(tabObjetsFlash[i].nom == id)
				{
				alert(id);
				//tabObjetsFlash[i].actionSupprime(id);
				}
			}
		}*/
lecture: function()
	{
	var idBal = ajoutBalise("object",this.nom);
	var balObject=document.getElementById(idBal);
	balObject.setAttribute("width",this.largeur);
	balObject.setAttribute("height",this.hauteur);
	if(gecko)
		{
		var paramFilename=document.createElement("embed");
		paramFilename.setAttribute("type","application/x-shockwave-flash");
		paramFilename.setAttribute("pluginspage","http://www.macromedia.com/go/getflashplayer");
		paramFilename.setAttribute("name",idBal);
		paramFilename.setAttribute("src",this.fichier);
		paramFilename.setAttribute("width",this.largeur);
		paramFilename.setAttribute("height",this.hauteur);
		paramFilename.setAttribute("bgcolor",this.bgCouleur);
		paramFilename.setAttribute("wmode",this.modeFenetre);
		paramFilename.setAttribute("quality",this.qualite);
		balObject.appendChild(paramFilename);
		}
	else
		{
		var paramFilename=document.createElement("param");
		paramFilename.setAttribute("name","movie");
		paramFilename.setAttribute("value",this.fichier);
		balObject.appendChild(paramFilename);
		var qualiteTmp=document.createElement("param");
		qualiteTmp.setAttribute("name","quality");
		qualiteTmp.setAttribute("value",this.qualite);
		balObject.appendChild(qualiteTmp);
		var accesScriptTmp=document.createElement("param");
		accesScriptTmp.setAttribute("name","allowScriptAccess");
		accesScriptTmp.setAttribute("value",this.accesScript);
		balObject.appendChild(accesScriptTmp);
		var modeFenetreTmp=document.createElement("param");
		modeFenetreTmp.setAttribute("name","wmode");
		modeFenetreTmp.setAttribute("value",this.modeFenetre);
		balObject.appendChild(modeFenetreTmp);
		var couleurFondTmp=document.createElement("param");
		couleurFondTmp.setAttribute("name","bgcolor");
		couleurFondTmp.setAttribute("value",this.bgCouleur);
		balObject.appendChild(couleurFondTmp);
		}
	balObject.setAttribute("codebase","http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0");
	balObject.setAttribute("classid","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000");
	//alert(document.getElementById(this.nom).innerHTML);
	if(this.decompte)
		{
		var cetObjet;
		for(var i = 0; i < tabObjetsFlash.length; i++)
			{
			if(tabObjetsFlash[i].nom == this.nom)
				{
				cetObjet = tabObjetsFlash[i];
				}
			}
		this.cadence=setTimeout(function(){cetObjet.actionSupprime(cetObjet.nom)},this.decompte);
		}
	if(this.lien)
		{
		document.getElementById(this.nom).style.position="relative";
		var idA= ajoutBalise("a",this.nom,"async_"+this.nom);
		var objetA=document.getElementById(idA);
		objetA.setAttribute("href",this.lien);
		objetA.style.position="absolute";
		objetA.style.top="0px";
		objetA.style.left="0px";
		//ajoutEv(idA, 'click',this.actionLien);
		ajoutEv(idA, 'click',arretAction);
		
		var idImg = ajoutBalise("img",idA);
		var objetImg=document.getElementById(idImg);
		objetImg.setAttribute("src","/images/transparent.gif");
		objetImg.style.width=this.largeur + "px";
		objetImg.style.height=this.hauteur + "px";
		}
	},
actionSupprime: function (id)
	{
	if(this.cadence)
		{
		clearTimeout(this.cadence);
		}
	var objet = document.getElementById(id);
	var conteneur=objet.parentNode;
	conteneur.removeChild(objet);
	if(this.lien)
		{
		this.envoiGet(this.lien);
		}
	},
envoiGet: function (url)
	{
	var modeleEspace= new RegExp("/espace","g");
	var modelePara =  new RegExp ("[?]");
	var modeleUrlRew =  new RegExp ("\.html$");
	gUrlHttpRw = "";
	if (modelePara.test(url))
		{
		gUrlHttp =url + '&reqAjax=true';
		}
	else
		{
		gUrlHttp =url + '?reqAjax=true';
		}
	if(modeleUrlRew.test(url))
		{
		var tmpMod='/' + repVirt + '/';
		gUrlHttpRw = url.replace(tmpMod,'/' + repVirt + 'A/');
		}
	var requete = objetAjax();
	if(requete)
		{
		if(!modeleEspace.test(window.location.href))
			{
			requeteAjaxL(affectation);
			}
		else
			{
			requeteAjaxL(affectationEspace);
			}

		}
	else
		{
		window.location.href = url;
		}
	},
set_fichier: function (fichier)
	{
	if(fichier)
		{
		this.fichier=fichier;
		}
	},
set_largeur: function (largeur)
	{
	if(!isNaN(parseInt(largeur)))
		{
		this.largeur=parseInt(largeur);
		}
	},
set_hauteur: function (hauteur)
	{
	if(!isNaN(parseInt(hauteur)))
		{
		this.hauteur=parseInt(hauteur);
		}
	},
set_modeFenetre: function (modeFenetre)
	{
	if(modeFenetre)
		{
		this.modeFenetre=modeFenetre;
		}
	},
set_qualite: function (qualite)
	{
	if(qualite)
		{
		this.qualite=qualite;
		}
	},
set_accesScript: function (accesScript)
	{
	if(accesScript)
		{
		this.accesScript=accesScript;
		}
	},
set_bgCouleur: function (bgCouleur)
	{
	if(bgCouleur)
		{
		this.bgCouleur=bgCouleur;
		}
	},
set_decompte: function (decompte)
	{
	if(decompte)
		{
		this.decompte=decompte;
		}
	},
set_lien: function (lien)
	{
	if(lien)
		{
		this.lien=lien;
		}
	},
get_nom: function ()
	{
	return this.nom ;
	}
}
//--------------------------------------------------------------------------------------------- fin classe flash
//-------------------------------------------- classe imgMulti -------------------------------------------------
oImgMulti = function (nomEcran,modeleVignette)
{
this.nomEcran=nomEcran;
var existe=false;
for(var i = 0; i < tabObjetsImgMulti.length; i++)
	{
	if(tabObjetsImgMulti[i].nomEcran == this.nomEcran)
		{
		existe = true;break;
		}
	}
if(existe)
	{
	tabObjetsImgMulti[i]=this;
	}
else
	{
	tabObjetsImgMulti.push(this);
	}
	
this.modeleVignette=modeleVignette;
this.initEvImgMulti();
this.zoom='zoomImage';
}
//---------------------------------fonctions publiques
oImgMulti.prototype = 
{
initEvImgMulti: function ()
	{
	var nbImgs=document.getElementsByTagName('img').length;
	var modele = new RegExp (this.modeleVignette);
	for(var i = 0; i <  nbImgs; i ++)
		{
		if(imgId=document.getElementsByTagName('img')[i].id)
			{
			if (modele.test(imgId))
				{
				ajoutEv(imgId, 'click', this.changeImg);
				}
			}
		}
	},
stopImgMulti: function ()
	{
	var nbImgs=document.getElementsByTagName('img').length;
	var modele = new RegExp (this.modeleVignette);
	for(var i = 0; i <  nbImgs; i ++)
		{
		if(imgId=document.getElementsByTagName('img')[i].id)
			{
			if (modele.test(imgId))
				{
				enleveEv(imgId, 'click', this.changeImg);
				}
			}
		}
	},
changeImg: function (event)
	{
	event= event || window.event;
	var target = event.target || event.srcElement;
	var imgId=target.id;
	if(imgId)
		{
		var objet=document.getElementById(imgId);
		while(objet && (objet.tagName.toLowerCase() != 'img'))
			{
			objet = objet.parentNode;
			imgId=objet.id;
			}
		}
	var id;
	var modele;
	if(id=imgId)
		{
		for(var i = 0; i < tabObjetsImgMulti.length; i++)
			{
			modele = new RegExp (tabObjetsImgMulti[i].modeleVignette);
			if(modele.test(id))
				{
				tabObjetsImgMulti[i].actionImage(imgId);
				}
			}
		}
	},
actionImage: function (id)
	{
	var Ecran=document.getElementById(this.nomEcran);
	var image=document.getElementById(id).src;
	document.getElementById(this.zoom).src=image;
	Ecran.src=image;
	},
set_zoom: function (zoom)
	{
	this.zoom=zoom;
	},
get_nom: function ()
	{
	return this.nomEcran ;
	}
}
