﻿function rand( min, max ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Leslie Hoare
    // *     example 1: rand(1, 1);
    // *     returns 1: 1
 
    if( max ) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    } else {
        return Math.floor(Math.random() * (min + 1));
    }
}

// Fichier JScript
// ctl00_ContentPlaceHolder1_btnModifier" disabled="disabled"
var MinCaracteres = 6; // Nombre minimum de caratères du mot de passe
var CaracteresSecurite = 8; // Nombre de caractères correct pour un mot de passe
var SecuriteBouton = 1; // Niveau de sécurité pour dévérouiller le bouton Faible : 1, Moyen : 2, Fort : 3

// images des différents niveaux
var PicSecurite = new Array();
PicSecurite[0] = "/images/NiveauZero.PNG";
PicSecurite[1] = "/images/NiveauFaible.PNG";
PicSecurite[2] = "/images/NiveauMoyen.PNG";
PicSecurite[3] = "/images/NiveauFort.PNG";

var preLoadSecurite = new Array();

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

function NiveauSecurite()
{ 
    // pwd : Mot de passe à vérifier
    var pwd = document.getElementById("pass1").value ; 

    if (IsStrong(pwd))
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[3].src;
	    document.getElementById("btnValider").disabled = false;
		var motdepasse = document.getElementById("pass1");
		motdepasse.className = "input_right";
		var img = document.getElementById("corr_pass1");
		img.src = "/images/true.gif";
    }
    else if (IsMedium(pwd))
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[2].src;
 	    if (SecuriteBouton<=2)
	    {
	        document.getElementById("btnValider").disabled = false;
		var motdepasse = document.getElementById("pass1");
		motdepasse.className = "input_right";
		var img = document.getElementById("corr_pass1");
		img.src = "/images/true.gif";
	    }else{
	        document.getElementById("btnValider").disabled = true;
		var motdepasse = document.getElementById("pass1");
		motdepasse.className = "input_right";
		var img = document.getElementById("corr_pass1");
		img.src = "/images/true.gif";
	    }
    }
    else if (IsWeak(pwd))
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[1].src;
 	    if (SecuriteBouton<=1)
	    {
	        document.getElementById("btnValider").disabled = false;
		var motdepasse = document.getElementById("pass1");
		motdepasse.className = "input_right";
		var img = document.getElementById("corr_pass1");
		img.src = "/images/true.gif";
	    }else{
	        document.getElementById("btnValider").disabled = true;
		var motdepasse = document.getElementById("pass1");
		motdepasse.className = "input_right";
		var img = document.getElementById("corr_pass1");
		img.src = "/images/true.gif";
	    }
    }
    else
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[0].src;
	    document.getElementById("btnValider").disabled = true;
		var motdepasse = document.getElementById("pass1");
		motdepasse.className = "input_false";
		var img = document.getElementById("corr_pass1");
		img.src = "/images/false.gif";
    }
}

function IsStrong(pwd)
{
// niveau Fort
	if (pwd.length < CaracteresSecurite)
	{
		return false;
	}else{
        if (!SpansAtLeastNCharacterSets(pwd,3))
        {
        	return false;
        }else{
		    return true;
		}
	}	
}

function IsMedium(pwd)
{
// niveau Moyen
	if (pwd.length < CaracteresSecurite)
	{
		return false;
	}else{
        if (!SpansAtLeastNCharacterSets(pwd,2))
        {
        	return false;
        }else{
		    return true;
		}
	}	
}

function IsWeak(pwd)
{
// niveau Faible
	return (pwd.length >= (MinCaracteres));
}

