/*
// Conception et création : SARL Bakanoob
//
// Copyright Bakanoob © 2010
// Toute reproduction interdite
// Tous droits réservés
*/

isEmail = function(emailStr) {
	var checkTLD = 1;
	var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|­pro|museum|fr)$/;
	var emailPat = /^(.+)@(.+)$/;
	var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "\[^\\s" + specialChars + "\]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + '+';
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) { return false; }
	var user = matchArray[1];
	var domain = matchArray[2];
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i) > 127) { return false; }
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i) > 127) { return false; }
	}
	if (user.match(userPat) == null) { return false; }
	var IPArray=domain.match(ipDomainPat);
	if (IPArray != null) {
		for (var i=1; i<=4; i++) {
			if (IPArray[i] > 255) { return false; }
		}
		return true;
	}
	var atomPat = new RegExp("^" + atom + "$");
	var domArr = domain.split(".");
	var len = domArr.length;
	for (i=0; i<len; i++) {
		if (domArr[i].search(atomPat) == -1) { return false; }
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) { return false; }
	if (len < 2) { return false; }
	return true;
}

function writediv(texte,nom)
{
	document.getElementById('label_'+nom).innerHTML = texte;
}

/*function VerifForm2(text,nom)
{
	if(nom == 'pseudo')
	{
		if(text != '')
		{
			if(text.length<4)
				writediv('<font style="color:#cc0000">Pseudo est trop court</font>',nom);
			else if(text.length>30)
				writediv('<font style="color:#cc0000">Pseudo est trop long</font>',nom);
			else if(texte = file('text_pseudo.php?text='+escape(text)+'&type=pseudo'))
				{
				if(texte == 1)
					writediv('<font style="color:#cc0000">Pseudo d&eacute;j&agrave; pris</font>',nom);
				else if(texte == 2)
					writediv('<font style="color:#1A7917">Pseudo correct</font>',nom);
				else
					writediv(texte,nom);
				}
		}
		else writediv('<font style="color:#cc0000">Entrez un pseudo</font>',nom);   		
	}
	else if(nom == 'password')
	{
		text2 = document.getElementsByName('password2')[0].value;
		VerifForm(text2,'password2');
		if(text != '')
		{
			if(text.length<6)
				writediv('<font style="color:#cc0000">Mot de passe trop court</font>',nom);
			else if(text.length>30)
				writediv('<font style="color:#cc0000">Mot de passe trop long</font>',nom);
			else 
				writediv('<font style="color:#1A7917">Mot de passe correct</font>',nom);
		}
		else writediv('<font style="color:#cc0000">Entrez un mot de passe</font>',nom);   		
	}
	else if(nom == 'password2')
	{
		if(text != '')
		{
			text2 = document.getElementsByName('password')[0].value;
			if(text != text2)
				writediv('<font style="color:#cc0000">V&eacute;rification incorrecte</font>',nom);
			else 
				writediv('<font style="color:#1A7917">V&eacute;rification correcte</font>',nom);  
		}
		else writediv('<font style="color:#cc0000">V&eacute;rification du mot de passe</font>',nom);   
	}
	else if(nom == 'email')
	{
		if(text != '')
		{
			if(isEmail(text))
				if(texte = file('text_pseudo.php?text='+escape(text)+'&type=email'))
				{
					if(texte == 1)
						writediv('<font style="color:#cc0000">Adresse email d&eacute;j&agrave; prise</font>',nom);
					else if(texte == 2)
						writediv('<font style="color:#1A7917">Adresse email correcte</font>',nom);
					else
						writediv(texte,nom);
				}
			else 
				writediv('<font style="color:#cc0000">Adresse email invalide</font>',nom);  
		}
		else writediv('<font style="color:#cc0000">Entrez une adresse email</font>',nom);   
	}
}
*/

