
function ErreurChamp(champ, message) {
	alert(message);
	couleur = champ.style.backgroundColor;
	setTimeout('document.forms.' + champ.form.name + '.' + champ.name + '.style.backgroundColor = \'red\';', 50);
	setTimeout('document.forms.' + champ.form.name + '.' + champ.name + '.style.backgroundColor = \'' + couleur + '\';', 200);
	setTimeout('document.forms.' + champ.form.name + '.' + champ.name + '.style.backgroundColor = \'red\';', 300);
	setTimeout('document.forms.' + champ.form.name + '.' + champ.name + '.style.backgroundColor = \'' + couleur + '\';', 400);
}

function ValideChampObligatoire(champ) {
	valide = false;
	if (champ.type == 'text') valide = (champ.value != '');
	if (champ.type == 'select-one') valide = (champ.selectedIndex != 0);
	if (! valide) {
		ErreurChamp(champ, 'Ce champ doit être saisi');
		champ.focus();
	}
	return valide;
}

function ValideChampEntier(champ) {
	valeur = parseInt(champ.value);
	if (isNaN(valeur) || (champ.value !== valeur.toString())) {
		ErreurChamp(champ, 'Ce n\'est pas un valeur numérique (entière) correcte');
		if (! isNaN(valeur)) champ.value = valeur;
		return false;
	} else {
		return true;
	}
}

function ValideChampMail(champ) {
	if (champ.value.search(/^[^@]+@[^.]+\..+$/) !== 0) {
		ErreurChamp(champ, 'Ce n\'est pas un mail correct');
		return false;
	} else {
		return true;
	}
}

function ValideChampDate(champ) {
	if (champ.value.search(/^[0-9]{1,2}\/[0-9]{1,2}\/20[0-9]{2}$/) !== 0) {
		ErreurChamp(champ, 'Ce n\'est pas une date correcte (JJ/MM/AAAA)');
		return false;
	} else {
		return true;
	}
}
