/*---------------------- FONCTIONS D'INTERVERSION D'IMAGE / DE RECHERCHE D'OBJETS JS / DE VISIBILITE DE CALQUES ----------------------*/

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function ShowLayer(layer) //rom
{document.getElementById(layer).style.display='block'; }

function HideLayer(layer)//rom
{document.getElementById(layer).style.display='none';}

/*------------------------------------------------------------------------------------------------------------------------------------*/
/*------------------- FONCTIONS DE VISIBILITE DE CALQUES SIMPLIFIEES / DE CENTRAGE+VISIBILITE DE CALQUES / DE POPUP ------------------*/
function show(){
	var i,args=show.arguments;
	for (i=0; i<args.length;i++){
		MM_showHideLayers(args[i],'','show');
	}
}

function hide(){
	var i,args=hide.arguments;
	for (i=0; i<args.length;i++){
		MM_showHideLayers(args[i],'','hide');
	}
}

function pop(url,W,H)
{
var fen,coody,coodx;
coody = (screen.height/2)-(H/2);
coodx = (screen.width/2)-(W/2);
fen = window.open(url,'popup','status=0, left='+coodx+' ,top='+coody+' ,height='+H+' ,width='+W+' ,toolbar=no,status=yes,location=no,resizable=yes,scrollbars=yes,copyhistory=0,menubar=no');
fen.focus();
}

function envoie(x){
	document.form.action='save_tmp.php?page='+x;
	document.form.submit();
}

function sauvegarde(){
	document.form.action='save_bdd.php';
	document.form.submit();
}

/*------------------------------------------------------------------------------------------------------------------------------------*/
/*------------------------------- FONCTIONS DE CENTRAGE DE CALQUES (Horizontal / Horizontal & Vertical) ------------------------------*/
var FLAG=0;

// variable nécessaire si menu déroulant
var decal;

function recharge(){
	location.reload();
}

function centerLayers() {
	window.onresize = recharge;
	if(FLAG==0){
		var args = centerLayers.arguments;
		// dimensions de la fenêtre interne du navigateur
		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 = MM_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;
			}
		}// fin du for
	
		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;
		
		// extraction des valeurs de décalage pour passage au menu
		decal=new Array(Grp_Offset_X,Grp_Offset_Y);	
	
		// Maintenant, on ajoute à chaque calque l'offset
		for (i=0 ; i<args.length ; i++) {
			var zeCalc = MM_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;
			}
		}// fin du for
	FLAG=1;
	}
}

function centerHLayers() {
	if(FLAG==0){
		onresize = recharge;	
		var args = centerHLayers.arguments;
		var Xscreen = window.innerWidth?window.innerWidth:document.body.clientWidth;
		var Yscreen = window.innerHeight?window.innerHeight:document.body.clientHeight;
		var Grp_Width  = 0;
		var Grp_Height = 0;
		var Grp_Offset_X = 0;
		var Grp_Offset_Y = 0;
		for (i=0 ; i<args.length ; i++) {
			var zeCalc = MM_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);
	
				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;
		
		// extraction des valeurs de décalage pour passage au menu
		decal=new Array(Grp_Offset_X,Grp_Offset_Y);
	
		for (i=0 ; i<args.length ; i++) {
			var zeCalc = MM_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;
			}
		}
		FLAG=1;
	}
}
