function check(form,x)
{
	var message = "";
	var more_message = "";
	var showmsg = "no";
	for (var i = 0; i < x; i++) {
		if(form.elements[i].name){var controle = form.elements[i].name;} else{var controle='';}
		var test = controle.substring(0,3);
		var test_ch = controle.substring(3);
		
		if (test=='OK_') {
			var valide = true;
			var testck = false;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			for (var j = 0; j < x ; j++) {
				if ((form.elements[j].type == "radio" || form.elements[j].type == "checkbox") && form.elements[j].name == test_ch && form.elements[j].checked == true){testck = true;}
				else if ((form.elements[j].type == "radio" || form.elements[j].type == "checkbox") && form.elements[j].name == test_ch && form.elements[j].checked == false){valide=false;}
				else if (form.elements[j].name == test_ch && form.elements[j].value == "" && form.elements[j].type != "radio" && form.elements[j].type != "checkbox"){valide=false;}
			}
			if (valide==false &&  testck==false){more_message=msgname;}
		}
		
		if (test=='TL_') {
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			if (champ.length!=10) valide=false;
			if (champ.substring(0,1)!='0') valide=false;
			if (isNaN(champ)) valide=false;
			if (champ.indexOf('.')>0) valide=false;
			if ((champ=="0000000000") || (champ=="") || (valide==false)){
				more_message=msgname;
			}
		}
		
		if (test=='PO_') {
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			if (champ.length!=10) valide=false;
			if (champ.substring(0,2)!='06') valide=false;
			if (isNaN(champ)) valide=false;
			if (champ.indexOf('.')>0) valide=false;
			if ((champ=="0000000000") || (champ=="") || (valide==false)){
				more_message=msgname;
			}
		}		
		
		if (test=='PO1_') {
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			if (form.elements[test_ch].value !=""){
				if (champ.length!=10) valide=false;
				if (champ.substring(0,2)!='06') valide=false;
				if (isNaN(champ)) valide=false;
				if (champ.indexOf('.')>0) valide=false;
				if ((champ=="0000000000") || (valide==false)){
					more_message=msgname;
				}
			}
		}		
		
		if (test=='SM_') {
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			if (champ.length>0){
				if (champ.length!=10) valide=false;
				if (champ.substring(0,2)!='06') valide=false;
				if (isNaN(champ)) valide=false;
				if (champ.indexOf('.')>0) valide=false;
			}
			if ((valide==false)){
				more_message=msgname;
			}
		}
		
		if (test=='CP_') {
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			if (champ.length!=5) valide=false; 
			if (isNaN(champ)) valide=false; 
			if ((valide==false) || (champ=='')){
				more_message=msgname;
			}
		}
		
		if (test=='NU_') {
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			if (isNaN(champ)) valide=false; 
			if ((valide==false) || (champ=='')){
				more_message=msgname;
			}
		}
		
		if (test=='ML_') {
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			var atom = "[!#-'*+\\-\\/-9=?A-Z^-~]+";
			var testemail = new RegExp("^"+atom+"(\\."+atom+")*@"+atom+"(\\."+atom+")*\\.[a-zA-Z]{2,4}$");
			if (champ=='' || champ.toLowerCase().search(testemail)!=0 || champ.length>150) {valide=false;}
			if (valide==false){
				more_message=msgname;
			}			
		}
		
		if (test=='DT_') {
			var today = new Date;
			var annee = today.getFullYear();
			var valide = true;
			var msgname = form.elements[i].value;
			var champ = form.elements[test_ch].value;
			if (isInteger(champ)=="false") valide=false;
			if (champ.length!=10) valide=false;
			if (champ.substring(0,2)>31 || champ.substring(0,2)=='00') valide=false;
			if (champ.substring(3,5)>12 || champ.substring(3,2)=='00') valide=false;
			if (champ.substring(6)<1930) valide=false;
			if (champ.substring(2,3)!='/' || champ.substring(5,6)!='/') valide=false;
			if (champ.indexOf('-')>0) valide=false;
			if (valide==false){
				more_message=msgname;
			}
		}
		
		// ajout du message
		if (more_message != "") {
			if (message == "") {message = more_message;more_message="";} 
			else {message = message + "\n" + more_message;more_message="";}
		}
		if (message != "") {showmsg = "yes";}
	}
	
	// message d'erreur ou validation du form
	if (showmsg == "yes") {alert("Impossible de valider le formulaire : \n\n" + message + "\n"); return false;} 
	else {return true;}
}

function isInteger(sDate)
{
	var new_msg = "true";
	inputStr = sDate.toString()
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i);
		if ((oneChar < "0" || oneChar > "9") && oneChar != "/") {
			new_msg = "false";
		}
	}

	return (new_msg);
}
