function init() {
	// on recupere chaque champ a verifier
	var username = document.getElementById('username');
	var password = document.getElementById('password');
	var email = document.getElementById('email');
	
	// initialise l'appel aux fonctions pour chaque champ
	// il y a des différences de traitement DOM entre IE et Firefox, notamment pour l'affectation d'évenement
	// pour IE
	if (window.attachEvent) {
		username.onkeyup = function() { verifUsername(username); };
		username.OnBlur = function() { verifUsername(username); };
		password.onkeyup = function() { verifPassword(password); };
		email.onkeyup = function() { verifEmail(email); };
		email.OnBlur = function() { verifEmail(email); }; 

	}
	// pour Firefox
	else {
		username.setAttribute('onKeyUp', 'verifUsername(username)');
		username.setAttribute('OnBlur', 'verifUsername(username)'); 
		password.setAttribute('onKeyUp', 'verifPassword(password)');
		email.setAttribute('onKeyUp', 'verifEmail(email)');
		email.setAttribute('OnBlur', 'verifEmail(email)');
	}
}
 
function verifUsername(username) {
	var XHR = new XHRConnection();
	XHR.appendData("username", username.value);
	XHR.sendAndLoad("verifUsername.php", "POST", afficheDispo);
}
 
function verifPassword(password) {
	motDePasse = password.value;
	password_alert = document.getElementById('password_alert');
	// suppression du texte existant
	while(password_alert.firstChild != null) {
		password_alert.removeChild(password_alert.firstChild);
	}
	// creation du message suivant le cas
	if(motDePasse.length < 6) {
		var texte = document.createTextNode("Niveau faible");
	}
	if(motDePasse.length >= 6 && motDePasse.length < 8) {
		var texte = document.createTextNode("Niveau correct");
	}
	if(motDePasse.length >= 8) {
		var texte = document.createTextNode("Niveau élevé");
	}
	password_alert.appendChild(texte);
}
 
function verifEmail(email) {
	adresse = email.value;
	email_alert = document.getElementById('email_alert');
	// suppression du texte existant
	while(email_alert.firstChild != null) {
		email_alert.removeChild(email_alert.firstChild);
	}
	// creation du message suivant le cas
	if (!checkEmail(adresse)) {
		var texte = document.createTextNode("Adresse incorrecte");
		email_alert.appendChild(texte);
	} else {
		var texte = document.createTextNode("Adresse correcte");
		email_alert.appendChild(texte);
	}
}
 
function checkEmail(email) {
	var arobase = email.indexOf("@");
	var point = email.lastIndexOf(".");
	if((arobase < 3) || (point + 3 > email.length) || (point < arobase+3)) {
		return false;
	}
	return true;
}
 
function afficheDispo(obj) {
	username_alert = document.getElementById('username_alert');
	// suppression du texte existant
	while(username_alert.firstChild != null) {
		username_alert.removeChild(username_alert.firstChild);
	}
	
	// Construction des noeuds
	var tabResult = obj.responseXML.getElementsByTagName('resultat');
	var resultat = tabResult.item(0);
	var dispo = resultat.getAttribute('dispo');
	
	// creation du message suivant le cas
	if (dispo == "true") {
		var texte = document.createTextNode("Pseudo disponible");
		username_alert.appendChild(texte);
	} else {
		if (dispo == "false") {
			var texte = document.createTextNode("Ce pseudo existe déjà");
			username_alert.appendChild(texte);
		}
	}
}