function SpansAtLeastNCharacterSets( word, N)
{
// Calcul les différents types de caractères du mot de passe
// word : mot de passe, N : Nombre minimun de types de caractère différents pour retour à vrai 
	if (word == null)
		return false;
		
	var csets = new Array(false,false,false,false);

	ncs = 0;
	var listeNombre = "0123456789";
	var listeCaractereSpe = "&é'(-è_çà)=*ù!:;,?./§-+<>$£µ%"+'"';
    for (i = 0; i < word.length; i++)
	{
	    c= word.charAt(i);
		if (listeNombre.indexOf(c)>=0)
		{
		// caractère numérique
			if (csets[0] == false)
			{
				csets[0] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
		}
		else if (listeCaractereSpe.indexOf(c)>=0)
		{
		// caractère spécial
			if (csets[1] == false)
			{
				csets[1] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
		}
		else if (c.toUpperCase() ==c)
		{
		// caractère en Majuscule
			if (!csets[2])
			{
				csets[2] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
			continue;
		}
		else if (c.toLowerCase() ==c)
		{
		// caractère en Minuscule
			if (!csets[3])
			{
				csets[3] = true;
				ncs++;
				if (ncs >= N)
					return true;
			}
		}
	}
	return false;
}

function VerificationEmail(elm)
{
if (elm.value.indexOf("@") != "-1" &&
    elm.value.indexOf(".") != "-1" &&
    elm.value != "")
    return true;

return false;
}

function VerificationFormulaire()
{
if (VerificationEmail(document.register.mail) == true)
    {
	var email = document.getElementById("Email");
	email.className = "input_right";
	var img = document.getElementById("corr_Email");
	img.src = "/images/true.gif";
    }
	else
	{
	var email = document.getElementById("Email");
	email.className = "input_false";
	var img = document.getElementById("corr_Email");
	img.src = "/images/false.gif";
	}
}

function VerificationMdP(pass1 , pass2)
{
if (pass1 == pass2)
    return true;

return false;
}

function VerificationMotDePasse()
{
var pass1 = document.getElementById("pass1").value ; 
var pass2 = document.getElementById("pass2").value ; 
if (VerificationMdP(pass1 , pass2) == true)
    {
	var pass2 = document.getElementById("pass2");
	pass2.className = "input_right";
	var img = document.getElementById("corr_pass2");
	img.src = "/images/true.gif";
    }
	else
	{
	var pass2 = document.getElementById("pass2");
	pass2.className = "input_false";
	var img = document.getElementById("corr_pass2");
	img.src = "/images/false.gif";
	}
}

function VerificationLogin()
{
	var login = document.getElementById("pseudo").value ; 
	if(login.length >= 4)
	{
	var pseudo = document.getElementById("pseudo");
	pseudo.className = "input_right";
	var img2 = document.getElementById("corr_pseudo");
	img2.src = "/images/true.gif";
	}
	else
	{
	var pseudo = document.getElementById("pseudo");
	pseudo.className = "input_false";
	var img2 = document.getElementById("corr_pseudo");
	img2.src = "/images/false.gif";
	}
}

function VerificationTeam()
{
	var login = document.getElementById("pseudo").value ; 
	if(login.length >= 3)
	{
	var pseudo = document.getElementById("pseudo");
	pseudo.className = "input_right";
	var img2 = document.getElementById("corr_pseudo");
	img2.src = "/images/true.gif";
	}
	else
	{
	var pseudo = document.getElementById("pseudo");
	pseudo.className = "input_false";
	var img2 = document.getElementById("corr_pseudo");
	img2.src = "/images/false.gif";
	}
}

function VerificationTag()
{
	var tagg = document.getElementById("tag").value ; 
	if(tagg.length >= 1)
	{
	var tag = document.getElementById("tag");
	tag.className = "input_right";
	var img2 = document.getElementById("corr_tag");
	img2.src = "/images/true.gif";
	}
	else
	{
	var tag = document.getElementById("tag");
	tag.className = "input_false";
	var img2 = document.getElementById("corr_tag");
	img2.src = "/images/false.gif";
	}
}

function VerificationIRC()
{
	var irc = document.getElementById("irc").value ; 
	if(irc.length >= 3)
	{
	var mirc = document.getElementById("irc");
	mirc.className = "input_right";
	var img2 = document.getElementById("corr_irc");
	img2.src = "/images/true.gif";
	}
	else
	{
	var mirc = document.getElementById("irc");
	mirc.className = "input_false";
	var img2 = document.getElementById("corr_irc");
	img2.src = "/images/false.gif";
	}
}

function VerificationWeb()
{
	var site = document.getElementById("site").value ; 
	if(site.length >= 7)
	{
	var web = document.getElementById("site");
	web.className = "input_right";
	var img2 = document.getElementById("corr_site");
	img2.src = "/images/true.gif";
	}
	else
	{
	var web = document.getElementById("site");
	web.className = "input_false";
	var img2 = document.getElementById("corr_site");
	img2.src = "/images/false.gif";
	}
}

function VerificationPbguid()
{
	var guid = document.getElementById("pb_guid").value ; 
	if(guid.length == 32)
	{
	var pb_guid = document.getElementById("pb_guid");
	pb_guid.className = "input_right";
	var img = document.getElementById("corr_guid");
	img.src = "/images/true.gif";
	}
	else
	{
	var pb_guid = document.getElementById("pb_guid");
	pb_guid.className = "input_false";
	var img = document.getElementById("corr_guid");
	img.src = "/images/false.gif";
	}
}


function VerificationEgalCaptcha(input_captcha , value_captcha)
{
if (input_captcha == value_captcha)
    return true;

return false;
}

function VerificationCaptcha()
{
	var input_captcha = document.getElementById("input_captcha").value;
	var value_captcha = document.getElementById("value_captcha").value ; 
	if (VerificationEgalCaptcha(input_captcha , value_captcha) == true)
    {
	var case_captcha = document.getElementById("input_captcha");
	case_captcha.className = "input_right";
	var img = document.getElementById("corr_captcha");
	img.src = "/images/true.gif";
	document.getElementById("btnValider").disabled = false;
    }
	else
	{
	var case_captcha = document.getElementById("input_captcha");
	case_captcha.className = "input_false";
	var img = document.getElementById("corr_captcha");
	img.src = "/images/false.gif";
	document.getElementById("btnValider").disabled = true;
	}
}

/* function makeRequest() {
 
        var xhr;
        if(window.XMLHttpRequest || window.ActiveXObject) {
                if(window.XMLHttpRequest) {
                        xhr = new XMLHttpRequest();
                } 
                else {
                        try {
                                xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch(e) {
                                xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
        }
        else {
                alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
                return;
        }
        
        xhr.onreadystatechange = function() {
                if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                        Verif_Pseudo(xhr.responseXML);
                }
        } 
        
        var pseudo = encodeURIComponent(document.getElementById("pseudo").value);
        xhr.open("POST", "index.php?p=verif_pseudo", true);
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhx.send("val_pseudo=" + pseudo);
}

function Verif_Pseudo(oData) {
	document.getElementById("erreur").innerHTML = oData;
}*/

