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_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; }
}

/*------------------------------- 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 centerHorizLayers() {
	if(FLAG==0){
		onresize = recharge;	
		var args = centerHorizLayers.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;
	}
}


/************************* FONCTIONS PERSOS ***************************/

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');
	}
}

/* GESTION DES INFOS BULLES IMMEDIATES */
var tabXY;
var IE = document.all?true:false
//if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove=getMouseXY;

function getMouseXY(e) {
	var tempX,tempY;
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // show the position values in the form named Show
  // in the text fields named MouseX and MouseY
  tabXY = new Array(tempX,tempY);
  return tabXY;
}

function showInfo(texte){
	var calque=MM_findObj('info')
	calque.innerHTML=texte;
	calque.style.top=tabXY[1]+5;
	calque.style.left=tabXY[0]+5;
	calque.style.visibility="visible";
}

function hideInfo() {
	var calque=MM_findObj('info');
	calque.style.visibility="hidden";
}

function initInfo() {
	document.write('<DIV id="info" style="position:absolute;top:0px;left:0px;visibility:hidden;background:'+ColFond+';border:1px solid '+ColContour+';font-family:arial;font-size:11px;color:'+ColTexte+';padding:2px;z-index:50"></DIV>');
}
var ColTexte='black';ColFond='#FFFFCC';ColContour='black';
initInfo();

/* REDIMENSIONNEMENT DE TABLEAU */
function redimTableau(hauteur){
//	var larg
	var haut
	if (document.all) {
		//larg= (document.body.clientWidth);
		haut =(document.body.clientHeight)-5;
	} else {
		//larg = (window.innerWidth);
		haut = (window.innerHeight)-5;
	}
	hautM = haut-hauteur	
	if(document.getElementById('TabPrincipal'))
	var tab = 	document.getElementById('TabPrincipal')
	//var menu = 	document.getElementById('menu')
	tab.setAttribute('height',hautM);
}

/* AFFICHAGE / NON AFFICHAGE */
var ancienSpan = '';
function SwitchSpan(obj){
	if(document.getElementById){
		var el = document.getElementById(obj);
		var obj2='puce_'+obj;
		var puce = document.getElementById(obj2);
		var ancien = document.getElementById(ancienSpan);
		if (el) {
			if(el.style.display == "block"){
				el.style.display = "none";
				if (puce) {puce.innerHTML = '<img src="images/fleche.png" align="absmiddle">';}
			} else {
				el.style.display = "block";
				if (puce) {puce.innerHTML = '<img src="images/fleche_bas.png" align="absmiddle">';}
			}
		}
		if (ancienSpan != obj && ancienSpan != '') {
			ancien.style.display='none';
			var ancien2 = 'puce_' + ancienSpan;
			var ancienPuce = document.getElementById(ancien2);
			if (ancienPuce) {ancienPuce.innerHTML = '<img src="images/fleche.png" align="absmiddle">';}
		}
		ancienSpan = obj;
	}
}

function SwitchChapitre(obj){
	if(document.getElementById){
		var el = document.getElementById(obj);
		var obj2='puce_'+obj;
		var puce = document.getElementById(obj2);
		if (el) {
			if(el.style.display == "block"){
				el.style.display = "none";
				if (puce) {puce.innerHTML = '<img src="images/fleche.png" align="absmiddle">';}
			} else {
				el.style.display = "block";
				if (puce) {puce.innerHTML = '<img src="images/fleche_bas.png" align="absmiddle">';}
			}
		}
	}
}

function SwitchServices(obj){
	if(document.getElementById){
		var el = document.getElementById(obj);
		var obj2='puce_'+obj;
		var puce = document.getElementById(obj2);
		if (el) {
			if(el.style.display == "block"){
				el.style.display = "none";
				if (puce) {puce.innerHTML = '+';}
			} else {
				el.style.display = "block";
				if (puce) {puce.innerHTML = '-';}
			}
		}
	}
}

if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}

function seeAll(){
	if(!document.getElementById("masterdiv"))
		return;
	var ar = document.getElementById("masterdiv").getElementsByTagName("span");
	for(i=0;i<ar.length;i++) {
		if (ar[i].className=="submenu")
			ar[i].style.display='block'
	}
}

/* IMPRESSION DES FICHIERS XML */
function printXML(){
	var fen;
	fen = window.open('printXML.php','IMPRESSION','status=0,left=0,top=0,height=800,width=600,toolbar=no,status=no,location=no,resizable=no,scrollbars=yes,copyhistory=0,menubar=no');
	//fen.focus();
}

function printHTML(){
	var fen;
	fen = window.open('printHTML.php','IMPRESSION','status=0,left=0,top=0,height=800,width=600,toolbar=no,status=no,location=no,resizable=no,scrollbars=yes,copyhistory=0,menubar=no');
}

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();
}


