function surligne(champ, erreur){
   if(erreur)
	  champ.style.border = "1px solid #CC0000";
   else
	  champ.style.border = "1px solid #00CC00";
}

function affiche(elmt){
   if(typeof elmt == "string")
      elmt = document.getElementById(elmt);
   elmt.style.display = "";
}

function cache(elmt){
   if(typeof elmt == "string")
      elmt = document.getElementById(elmt);
   elmt.style.display = "none";
}

function verifPseudo(champ){
	var regex = /^[a-zA-Z0-9]+$/;
	if(champ.value.length < 3 || champ.value.length > 30 || !regex.test(champ.value)){	
		surligne(champ, true);
		affiche("pasOkPseudo");
		affiche("pasOkPseudoText1");
		cache("pasOkPseudoText2");
		cache("OkPseudo");
		return false;
	}else{
		texte = file('http://www.etsionparlait.com/verifPseudo.php?pseudo='+escape(champ.value));
		if(texte == 1){
			surligne(champ, true);
			affiche("pasOkPseudo");
			cache("pasOkPseudoText1");
			affiche("pasOkPseudoText2");
			cache("OkPseudo");
			return false;
		}else{
			surligne(champ, false);
			cache("pasOkPseudo");
			cache("pasOkPseudoText1");
			cache("pasOkPseudoText2");
			affiche("OkPseudo");
			return true;
		}
	}
}

function verifPass(champ){
   if(champ.value.length < 5 || champ.value.length > 60){
      surligne(champ, true);
	  affiche("pasOkMdp");
	  affiche("pasOkMdpText");
	  cache("OkMdp");
      return false;
   }else{
      surligne(champ, false);
	  cache("pasOkMdp");
	  cache("pasOkMdpText");
	  affiche("OkMdp");
      return true;
   }
}

function verifPassBdd(champ){
   if(champ.value.length < 5 || champ.value.length > 60){
      surligne(champ, true);
	  affiche("pasOkMdpBdd");
	  affiche("pasOkMdpText1Bdd");
	  cache("pasOkMdpText2Bdd");
	  cache("OkMdpBdd");
      return false;
   }else{
      surligne(champ, false);
	  cache("pasOkMdpBdd");
	  cache("pasOkMdpText1Bdd");
	  cache("pasOkMdpText2Bdd");
	  affiche("OkMdpBdd");
      return true;
   }
}

function verifPassConfirm(champ1, champ2){
   if((champ1.value.length < 5 || champ1.value.length > 60) || champ1.value!=champ2.value){
	  surligne(champ1, true);
	  affiche("pasOkMdpConfirm");
	  cache("OkMdpConfirm");
      return false;
   }else{
      surligne(champ1, false);
	  cache("pasOkMdpConfirm");
	  affiche("OkMdpConfirm");
      return true;
   }
}

function verifMail(champ){
   var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
   if(!regex.test(champ.value)){
      surligne(champ, true);
	  affiche("pasOkMail");
	  affiche("pasOkMailText");
	  cache("OkMail");
      return false;
   }else{
      surligne(champ, false);
	  cache("pasOkMailText");
	  cache("pasOkMail");
	  affiche("OkMail");
      return true;
   }
}

function verifMailConfirm(champ1, champ2){
   var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
   if((!regex.test(champ1.value))|| (champ1.value!=champ2.value)){
      surligne(champ1, true);
	  affiche("pasOkMailConfirm");
	  cache("OkMailConfirm");
      return false;
   }else{
      surligne(champ1, false);
	  cache("pasOkMailConfirm");
	  affiche("OkMailConfirm");
      return true;
   }
}

function verifObjet(champ){
   if(champ.value.length < 1 || champ.value.length > 50){
      surligne(champ, true);
	  affiche("pasOkObj");
	  cache("OkObj");
      return false;
   }else{
      surligne(champ, false);
	  cache("pasOkObj");
	  affiche("OkObj");
      return true;
   }
}

function verifMessage(champ){
   if(champ.value.length < 1 || champ.value.length > 10000){
      surligne(champ, true);
	  affiche("pasOkCont");
	  cache("OkCont");
      return false;
   }else{
      surligne(champ, false);
	  cache("pasOkCont");
	  affiche("OkCont");
      return true;
   }
}

function verifFormContact(f){
   var mailOk = verifMail(f.email);
   var objetOk = verifObjet(f.objet);
   var messageOk = verifMessage(f.message);
   
  if(mailOk && objetOk && messageOk)
      return true
   else{
      return false;
   }
}

function verifForm(f){
   var pseudoOk = verifPseudo(f.pseudo);
   var mailOk = verifMail(f.mail);
   var mailOkConfirm = verifMailConfirm(f.mail_confirm,f.mail);
   var mdpOk = verifPass(f.mdp);
   var mdpOkConfirm = verifPassConfirm(f.mdp_confirm,f.mdp);
   
  if(mailOk && mailOkConfirm && mdpOk && mdpOkConfirm && pseudoOk)
      return true
   else{
      return false;
   }
}

function verifFormProfil(f){
	var mailOk = verifMail(f.mail);
	if(mailOk)
      return true
   else{
      return false;
   }
}

function verifFormPasse(f){
	var passe1Ok = verifPassBdd(f.mdp);
	var passe2Ok = verifPass(f.nvo_mdp);
	var passeConfirm2Ok = verifPassConfirm(f.nvo_mdp_confirm,f.nvo_mdp);
	
	if(passe1Ok && passe2Ok && passeConfirm2Ok)
      return true
   else{
      return false;
   }
}

//fonction qui se connecte à verifPseudo et retourne le contenu
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);
}