function VerifForm()
{
	pseudo = document.getElementsByName('pseudo')[0].value;
	password = document.getElementsByName('password')[0].value;
	password2 = document.getElementsByName('password2')[0].value;
	email = document.getElementsByName('email')[0].value;
	verif = document.getElementsByName('verif')[0].value;
	v_pseudo = false;
	v_password = false;
	v_password2 = false;
	v_email = false;
	v_verif = false;
	
		if(pseudo != '')
		{
			if(pseudo.length<4)
				writediv('<font style="color:#cc0000">Pseudo est trop court</font>','pseudo');
			else if(pseudo.length>30)
				writediv('<font style="color:#cc0000">Pseudo est trop long</font>','pseudo');
			else if(pseudo = file('text_pseudo.php?text='+escape(pseudo)+'&type=pseudo'))
				{
				if(pseudo == 1)
					writediv('<font style="color:#cc0000">Pseudo d&eacute;j&agrave; pris</font>','pseudo');
				else if(pseudo == 2)
				{
					writediv('<font style="color:#1A7917">Pseudo correct</font>','pseudo');
					v_pseudo = true;
				}
				else
					writediv(pseudo,'pseudo');
				}
		}
		else writediv('<font style="color:#cc0000">Entrez un pseudo</font>','pseudo');   		

		if(password != '')
		{
			if(password.length<6)
				writediv('<font style="color:#cc0000">Mot de passe trop court</font>','password');
			else if(password.length>30)
				writediv('<font style="color:#cc0000">Mot de passe trop long</font>','password');
			else 
			{
				writediv('<font style="color:#1A7917">Mot de passe correct</font>','password');
				v_password = true;
			}
		}
		else writediv('<font style="color:#cc0000">Entrez un mot de passe</font>','password');   		

		if(password2 != '')
		{
			if(password != password2)
				writediv('<font style="color:#cc0000">V&eacute;rification incorrecte</font>','password2');
			else
			{
				writediv('<font style="color:#1A7917">V&eacute;rification correcte</font>','password2');  
				v_password2 = true;
			}
		}
		else writediv('<font style="color:#cc0000">V&eacute;rification du mot de passe</font>','password2');   

		if(email != '')
		{
			if(isEmail(email))
				if(email = file('text_pseudo.php?text='+escape(email)+'&type=email'))
				{
					if(email == 1)
						writediv('<font style="color:#cc0000">Adresse email d&eacute;j&agrave; prise</font>','email');
					else if(email == 2)
					{
						writediv('<font style="color:#1A7917">Adresse email correcte</font>','email');
						v_email = true;
					}
					else
						writediv(email,'email');
				}
			else 
				writediv('<font style="color:#cc0000">Adresse email invalide</font>','email');  
		}
		else writediv('<font style="color:#cc0000">Entrez une adresse email</font>','email'); 
		
		if(verif != '')
		{
			if((verif == '6')||(verif == 'blanc'))
			
				if(verif == 'blanc')
				{
					writediv('<font style="color:#1A7917">V&eacute;rification correcte</font>','verif');
					v_verif = true;
				}
				else 
					writediv('<font style="color:#F60">Quelle est la couleur du cheval blanc d\'Henri IV ?</font>','verif');  
			else 
				writediv('<font style="color:#cc0000">V&eacute;rification incorrecte</font>','verif');  
		}
		else writediv('<font style="color:#cc0000">V&eacute;rification anti-bot</font>','verif'); 
		
		if((v_pseudo == true)&&(v_password == true)&&(v_password2 == true)&&(v_email == true)&&(v_verif == true))
		{
			document.getElementsByName('inscription')[0].disabled = false; 
			document.getElementsByName('verification')[0].disabled = true; 
		}
		else 
		{
			document.getElementsByName('inscription')[0].disabled = true; 
			document.getElementsByName('verification')[0].disabled = false; 
		}	
}

function file(fichier)
{
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
		
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	
	if(xhr_object.readyState == 4) return(xhr_object.responseText);
	else return(false);
}
