var pseudook = false, passwordok = false, emailhotok = true, emailok = false, nomok = false, prenomok = false, adresseok = false, codepostalok = false, villeok = false, refok = true;

function containOnly(str, chars)
{
	for(var i=0; i<str.length; i++)
	{
		var b=false;
		for(var j=0; j<chars.length; j++)
			if(chars.charAt(j)==str.charAt(i)) b=true;
		if(b==false) return false;
	}
	return true;
}

function emailCheck(str)
{
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	return regex.test(str);
}

function emailCheckInterdit(str)
{
	var regex = /((caramail)|(hotmail)|(msn))/;
	return !regex.test(str);
}

function verifForm(formulaire) {
	if (pseudook && passwordok && emailok && nomok && prenomok && adresseok && codepostalok && villeok && refok && (formulaire.jour.value > 0) && (formulaire.mois.value > 0) && (formulaire.annee.value > 0))
	{
		if (!emailhotok)
		{
			var agree=confirm("ATTENTION : nous ne pouvons pas garantir la bonne réception de nos messages sur les mails Hotmail, MSN et Caramail. Vous pouvez confirmer votre mail ou annuler et entrer une nouvelle adresse.");
				if (agree) 
				{
					
					formulaire.submit();
				}
		}
		else 
		{
			
			formulaire.submit();
		}
	}
	else if (!((formulaire.jour.value > 0) && (formulaire.mois.value > 0) && (formulaire.annee.value > 0)))
	{
		alert('Erreur, votre date de naissance n\'est pas correcte');
	}
	else if (!pseudook)
	{
		alert('Erreur, votre pseudo n\'est pas bien rempli');
	}
	else if (!passwordok)
	{
		alert('Erreur, votre mot de passe n\'est pas bien rempli');
	}
	else if (!nomok)
	{
		alert('Erreur, votre nom n\'est pas bien rempli');
	}
	else if (!prenomok)
	{
		alert('Erreur, votre prénom n\'est pas bien rempli');
	}
	else if (!adresseok)
	{
		alert('Erreur, votre adresse n\'est pas bien rempli');
	}
	else if (!codepostalok)
	{
		alert('Erreur, votre code postal n\'est pas bien rempli');
	}
	else if (!villeok)
	{
		alert('Erreur, votre ville n\'est pas bien rempli');
	}
	else if (!refok)
	{
		alert('Erreur, votre parrain n\'est pas bien rempli');
	}
	else if (!((formulaire.jour.value > 0) && (formulaire.mois.value > 0) && (formulaire.annee.value > 0)))
	{
		alert('Erreur, votre date de naissance n\'est pas bien rempli');
	}
}

