/**
 * Switch l'article à afficher
 */
function showArticle(response) {
	$("div#articles").fadeOut('slow', function() {
		$("div#articles").html(response);
		$("div#articles").fadeIn('slow');
	});
}
			
/**
 * Récupère le contenu d'un article en AJAX
 */
function switchArticle(url) {
	$.ajax({
		type: "GET",
		url: url,
		data: "",
		success: function(response) {
			showArticle(response);
		}
	});
}

function evalPwd(s)
{
        // Level du mot de passe
        var cmpx = 0;

        // Si au moins un caractere
        if (s.length >= 1)
        {
                // Si inferieur a 5 caracteres
                if (s.length <= 5) {
                        // Seulement un level
                        cmpx++;
                } else {
                        // Sinon on lui met un level et on defini les patterns pour les verifs
                        cmpx++;

						var diffType = 0;
                        if (s.search("[0-9]") != -1) { diffType++; }
                        if (s.search("[a-z]") != -1) { diffType++; }
                        if (s.search("[A-Z]") != -1) { diffType++; }
                        if (s.search("[\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]") != -1) { diffType++; }

						if (diffType >= 2) { cmpx++; }
						if (diffType >= 3) { cmpx++; }
                }
        }

        // Si level 0
        if (cmpx == 0) {
                // Nothing
                document.getElementById("weak").className = "nrm";
                document.getElementById("medium").className = "nrm";
                document.getElementById("strong").className = "nrm";
                // Si level 1
        } else if (cmpx == 1) {
                // Red - Weak
                document.getElementById("weak").className = "pred";
                document.getElementById("medium").className = "nrm";
                document.getElementById("strong").className = "nrm";
                // Si level 2
        } else if (cmpx == 2) {
                // Yellow - Medium
                document.getElementById("weak").className = "pyellow";
                document.getElementById("medium").className = "pyellow";
                document.getElementById("strong").className = "nrm";
                // Sinon
        } else {
                // Green - Strong
                document.getElementById("weak").className = "pgreen";
                document.getElementById("medium").className = "pgreen";
                document.getElementById("strong").className = "pgreen";
        }
}

/**
 * Check toutes les checkbox contenues dans le tableau d'ID passé en paramètre
 */
function checkAll(myId, arrayId)
{
	var cbs = document.getElementById(arrayId).getElementsByTagName('input');
	for (i = 0; i < cbs.length; i++) { if(cbs[i].id != myId) { cbs[i].checked = document.getElementById(myId).checked; } }
}

/**
 * Affiche ou masque un élement suivant une checkbox
 */
function checkDisplay(checkId, elemId, inv)
{
if (inv == 0) {
	document.getElementById(elemId).style.display = ((!document.getElementById(checkId).checked) ? ('') : ('none'));
	} else {
	document.getElementById(elemId).style.display = ((document.getElementById(checkId).checked) ? ('') : ('none'));
	}
}

/**
 * Echange le display de deux éléments
 */
function switchDisplay(elemId, elemId2)
{
	var tmp = document.getElementById(elemId).style.display;
	document.getElementById(elemId).style.display = document.getElementById(elemId2).style.display;
	document.getElementById(elemId2).style.display = tmp;
}

/**
 * Affiche ou masque un élement suivant la valeur d'un select
 */
function checkSelectDisplay(selectId, elemId, valuesToMatch, inv)
{
	if (valuesToMatch instanceof Array) {
		if (inv == 0) {
			document.getElementById(elemId).style.display = ((!(valuesToMatch.in_array(document.getElementById(selectId).value))) ? ('') : ('none'));
		} else {
			document.getElementById(elemId).style.display = ((values.ToMatch.in_array(document.getElementById(selectId).value)) ? ('') : ('none'));
		}
	} else {
		if (inv == 0) {
			document.getElementById(elemId).style.display = ((!(document.getElementById(selectId).value == valuesToMatch)) ? ('') : ('none'));
		} else {
			document.getElementById(elemId).style.display = ((document.getElementById(selectId).value == valuesToMatch) ? ('') : ('none'));
		}
	}
}

