// JavaScript Document

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_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 JS_ValidFormulaire() { // Script permettant la validation d'un formulaire
	var i,p,q,nm,param1,param2,param3,num,lng; // On déclare les variables
	var errors=''; // On re-initialise les messages d'erreurs
	var args=JS_ValidFormulaire.arguments; // On extrait les arguments passés en paramètre
	for (i=0; i<(args.length-2); i+=3) { // On parcourt ces arguments
		param1=args[i]; // Parametre 1
		param2=args[i+1]; // Parametre 2
		param3=args[i+2]; // Parametre 3
		val=MM_findObj(param1); // On récupère l'objet cible défini
		if (val) { // Si l'objet existe
			nm=val.title; // On récupère son titre
			if ((val=val.value)!="") { // Si la valeur du champ n'est pas vide
				if (param2.indexOf('isEmail')!=-1) { // Le champ doit etre un email
					p=val.indexOf('@');	// Test de la présence d'un arobase
					if (p<1 || p==(val.length-1)) { // Si aucune présence de l'arobase
						errors+='- '+nm+' doit contenir une adresse email valide.\n';
					}
				}
				if (param2.indexOf('isNum')!=-1) { // Le champ doit etre numérique
					num = parseFloat(val); // Extraction du nombre
					if (isNaN(val)) { // Si aucune présence d'un nombre
						errors+='- '+nm+' doit contenir un nombre.\n';
					}
				}
				if (param2.indexOf('isMax')!=-1) { // Le champ doit avoir X caractères
					lng=val.length; // Extraction du nombre de caractère du champ
					if (lng > param3) { // Si la longeur dépasse le nombre indiqué
						errors+='- '+nm+' doit contenir un maximum de '+param3+' caractères.\n';
					}
				}
				if (param2.indexOf('isMin')!=-1) { // Le champ doit avoir X caractères
					lng=val.length; // Extraction du nombre de caractère du champ
					if (lng < param3) { // Si la longeur dépasse le nombre indiqué
						errors+='- '+nm+' doit contenir un minimum de '+param3+' caractères.\n';
					}
				}
			} else if (param2.charAt(0) == 'R') { // Si la valeur du champ est vide et que le premier caractère est R
				errors += '- '+nm+' doit être renseigné.\n';
			}
		}
	}
  	if (errors) { // Messages d'erreurs
		alert('Des erreurs ont étés trouvées :\n'+errors);
	}
	document.JS_retourValeur = (errors == '');
	if (document.JS_retourValeur2 == false) { document.JS_retourValeur=false; }
}


function JS_ValidDate() {
	document.JS_retourValeur2 = true;
	var obj_sel1 = document.getElementById('sel1');
	var obj_sel2 = document.getElementById('sel2');
	if (obj_sel1.value > obj_sel2.value) {
		alert("La date de fin ne doit pas etre inférieure à la date de début !");
		document.JS_retourValeur2 = false;
	}
}

function vis_div(param) {
	var image = document.getElementById('img_'+param);
	var div = document.getElementById('div_'+param);
	var test_img = image.src.search("down");
	if(test_img != -1) {
		image.src = image.src.replace("down","up");
		div.style.display = ""
	} else {
		image.src = image.src.replace("up","down");
		div.style.display = "none"
	}
}

function getElementsById(sId) {
    var outArray = new Array();	
	if(typeof(sId)!='string' || !sId) {
		return outArray;
	};
	
	if(document.evaluate) {
		var xpathString = "//*[@id='" + sId.toString() + "']"
		var xpathResult = document.evaluate(xpathString, document, null, 0, null);
		while ((outArray[outArray.length] = xpathResult.iterateNext())) { }
		outArray.pop();
	} else if(document.all) {
		for(var i=0,j=document.all[sId].length;i<j;i+=1){
		outArray[i] =  document.all[sId][i];}
	} else if(document.getElementsByTagName) {
		var aEl = document.getElementsByTagName( '*' );	
		for(var i=0,j=aEl.length;i<j;i+=1) {
			if(aEl[i].id == sId ) {
				outArray.push(aEl[i]);
			};
		};	
	};
	return outArray;
}

function vis_ref(param) {
	document.getElementById('div_afnor').style.display = "none";
	document.getElementById('div_fdih').style.display = "none";
	document.getElementById('div_michelin').style.display = "none";
	document.getElementById('div_kleber').style.display = "none";
	document.getElementById('div_manuest').style.display = "none";
	document.getElementById('div_manuloc').style.display = "none";
	document.getElementById('div_oce').style.display = "none";
	document.getElementById('div_avocat').style.display = "none";
	document.getElementById('div_forest').style.display = "none";
	document.getElementById('div_immo').style.display = "none";
	document.getElementById('div_'+param).style.display = "";
}