function ChangeField(field,ajax) {
	var fieldId = field.name;
	if(fieldId == 'pseudo') {
		pseudook = false;
		if(field.value != '' && containOnly(field.value, "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZéèôâûêçàùîïö'")) {
			if(field.value.length<2)
                         document.getElementById('pseudobox').innerHTML = '<span style="color:#cc0000">Erreur: ce pseudo est trop court</span>';
            else if(field.value.length>20)
                         document.getElementById('pseudobox').innerHTML = '<span style="color:#cc0000">Erreur: ce pseudo est trop long</span>';
            else
			{
			    texte = 1;
				if (ajax) texte = file('http://www.defigames.com/ajax/verifpseudo.php?pseudo='+escape(field.value));
				
				if (texte == 2) {
					field.className = 'borderRouge';
					document.getElementById('pseudobox').innerHTML = '<span style="color:#cc0000">Erreur: ce pseudo est déjà pris</span>';
				}
				else
				{
					field.className = 'borderVert';
					document.getElementById('pseudobox').innerHTML =  '';
					pseudook = true;
				}
			}
		}
		else {
			field.className = 'borderRouge';
			if (field.value != '') document.getElementById('pseudobox').innerHTML = '<span style="color:#cc0000">Erreur: ce pseudo contient un caractère illégal</span>';
			else document.getElementById('pseudobox').innerHTML = '<span style="color:#cc0000">Erreur: le champs est vide</span>';
		}
	}
	else if(fieldId == 'password' || fieldId == 'password1') {
		passwordok = false;
		if(field.value != '' && field.value.length >= 5) {
			if(fieldId == 'password') {
				if (field.value == document.lecteur.pseudo.value)
				{
					field.className = 'borderRouge';
					document.getElementById('passbox').innerHTML =  'Erreur : votre mot de passe est identique à votre pseudo';
				}
				else
				{
					field.className = 'borderVert';
					document.getElementById('passbox').innerHTML =  '';
					passwordok = true;
				}
			}
			if(fieldId == 'password1') {
				if(field.value == document.lecteur.password.value) {
					field.className = 'borderVert';
					document.getElementById('passbox1').innerHTML =  '';
					passwordok = true;
				}
				else {
					field.className = 'borderRouge';
					document.getElementById('passbox1').innerHTML =  'Erreur : les 2 mots de passes sont différents';
				}
			}
		}
		else {
			field.className = 'borderRouge';
			if(fieldId == 'password') {document.getElementById('passbox').innerHTML =  'Erreur : le mot de passe doit être plus grand que 5 caractères';}
		}
	}
	else if(fieldId == 'email') {
		emailok = false;
		emailhotok = true;
		if(field.value != '' && emailCheck(field.value) && emailCheckInterdit(field.value)) {
			if(field.value.length>150)
                         document.getElementById('mailbox').innerHTML = '<span style="color:#cc0000">Erreur: ce mail est trop long</span>';
            else
			{
			    texte = 1;
				if (ajax) texte = file('http://www.defigames.com/ajax/verifmail.php?mail='+escape(field.value));
				
				if (texte == 2) {
					field.className = 'borderRouge';
					document.getElementById('mailbox').innerHTML = '<span style="color:#cc0000">Erreur: ce mail est déjà utilisé</span>';
				}
				else
				{
					field.className = 'borderVert';
					document.getElementById('mailbox').innerHTML =  '';
					emailok = true;
				}
			}
		}
		else {
			field.className = 'borderRouge';
			if (field.value != '')
			{
				if (!emailCheck(field.value))
				{
					document.getElementById('mailbox').innerHTML = '<span style="color:#cc0000">Erreur: ce mail n\'est pas au bon format</span>';
				}
				else if (!emailCheckInterdit(field.value))
				{
					document.getElementById('mailbox').innerHTML = '<span style="color:#cc0000">Attention, pour les mails HOTMAIL, MSN et CARAMAIL, nous ne garantissons pas la récecption de nos mails</span>';
					emailhotok = false;
					emailok = true;
				}
			}
			else
			{
				document.getElementById('mailbox').innerHTML = '<span style="color:#cc0000">Erreur: le champs est vide</span>';
			}
		}
	}
	else if(fieldId == 'nom') {
		nomok = false;
		if(field.value != '' && containOnly(field.value, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZéèôâûêçàùîïö'- ")) {
			if(field.value.length<2)
                         document.getElementById('nombox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop court</span>';
            else if(field.value.length>50)
                         document.getElementById('nombox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop long</span>';
            else
			{
			    field.className = 'borderVert';
				document.getElementById('nombox').innerHTML =  '';
				nomok = true;
			}
		}
		else {
			document.getElementById('nombox').innerHTML = '<span style="color:#cc0000">Erreur: le nom n\'est pas au bon format</span>';
		}
	}
	else if(fieldId == 'prenom') {
		prenomok = false;
		if(field.value != '' && containOnly(field.value, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZéèôâûêçàùîïö'- ")) {
			if(field.value.length<2)
                         document.getElementById('prenombox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop court</span>';
            else if(field.value.length>30)
                         document.getElementById('prenombox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop long</span>';
            else
			{
			    field.className = 'borderVert';
				document.getElementById('prenombox').innerHTML =  '';
				prenomok = true;
			}
		}
		else {
			document.getElementById('prenombox').innerHTML = '<span style="color:#cc0000">Erreur: le nom n\'est pas au bon format</span>';
		}
	}
	else if(fieldId == 'adresse') {
		adresseok = false;
		if(field.value != '') {
			if(field.value.length<2)
                         document.getElementById('adressebox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop court</span>';
            else if(field.value.length>80)
                         document.getElementById('adressebox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop long</span>';
            else
			{
			    field.className = 'borderVert';
				document.getElementById('adressebox').innerHTML =  '';
				adresseok = true;
			}
		}
		else {
			document.getElementById('adressebox').innerHTML = '<span style="color:#cc0000">Erreur: le nom n\'est pas au bon format</span>';
		}
	}
	else if(fieldId == 'codepostal') {
		codepostalok = false;
		if(field.value != '') {
			if(field.value.length<2)
                         document.getElementById('codepostalbox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop court</span>';
            else if(field.value.length>10)
                         document.getElementById('codepostalbox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop long</span>';
            else
			{
			    field.className = 'borderVert';
				document.getElementById('codepostalbox').innerHTML =  '';
				codepostalok = true;
			}
		}
		else {
			document.getElementById('codepostalbox').innerHTML = '<span style="color:#cc0000">Erreur: le nom n\'est pas au bon format</span>';
		}
	}
	else if(fieldId == 'ville') {
		villeok = false;
		if(field.value != '') {
			if(field.value.length<2)
                         document.getElementById('villebox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop court</span>';
            else if(field.value.length>30)
                         document.getElementById('villebox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop long</span>';
            else
			{
			    field.className = 'borderVert';
				document.getElementById('villebox').innerHTML =  '';
				villeok = true;
			}
		}
		else {
			document.getElementById('villebox').innerHTML = '<span style="color:#cc0000">Erreur: le nom n\'est pas au bon format</span>';
		}
	}
	else if(fieldId == 'ref') {
		refok = false;
		if(field.value != '') {
			if(field.value.length>30)
                         document.getElementById('parrainbox').innerHTML = '<span style="color:#cc0000">Erreur: le nom est trop long</span>';
            else
			{
				texte = 1;
				if (ajax) texte = file('http://www.defigames.com/ajax/verifparrain.php?ref='+escape(field.value));
				
				if (texte == 2) {
					field.className = 'borderRouge';
					document.getElementById('parrainbox').innerHTML = '<span style="color:#cc0000">Erreur: ce parrain est incorrect</span>';
				}
				else
				{
					field.className = 'borderVert';
					document.getElementById('parrainbox').innerHTML =  '';
					refok = true;
				}
			}
		}
		else {
			field.className = 'borderVert';
			document.getElementById('parrainbox').innerHTML =  '';
			refok = true;
		}
	}
}

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);
     }