<!--
/*******************/
var ns4 = (document.layers)? true:false;         		//NS 4
   var ie4 = (document.all)? true:false;        			//IE 4
   var dom = (document.getElementById)? true:false;  	//NS 6 ou IE 5

   function setDiv(ID,Content) {
      if (dom) {
      document.getElementById(ID).innerHTML = Content;
         return;
      }
      if (ie4) {
          document.all[ID].innerHTML = Content;
         return;
      }
      if (ns4) {
          with (eval('document.'+ID+'.document')) {
             open();
             write(Content);
             close();
         }
         return;
      }
   }

var txtInfo = new Array();
    txtInfo['LoginInfo'] 		= '<p class="petitin" style="margin-bottom:-7px;">6 &agrave; 19 caract&egrave;res  (a-z, A-Z, -) sans espace</p>';
    txtInfo['MotDePasseInfo'] 	= '<p class="petitin" style="margin-bottom:-7px;">3  caract&egrave;res diff&eacute;rents au minimun</p>';
    txtInfo['ConfirmationInfo'] = '<p class="petitin" style="margin-bottom:-7px;">Confirmer le mot de passe</p>';
    txtInfo['EmailInfo'] 		= '<p class="petitin" style="margin-bottom:-7px;">Votre email doit &ecirc;tre <span class="gras">valide</span> et non utilisé !</p>';
    txtInfo['QuestionInfo'] 	= 'Choisis une question : 3 &agrave; 255 caract&egrave;res';
    txtInfo['ReponseInfo'] 	= 'Ecris ta réponse : 1 &agrave; 50 caract&egrave;res, diff&eacute;rent de la question secr&eacute;te';

	function invalidRule(id){
			bloc = document.getElementById(id);
			bloc.className = 'invalidRule';
			setDiv(id,txtInfo[id]);
	}
	
	function validRule(id){
			bloc = document.getElementById(id);
			bloc.className = 'validRule';
			setDiv(id,'<p class="petitin" style="margin-bottom:-7px;">Ok</p>');
	}

    function focusRule(id){
			bloc = document.getElementById(id);
			bloc.className = 'focusRule';
			setDiv(id,txtInfo[id]);
	}	

    function VerifMotDePasse(){		
		var pass = document.forms.form1.MotDePasse.value;
		var pass2 = document.forms.form1.Confirmation.value;
		var login = document.forms.form1.Login.value;
		niveau = -1;
		/*
		if(pass.length == 0){
			invalidRule('passwordInfo');
		}else if(pass.length < 8){
			invalidRule('passwordInfo');
			setDiv('passwordInfo','Votre mot de passe est trop court (8 caract&egrave;res minimum) ');
		}
		else if(pass.length > 49){
			invalidRule('passwordInfo');
			setDiv('passwordInfo','Votre mot de passe est trop long (49 caract&egrave;res maximum)');
		}
		else if(pass == login){
			invalidRule('passwordInfo');
			setDiv('passwordInfo','Votre mot de passe doit &ecirc;tre diff&eacute;rent de votre nom de compte');
		}else{	*/
			
			var temp = '';
			for (var i=0; i<pass.length; i++){
				
				var car = pass.substring(i, i+1);
				
				//On regarde si on n'a déjà testé ce caractére
				test = 0;
				j = 0;
				while(test == 0 && j<temp.length){ 
					var carTemp = temp.substring(j, j+1);
					if(carTemp == car)
						test = 1;
					j++;
				}
				
				if(test == 0){
					temp = temp+car;
				}
			}

			if(temp.length < 3){
				niveau = -2;			
			}else{
			
				if (pass.search("[a-z]") != -1) //Le mot de passe contient des lettres minuscules -> sécurité faible du mdp
				{
					niveau = 0;
				}
				
				if (pass.search("[\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]") != -1) //Le mot de passe contient des caractères spéciaux -> sécurité du mdp faible ou moyenne
				{
					niveau++;
				}
				
				if (pass.search("[0-9]") != -1) //Le mot de passe contient des chiffres -> on passe à un niveau supplémentaire de sécurité (moyen ou fort si le mdp contient un caractère spécial)
				{
					niveau++;
				}
				
				if(niveau == 0){
					if (pass.search("[A-Z]") != -1) //Le mot de passe contient des lettres majuscules -> sécurité moyenne du mdp
					{
						niveau++;
		    		}
				}		
			}
		//}
		

		switch(niveau)
		{
		  case -2 :	invalidRule('MotDePasseInfo');
						setDiv('MotDePasseInfo','<p class="petitin" style="margin-bottom:-7px;">Votre mot de passe doit etre compos&eacute; au minimum de 3 caract&egrave;res diff&eacute;rents</p>');	
						document.getElementById('highPassword').className = 'clearLevelPassword';
						document.getElementById('mediumPassword').className = 'clearLevelPassword';
						document.getElementById('lowPassword').className = 'clearLevelPassword';
                       
						/*setDiv('lowPassword','faible');
						setDiv('mediumPassword','moyen');	
						setDiv('highPassword','fort');		*/					
						break;
		  case -1 :	document.getElementById('highPassword').className = 'clearLevelPassword';
						document.getElementById('mediumPassword').className = 'clearLevelPassword';
						document.getElementById('lowPassword').className = 'clearLevelPassword';
						/*setDiv('lowPassword','faible');
						setDiv('mediumPassword','moyen');	
						setDiv('highPassword','fort');	*/						
						break;
		  case 1 :		validRule('MotDePasseInfo');		
						setDiv('MotDePasseInfo','<p class="petitin" style="margin-bottom:-7px;">Votre mot de passe a un niveau de s&eacute;curit&eacute; suffisant mais vous pouvez en choisir un plus complexe.</p>');								
						document.getElementById('highPassword').className = 'clearLevelPassword';
						document.getElementById('mediumPassword').className = 'mediumLevelPassword';
						document.getElementById('lowPassword').className = 'mediumLevelPassword';
                      
						/*setDiv('lowPassword','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
						setDiv('mediumPassword','moyen');	
						setDiv('highPassword','fort');	*/						
						break;
		  case 2 :	    validRule('MotDePasseInfo');setDiv('MotDePasseInfo','<p class="petitin" style="margin-bottom:-7px;">F&eacute;licitations : votre mot de passe a un niveau de s&eacute;curit&eacute; important.</p>');				
						document.getElementById('highPassword').className = 'highLevelPassword';			  
						document.getElementById('mediumPassword').className = 'highLevelPassword';
						document.getElementById('lowPassword').className = 'highLevelPassword';
                      
						/*setDiv('lowPassword','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
						setDiv('mediumPassword','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');	
						setDiv('highPassword','fort');	*/	
						break;
		  default : 	invalidRule('MotDePasseInfo');	setDiv('MotDePasseInfo','<p class="petitin" style="margin-bottom:-7px;">Attention ce mot de passe a un niveau de s&eacute;curit&eacute; faible. Nous vous conseillons fortement d\'en choisir un plus complexe.</p>');	
						document.getElementById('highPassword').className = 'clearLevelPassword';
						document.getElementById('mediumPassword').className = 'clearLevelPassword';
						document.getElementById('lowPassword').className = 'lowLevelPassword';
                      
						/*setDiv('lowPassword','faible');
						setDiv('mediumPassword','moyen');	
						setDiv('highPassword','fort');	*/	
		}
        //On test la confirmation du mot de passe
		//if(pass2 != '')
		//	checkPassAG2();
    }
    
    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 VerifLogin(){		
		var login = document.forms.form1.Login.value;
    
		if( login.length < 3 || login.length > 255){
			invalidRule('LoginInfo');
		}else{		
			validRule('LoginInfo');
		}
	}	
    
    function VerifConfirmation(){		
        var pass2 = document.forms.form1.MotDePasse.value;
        var pass = document.forms.form1.Confirmation.value;
        var login = document.forms.form1.Login.value;
		
		if(pass2.length < 3 || pass2.length > 49 || pass == login || pass != pass2){
			invalidRule('ConfirmationInfo');
		}else{		
			validRule('ConfirmationInfo');
		}
	}	
	
	function VerifQuestion(){		
		var question = document.forms.form1.Question.value;
		
		if(question.length < 3 || question.length > 255){
			invalidRule('QuestionInfo');
		}else{		
			validRule('QuestionInfo');
		}
	}	
	
	function VerifReponse(){		
		var answer = document.forms.form1.Reponse.value;		
		var question = document.forms.form1.Question.value;
		
		if(answer.length < 1 || answer.length > 50){
			invalidRule('ReponseInfo'); 
		}else if(answer == question){
			invalidRule('ReponseInfo');
		}else{		
			validRule('ReponseInfo');
		}
	}
	
	function VerifEmail(){		
		var email = document.forms.form1.Email.value;		
		
		if( email.search(/^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$/) == -1 ){
			invalidRule('EmailInfo');
        }
		else {
			validRule('EmailInfo');
        }
	}
    
    function VerifForm(){
        
        var i=0;
        
       VerifLogin();
        VerifMotDePasse();
        VerifQuestion();
        VerifConfirmation();
        VerifReponse();
        VerifEmail();
    }
