/** 
* Activation du champ contenant le message d'anomalie
* @param string champ Zone concernée
* @param string message Message à afficher
* @param string focus Sur quel champ on place le focus ?
*/

function anomalie(champ,message,focus) {
	// Texte
	var err=document.getElementById("err"+champ);
	if(err!=null) err.innerHTML =message; 
}

/** 
* Effacer les trace d'une anomalie de saisie
* @param string champ Zone concernée
*/
function anomalie_nettoyer(champ) {
	var err=document.getElementById("err"+champ);
	if(err!=null)	err.innerHTML="";
}

/** 
* Affichage des infobulles
* @param string champ id du champ
*/
function infoBulle(champ, texte) {
		document.getElementById("info"+champ).innerHTML=texte;
}
/** 
* Fermeture de l'infobulle
* @param string champ id du champ
*/
function infoFerme(champ) {
	document.getElementById("info"+champ).style.display="none";
	anomalie_nettoyer(champ);
}


/** 
* Retourne le type de navigateur
* @return string Type de navigateur IE, NS ou FF
*/
function navigateur() {
	if (navigator.appName=="Microsoft Internet Explorer") return("IE");
	if (navigator.appName=="Netscape") return("NS");
	return("FF");
}


/** 
* Test de la qualité du mot de passe
* @param string idf1 id de l'input password
* @param string idf2 id de la div qualité
* @param string idJauge id de la jauge
*/
function qualiteMDP(idf1, idf2, idJauge) {
	var f1 = document.getElementById(idf1);
	var f2 = document.getElementById(idf2);
	var msg="Mot de passe ";
	var chi=0; var maj=0; var min=0; var div=0; var total=1; //initialisation des compteurs
	var psw=f1.value; 	// pw : le mot de passe
	

	psw=psw.replace(/(^\s+)|(\s+$)/g,'');
		
	for(i=0;i<psw.length;i++){
		ac=psw.charCodeAt(i);
		if(ac<128){
			if(ac>47 && ac<58){chi++;}
			else if(ac>64 && ac<91){maj++;}
			else if(ac>96 && ac<123){min++;}
			else div++;
		}else{cdiv++;}
		total++;
	}
	
	var pct="0%";	
	if(total<7)		{ msg+="trop court"; 		pct="33%";	couleur="RED";}
	else if(chi==0)	{ msg+="trop simple";		pct="66%";	couleur="#FF9933";}
	else 			{ msg+="tr&egrave;s bien";	pct="100%";	couleur="GREEN";}
	
	document.getElementById(idJauge).style.width=pct;
	document.getElementById(idJauge).style.backgroundColor=couleur;
	document.getElementById('qualiteMDP').style.borderColor=couleur;
	if(document.getElementById('MDP')){
		document.getElementById('MDP').style.display="block";
	}
	
	f2.innerHTML=msg;
	f2.style.color=couleur;
}

//-------------------------------------------------------------------
//	CODE AJAX
//-------------------------------------------------------------------
/**
* Controle de saisie
* @param string fenetre Fenetre appelante
* @param int id Identifiant du champ a controler
*/
function controler(fenetre,id,path){
	var xhr; 
	
    try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');
     }
    catch (e) {
        try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2) {
          try {  xhr = new XMLHttpRequest();     }
          catch (e3) {  xhr = false;   }
        }
	}
 
 	var zone=id.substring(2);
 	xhr.onreadystatechange = function()  { 
		if(xhr.readyState==4) {
			if(xhr.status==200) {
				anomalie_nettoyer(zone);	// Effacer les messages d'anomalies
				if(xhr.responseText=="")
					return null;
				else {
					anomalie(zone,xhr.responseText,id);
				}
			}
		}
	}; 

	if(document.getElementById(id).value=="")
		return null;
	else {
		/*
		*3SI envoie la fonction sur controle.php
		*/
		var fonction=""+path+"/codes/controle.php?champ="+id+"&val="+document.getElementById(id).value;
		xhr.open("GET",fonction, true); 
		xhr.send(null);
	}
}

