// Formatage d'un champs pseudo
function valid_pseudo(evt) {
   var keyCode = evt.which ? evt.which : evt.keyCode;
   var interdit = 'àâäãçéèêëìîïòôöõùûüñ &*?!:;,\t#~"^¨%$£?²¤§%*()[]{}<>|\\/`\'';
   if (interdit.indexOf(String.fromCharCode(keyCode)) >= 0) {
      return false;
   }
}


// Fichier JScript
// ctl00_ContentPlaceHolder1_btnModifier" disabled="disabled"
var MinCaracteres = 4; // Nombre minimum de caratères du mot de passe
var CaracteresSecurite = 7; // Nombre de caractères correct pour un mot de passe
var SecuriteBouton = 2; // 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] = "img/register/NiveauZero.PNG";
PicSecurite[1] = "img/register/NiveauFaible.PNG";
PicSecurite[2] = "img/register/NiveauMoyen.PNG";
PicSecurite[3] = "img/register/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("txtPdw").value ; 

    if (IsStrong(pwd))
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[3].src;
	    document.getElementById("btnValider").disabled = false;
    }
    else if (IsMedium(pwd))
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[2].src;
 	    if (SecuriteBouton<=2)
	    {
	        document.getElementById("btnValider").disabled = false;
	    }else{
	        document.getElementById("btnValider").disabled = true;
	    }
    }
    else if (IsWeak(pwd))
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[1].src;
 	    if (SecuriteBouton<=1)
	    {
	        document.getElementById("btnValider").disabled = false;
	    }else{
	        document.getElementById("btnValider").disabled = true;
	    }
    }
    else
    {
	    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[0].src;
	    document.getElementById("btnValider").disabled = true;
    }
}

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;
}

