// FM_centerLayers -> fonction pour centrer un groupe de calques...
// on lui passe en paramètres tous les calques et elle se débrouille pour tout centrer...
// l'origine est obligatoirement 0,0...
// Elle utilise la fonction FM_findObj(n, d) qui est des copie de MM_findObj(n, d) de Macromédia DreamWeaver,
// pour éviter les redélcarations dans les pages car DreamWeaver la place automatiquement lors de l'édition...

function FM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=FM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

var FLAG=0;
function FM_reload() {location.reload();}
function FM_centerLayers() {
if(FLAG==0){
	onresize = FM_reload;

	var args = FM_centerLayers.arguments;

	// coordeonnées de l'écran...
	var Xscreen = window.innerWidth?window.innerWidth:document.body.clientWidth;
	var Yscreen = window.innerHeight?window.innerHeight:document.body.clientHeight;


	// largeur et hauteur totales du groupe de calques...
	var Grp_Width  = 0;
	var Grp_Height = 0;
	// offset X et Y du groupe de calques...
	var Grp_Offset_X = 0;
	var Grp_Offset_Y = 0;


	// trouver la largeur totale et la hauteur totale...
	// en fonction de la position et des dimensions de chaque calque...
	for (i=0 ; i<args.length ; i++) {
		var zeCalc = FM_findObj(args[i]);

		if (zeCalc!=null) {
			if (zeCalc.style) zeCalc = zeCalc.style;
			var posX = parseInt(zeCalc.left);
			var posY = parseInt(zeCalc.top);


			var Largeur = parseInt((zeCalc.document)?zeCalc.document.width:zeCalc.width);
			var Hauteur = parseInt((zeCalc.document)?zeCalc.document.height:zeCalc.height);


			// Grp_Width ET Grp_Height...
			var Largeur_Calc = posX + Largeur;
			var Hauteur_Calc = posY + Hauteur;
			if (Largeur_Calc > Grp_Width)  Grp_Width  = Largeur_Calc;
			if (Hauteur_Calc > Grp_Height) Grp_Height = Hauteur_Calc;
		}
	}
	if (Grp_Height > 400) Grp_Height = 500;
	
	Grp_Offset_X = Math.floor((Xscreen - Grp_Width)/2);
	Grp_Offset_Y = Math.floor((Yscreen - Grp_Height)/2);
	if (Grp_Offset_X < 0) Grp_Offset_X = 0;
	if (Grp_Offset_Y < 0) Grp_Offset_Y = 0;


	// Maintenant, on ajout à chaque calque l'offset...
	for (i=0 ; i<args.length ; i++) {
		var zeCalc = FM_findObj(args[i]);
		if (zeCalc!=null) {
			if (zeCalc.style) zeCalc = zeCalc.style;
			var posX = parseInt(zeCalc.left);
			var posY = parseInt(zeCalc.top);

			zeCalc.left = posX + Grp_Offset_X;
			zeCalc.top  = posY + Grp_Offset_Y;
		}
	}
	
	FLAG=1;
}	//fin du if falg=0
}

function FM_centerHorizLayers() {

if(FLAG==0){
	onresize = FM_reload;
	
	var args = FM_centerHorizLayers.arguments;

	// coordeonnées de l'écran...
	var Xscreen = window.innerWidth?window.innerWidth:document.body.clientWidth;
	var Yscreen = window.innerHeight?window.innerHeight:document.body.clientHeight;


	// largeur et hauteur totales du groupe de calques...
	var Grp_Width  = 0;
	var Grp_Height = 0;
	// offset X et Y du groupe de calques...
	var Grp_Offset_X = 0;
	var Grp_Offset_Y = 0;


	// trouver la largeur totale et la hauteur totale...
	// en fonction de la position et des dimensions de chaque calque...
	
	for (i=0 ; i<args.length ; i++) {
		var zeCalc = FM_findObj(args[i]);

		if (zeCalc!=null) {
			if (zeCalc.style) zeCalc = zeCalc.style;
			var posX = parseInt(zeCalc.left);
			var posY = parseInt(zeCalc.top);


			var Largeur = parseInt((zeCalc.document)?zeCalc.document.width:zeCalc.width);
			var Hauteur = parseInt((zeCalc.document)?zeCalc.document.height:zeCalc.height);


		   //Grp_Width ET Grp_Height...
			var Largeur_Calc = posX + Largeur;
			var Hauteur_Calc = posY + Hauteur;
			if (Largeur_Calc > Grp_Width)  Grp_Width  = Largeur_Calc;
			if (Hauteur_Calc > Grp_Height) Grp_Height = Hauteur_Calc;
			
			
		}
	}

	Grp_Offset_X = Math.floor((Xscreen - Grp_Width)/2);
	Grp_Offset_Y = Math.floor((Yscreen - Grp_Height)/2);
	if (Grp_Offset_X < 0) Grp_Offset_X = 0;
	if (Grp_Offset_Y < 0) Grp_Offset_Y = 0;


	// Maintenant, on ajout à chaque calque l'offset...
	for (i=0 ; i<args.length ; i++) {
		var zeCalc = FM_findObj(args[i]);
		if (zeCalc!=null) {
			if (zeCalc.style) zeCalc = zeCalc.style;
			var posX = parseInt(zeCalc.left);
			var posY = parseInt(zeCalc.top);

			zeCalc.left = posX + Grp_Offset_X;
	//		zeCalc.top  = posY + Grp_Offset_Y;
		}
	}
	FLAG=1;
}	//fin du if falg=0
}

function pop_up(page,domaine)
{  /*--  Fonction d'affichage de la page des références  --*/
	winWidth = screen.width;
	winHeight = screen.height;
	var coodx = winWidth/2 - 320;
	var coody = winHeight/2 - 200;
	page += '?domaine='+ domaine;
    window.open(page,"titre","toolbar=no,status=no,location=no,resizable=no,scrollbars=yes,copyhistory=0,menubar=no,width=640,height=400,top="+coody+",left="+coodx);
}

function pop_up_image(page,domaine,image)
{  /*-----  Fonction d'affichage de la page de présentation des détails des 
			références présentées dans les pages des domaines d'intervention -------*/
	winWidth = screen.width;
	winHeight = screen.height;
	var coodx ;
	var coody = winHeight/2 - 225;
	var largeur;
	if( navigator.appName=="Netscape")
		largeur = 360;
	else
		largeur = 360;
	coodx = winWidth/2 -largeur;
	page += '?domaine='+ domaine+'&image='+ image;
    window.open(page,"titre","toolbar=no,status=no,location=no,resizable=no,scrollbars=yes,copyhistory=0,menubar=no,width="+(largeur*2)+",height=450,top="+coody+",left="+coodx);
}
function pop_up_presse(page,image,pre,suiv)
{  /*-----  Fonction d'affichage de la page de présentation des articles de presse  -------*/
   /*-- Paramètres: image = l'image a afficher
				    suiv = l'image a afficher pour la page suivante (si elle existe)
                    pre = l'image a afficher pour la page précédante (si elle existe)  */	
	winWidth = screen.width;
	winHeight = screen.height;
	var coodx = winWidth/2 - 300;
	var coody = winHeight/2 - 250;

	page += '?image='+ image + '&pre=' + pre + '&suiv='+ suiv;
    window.open(page,"presse","toolbar=no,status=no,location=no,resizable=1,scrollbars=yes,copyhistory=0,menubar=no,width=600,height=500,top="+coody+",left="+coodx);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}