/*
 * Procédures JS génériques
 */

NumChars = "0123456789";

// Ouverture d'une pop-up
function OpenUrl( url, width, height) {
	window.open( url, "_blank", "width=" + width + ",height=" + height + ",toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,titlebar=no");
}

// Processus de mise en ligne d'une zone
function Publish( idpage, idzone) {
	if ( confirm( "Vous allez mettre en ligne le contenu de la zone,\nEtes-vous sûr ?") )
		document.location =	"zone.php?idpage=" + idpage + "&idzone=" + idzone + "&publish=TRUE";
}

// Processus de suppression d'un fichier
function DeleteFile( dir, fichier) {
	if ( confirm( "Vous allez supprimer le fichier " + fichier + ",\nEtes-vous sûr ?") )
		document.location =	"list_documents.php?dir=" + dir + "&deletefile=" + fichier;
}

// Fonction de validation du format d'une date
function Valide_date( nDate, nA1, nA2, nFormat) {
	// Ajouter ce code dans la saisie du champs date
	//  onBlur="Valide_date(this,1950,2020,'jj/mm/aaaa')"
	// La date valide doit être entre 1950 et 2020.
	//    vous pouvez changer l'interval.
	// Format valide: (ne pas utiliser d'autre format...
	// - jj/mm/aaaa
	// - mm/jj/aaaa
	// - aaaa/mm/jj
	// Noter que vous devriez indiquer à l'usager le format valide...
	var ok = "oui";
	var nChar;
	var aDate;
	var nJ;
	var nM;
	var nA;
	var jMax = 31;
	nAccepte = "0123456789/";

	if ( nDate.value.length > 0 ) {
		if ( nDate.value.length < 8 || nDate.value.length > 10 ) ok = "non";
		for ( var i=0 ; i<nDate.value.length ; i++) {
			nChar = "" + nDate.value.substring( i, i+1);
			if ( nAccepte.indexOf(nChar) == "-1" ) ok = "non";
		}

		if ( ok == "oui" ) {
			aDate = nDate.value.split("/");
			if ( nFormat == "jj/mm/aaaa" ) {
				nJ = aDate[0];
				nM = aDate[1];
				nA = aDate[2];
			}
		  	else if ( nFormat == "mm/jj/aaaa" ) {
				nJ = aDate[1];
				nM = aDate[0];
				nA = aDate[2];
			}
			else if ( nFormat == "aaaa/mm/jj" ) {
				nJ = aDate[2];
				nM = aDate[1];
				nA = aDate[0];
			}
		  	if ( (nJ<1 || nJ>jMax) || (nM<1 || nM>12) || (nA<nA1 || nA>nA2) )
				ok = "non";
		  	else {
				if ( nM == 2 ) { 
			  		/*if ( AnneeBissex(nA) == true )
						jMax = 29;
					else */
						jMax = 28;
				}
			}
			if ( (nM == 1 || nM == 3 || nM == 5 || nM == 7 || nM == 8 || nM == 10 || nM == 12) ) jMax = 31;
			if ( (nM == 4 || nM == 6 || nM == 9 || nM == 11) ) jMax = 30;
			if ( nJ < 1 || nJ > jMax ) ok = "non";
		  }
    }

    return ( ok == "oui");
}

// Vérifie si la donnée passée est bien un numeric
function IsNumeric( Data) {
	var It = true;
	var c;

	for ( var x=0 ; x<Data.length ; x++ ) {
		if ( It ) {
			c  = Data.charAt(x);
			It = ( NumChars.indexOf(c) != -1 );
		}
	}

	return It;
}

// Validation du format de l'adresse e-mail
function CheckMail( MailData){
	correct = true;
	p = MailData.indexOf("@");

	if ( p != -1 )
		correct = ( MailData.indexOf( ".", p) != -1 );
	else
		correct = false;

	return correct;
}

function ValidateMail( FormName){
	if ( !CheckMail(FormName.value) ){
		alert( "Format d'adresse E-mail incorrect.\nVeuillez respecter un format de la forme : login@nom_domaine.ext .");
		FormName.focus();
		return false;
	}
}