<!--
var pays = new Array(16);
	pays["Afrique"] = ["Angola", "Bénin", "Botswana", "Burkina faso", "Burundi", "Cameroun", "Cap vert", "Centrafrique", "Comores", "Congo", "Côte dIvoire", "Djibouti", "Egypte", "Erythrée", "Ethiopie", "Gabon", "Gambie", "Ghana", "Guinée", "Kafoutine", "Liban", "Mali", "Niger", "Rep.centre Africaine", "Rwanda", "Sahara", "Sénégal", "Tchad", "Togo", "Zaire"];
	pays["France"] = ["Ain (01)", "Aisne (02)", "Allier (03)", "Alpes-de-Haute-Provence (04)", "Alpes-Maritimes (06)", "Ardèche (07)", "Ardennes (08)", "Ariège (09)", "Aube (10)", "Aude (11)", "Aveyron (12)", "Bas-Rhin (67)", "Bouches-du-Rhône (13)", "Calvados (14)", "Cantal (15)", "Charente (16)", "Charente-Maritime (17)", "Cher (18)", "Corrèze (19)", "Corse-du-Sud (2A)", "Côte-d'Or (21)", "Côtes-d'Armor (22)", "Creuse (23)", "Deux-Sèvres (79)", "Dordogne (24)", "Doubs (25)", "Drôme (26)", "Essone (91)", "Eure (27)", "Eure-et-Loir (28)", "Finistère (29)", "Gard (30)", "Gers (32)", "Gironde (33)", "Haut-Rhin (68)", "Hautes-Alpes (05)", "Haute-Corse (2B)",  "Hauts-de-Seine (92)", "Haute-Garonne (31)", "Haute-Loire (43)", "Haute-Marne (52)", "Haute-Saône (70)", "Haute-Savoie (74)", "Haute-Vienne (87)", "Hautes-Pyrénées (65)", "Hérault (34)", "Ille-et-Vilaine (35)", "Indre (36)", "Indre-et-Loire (37)", "Isère (38)", "Jura (39)", "Landes (40)",  "Loire-Atlantique (44)", "Loire-et-Cher (41)", "Loire (42)", "Loiret (45)", "Lot (46)", "Lot-et-Garonne (47)", "Lozère (48)", "Maine-et-Loire (49)",  "Manche (50)", "Marne (51)", "Mayenne (53)", "Meurthe-et-Moselle (54)", "Meuse (55)", "Morbihan (56)", "Moselle (57)", "Nièvre (58)", "Nord (59)", "Oise (60)", "Orne (61)", "Paris (75)", "Pas-de-Calais (62)", "Puy-de-Dôme (63)", "Pyrénées-Atlantiques (64)", "Pyrénées-Orientales (66)", "Rhône (69)", "Saône-et-Loire (71)", "Sarthe (72)", "Savoie (73)", "Seine-et-Marne (77)", "Seine-Maritime (76)", "Seine-Saint-Denis (93)", "Somme (80)", "Tarn (81)", "Tarn-et-Garonne (82)", "Territoire de Belfort (90)", "Val-de-Marne (94)", "Val-d'Oise (95)", "Var (83)", "Vaucluse (84)", "Vendée (85)", "Vienne (86)", "Vosges (88)", "Yonne (89)","Yvelines (78)", "Guadeloupe (971)", "Guyane (973)", "La Réunion (974)", "Martinique (972)", "Mayotte (976)", "Nouvelle-Calédonie (988)", "Polynésie Française (987)", "Saint-Pierre-et-Miquelon (975)", "Terres Australes et Antarctiques (984)", "Wallis et Futuna (986)"];
	pays["Algérie"] = ["Adrar", "Ain-Defla", "Ain-Temouchent", "Alger", "Annaba", "Batna", "BB Arreridj", "Bechar", "Bedjaia", "Biskra", "Blida", "Bouira", "Boumerdes", "Chlef", "Constantine", "Djelfa", "El-bayadh", "El-oued", "El-taraf", "Ghardaia", "Guelma", "Illizi", "Jijel", "Khenchela", "Laghouat", "Mascara", "Medea", "Mila", "Mostaganem", "Msila", "Naama", "Oran", "Oum El Boughi", "Ouargla", "Relizane", "Saida", "Setif", "Skikda", "Sidi Belabbes", "SoukAhras", "Tamanrasset", "Tebessa", "Tiaret", "Tindouf", "Tipaza", "Tissemsilt", "Tizi Ouzou", "Tlemcen"];
	pays["Allemagne"] = ["Bade-Wurtemberg", "Bavière", "Berlin", "Brandebourg", "Brême", "Hambourg", "Hesse", "Mecklembourg-Poméranie-Occidentale", "Basse-Saxe", "Rhénanie-du-Nord-Westphalie", "Rhénanie-Palatinat", "Sarre", "Saxe", "Saxe-Anhalt", "Schleswig-Holstein", "Thuringe"];
	pays["Autriche"] = ["Burgenland", "Carinthie", "Basse-Autriche", "Haute-Autriche", "Salzbourg", "Styrie", "Tyrol", "Vorarlberg", "Vienne"];
	pays["Belgique"] = ["Anvers", "Brabant flamand", "Brabant wallon", "Bruxelles", "Flandre occidentale", "Flandre orientale", "Hainaut", "Liège", "Limbourg", "Luxembourg", "Namur"];
	pays["Canada"] = ["Abitibi-Témiscamingue", "Bas-Saint-Laurent", "Côte-Nord", "Estrie", "Gaspésie-les Îles", "Gatineau", "Mauricie", "Montréal", "Québec", "Saguenay-Lac-Saint-Jean", "Alberta", "Atlantique", "Colombie-Britannique", "Manitoba", "Ontario", "Ottawa", "Saskatchewan"];
	pays["Espagne"] = ["Alava", "Albacete", "Alicante", "Almeria", "Asturies", "Ávila", "Badajoz", "Îles Baléares", "Barcelone", "Biscaye", "Burgos", "Cáceres", "Cadix", "Cantabrie", "Castellón", "Ciudad Real", "Cordoue", "La corogne", "Cuenca", "Gérone", "Grenade", "Guadalajara", "Guipuscoa", "Huelva", "Huesca", "Jaén", "León", "Lleida", "Lugo", "Madrid", "Malaga", "Murcie", "Navarre", "Orense", "Palencia", "Las Palmas de Gran Canaria", "Pontevedra", "La Rioja", "Salamanque", "Santa Cruz de Ténérife", "Saragosse", "Ségovie", "Séville", "Soria", "Tarragone", "Teruel", "Tolède", "Valence", "Valladolid", "Zamora"];
	pays["Maroc"] = ["Casablanca", "Chaouia-Ourdigha", "Doukkala-Abda", "Fès-Boulmane", "Gharb-Chrarda-Beni Hssen", "Guelmim-Es Smara", "Laâyoune-Boujdour-Sakia El Hamra", "Marrakech-Tensift-El Haouz", "Meknès-Tafilalt", "Oriental", "Oued Eddahab-Lagouira", "Rabat-Salé-Zemmour-Zaër", "Souss-Massa-Draâ", "Tadla-Azilal", "Tanger-Tétouan", "Taza-Al Hoceima-Taounate"];
	pays["Italie"] = ["Vallée d'Aoste", "Piémont", "Ligurie", "Lombardie", "Trentin-Haut-Adige", "Vénétie", "Frioul-Vénétie julienne", "Emilie-Romagne", "Toscane", "Ombrie", "Marches", "Latium", "Abruzzes", "Molise", "Campanie", "Pouilles", "Basilicate", "Calabre", "Sicile", "Sardaigne"];
	pays["Luxembourg"] = ["Diekirch", "Grevenmacher", "Luxembourg"];
	pays["Pays Bas"] = ["Drenthe", "Flevoland", "Frise", "Gueldre", "Groningue", "Limbourg", "Brabant Septentrional", "Hollande-Septentrionale", "Overijssel", "Utrecht", "Zélande", "Hollande-Méridionale"];
	pays["Portugal"] = ["Alentejo", "Algrave", "Beira interior", "Beira litoral", "Entre douro e minho", "Estremadura e ribatejo", "Lisboa e setubal", "Trás-os-Montes e Alto Douro"];
	pays["Suisse"] = ["Argovie", "Appenzell R.-Ext.", "Appenzell R.-Int.", "Bâle-Campagne", "Bâle-Ville", "Berne", "Fribourg", "Genève", "Glarus", "Grisons", "Jura", "Lucerne", "Neuchâtel", "Nidwald", "Obwald", "Saint Gall", "Schaffhouse", "Schwyz", "Soleure", "Tessin", "Thurgovie", "Uri", "Valais", "Vaud", "Zoug", "Zurich"];
	pays["Tunisie"] = ["Ariana", "Béja", "Ben Arous", "Bizerte", "Gabès", "Gafsa", "Jendouba", "Kairouan", "Kasserine", "Kébili", "Kef", "Mahdia", "Manouba", "Médenine", "Monastir", "Nabeul", "Sfax", "Sidi Bouzid", "Siliana", "Sousse", "Tataouine", "Tozeur", "Tunis", "Zaghouan"];

