function settype(chr){
	if(chr<48 || chr>57 && chr<65 || chr>90 && chr<97){ return 'special'; }
	if(chr>47 && chr<58){ return 'nombre'; }
	if(chr>64 && chr<91){ return 'majuscule'; }
	if(chr>96){ return 'minuscule'; }
}
function unfocus(){
	lfocus = document.createElement('input');
	lfocus.id = 'lfocus';
	document.body.appendChild(lfocus);
	$('lfocus').focus();
	document.body.removeChild($('lfocus'));
}
function test_code(key, check, cell){
	if(check){
		if($('options_valider')){
			if(key==''){
				$('options_valider').value=Locale.erreur_mdp_absent;
				$('options_valider').disabled=true;
			} else {
				if(MD5(key)!=ssofast_code_securite){
					$('options_valider').value=Locale.erreur_mauvais_mdp;
					$('options_valider').disabled=true;
				} else {
					$('options_valider').value=Locale.btn_valider;
					$('options_valider').disabled=false;
				}
			}
		}
		if($('sso_clef_valide')){
			if(MD5(key)==ssofast_code_securite){
				$('sso_clef_valide').className = 'clef_decryptage_valide';
				if ($('sso_clef_de_cryptage').readOnly != true) {
					$('sso_clef_de_cryptage').readOnly = true;
					unfocus();
				}
			} else {
				$('sso_clef_valide').className = 'clef_decryptage_non_valide';
			}
			if(ssofast_cache_auto==1){
				if($('sso_clef_valide').className == 'clef_decryptage_non_valide'){
					$('sso_appli').style.display = 'none';
					if (ssofast_type_aff == 1) {
						$('sso_cadre_tags').style.display = 'none';
					}
					$('sso_titre_marques_pages_nb').style.display = 'none';
					if($('cadre_options')){
						$('cadre_options').style.display = 'none';
					}
					sso.message(Locale.erreur_mdp_absent);
				} else {
					$('sso_appli').style.display = '';
					if (ssofast_type_aff == 1) {
						$('sso_cadre_tags').style.display = '';
					}
					$('sso_titre_marques_pages_nb').style.display = '';
					if($('cadre_options')){
						$('cadre_options').style.display = '';
					}
					sso.message('');
				}
			} else if($('sso_appli').style.display == 'none') {
				$('sso_appli').style.display = '';
				if (ssofast_type_aff == 1) {
					$('sso_cadre_tags').style.display = '';
				}
				$('sso_titre_marques_pages_nb').style.display = '';
				sso.message('');
			}
		}
	}
	sso.set_footer_bas();
	var r = 1;
	var ch, ch_old, taille;
	for (var i=0; ch = key.charAt(i); i++){
		if(!ch_old){ ch_old = ch; }
		if (ch != ch_old){
			chr = ch.charCodeAt(0);
			chr_old = ch_old.charCodeAt(0);
			if (settype(chr) == 'special'){ r++; } else
			if (settype(chr) != settype(chr_old)){ r++; }
		}
		if (i>=6 && i%2==0) { r++;	}
		ch_old = ch;
	}
	if (r > 10){
		taille = 100;
	} else {
		taille = 10 * r;
	}
	try{
		$(cell).style.width = taille + '%';
		var color;
		if (taille < 33) { color = 'red'; } else
		if (taille >= 33 && taille < 67) { color = 'orange'; } else
		if (taille >= 67) { color = 'limegreen'; }
		$(cell).style.backgroundColor = color;
	}catch(e){
	}
	return r; //Pour le generateur de mot de passe
}