// 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;
		}
	}
//alert("largeur totale = "+Grp_Width+"hauteur totale = "+Grp_Height);

	Grp_Offset_X = Math.floor((Xscreen - Grp_Width)/2)+3;
	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(url,W,H)
{
var fenetre,coody,coodx;
coody = (screen.height/2)-(H/2);
coodx = (screen.width/2)-(W/2);
fenetre = window.open(url,'Article','left='+coodx+' ,top='+coody+' ,height='+H+' ,width='+W+' ,toolbar=no,status=no,location=no,resizable=no,scrollbars=yes,copyhistory=0,menubar=no');
}
