/* fonction permettant de vérifier que tous les champs obligatoires d'un formulaire sont bien renseignés,
   et que les champs saisis ne dépassent pas la longueur autorisée.
   paramètres : l'identifiant du champ explicatif à allumer, et la liste des identifiants des champs obligatoires, séparés par un ;
   retourne : true si tous les champs sont bien renseignés, false dans le cas contraire */
   
function checkForm(idForm, idMandatoryText, mandatoryFields) {
	var checkedForm = window.document.getElementById(idForm);
	var mandatoryText = window.document.getElementById(idMandatoryText);
	var formOk = true;
	
	/* On vérifie que les champs obligatoires sont bien renseignés */
	mandatoryFields = mandatoryFields.split(";");
	mandatoryText.style.color = "black";

	var currentCheckedField = null;
	for (var i=0; i < mandatoryFields.length; i++) {
		currentCheckedField = window.document.getElementById(mandatoryFields[i]);
		
		if (currentCheckedField && (currentCheckedField.value.length <= 0 || currentCheckedField.value == "00")) {
			if (mandatoryText) {
				mandatoryText.style.color = "red";
			}
			/* on affiche le label du champ en rouge */
			if (currentCheckedField.previousSibling) {
				currentCheckedField.previousSibling.style.color = "red";
			}
			/* au premier champ obligatoire non renseigné rencontré, on remet le focus sur ce champ */
			if (formOk) {
				currentCheckedField.focus();
			}
			formOk = false;
		}
		else {
			/* on remet éventuellement le label du champ en noir */
			if (currentCheckedField.previousSibling) {
				currentCheckedField.previousSibling.style.color = "black";
			}
		}
	}

	/* TODO : On vérifie maintenant que la longueur des champs renseignés ne dépassent pas la longueur autorisée */
	if (checkedForm) {
		for (var i=0; i < checkedForm.length; i++) {
			currentCheckedField = checkedForm[i];

			if (currentCheckedField && currentCheckedField.type == 'text' && currentCheckedField.value.length > currentCheckedField.maxchars) {
				/* on affiche un texte dans le label, qui passe en rouge */
				currentCheckedField.previousSibling.style.color = "red";
				currentCheckedField.previousSibling.value += "<br />La taille de ce champ est limitée à" + currentCheckedField.value.length + "caractères";
				formOk = false;
				alert(currentCheckedField.maxLength);
			}
		}
	}
	return formOk;
}

