// definition de la fonction d'affichage d'erreur
function displayError(id, message) {
	var inputElement = document.getElementById(id);
	var monLabelErreur = document.createElement("label");
	var monTexteErreur = document.createTextNode(message);
	monLabelErreur.appendChild(monTexteErreur);
	var errorDivElement = document.getElementById('error_' + id);
	if(errorDivElement.hasChildNodes()) {
		errorDivElement.replaceChild(monLabelErreur, errorDivElement.firstChild);
	} else {
		errorDivElement.appendChild(monLabelErreur);
	}
	errorDivElement.style.visibility='visible';
	errorDivElement.style.backgroundColor='#FFFFAE';
	errorDivElement.style.color='red';
	errorDivElement.style.border='1px solid yellow';
	inputElement.style.backgroundColor='#FF9595';
}

function unDisplayError(id) {
	var errorDivElement = document.getElementById('error_' + id);
	errorDivElement.style.color='';
	errorDivElement.style.border='';
	if(errorDivElement.hasChildNodes()) {
		var inputElement = document.getElementById(id);
		inputElement.style.backgroundColor = '';
		var noeud=errorDivElement.firstChild;
		errorDivElement.removeChild(noeud);
	}	
}

// float
function checkFloat(varName, formName, id, format, message) {
	var RGFloat = new RegExp(format);
	var value = document.forms[formName].elements[varName].value;
	var inputElement = document.getElementById(id);
	CheckNum = parseFloat(value);
	if(isNaN(CheckNum)) {
		displayError(id, message);
		return false;
	} else {
		if (!value.match(RGFloat)) {
			displayError(id, message);
			return false;
		} else {
			unDisplayError(id);
			return true
		}
	}
}

// integer
function checkInt(varName, formName, id, format, message) {
	var RGInt = new RegExp(format);
	var value = document.forms[formName].elements[varName].value;
	var inputElement = document.getElementById(id);
	CheckNum = parseInt(value);
	if(isNaN(CheckNum)) {
		displayError(id, message);
		return false;
	} else {
		if (!value.match(RGInt)) {
			displayError(id, message);
			return false;
		} else {
			unDisplayError(id);
			return true;
		}
	}
}

// email
function checkEMail(varName, formName, id, format, message) {
	var RGEMail = new RegExp(format);
	var value = document.forms[formName].elements[varName].value;
	var inputElement = document.getElementById(id);
	if (!value.match(RGEMail)) {
		displayError(id, message);
		return false;
	} else {
		unDisplayError(id);
		return true;
	}
}

