correctLogin = false;
correctEmail = false;

function affiche_bulle(elt,affiche){
	if( affiche==true )
		document.getElementById(elt).style.display='block';
	else
		document.getElementById(elt).style.display='none';
}

function verif_pseudo_dispo(pseudo){
  var httpRequest = false;
  
  document.getElementById('pseudo_disp').innerHTML = '';

  if(window.XMLHttpRequest) { // Mozilla, Safari
  	httpRequest = new XMLHttpRequest();
    if (httpRequest.overrideMimeType) {
    	httpRequest.overrideMimeType('text/xml');
    }
  }
  else if (window.ActiveXObject) { // IE
      try {
          httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e) {
          try {
              httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch (e) {}
      }
  }
  if (!httpRequest) {
  	alert('Abandon :( Impossible de créer une instance XMLHTTP');
    return false;
  }

  httpRequest.onreadystatechange =
  	function() {
  		if (httpRequest.readyState == 4) {
      	if (httpRequest.status == 200) {
          if( httpRequest.responseText=="ok" ){
          	document.getElementById('pseudo_disp').innerHTML = '<img src="images/validIcon.png" /> Disponible';
          	affiche_bulle('pseudo_disp', true);
          	correctLogin = true;
          }
          else{
          	document.getElementById('pseudo_disp').innerHTML = '<img src="images/invalidIcon.png" /> Indisponible';
          	affiche_bulle('pseudo_disp', true);
          	correctLogin = false;
          }
      	}
      	else{
          alert('Un problème est survenu avec la requête.');
          correctLogin = false
      	}
  	}
  };
  
	httpRequest.open('GET', 'http://www.intimeet.net/testLogin.php?login='+pseudo, true);
  httpRequest.send(null);
}

function verif_email_correct(email){
  var httpRequest = false;
  
  document.getElementById('email_correct').innerHTML = '';

  if(window.XMLHttpRequest) { // Mozilla, Safari
  	httpRequest = new XMLHttpRequest();
    if (httpRequest.overrideMimeType) {
    	httpRequest.overrideMimeType('text/xml');
    }
  }
  else if (window.ActiveXObject) { // IE
      try {
          httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e) {
          try {
              httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch (e) {}
      }
  }
  if (!httpRequest) {
  	alert('Abandon :( Impossible de créer une instance XMLHTTP');
    return false;
  }

  httpRequest.onreadystatechange =
  	function() {
  		if (httpRequest.readyState == 4) {
      	if (httpRequest.status == 200) {
          if( httpRequest.responseText=="ok" ){
          	document.getElementById('email_correct').innerHTML = '<img src="images/validIcon.png" /> Correct';
          	affiche_bulle('email_correct', true);
          	correctEmail = true;
          }
          else{
          	document.getElementById('email_correct').innerHTML = '<img src="images/invalidIcon.png" /> Incorrect';
          	affiche_bulle('email_correct', true);
          	correctEmail = false;
          }
      	}
      	else{
          alert('Un problème est survenu avec la requête.');
          correctEmail = false
      	}
  	}
  };
  
	httpRequest.open('GET', 'http://www.intimeet.net/testLogin.php?email='+email, true);
  httpRequest.send(null);
}

function verif_form(form){
	var msg='Information(s) du formulaire incorrecte(s):\n';
	var len = msg.length;

	if( verif_genre(form)==false )
		msg = msg + '\nVeuillez sélectionner votre sexe.';
	
	if( verif_anniv(form)==false )
		msg = msg + '\nVeuillez sélectionner votre date de naissance.';
		
	if( verif_mail(form)==false )
		msg = msg + '\nVotre adresse email est invalide.';
		
	if( verif_pseudo(form)==false )
		msg = msg + '\nVotre pseudo est invalide.';
	
	if( verif_pass(form)==false )
		msg = msg + '\nVotre mot de passe est invalide.';
		
	if( verif_cgu(form)==false )
		msg = msg + '\nVous devez accepter les CGU.';
	
	if( msg.length<=len )
		form.submit();
	else
		alert(msg);
}

function verif_genre(form){
	if( !form.idSexe0.checked && !form.idSexe1.checked )
		return false;
	return true;
}

function verif_anniv(form){
	return is_numeric(form.jj.value)&is_numeric(form.mm.value)&is_numeric(form.aa.value);
}

function verif_mail(form){
	return is_mail(form.mailField.value)&correctEmail;
}

function verif_pseudo(form){
	return is_login(form.inlogin.value)&correctLogin;
}

function verif_pass(form){
	var val = form.passw.value;
	return val.length==4 & is_numeric(val);
}

function verif_cgu(form){
	if( form.cgu.checked )
		return true;
	return false;
}

function is_numeric(num){
	var exp = new RegExp("^[0-9]+$","g");
	return exp.test(num);
}
function is_login(login){
	var exp = new RegExp("^[0-9a-zA-Z_-]{3,15}$","g");
	return exp.test(login);
}
function is_mail(email){
	var verif   = /^[.a-zA-Z0-9_-]+@[a-zA-Z0-9-.]{2,}\.[.a-zA-Z]{2,5}$/
	if (verif.exec(email) == null) return false;
	else return true;
}