function paysChange(selectObj) {
		var idx = selectObj.selectedIndex;
		var which = selectObj.options[idx].value;
		cList = pays[which];
		if(!cList) return;
		var cSelect = document.getElementById("dpt");
		var len=cSelect.options.length;
		while (cSelect.options.length > 0) {
			cSelect.remove(0);
		}
		var newOption;
		for (var i=0; i<cList.length; i++) {
			newOption = document.createElement("option");
			newOption.value = cList[i]; 
			newOption.text=cList[i];
			try {
				cSelect.add(newOption); 
			}
			catch (e) {
			cSelect.appendChild(newOption);
			}
		}
	}
	//-->


function verifMail(a)
{
testm = false ;
 for (var j=1 ; j<(a.length) ; j++) {

  if (a.charAt(j)=='@') {
   if (j<(a.length-4)){
    for (var k=j ; k<(a.length-2) ; k++) {
     if (a.charAt(k)=='.') testm = true;
    }
   }
  }
 }
 
if (testm==false)
writedivmail('<img src="img/refuse.png"> <span style="color:#cc0000">Adresse incorrect !</span>');
else
writedivmail('<img src="img/ok.png">');
}

function writedivmdp(texte)
{
document.getElementById('mdpbox').innerHTML = texte;
}
function writedivmail(texte)
{
document.getElementById('mailbox').innerHTML = texte;
}

function verifmdp(mdp)
{
if(mdp != document.getElementById("txtPdw").value)
writedivmdp('<img src="img/refuse.png"> <span style="color:#cc0000">Le mot de passe ne correspond pas !</span>');
else
writedivmdp('<img src="img/ok.png">');
}