var deblockForm = new Array(false,false,false);

// Fonction génerique
function showOrHide(type,mode,message){
	var div = document.getElementById( type );
	switch ( mode ){
		case "ON":
			if (div) { 
				div.innerHTML= ''+message;
				div.style.display = 'block';
			}
		break;
		case "OFF":
			if (div) { div.innerHTML= ''+message;
				div.style.display = 'block'; }
		break;
	}
}

function showError(input, mode){
		switch(mode)
		{
			case "ON":
				input.style.border = "2px #FF0000 solid"
			break;
			
			case "OFF":
				input.style.border = "3px green solid"
			break;
		}
}

//
// CHARGEMENT DIMAGE
 PicSecurite = new Array();
 	PicSecurite[0] = "./templates/js/null.png";
 	PicSecurite[1] = "./templates/js/faible.png";
 	PicSecurite[2] = "./templates/js/moyen.png";
 	PicSecurite[3] = "./templates/js/fort.png";

 var preLoadSecurite = new Array();

	for (i = 0; i < 4; i++){
	 preLoadSecurite[i] = new Image();
	 preLoadSecurite[i].src = PicSecurite[i];
//alert(preLoadSecurite[i].src);
	}

function calculLVL(mdp,critereRequis){
	var critereStatus = new Array(false,false,false); // 3 critéres 0->Nbre; 1>cara Majuscule, 2->cara Minuscule
	var nombre = "0123456789";
	var critereOK=0;

	for (i = 0; i < mdp.length; i++)
	 {
			c= mdp.charAt(i); // extrait le caractere

			if( (nombre.indexOf(c)>=0) && (critereStatus[0]==false) ) { // nbre
				critereStatus[0]=true;
				critereOK++;
			}
			else if ( (c.toUpperCase() ==c) && (critereStatus[1]==false) ){ // Maj
				critereStatus[1]=true;
				critereOK++;
		 	}
			else if ( (c.toLowerCase() ==c) && (critereStatus[2]==false) ){ // Minu
				critereStatus[2]=true;
				critereOK++;
		 	}
	 }

	if ( critereOK < critereRequis ) return false;
	else return true;
}
//
// VERIFICATION DE MAIL
function checkPassword(input){
	valeur  = input.value;
	lChaine =	valeur.length;
	minCara = 5; // nombre minimum
	recCara = 7;// nombre de caractere recommander
  securiteVoulu = 1; // Niveau de sécurité pour autorisé le mot de passe =>Faible : 1, Moyen : 2, Fort : 3
	deblockForm[1] = false;

	if ( lChaine < minCara ) {
		showError(input,"ON");
		document.getElementById("imgLVL").src = preLoadSecurite[0].src;
		bouton();
		return false;
	}
	else {
			showError(input,"OFF");
		// verifie si FORT
		if ( calculLVL(valeur,3)  ){
			document.getElementById("imgLVL").src = preLoadSecurite[3].src;
		}
		else if ( calculLVL(valeur,2) ){
			document.getElementById("imgLVL").src = preLoadSecurite[2].src;
		}
		else {
			document.getElementById("imgLVL").src = preLoadSecurite[1].src;
		}
			deblockForm[1] = true;
	}
	bouton();
	return true;
}

//
// VERIFICATION DE MAIL
function checkEmail(input, numero){
	valeur = input.value;
	suffix = valeur.indexOf('@');
	point	 = valeur.indexOf('.');
	chaine = valeur.length -1 - point;
	deblockForm[0] = false;
	bouton();

	if( (suffix > point) || (chaine < 2) || ( valeur.indexOf('@') == -1) || (valeur.indexOf('.') == -1) ){
		showError(input,"ON");
		showOrHide('mail'+numero,"ON",'Cette adresse email est invalide.');
		return false
	}
	else{ // C'est bon mais on vérifie si les deux mails sont identique

		if( numero == 1)
			inputSecondaire  = 	document.getElementById('mailSubmit2');
		else 
			inputSecondaire = 	document.getElementById('mailSubmit1') ;
			valeurSecondaire = inputSecondaire.value;


		if ( valeur != valeurSecondaire ) {
			showError(input,"ON");
			showOrHide('mail'+numero,"OFF",'Les mails sont diff&eacute;rents');
			showError(inputSecondaire,"ON");
			showOrHide('mail'+numero,"OFF",'Les mails sont diff&eacute;rents');
			return false;
		}
		else{
			showError(input,"OFF");
			showError(inputSecondaire,"OFF");
			showOrHide('mail1',"OFF",'Cette adresse email est valide.');
			showOrHide('mail2',"OFF",'Cette adresse email est valide.');
			deblockForm[0] = true;
		}
		bouton();
		return true
	}
}



function writediv(texte)
 {
  document.getElementById('membre').innerHTML = texte;
 }



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


function checkPseudo(input){
 pseudo = input.value;
 deblockForm[2] = false;

 if(pseudo != '')
  {
    if(pseudo.length<3) {
      writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
		}
    else if(pseudo.length>15) {
      writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
		}
    else if( texte = file('./includes/XmlHttpRequestMbre.php?username='+escape(pseudo)) )
    {
     if(texte == 1) {
      writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
			}
     else if(texte == 2) {
      writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
			deblockForm[2] = true;
			}
     else
      writediv(texte);
    }
  }
bouton();
}

function bouton() 
 {
		if (deblockForm[0] && deblockForm[1] && deblockForm[2]) {
			//document.getElementById("Submit").style.display='';
			document.getElementById("Submit").disabled=false;
		}
		else { 
			document.getElementById("Submit").disabled=true;
			//document.getElementById("Submit").style.display='none';
		}
 }
