	function MM_validateForm() { //v2.0
		var i,objStr,field,theCheck,atPos,theNum,colonPos,min,max,errors='';
		for (i=0; i<(MM_validateForm.arguments.length-2); i+=3) {
			objStr = MM_validateForm.arguments[(navigator.appName == 'Netscape')?i:i+1];
			if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
					(objStr.indexOf('document.all[')   ==0 && document.all   ==null))
				objStr = 'document'+objStr.substring(objStr.substring(0,objStr.lastIndexOf('.')).
									 lastIndexOf('.'),objStr.length);  //fix layer ref if not supp
			field = eval(objStr);
			field.name = (field.name)?field.name:objStr;
			theCheck = MM_validateForm.arguments[i+2];
			if (field.value) { //IF NOT EMPTY FIELD
				if (theCheck.indexOf('isEmail') != -1) { //CHECK EMAIL
					atPos = field.value.indexOf('@');
					if (atPos < 1 || atPos == (field.value.length - 1))
						errors += '- '+field.name+' must contain an e-mail address.\n';
				} else if (theCheck != 'R') { //START NUM CHECKS
					theNum = parseFloat(field.value);
					if (field.value != ''+theNum) errors += '- '+field.name+' must contain a number.\n';
					if (theCheck.indexOf('inRange') != -1) { //CHECK RANGE
						colonPos = theCheck.indexOf(':');
						min = theCheck.substring(8,colonPos);
						max = theCheck.substring(colonPos+1,theCheck.length);
						if (theNum < min || max < theNum) //bad range
							errors += '- '+field.name+' must contain a number between '+min+' and '+max+'.\n';
			} } }
			else if (theCheck.charAt(0) == 'R') errors += '- '+field.name+' est nécessaire.\n';
		}
		if (errors) alert('Oups!:\n'+ errors);
		document.MM_returnValue = (errors == '')
	}


	function toolTip(ID_toolTipBox, texte_a_afficher, ID_image) {
		la_box = document.getElementById(ID_toolTipBox);
		l_image = document.getElementById(ID_image);
		coors = findPos(l_image);
		if(la_box.style.display == 'block') {	
			hideToolTipBox(ID_toolTipBox)
		}
		else {
			la_box.innerHTML = texte_a_afficher;
			la_box.style.display='block';
			la_box.style.top  = coors[1] + 15;
			la_box.style.left = coors[0] + 15;		
		}
	}

	function findPos(obj) {
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	}
	
	function hideToolTipBox(ID_toolTipBox) {
		la_box = document.getElementById(ID_toolTipBox);
		la_box.style.display='none';
	}

	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_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_openBrWindow(theURL,winName,features) { //v2.0
	  window.open(theURL,winName,features);
	}