/*************************/


function MM_findObj(n, d) { //v4.01
  var p,i,x;  
  if(!d) d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
    }
  if(!(x=d[n])&&d.all) x=d.all[n];
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n);
  return x;
}

function MM_validateForm() { //v4.0
   
  
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
      test=args[i+2]; val=MM_findObj(args[i]);
      if (val) { 
        nm=val.name; 
        if ((val=val.value)!="") {
            if (test.indexOf('isEmail')!=-1) { 
                p=val.indexOf('@');
                if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir une addresse e-mail.\n';
            } else if (test!='R') { 
                num = parseFloat(val);
                if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
                if (test.indexOf('inRange') != -1) { 
                    p=test.indexOf(':');
                    min=test.substring(8,p); max=test.substring(p+1);
                    if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
                }
            }
        } else if (test.charAt(0) == 'R') errors += '- '+nm+'\n';
      }
  }
  if (errors) alert('Tu as oublié de remplir le champ:\n'+errors);
  document.MM_returnValue = (errors == '');
  if(document.form1.MotDePasse.value!=document.form1.Confirmation.value)
    {
	    alert("Tu n'as pas retapé le bon mot de passe! \nRetape ton mot de passe !!");
	    document.MM_returnValue = false;
    }
    
    /* var i = 0;
    i = VerifForm();
    if (i != 6) {
        alert ('Des champs sont mal remplis');
        document.MM_returnValue = false;
    }
    else {
     if(document.form1.MotDePasse.value!=document.form1.Confirmation.value)
    {
	    alert("Tu n'as pas retapé le bon mot de passe! \nRetape ton mot de passe !!");
	    document.MM_returnValue = false;
    }*/
    
}
//-->

