var fpseudo = new LiveValidation('formvars[pseudo]',{ validMessage: "OK !" });
fpseudo.add( Validate.Presence );
fpseudo.add( Validate.Length, { minimum: 4, maximum:15 } );

var fpasse = new LiveValidation('formvars[passe]',{ validMessage: "OK !" });
fpasse.add( Validate.Presence );
fpasse.add( Validate.Length, { minimum: 4 } );

var fpasseC = new LiveValidation('formvars[passeC]',{ validMessage: "OK !" });
fpasseC.add( Validate.Presence );
fpasseC.add( Validate.Length, { minimum: 4 } );
fpasseC.add( Validate.Confirmation, { match: 'formvars[passe]' } );

var femail = new LiveValidation('formvars[email]',{ validMessage: "OK !" });
femail.add( Validate.Presence );
femail.add( Validate.Email ,{ failureMessage: "Adresse mail invalide !" });

var fnom = new LiveValidation('formvars[nom]',{ validMessage: "OK !" });
fnom.add( Validate.Presence );
fnom.add( Validate.Length, { minimum: 2 } );

var fprenom = new LiveValidation('formvars[prenom]',{ validMessage: "OK !" });
fprenom.add( Validate.Presence );
fprenom.add( Validate.Length, { minimum: 2 } );

var frue_l1 = new LiveValidation('formvars[rue_l1]',{ validMessage: "OK !" });
frue_l1.add( Validate.Presence );
frue_l1.add( Validate.Length, { minimum: 4 } );

var frue_l2 = new LiveValidation('formvars[rue_l2]',{ validMessage: "OK !" });
frue_l2.add( Validate.Length, { minimum: 4 } );

var fcode = new LiveValidation('formvars[code]',{ validMessage: "OK !" });
fcode.add( Validate.Presence );
fcode.add( Validate.Numericality, { onlyInteger: true } );
fcode.add( Validate.Length, { minimum: 5, maximum:5 } );

var fville = new LiveValidation('formvars[ville]',{ validMessage: "OK !" });
fville.add( Validate.Presence );
fville.add( Validate.Length, { minimum: 2 } );

var fpays = new LiveValidation('formvars[pays]',{ validMessage: "OK !" });
fpays.add( Validate.Presence );
fpays.add( Validate.Length, { minimum: 2 } );

var femail_parrain = new LiveValidation('formvars[email_parrain]',{ validMessage: "OK !" });
femail_parrain.add( Validate.Email ,{ failureMessage: "Adresse mail invalide !" });

var facceptCGU = new LiveValidation('formvars[acceptCGU]',{ validMessage: "OK !" });
facceptCGU.add( Validate.Acceptance, {failureMessage: "Doit être accepté !"} );

var automaticOnSubmit = facceptCGU.form.onsubmit;
facceptCGU.form.onsubmit = function()
{
  	var valid = automaticOnSubmit();
  	var error = 0;
	
  	//Vérifier le pseudo
	new Ajax.Request('ai.htm', {
	  parameters: {action: 'pseudo', elem: $('formvars[pseudo]').value},
	  onComplete: function(transport) {
		if (200 == transport.status)
		{	  
			 if( transport.responseText == '1' )
			 {
				error += 1;
				var NodeListe = $('formvars[pseudo]').parentNode.getElementsByTagName("span");
				$('formvars[pseudo]').parentNode.removeChild(NodeListe.item(0))
				var span = document.createElement('span');
				span.setAttribute("class", "LV_validation_message LV_invalid");
				var textNode = document.createTextNode('Ce pseudo est déjà utilisé');
				span.appendChild(textNode);
				$('formvars[pseudo]').parentNode.appendChild(span);
				$('formvars[pseudo]').className = "LV_invalid_field";
			}
		}
	  }
	});
	
	//Vérifier le mail
	new Ajax.Request('ai.htm', {
	  parameters: {action: 'mail', elem: $('formvars[email]').value},
	  onComplete: function(transport) {
		if (200 == transport.status)
		{ 
			 if( transport.responseText == '1' )
			 {
				error += 1;
				var NodeListe = $('formvars[email]').parentNode.getElementsByTagName("span");
				$('formvars[email]').parentNode.removeChild(NodeListe.item(0))
				var span = document.createElement('span');
				span.setAttribute("class", "LV_validation_message LV_invalid");
				var textNode = document.createTextNode('Cet email est déjà utilisé');
				span.appendChild(textNode);
				$('formvars[email]').parentNode.appendChild(span);
				$('formvars[email]').className = "LV_invalid_field";
			}
		}
	  }
	});
	
  	if(valid)
  	{ 
		if( error < 1 ) { facceptCGU.form.submit(); }
		//alert(mail_verif);return false;
  	}
	else
	{ location.href='#haut'; }
  	return false;
}
