/* AUTEUR: C Paulet */
/* Date de création: 04/05/2002 - Refonte en jQuery le 25/08/2011 */
// -------------------------------------------------------------------------------------
// Variables globales
// ------------------
// Calendaires
// -----------
var OJJ = 4713;					// jour_julien selon le calendrier julien proleptique
/* Le jour julien commence un lundi à 12h UTC
Le calendrier julien proleptique est produit en rétropolant le calendrier julien 
aux dates antérieures à son introduction officielle en 45 av. J.-C. */
var AJ = 365.25; 				// annee julienne
var ARG = 1582; 				// annee réforme grégorienne
var MRG_0 = 10; 					// mois réforme grégorienne dans les états pontificaux
var JRG_0 = 4; 					// jour réforme grégorienne dans les états pontificaux	
// Le lendemain du jeudi 4 octobre 1582 devient le vendredi 15 octobre 1582pour les états pontificaux
var MRG = 12; 					// mois réforme grégorienne en France
var JRG = 9; 					// jour réforme grégorienne en France
var NBJRG = 10; 					// nb jours réforme au 4 oct 1582 
// Le lendemain du dimanche 9 décembre devient le lundi 20 décembre en France
var ACAL = 365;
var LD = "";					// Lettre dominicale
// -----------------------
// période révolutionnaire
// -----------------------
// Début
// ----------
// L'année 1792 est bissextile
var OAR = 1792; 				// année départ période républicaine
var OMR = 9; 					// mois  départ période républicaine
var OJR = 22; 					// jour départ période républicaine
var NJJOR = 2375839.8878472224; // nb jours debut période républicaine à 9h 18m 30s. 
NJJOR = Math.floor(NJJOR);		// nb jours debut période républicaine à 0h. 
// ----------
// Fin
// ----------
var AFPR = 1805; 				// année fin période républicaine
var MFPR = 12; 					// mois fin période républicaine
var JFPR = 31; 					// jour fin période républicaine
var NJJFPR = 2380687.5; 		// nb jours julien fin période républicaine	
// ----------
// Variables de travail (Maj + Min)
// ----------
var Jour=0;
var Mois=0;
var Annee=0;
var NjARef = 0;					// nb jours annee reforme
var NjAEnc = 0; 				// nb jours année en cours
var NjARepEnc = 0; 				// nb jours année republicaine en cours
var NJJauJdelaRG = 0; 			// nb jours julien au moment de la la réforme
var NbJJ = 0; 					// nb Jours Julien
var NbJJdebAenc = 0;			// Nb de jours Juliens du début de l'année en cours
var NbSemTot = 0;				// Nbre de semaines depuis l'origine du JJ
var Bxt = 0; 					// bissext
//var ABisEc = 0; 				// annee_bissex_en_cours
var ARepSxt = 0; 				// annee republicaine sextile 	
var FJA = ""; 					// fete_du_jour_aff	
var TypA = "ordinaire"; 		// type année "ordinaire ou bissextile"
var TypAR = "ordinaire"; 		// type année republicaine "ordinaire ou sextile"
var JRep = 0; 					// jour_rep
var MRep = 0; 					// mois_rep
var ARep = 0; 					// annee_rep
var DtRep = ""; 				// date_rep	
var EqxAmoins1 = 0;				// Équinoxe de l'année précedente
//var NJREP = 0; 				// nb_jours_rep
var FrmtRep = 0; 				// format_rep	
var JEqxA = 0; 					// jour_eqx_automne  
var JJDEqxA = 0; 				// Jour Julien de l'équinoxe d'automne
var PrdCal = ""; 				// Période calendaire
var JPaq = 0; 					// jour_paques
var MPaq = 0; 					// mois_paques
var NbJPaq = 0; 				// nb_jours_paques 
var RgLd = 0;					// Rang Lettre Dominicale
var Array_Mois = "";
var Fetes = new Array();
var Siecle = 0;
var	Mod_Siecle = 0;
var Msg = ""; 					// message  
var Photo = "<img src=\"http://www.agrippa.fr/wp-content/uploads/2011/08/AAccueil.jpg\" alt=\"\" title=\"photo_generique\" width=\"100\" height=\"133\" />";
// alert(Photo);	

var nom_abrege_mois_rep = new Array("","vend","brum","frim","nivo","pluv","vent","germ","flor","prai","mess","ther","fruc","scul");
var tNom_mois_rep = new Array("Vend\351miaire","Brumaire","Frimaire","Niv\364se","Pluvi\364se","Vent\364se","Germinal","Flor\351al","Prairial","Messidor","Thermidor","Fructidor","Ss Culottides");
var tNom_mois_greg = new Array("Janvier","F\351vrier","Mars","Avril","Mai","Juin","Juillet","Ao\372t","Septembre","Octobre","Novembre","D\351cembre","");

// -------------------------------------------------------------------------------------
// Initialisation générale (Message -Aide)
// -------------------------------------------------------------------------------------	

function raz_generale(){ 		   
	$('input:#annee').empty();
	$('input:#maDate').empty();	   
	$('input:radio[name="choix_saisie"]').filter('[value="1"]').attr('checked', true);
	FrmtRep == 1;	 // Format Grégorien
	//alert("ok");
	
	if(($("#mois option:first").text()).substr(0,4) == "Vend"){	
		for (i=0; i<=11; i++) {
			$("#mois option:eq("+i+")").text(tNom_mois_greg[i]);	
		}
		$("#mois option:eq(12)").text(""); // Effacement du mois Ss culottides républicain
	}
	raz_tableaux();
}					  

function aide_ch() {  		  
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_ch+"</p>");
}	

// -------------------------------------------------------------------------------------
// Fonction arrondi et troncature avec 2 décimales
// -------------------------------------------------------------------------------------

function round(nb){
	return Math.round(nb * 10)/10;
} 

function trunc(x) {
	if (x>0.0) return(Math.floor(x));
	else return Math.ceil(x);  
}


// -------------------------------------------------------------------------------------
// Remise en condition initiale
// ------------------------------------------------------------------------------------- 

function raz_tableaux(){ 
	$(document).ready(function(){

		for (i=3; i<=14; i++) {
			// Initialisation tableau 2.	
			if((i < 9) || (i > 10)){	
				$("table#wp-table-reloaded-id-2-no-1 tr:.row-" + i +" td:.column-2").empty();
			}
		}
		for (i=3; i<=7; i++) {
			// Initialisation tableau 3.		  
			$("table#wp-table-reloaded-id-3-no-1 tr:.row-" + i +" td:.column-2").empty();
		}
		for (i=2; i<=15; i++) {
			// Initialisation tableau 4.
			$("table#wp-table-reloaded-id-4-no-1 tr:.row-" + i +" td:.column-2").empty();		  
		}	
		for (i=1; i<=5; i++) {
			// Initialisation tableau 4.
			$("table#wp-table-reloaded-id-5-no-1 tr:.row-" + i +" td:.column-2").empty();
			if(i == 4){		
				$("table#wp-table-reloaded-id-5-no-1 tr:.row-" + i +" td:.column-4").empty();
				$("table#wp-table-reloaded-id-5-no-1 tr:.row-" + i +" td:.column-5").empty();
			}
			if (i == 5){
				$("table#wp-table-reloaded-id-5-no-1 tr:.row-" + i +" td:.column-1").empty();
			}  
		} 
		$("table#wp-table-reloaded-id-5-no-1 tr:.row-3 td:.column-5").empty();
		$("input:#maDate").val("Saisir un une date, et cliquez sur \253Calcul\273");
	});	
}		

// -------------------------------------------------------------------------------------
// Date d'Aujourd'hui
// -------------------------------------------------------------------------------------  

function date_aujourdhui(){	
	raz_tableaux();
	var ladate=new Date()
	//var tab_mois = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Ao\372t", "Septembre", "Octobre", "Novembre", "D\351cembre");
	$('input:radio[name="choix_saisie"]').filter('[value="1"]').attr('checked', true); 	
	jour = ladate.getDate();
	mois = ladate.getMonth()+1;
	annee = ladate.getFullYear(); 
	$("#jour").val(jour);
	$("#mois").val(mois);
	$("#annee").val(annee);
	FrmtRep = 0; // Format Grégorien
	//alert(" Ligne-148 : " + FrmtRep + " - " + jour + " - " +	mois + " - " +annee);
	saisie_dates();	  
}							 

// -------------------------------------------------------------------------------------
// Format de saisie	  
// ------------------------------------------------------------------------------------- 

function format_saisie(){
 	if (document.form1.choix_saisie[0].checked == true){			//Saisie au saisie format "ecclésiastique"
		$("#annee").empty();
		$("#maDate").empty(); 
		
		if(($("#mois option:first").text()).substr(0,4) == "Vend"){	
			for (i=0; i<=11; i++) {
				$("#mois option:eq("+i+")").text(tNom_mois_greg[i]);	
			}
			$("#mois option:eq(12)").text("");
		}
		FrmtRep = 0;	 
		if(FrmtRep ==0){
	 		alert("saisie_en_format_eccl\351siastique"); 
		} 
		
	} else if (document.form1.choix_saisie[1].checked == true){		//Saisie au format "républicain" 
			
		if($("#mois option:first").text() == "Janvier"){	
			for (i=0; i<=13; i++) {
				$("#mois option:eq("+i+")").text(tNom_mois_rep[i]);	
			}
		}
		FrmtRep = 1;
		if(FrmtRep ==1){
			alert("saisie_en_format_r\351publicain");
		} 
	}	
	$("#mois option:first").attr("selected","selected");
}
  
// -------------------------------------------------------------------------------------
// Saisie des dates *** Point d'entrée du programme par la touche calcul
// ------------------------------------------------------------------------------------- 

function saisie_dates(){ 	
	 
	SJour = $("Select:#jour option:selected").val();	//SJour = new String(document.form1.jour.value);
	SMois = $("Select:#mois option:selected").val();	//SMois = new String(document.form1.mois.value); 
	SMois_txt = $("Select:#mois option:selected").text();	//SMois = new String(document.form1.mois.value); 
	SAnnee = $("Input:#annee").val();					//SAnnee = new String(document.form1.annee.value);
	
	//alert("ligne 202 : "+SJour+" "+SMois_txt+" "+SAnnee);
	
	SMois_txt = SMois_txt.toLowerCase();

	//alert("ligne 206 : "+FrmtRep + " - " + $("Input:#annee").val());
	if($("Input:#annee").val().length <3 && FrmtRep == 0){
		alert("Vous devez au minimum saisir 3 chiffres pour l'ann\351e! qui doit \352tre sup\351rieure \340 l'ann\351e 428");
		Efface();
		return false;
	}
	if (FrmtRep == 0){
		Annee = parseInt(SAnnee);
		Mois = parseInt(SMois);
		Jour = parseInt(SJour);
		ARep = 0;
		JRep = 0;
		NbJJ = 0;
		//alert("ligne-219 : " + FrmtRep + " - "  + Jour + " - " + Mois + " - " + Annee);
	}
	else {
		ARep = parseInt(SAnnee);	
		MRep = parseInt(SMois)
		JRep = parseInt(SJour);
		NbJJ = 0;
		//alert ("alert ligne 226 jma : "+ JRep + " , " + MRep + " , " + ARep);
	} 	 
	affichage("form1");
}

// -------------------------------------------------------------------------------------
// Affichage des paramètres du "Calendrier" et du "Comput Ecclésiastique"
// -------------------------------------------------------------------------------------

function affichage(form) {	 
	if (FrmtRep == 0) {
		datation_julienne_gregorienne();
		//alert("ligne 238 : FrmtRep = " + FrmtRep);
	}
	if (( FrmtRep == 0 && NbJJ >= 2375840) || FrmtRep == 1){ 
		datation_republicaine()
		//alert("ligne 269 - FrmtRep : " + FrmtRep);
	} else if (FrmtRep == 1) {
		datation_republicaine();  
		//alert("ligne 272 - FrmtRep : " + FrmtRep);
	}
	jour_semaine(NbJJ);
	FrmtRep = 0;		
	//alert("ligne 249 : " + FrmtRep);
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-4 td:.column-2").append(jour_semaine(NbJJ));
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-5 td:.column-2").append(fete_du_jour(Mois,Jour));
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-7 td:.column-2").append(periode_calendaire(Annee,Mois,Jour));
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-8 td:.column-2").append(type_annee());
	$("table#wp-table-reloaded-id-3-no-1 tr:.row-3 td:.column-2").append(cycle_solaire(Annee));
	$("table#wp-table-reloaded-id-3-no-1 tr:.row-4 td:.column-2").append(nombre_dor(Annee));
	lettre_dominicale(Annee);
	$("table#wp-table-reloaded-id-3-no-1 tr:.row-5 td:.column-2").append(LD);	
	$("table#wp-table-reloaded-id-3-no-1 tr:.row-6 td:.column-2").append(epacte(Annee));
	$("table#wp-table-reloaded-id-3-no-1 tr:.row-7 td:.column-2").append(indiction(Annee));
			
	NbJJAenc = NbJJ - NbJJdebAenc + 1;	
	// RgLd commence à Zéro pour la lettre dominicale "A", il y a donc lieu de rajouter 1 pour le calcul ci-dessous (la variable debient "RangLd".
	NbSEnc = Math.floor((NbJJAenc)/7); 
	RangLd = RgLd + 1;
	if(RangLd >= 4 && (NbJJ - RangLd)%7){
		NbSEnc = NbSEnc + 1;
	} 
	//alert("ligne 268 : "+NbJJ+" - "+NbJJdebAenc+" -"+NbJJAenc+" - "+RangLd+" - "+NbSEnc);
	if (Annee > 1975 && NbSEnc > 0 ){
		$("table#wp-table-reloaded-id-2-no-1 tr:.row-6 td:.column-2").append("N\272 jour : "+NbJJAenc+" - N\272 Sem : "+NbSEnc);
	} else if (Annee > 1566) {
		$("table#wp-table-reloaded-id-2-no-1 tr:.row-6 td:.column-2").append("N\272 jour : "+NbJJAenc);	
	} else {		
		$("table#wp-table-reloaded-id-2-no-1 tr:.row-6 td:.column-2").append("Voir Aide =>");				
	}
	
	var date_complete = "Ce "+jour_semaine(NbJJ)+" - "+Jour+"/"+Mois+"/"+Annee+", est d\351di\351 aux \253"+FJA+"\273";
	//alert(" Ligne 288 : " + date_complete);
	$("input:#maDate").val(date_complete); // document.form1.maDate.value = date_complete";
	paques(Annee);
	//alert(" Ligne 290 : " + Photo);
	Eval_Epoque();
}	

// -------------------------------------------------------------------------------------
// ÉLÉMENTS CALENDAIRES
// -------------------------------------------------------------------------------------
// Jour de la semaine calendrier écclésiastique (Message -Aide)
// -------------------------------------------------------------------------------------

function datation_julienne_gregorienne() {

	NjARef = 0;
	NjAEnc = 0;
	
	var	Array_Mois = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	
	// Datation réforme du calendrier (si le choix est rendu possible c'est ici qu'il faut modifier)
	for (i = 0 ; i < MRG; i++ ){
		NjARef += Array_Mois[i];
	}
	NjARef += JRG;
	NJJauJdelaRG = ((OJJ + ARG - 1) * AJ - 0.5) + NjARef;
	
	//alert("ligne 330 JJ au J de la RG : "+JRG+" , "+MRG+" , "+ARG+" , "+NjARef+" , "+NJJauJdelaRG);
	// --------------------------------------------------------------------------------------------- 
	// Nombre de jours julien jusquau 31 décembre de l'année Julienne qui précède la réforme
	// 														 --------
	NbJJ31Adavant = ((OJJ + Annee - 1 ) * AJ - 0.5); // OJJ = 4713, AJ = 365.25	
	//alert("ligne 335 : " + NbJJ31Adavant);
	// Nombre de jours de l'année en cours
	for (i = 0; i < Mois; i++) {
		NjAEnc += Array_Mois[i];
	}
	NjAEnc += Jour;  //Il manque l'éventuel jour de l'année bissextile
	NbJJ = NbJJ31Adavant + NjAEnc; 
	
	// Message d'alerte pour la période des 10 jours supprimés pour la réforme grégorienne.
	if ((NbJJ > NJJauJdelaRG) && (NbJJ <= (NJJauJdelaRG + NBJRG))){	 
		var message = "L'introduction du calendrier gr\351gorien dans les \311tats pontificaux, en ";
		message += "Espagne et au Portugal, commen\347a le vendredi 15 octobre 1582, au lendemain du jeudi 4 octobre.\n";
		message += "En France la r\351forme ne f\372t appliqu\351e que le lundi 20 d\351cembre 1582 qui succ\351da au dimanche 9 d\351cembre.";
		alert (message);
		Jour = JRG + NBJRG + 1;
		document.form1.jour.value = Jour;	 
		//Eval_Epoque();
	} 
	alert("ligne 353 : " +NbJJ+ " - " +NJJauJdelaRG+ " - " +NjAEnc);
	// Datation en calendrier "grégorien" en corrigeant le calcul en fonction des années bissextiles ou non	et du nbre de jours de la réforme (NBJRG)
	if (NbJJ >  NJJauJdelaRG) {	 
		abx = Math.floor((Annee - ARG)/4);
		snbx =Math.floor((Annee - 1500)/100);
		sbx = Math.floor((Annee - 1200)/400);
		Bxt = abx + snbx +  sbx;
		NbJJ = Math.floor(NbJJ - NBJRG - snbx + sbx);
	} 
	alert ("Ligne 361 : " + NbJJ31Adavant + " , " + NbJJ + " , " + NjAEnc + " , " + Bxt + " , " + snbx + " , " + sbx);
				
	//alert("ligne 363 : " + NbJJ + " , " + snbx + " , " + sbx);
	var ax = Annee%4; var bx = Annee%100 ; var cx = Annee%400;
	//alert ("ligne 336 : " + ax + " , " + bx + " , " + cx);
	// Il faut vérifier si l'année en cours est bissextile ou non et corriger après février
	if(((!ax && !bx  && !cx) || (!ax && bx && cx)) && (Mois > 2)){	
		NbJJ += 1;
		//alert("ligne 369 : Ann\351e gr\351gorienne en cours bissextile, il convient donc de corriger la valeur du Jour Julien : "+ NbJJ);
	}
	NbJJdebAenc = NbJJ - NjAEnc;
	//alert("ligne 372 : " +NbJJ+" - "+NbJJdebAenc);	
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-3 td:.column-2").empty();	
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-3 td:.column-2").append(NbJJ);
	
} 

function aide_jj() {
	//alert(mess_jj);	
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_jj+"</p>");
}
 

// -------------------------------------------------------------------------------------
// Détermination du Jour Semaine  (Message -Aide)	  
// -------------------------------------------------------------------------------------  

function jour_semaine(NbJJ){

	NbSemTot = Math.floor((NbJJ) % 7) + 1;
	
	// Correction pour ramener la valeur calculée à l'intérieur de "l'array_jour" si JJ est négatif
	if (NbSemTot < 0 && NbSemTot  >= -7){ NbSemTot += 7;}
	if (NbSemTot < -7) { NbSemTot += 14;}
	// Détermination du jour de la semaine
	array_jour = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche");
	jour_sem = array_jour[NbSemTot];
	//alert("ligne 347 : "+jour_sem);
	return jour_sem;
} 

function aide_js() {
	$("#note-calend").empty(); 
	$("#note-calend").append("<p>"+mess_js+"</p>");
}

function aide_ns() {
	$("#note-calend").empty(); 
	$("#note-calend").append("<p>"+mess_ns+"</p>");
}

// ---------------------------------------------------------------------------------
// Détermination période calendaire	(Message -Aide)
// ---------------------------------------------------------------------------------

function periode_calendaire(Annee, Mois, Jour){

	if (NbJJ <= NJJauJdelaRG){
		PrdCal = "Julien";
	}
	else if ((NbJJ >= NJJOR) && (NbJJ <= NJJFPR)){
		PrdCal = "R\351volutionnaire";
	}
	else {
		PrdCal = "Gr\351gorien";
	}
	return PrdCal;
}

function aide_pc() {
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_pc+"</p>");
}

// ---------------------------------------------------------------------------------
// Détermination du type d'année (Normale ou bissextile ou sextile)	(Message -Aide)
// ---------------------------------------------------------------------------------

function type_annee(){
	TypA = "normale";
	if (Annee <1582 && FrmtRep == 0){
		abx = (Annee) % 4;
		if (abx == 0)  {
			TypA = "bissextile";
		}
	}
	else {
		// 1584 : année bissextile immédiatement après la réforme.
		abx = (Annee - 1584) % 4; 
		snbx = (Annee - 1600) % 100;
		sbx = (Annee - 1200) % 400;
		arbx = (ARep - 3) % 4 ;
		//alert (abx + " - " + snbx + " - " + sbx);
		if (abx == 0 && (snbx != 0 || sbx == 0) && FrmtRep == 0)  {
			TypA = "bissextile";
		}
		else if (FrmtRep == 0) {
			TypA = "normale";
		}
		else if ((arbx == 0 || ARep == 3 ) && FrmtRep == 1)  {
			TypA = "sextile";
		}
		else if (FrmtRep == 1) {
			TypA = "commune";
		}
	}
	return TypA;
} 

function aide_ta() {
	//alert(mess_ta);  
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_ta+"</p>");
}

// -------------------------------------------------------------------------------------
// ÉLÉMENTS DU COMPUT ÉCCLÉSIASTIQUE (Message -Aide)
// -------------------------------------------------------------------------------------  
	
function aide_ce() {
	//alert(mess_ce);		
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_ce+"</p>");
}																						 

// -------------------------------------------------------------------------------------
// le cycle solaire (Message -Aide)
// -------------------------------------------------------------------------------------	

function cycle_solaire(Annee) {
	return ((( Annee + 8 ) % 28) + 1); 
} 

function aide_cs() {
	//alert(mess_cs); 
	$("#note-calend").empty(); 
	$("#note-calend").append("<p>"+mess_cs+"</p>");
}

// -------------------------------------------------------------------------------------
// le nombre d'or (Message -Aide)
// -------------------------------------------------------------------------------------

function nombre_dor(Annee) {
	nb_or = Annee % 19;
	return nb_or + 1;
}		  

function aide_no() {
	//alert(mess_no);  
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_no+"</p>");
} 

// -------------------------------------------------------------------------------------
// le cycle d'indiction romaine (Message -Aide)
// -------------------------------------------------------------------------------------

function indiction(Annee) {
	return ((( Annee + 2) % 15) + 1 );
} 

function aide_ir() {
	//alert(mess_ir);	
	$("#note-calend").empty();	
	$("#note-calend").append("<p>"+mess_ir+"</p>");
}

// -------------------------------------------------------------------------------------
// la lettre dominicale (Message -Aide)
// -------------------------------------------------------------------------------------

function lettre_dominicale(Annee) {
	Siecle = Math.floor(Annee / 100);
	Mod_Siecle = Annee % 100;
	array_lettre = new Array("A","B","C","D","E","F","G","A");
	RgLd = (Siecle + 2 - Mod_Siecle - Math.floor(Mod_Siecle / 4)) %7;
	if (Annee > 1582) {
		RgLd =((2 * Siecle - Math.floor(Siecle/4)) - Mod_Siecle - Math.floor(Mod_Siecle/4))%7;
	}
	if (RgLd < 0){ RgLd = RgLd + 7; }
	lpu = RgLd + 1;
	if (lpu < 0){ lpu = lpu + 7; }
	LD = array_lettre[RgLd];
	if (Annee % 4 == 0 && Mod_Siecle % 4 == 0){
		LD = array_lettre[lpu] + array_lettre[RgLd];
	}
	return LD, RgLd;
} 

function aide_ld() {
	//alert(mess_ld);	
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_ld+"</p>");
} 

// -------------------------------------------------------------------------------------
// L'épacte (Message -Aide)
// -------------------------------------------------------------------------------------

function epacte(Annee) {
	//    calendrier julien
	cep = ( 11 * (nombre_dor( Annee ) - 1) + 8);
	ep =  cep % 30;
	//    calendrier gr\351gorien
	if (Annee > 1582) { // année du changement du calendrier julien en grégorienelse { 
		ep = (cep - Siecle + Math.floor ( Siecle / 4) + Math.floor(( 8 * Siecle + 13) / 25)) % 30;
	}
	if(ep < 0) ep = ep + 30;
	return ep;
}	

function aide_ep() {
	//alert(mess_ep);
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_ep+"</p>");
}

// -------------------------------------------------------------------------------------
// Date de Pâques (Message -Aide)
// -------------------------------------------------------------------------------------

function paques(Annee) {
	//alert(Annee);
	if (Annee < 325) {
		alert ("La date de P\342ques n'est definie qu'\340 partir du concile de Nic\351e (325 ap. JC)");
		return "xxxxxx" ;
	}
	Array_Mois = new Array("janvier ","février","mars","avril","mai","juin");
	G = Annee % 19;     // nombre d'or-1
	if (Annee <= ARG && Mois <= MRG && Jour <= JRG) {
		I = ( 19 * G + 15 ) % 30 ; 
		a = Math.floor( Annee / 4 );
		J = ( Annee + a + I ) % 7 ;
	}
	else {
		//C = Math.floor( Annee / 100 );
		a = Math.floor( Siecle / 4 );
		b = Math.floor(( 8 * Siecle + 13) / 25 );
		H = ( Siecle - a - b + 19 * G + 15)% 30 ; // 23 - épacte (modulo 30)
		a = Math.floor( H / 28);
		b = Math.floor( 29 / ( H + 1));
		c = Math.floor(( 21 - G) / 11);
		I = H - a *( 1 - a * b * c);
		J = ( Annee + Math.floor( Annee / 4) + I + 2 - Siecle + Math.floor( Siecle / 4 )) % 7 ;
	}
	L = I - J;
	a = Math.floor(( L + 40 ) / 44);
	MPaq = 3 + a;
	a = Math.floor( MPaq / 4);
	JPaq = L + 28 - 31 * a;
	date_paques = JPaq + " " + Array_Mois [ MPaq - 1 ] ;
	//alert("Ligne 581 : "+JPaq+" -"+MPaq);
	fetes_mobiles (JPaq, MPaq);
 	return date_paques;
}

function aide_pq() {
	//alert(mess_pq);  
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_pq+"</p>");
}

// -------------------------------------------------------------------------------------
// Fêtes Mobiles (Message -Aide)
// -------------------------------------------------------------------------------------
function fetes_mobiles (JPaq, MPaq) {
	
	if (MPaq == 3){
		nb_jours_annee_paques = 59 + JPaq;
	}
	else {
		nb_jours_annee_paques = 90 + JPaq;
	}
	// Datation en calendrier "julien"
	nb_jours_julien_paques = Math.floor((OJJ + Annee + 1) * AJ) + nb_jours_annee_paques;
	// Datation en calendrier "grégorien"
	nb_jours_gregorien_paques = (Annee * ACAL) + Bxt + nb_jours_annee_paques + 6;
	if (nb_jours_julien_paques < NJJauJdelaRG) {
		NbJPaq = nb_jours_julien_paques;
		//alert (" Paques a lieu le " + nb_jours_julien_paques + "\350me jour du calendrier julien.");
	}
	else {
		NbJPaq = nb_jours_gregorien_paques;
		//alert (" Paques a lieu le " + nb_jours_gregorien_paques + "\350me jour du calendrier gr\351gorien.");
	}
	
	ecart_fete = new Array(-47,-46,-42,-24,-14,-7,-2,0,7,39,49,56,63,68);
	
	nom_fete_ap = new Array("Mardi_Gras","Cendres","Carême","Mi_Car\352me","Passion","Rameaux","Vendredi_Saint");
	nom_fete_pp = new Array("P\342ques","Quasimodo","Ascension","Pentec\364te","Trinit\351","F\352te_Dieu","Sacr\351_C\234ur");
	nom_fete = nom_fete_ap.concat(nom_fete_pp);
	
	//alert (ecart_fete[6] + " : " + nom_fete[6] + " - " +  ecart_fete[10] + " : " + nom_fete[10]);
	
	m_fevrier = new Array("1-2","2-2","3-2","4-2","5-2","6-2","7-2","8-2","9-2","10-2","11-2","12-2","13-2","14-2","15-2","16-2","17-2","18-2","19-2","20-2","21-2","22-2","23-2","24-2","25-2","26-2","27-2","28-2");
	mb_fevrier = new Array("1-2","2-2","3-2","4-2","5-2","6-2","7-2","8-2","9-2","10-2","11-2","12-2","13-2","14-2","15-2","16-2","17-2","18-2","19-2","20-2","21-2","22-2","23-2","24-2","25-2","26-2","27-2","28-2","29-1");
	m_mars = new Array("1-3","2-3","3-3","4-3","5-3","6-3","7-3","8-3","9-3","10-3","11-3","12-3","13-3","14-3","15-3","16-3","17-3","18-3","19-3","20-3","21-3","22-3","23-3","24-3","25-3","26-3","27-3","28-3","29-3","30-3","31-3");
	m_avril = new Array("1-4","2-4","3-4","4-4","5-4","6-4","7-4","8-4","9-4","10-4","11-4","12-4","13-4","14-4","15-4","16-4","17-4","18-4","19-4","20-4","21-4","22-4","23-4","24-4","25-4","26-4","27-4","28-4","29-4","30-4");
	m_mai = new Array("1-5","2-5","3-5","4-5","5-5","6-5","7-5","8-5","9-5","10-5","11-5","12-5","13-5","14-5","15-5","16-5","17-5","18-5","19-5","20-5","21-5","22-5","23-5","24-5","25-5","26-5","27-5","28-5","29-5","30-5","31-5");
	m_juin = new Array("1-6","2-6","3-6","4-6","5-6","6-6","7-6","8-6","9-6","10-6","11-6","12-6","13-6","14-6","15-6","16-6","17-6","18-6","19-6","20-6","21-6","22-6","23-6","24-6","25-6","26-6","27-6","28-6","29-6","30-6");
	m_juillet = new Array("1-7","2-7","3-7","4-7","5-7","6-7","7-7","8-7","9-7","10-7","11-7","12-7","13-7","14-7","15-7","16-7","17-7","18-7","19-7","20-7","21-7","22-7","23-7","24-7","25-7","26-7","27-7","28-7","29-7","30-7","31-7");
	
	tab_mois = new Array("","","f\351vrier","mars","avril","mai","juin","juillet");
	
	if (Annee % 4 == 0 || (nb_jours_julien_paques > NJJauJdelaRG && (Annee % 400 == 0 || !Annee % 100 == 0))) {
		per1 = mb_fevrier.concat(m_mars);
		per2 = per1.concat(m_avril);
		per3 = per2.concat(m_mai);
		per4 = per3.concat(m_juin);
		per_tot = per4.concat(m_juillet);
	}
	else {
		per1 = m_fevrier.concat(m_mars);
		per2 = per1.concat(m_avril);
		per3 = per2.concat(m_mai);
		per4 = per3.concat(m_juin);
		per_tot = per4.concat(m_juillet);
	}
	
	//alert (JPaq + "-" +MPaq);
	var ix_paques = 0;
	// Chercher l'indice de "Pâques"
	for (i = 0 ; i < 212 ; i++){
		if (per_tot[i] == (JPaq + "-" + MPaq)) {
			ix_paques = i;
		}
	}
	for (i = 0 ; i < 212 ; i++){
		for (j = 0 ; j < 15 ; j++) {
			if (i == (ix_paques + ecart_fete[j])) {
				pos_tiret = per_tot[i].indexOf("-");
				val_jour = per_tot[i].substring(0 , pos_tiret);
				val_mois = per_tot[i].substring(pos_tiret + 1 , pos_tiret + 2);
				mois_fete = tab_mois[val_mois];
				//alert (pos_tiret + " - " + val_jour + " - " + val_mois + " - " + mois_fete);
				//Fetes[j] = "<br />" + nom_fete[j] + " le : \t" + val_jour + " " + mois_fete ;
				Fetes[j] = val_jour + " " + mois_fete; 
				k = j + 2; 
				$("table#wp-table-reloaded-id-4-no-1 tr:.row-"+k+" td:.column-2").append(Fetes[j]);
			}
		}
	}
	return;
}		  

function aide_fm() {
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_fm+"</p>");	 
}  

// ------------------------------------------------------------------------------------- 
// Détermination de la Fête du jour (Message -Aide)	
// -------------------------------------------------------------------------------------

function fete_du_jour(Ms,Jr) {
	
	//alert(Ms+" - "+Jr);
	
	fetes_calgreg = new Array();
	
	//Fêtes de "Janvier",
	fetes_calgreg[1] = new Array("Jour de l'an","Basile","Genevi\350ve","Odilon","Edouard","M\351laine","Raymond","Lucien","Alix","Guillaume",
	"Paulin","Tatiana","Yvette","Nina","R\351mi","Marcel","Roseline","Prisca","Marius","S\351bastien",
	"Agn\350s","Vincent","Barnard","Fran\347ois de Sales","Apollos","Paule","Ang\350le","Thomas d'Aquin","Gildas","Martine","Marcelle");
	
	//Fêtes de "Février",
	fetes_calgreg[2] = new Array("Ella","Th\351ophane","Blaise","V\351ronique","Agathe","Gaston","Eug\351nie","Jacqueline","Apolline",
	"Arnaud","ND de Lourdes","F\351lix","B\351atrice","Valentin","Claude","Julienne","Alexis","Bernadette","Gabin",
	"Aim\351e","Damien","Isabelle","Lazare","Modeste","Rom\351o","Nestor","Honorine","Romain","Auguste");
	
	//Fêtes de "Mars",
	fetes_calgreg[3] = new Array("Aubin","Jaouen","Gw\351nola","Casimir","Olive","Colette","F\351licit\351","Jean de Dieu","Françoise",
	"Vivien","Rosine","Justine","Rodrigue","Mathilde","Louise","B\351n\351dicte","Patrick","Cyrille","Joseph",
	"Herbert","Cl\351mence","L\351a","Victorien","Karine","Annonciation","Lara","Habib","Gontran","Gwladys","Am\351d\351e","Benjamin");
	
	//Fêtes de "Avril",
	fetes_calgreg[4] = new Array("Hugues","Sandrine","Richard","Isidore","Ir\350ne","St Marcellin","St Jean-Baptiste","Julie","Gautier",
	"Fulbert","Stanislas","Jules","Ida","Maxime","Paterne","Beno\356t-Joseph","Anicet","Parfait","Emma",
	"Odette","Anselme","Alexandre","Georges","Fid\350le","Marc","Alida","Zita","Val\351rie","Catherine","Robert");
	
	//Fêtes de "Mai",
	fetes_calgreg[5] = new Array("Jeremie","Boris","Philippe","Sylvain","Judith","Prudence","Gis\350le","D\351sir\351","Pac\364me",
	"Solange","Estelle","Achille","Rolande","Matthias","Denise","Honor\351","Pascal","Eric","Yves",
	"Bernardin","Constantin","\351mile","Didier","Donatien","Sophie","B\351renger","Augustin","Germain","Aymard","Ferdinand","Perrette");
	
	//Fêtes de "Juin",
	fetes_calgreg[6] = new Array("Justin","Blandine","Kevin","Clotilde","Igor","Norbert","Gilbert","M\351dard","Diane",
	"Trinit\351","Barnab\351","Guy","Antoine","Elis\351e","Germaine","R\351gis","Herv\351","L\351once","Romuald",
	"Silv\350re","Rodolphe","Alban","Audrey","Yann","Prosper","Anthelme","Fernand","Ir\351n\351e","Pierre/Paul","Martial");
	
	//Fêtes de "Juillet",
	fetes_calgreg[7] = new Array("Thierry","Martinien","Thomas","Florent","Antoine","Mariette","Eliane","Thibaud","Amandine",
	"Ulric","Beno\356t","Olivier","Henri/Jo\353l","Camille - F\352te Nationale","Donald","Carmen","Charlotte","Fr\351d\351ric","Ars\350ne",
	"Marina","Victor","Marie-Madeleine","Brigitte","Christine","Jacques","Anne","Nathalie","Samson","Marthe","Juliette","Ignace");
	
	//Fêtes de "Aout",
	fetes_calgreg[8] = new Array("Alphonse","Julien","Lydie","Jean-Marie","Abel","Octavien","Ga\351tan","Dominique","Amour",
	"Laurent","Claire","Clarisse","Hippolyte","Evrard","Marie - Assomption","Armel","Hyacinthe","H\351l\350ne","Jean-Eudes",
	"Bernard","Christophe","Fabrice","Rose","Barth\351l\351my","Louis","Natacha","Monique","Augustin","Sabine","Fiacre","Aristide");
	
	//Fêtes de "Septembre",
	fetes_calgreg[9] = new Array("Gilles","Ingrid","Gr\351goire","Rosalie","Raïssa","Bertrand","Reine","Adrien","Alain",
	"In\350s","Adelphe","Apollinaire","Aim\351","Materne","Roland","Edith","Renaud","Nad\350ge","\351milie",
	"Davy","Matthieu","Maurice","Constant","Th\350cle","HermannC\364me/Damien","Vincent de Paul","Venceslas","Sts Michel","J\351r\364me"); 

	//Fêtes de "Octobre",
	fetes_calgreg[10] = new Array("Th\351r\350se","L\351ger","G\351rard","Fran\347ois","Fleur","Bruno","Serge","P\351lagie","Denis",
	"Ghislain","Firmin","Wilfrid","G\351raud","Juste","Th\351r\350se","Edwige","Baudouin","Luc","Ren\351 Goupil",
	"Adeline","C\351line","Elodie","Jean de Capistran","Florentin","Cr\351pin","Dimitri","\351meline","Simon","Narcisse","Bienvenue","31;Quentin");
	
	//Fêtes de "Novembre",
	fetes_calgreg[11] = new Array("Toussaint","D\351funts","Hubert","Charles","Sylvie","Bertille","Carine","Geoffroy","Th\351odore",
	"L\351on","Martin","Christian","Brice","Sidoine","Albert","Marguerite","Elisabeth","Aude","Tanguy",
	"Edmond","Pr\351sentation de Marie","C\351cile","Cl\351ment","Flora","Catherine","Delphine","S\351verin","Jacques de la Marche","Saturnin","Andr\351");
	
	//Fêtes de "Décembre",
	fetes_calgreg[12] = new Array("Florence","Viviane","Xavier","Barbara","G\351rald","Nicolas","Ambroise","Frida","Pierre Fourier",
	"Romaric","Daniel","Chantal","Lucie","Odile","Ninon","Alice","Ga\353l","Gatien","Urbain",
	"Th\351ophile","Pierre Canisius","Fran\347oise-Xavi\350re","Armand","Ad\350le","No\353l","Etienne","Jean","Gaspard","David","Roger","Sylvestre");
	
	FJA = fetes_calgreg[Ms][Jr-1]; 
	//alert(FJA);	

	return (FJA);
}	  

function aide_fj() {
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_fj+"</p>");	 
}  

// -------------------------------------------------------------------------------------
//  Calendrier républicain (Message -Aide)
// -------------------------------------------------------------------------------------

function datation_republicaine(){

	// Conversion de date Grégorienne en Révolutionnaire et vice-versa.
	// FrmtRep = 0 pour une saisie de date grégorienne, = 1 pour une saisie de date républicaine.
	// debut_pcr = début de la période du calendrier républicain, fin_pcr = fin de la période.
	
	// Traitement des années sextiles dans le calendrier républicain.
	// --------------------------------------------------------------
	/* L'an 3 républicain (1795 en calendrier grégorien est sextile ainsi que tous les  
	multiples de 4 qui lui sont additionnés en ce compris l'an 11 succédant à 1800 (non 
	comptabilisée comme bissextile quant à elle dans le calendrier grégorien), d'où un décalage 
	apparaissant dans l'avancement du calendrier républicain, par exemple, l'an 12 républicain 
	commençant le 24 septembre 1803.*/

	// Conversion calendrier républicain vers calendrier grégorien.
	// ------------------------------------------------------------
	// Recherche du nombre de jours julien depuis - 4712 avec une saisie de date en format républicain,
	
	//alert(" Ligne 815 FrmtRep = " + FrmtRep + " , " + JRep + " , " + MRep + " , " + ARep);	
	
	if (FrmtRep == 1) {
		// Détermination des années républicaines sextiles.
		annee_bissex_prec = 0;
		if ((ARep - 3) % 4 == 0 || ARep == 3){
			// Il s'agit d'une année républicaine sextile qu'il faut régulariser après 
			// le 365e jour de l'année précédente.
			ARepSxt = Math.floor((ARep - 3) / 4);
			//alert (ARepSxt);
			TypAR = "sextile";
		}
		else if (ARep > 3 ) { 
			// L'année en cours a dépassée la 1ere année sextile et est une année ordinaire.
			ARepSxt = Math.floor((ARep - 3) / 4) + 1; 
			TypAR = "ordinaire";
		} else {
			// L'année en cours est soit la première année du calendrier républicain soit la 2e.
			ARepSxt = 0; 
			TypAR = "ordinaire";
		}
		//Recherche du nombre de jours dans la période républicaine de la date à convertir.
		nb_jours_per_rep = ((ARep - 1) * 365.25) + ARepSxt + ((MRep -1) * 30) + JRep;	 
		//alert(" Ligne 838 Nb JJ suppl. = " + ((ARep - 1) * 365) + " , " + ARepSxt + " , " + ((MRep -1) * 30) + " , " + JRep);
		NbJJ = NJJOR + nb_jours_per_rep - 1;
		//alert(" Ligne 841 Nb JJ = " + NJJOR + " , " + NbJJ + " , " + nb_jours_per_rep);
		
		// Nombre de jours de l'année grégorienne correspondante.
		// 1792 est une année grégorienne bissextile donc de 366j, l'année républicaine démarrant
		// 100 jours + tard, d'où la valeur 266.
		Annee = annee_dep_pcr + ARep;	  
		saison(Annee);
		//alert ("ligne-800 : " + nb_jours_per_rep + " , " + ARepSxt + " , " + Annee);
		
		// Quel est le nombre d'années grégoriennes bissextiles dans la période révolutionnaire
		// considérée.
		
		abx = Math.floor((ARep-1792) / 4 +1);
		snbx =Math.floor((ARep-1700) / 100);
		sbx = Math.floor((ARep-1600) / 400);
		Bxt = abx - snbx +  sbx;
		//alert ("ligne-856 : " + abx + " - " + snbx + " - " + sbx + " - " + Bxt);
		
		// Détermination définitive de l'année
		Annee = Math.floor((nb_jours_per_rep + 265 - Bxt) / 365) + annee_dep_pcr;
			
		// Nb de jours dans l'année courante
		// La première estimation de l'année pouvant être fausse si la date est située dans
		// les premiers mois de l'année républicaine.
		NjAEnc	= Math.floor((nb_jours_per_rep + 265 - Bxt) % 365);	
		
		//alert("ligne681 - Jour equinoxe : " + JEqxA); 
		
		//alert ("Alert Ligne-874 : " +  Annee + " , " + annee_bissex_en_cours + " , " + Bxt + " , " + NjAEnc);
		Bxt = 0;

		// Recherche du mois grégorien correspondant.
		var nb_jmois = 0;
		var	Array_Mois = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
		for ( i = 0; i < 13; i++){
			if ( i == 2 && annee_bissex_en_cours == 1) {
				nb_jmois += 1;
				annee_bissex_en_cours = 0;
			}
			nb_jmois += Array_Mois[i];
			//alert (NjAEnc + " - " + i + " - " + nb_jmois);
			if (NjAEnc - nb_jmois <= 0) {
				Mois = i;
				// Nombre de jour dans le mois en cours.
				Jour = NjAEnc - nb_jmois + Array_Mois[i];
				//alert (" Ligne-891 : " + i + " , " + NjAEnc + " , " + nb_jmois + " , "+ Array_Mois[i] + " , " + Jour );
				break; 
			}
		}
		// appel du sous programme de recherche du nom du jour en calendrier grégorien.
		jour_semaine(NbJJ);
		raz_generale(); 
		$("table#wp-table-reloaded-id-2-no-1 tr:.row-3 td:.column-2").empty();	
		$("table#wp-table-reloaded-id-2-no-1 tr:.row-3 td:.column-2").append(NbJJ);
		document.form1.jour.value = Jour;
		document.form1.mois.value = Mois;
		document.form1.annee.value = Annee;	
		//alert (" Ligne-899 : " + NbJJ + " , " + Jour + " , " + Mois + " , " + Annee); 
	}
	// ------------------------------------------------------------
	// Conversion calendrier grégorien vers calendrier républicain.
	// ------------------------------------------------------------
	else {
		// Calcul de l'année républicaine
		// nb_julien = valeur correspondant à la date républicaine 	
		
		saison(Annee,0);	// Permet de récupérer la valeur du Jour Julien (JJDEqxA) à la date de l'équinoxe (JEqxA) de l'année grégorienne en cours de conversion.
		EqxAmoins1 = 0;
		alert("ligne911 - Jour equinoxe : " + JEqxA + " - " + NbJJ + " - " + JJDEqxA + " - " + EqxAmoins1); 
		if ( NbJJ < JJDEqxA ){  // Concerne les mois de début de l'année grégorienne en cours de conversion, du 1er janvier à l'équinoxe d'automne.
			saison(Annee-1,1);
			EqxAmoins1 = 1;
		} else if ( NbJJ >= JJDEqxA){ // Concerne les mois de fin d'année
		   	saison(Annee,0);
		}
		alert("ligne914 - Jour equinoxe : " + JEqxA + " - " + NbJJ + " - " + JJDEqxA + " - " + EqxAmoins1);
		// Recherche du nombre de jours républicains de l'année courante.
		NjARepEnc = NbJJ - JJDEqxA;
		
		// L'année grégorienne en cours est-elle bissextile ? si oui il faut régulariser le jour
		// calculé après le 59e jour.
		//annee_bissex_en_cours = 0;
		var ax = Annee%4; var bx = Annee%100 ; var cx = Annee%400;
		//alert ("ligne 920 : " + ax + " , " + bx + " , " + cx);
		// Il faut vérifier si l'année en cours est bissextile ou non et corriger après février
		if(((!ax && !bx  && !cx) || (!ax && bx && cx)) && ( Mois > 2)){  
			//alert("ligne 923 : Ann\351e gr\351gorienne \340 convertir bissextile");
			NjARepEnc = NjARepEnc;
		}
		
		// Détermination de l'année républicaine de base 
		// (jusqu'au 1er vendémiaire de l'année suivante)
		ARep = Math.round((JJDEqxA - NJJOR)/365.25)+1;	
		//alert("ligne 923 : " + ARep);
		// Il s'agit de l'an 1 du calendrier républicain
		if (ARep == 0) {
			ARep = 1;
		} 

		// Détermination des années républicaines sextiles.
		annee_bissex_en_cours = 0;
		if ((ARep - 3) % 4 == 0 || ARep == 3){
			// Il s'agit d'une année républicaine sextile qu'il faut régulariser après 
			// le 365e jour de l'année en cours
			ARepSxt = Math.floor((ARep - 3) / 4) + 1;
			//annee_bissex_en_cours = 1; 
			TypAR = "sextile";
		}
		else if (ARep > 3 && annee_bissex_en_cours == 0) {
			// L'année en cours a dépassée la 1ere année sextile et est une année ordinaire.
			ARepSxt = Math.floor((ARep - 3) / 4);
			TypAR = "ordinaire";
		}
		else {
			// L'année en cours est soit la première année du calendrier républicain soit la 2e.
			ARepSxt = 0;
			TypAR = "ordinaire";
		} 
		
		alert (" Ligne-959 : " +NbJJ+ " Elmts Rep en cours : " +JJDEqxA+ " - " +NjARepEnc+ " - " + ARepSxt + " - " + TypAR);

		// Recherche du mois en calendrier républicain
		if (NjARepEnc == 0){   
			MRep = 1;
			JRep = 1;
		} else {
			MRep = Math.floor(NjARepEnc / 30)+1;  
			JRep = Math.floor(NjARepEnc % 30)+1;
			// si le reste est 0, en fait il s'agit du 30eme jour du mois précédent.
			if ( JRep == 0) { 
				JRep = 1; 
			//MRep = MRep - 1;
		}
		}
		// Recherche du jour du calendrier républicain 
		
		annee_bissex_en_cours = 0;
		alert (" Ligne-978 : " + NjARepEnc + " , " +  JRep + " , " + MRep + " , " + ARep);  
	}	
	// ------------------------------------------------------------
	// Affichage de la date en format républicain
	// ------------------------------------------------------------
	njour_calrep = new Array("","primidi","duodi","tridi","quartidi","quintidi","sextidi","septidi","octidi","nonidi","d\351cadi");
				 
	nmois_calrep = new Array("","Vend\351miaire","Brumaire","Frimaire","Niv\364se","Pluvi\364se","Vent\364se","Germinal","Flor\351al","Prairial","Messidor","Thermidor","Fructidor","SansCulottides");
	
	jours_calrep = new Array(13);
	jours_calrep[0] = new Array(1);
	jours_calrep[1] = new Array(30);
	jours_calrep[2] = new Array(30);
	jours_calrep[3] = new Array(30);
	jours_calrep[4] = new Array(30);
	jours_calrep[5] = new Array(30);
	jours_calrep[6] = new Array(30);
	jours_calrep[7] = new Array(30);
	jours_calrep[8] = new Array(30);
	jours_calrep[9] = new Array(30);
	jours_calrep[10] = new Array(30);
	jours_calrep[11] = new Array(30);
	jours_calrep[12] = new Array(30);
	jours_calrep[13] = new Array(5);
	
	// Saison d'Automne
	// ----------------
	
	jours_calrep[0] = new Array("");
	
	//Jours de "Vendémiaire",
	jours_calrep[1] = new Array("","Raisin","Safran","Ch\342taigne","Colchique","Cheval","Balsamine",
	"Carotte","Amaranthe","Panais","Cuve","Pomme de terre","Immortelle","Potiron","R\351s\351da","Ane",
	"Belle de nuit","Citrouille","Sarrasin","Tournesol","Pressoir","Chanvre","P\352che","Navet",
	"Amarillis","Bœuf","Aubergine","Piment","Tomate","Orge","Tonneau");
	
	//Jours de "Brumaire",	
	jours_calrep[2] = new Array("","Pomme","C\351leri","Poire","Betterave","Oie","H\351liotrope",
	"Figue","Scorson\350re","Alisier","Charrue","Salsifis","Macre","Topinambour","Endive","Dindon",
	"Chervis","Cresson","Dentelaire","Grenade","Herse","Bacchante","Azerole","Garance","Orange",
	"Faisan","Pistache","Macjonc","Coing","Cormier","Rouleau");
	
	//Jours de "Frimaire",
	jours_calrep[3] = new Array("","Raiponce","Turneps","Chicor\351e","N\350fle","Cochon","M\342che",
	"Chou-fleur","Miel","Geni\350vre","Pioche","Cire","Raifort","C\350dre","Sapin","Chevreuil","Ajonc",
	"Cypr\350s","Lierre","Sabine","Hoyau","Erable sucr\351","Bruy\350re","Roseau","Oseille","Grillon",
	"Pignon","Li\350ge","Truffe","Olive","Pelle");
	
	// Saison d'Hiver
	// ----------------
	//Jours de "Nivôse",
	jours_calrep[4]= new Array("","Tourbe","Houille","Bitume","Soufre","Chien","Lave",
	"Terre v\351g\351tale","Fumier","Salp\352tre","Fl\351au","Granit","Argile","Ardoise","Gr\350s","Lapin",
	"Silex","Marne","Pierre \340 chaux","Marbre","Van","Pierre \340 Pl\342tre","Sel","Fer","Cuivre",
	"Chat","Etain","Plomb","Zinc","Mercure","Crible");
	
	//Jours de "Pluviôse",
	jours_calrep[5] = new Array("","Laur\351ole","Mousse","Fragon","Perce Neige","Taureau",
	"Laurier thym","Amadouvier","M\351z\351r\351on","Peuplier","Coign\351e","Ell\351bore","Brocoli","Laurier",
	"Avelinier","Vache","Buis","Lichen","If","Pulmonaire","Serpette","Thlaspi","Thim\350le",
	"Chiendent","Trainasse","Li\350vre","Gu\350de","Noisetier","Cyclamen","Ch\351lidoine","Traineau");
	
	//Jours de "Ventôse",
	jours_calrep[6] = new Array("","Tussilage","Cornouiller","Violier","Troëne","Bouc","Asaret",
	"Alaterne","Violette","Marceau","B\352che","Narcisse","Orme","Fumeterre","V\351lar","Ch\350vre",
	"Epinard","Doronic","Mouron","Cerfeuil","Cordeau","Mandragore","Persil","Cochi\351aria",
	"P\342querette","Thon","Pissenlit","Sylve","Capillaire","Fr\352ne","Plantoir");
	
	// saison de Printemps
	// -------------------
	//Jours de "Germinal",
	jours_calrep[7] = new Array("","Primev\350re","Platane","Asperge","Tulipe","Poule","Bette",
	"Bouleau","Jonquille","Aulne","Couvoir","Pervenche","Charme","Morille","H\352tre","Abeille",
	"Laitue","M\351l\350ze","Cigüe","Radis","Ruche","Gainier","Romaine","Marronnier","Roquette",
	"Pigeon","Lilas","An\351mone","Pens\351e","Myrtille","Greffoir");
	
	//Jours de "Floréal",
	jours_calrep[8] = new Array("","Rose","Ch\352ne","Foug\350re","Aub\351pine","Rossignol","Ancolie",
	"Muguet","Champignon","Hyacinthe","Rateau","Rhubarbe","Sainfoin","B\342ton d'or","Chamerops",
	"Ver \340 soie","Consoude","Pimprenelle","Corbeille d'or","Arroche","Sarcloir","Statice",
	"Fritillaire","Bourache","Val\351riane","Carpe","Fusain","Civette","Buglosse","S\351nev\351",
	"Houlette");
	
	//Jours de "Prairial",
	jours_calrep[9] = new Array("","Luzerne","H\351m\351rocalle","Tr\350fle","Ang\351lique","Canard",
	"M\351lisse","Fromental","Martagon","Serpolet","Faux","Fraise","B\351toine","Pois","Acacia",
	"Caille","Œillet","Sureau","Pavot","Tilleul","Fouche","Barbeau","Camomille","Ch\350vre-feuille",
	"Caille-lait","Tanche","Jasmin","Verveine","Thym","Pivoine","Chariot");
	
	// Saison d'été
	// ------------
	//Jours de "Messidor",
	jours_calrep[10] = new Array("","Seigle","Avoine","Oignon","V\351ronique","Mulet","Romarin",
	"Concombre","Echalotte","Absinthe","aucille","Coriandre","Artichaut","Girofle","Lavande",
	"Chamois","Tabac","Groseille","Gesse","Cerise","Parc","Menthe","Cumin","Haricot","Orcan\350te",
	"Pintade","Sauge","Ail","Vesce","Bl\351","Chal\351mie");
	
	//Jours de "Thermidor",
	jours_calrep[11] = new Array("","Epeautre","Bouillon blanc","Melon","Ivraie","B\351lier",
	"Pr\352le","Armoise","Carthame","Mûre","Arrosoir","Panis","Salicorne","Abricot","Basilic",
	"Brebis","Guimauve","Lin","Amande","Gentiane","Ecluse","Carline","C\342prier","Lentille",
	"Aun\351e","Loutre","Myrte","Colza","Lupin","Coton","Moulin");
	
	//Jours de "Fructidor",
	jours_calrep[12] = new Array("","Prune","Millet","Lycoperdon","Escourgeon","Saumon",
	"Tub\351reuse","Sucrion","Apocyn","R\351glisse","Echelle","Past\350que","Fenouil","Epine vinette",
	"Noix","Truite","Citron","Card\350re","Nerprun","Tagette","Hotte","Eglantier","Noisette",
	"Houblon","Sorgho","Ecrevisse","Bigarade","Verge d'or","Ma\357s","Marron","Panier");
	
	// Jours Complémentaires
	jours_calrep[13] = new Array("","F\352te de la Vertu","F\352te du G\351nie","F\352te du Travail",
	"F\352te de l'Opinion","F\352te des R\351compenses","F\352te de la R\351volution");
	
	// 3eme décadi.
	if (JRep > 20){
		nom_jour_rep = njour_calrep[JRep - 20];
	}
	// 2eme décadi.
	else if (JRep > 10 && JRep <20){
		nom_jour_rep = njour_calrep[JRep - 10];
	}
	// 1er décadi.
	else {
		nom_jour_rep = njour_calrep[JRep];
	}
	// Nom du mois
	nom_mois_rep = nmois_calrep[MRep];
	// Nom du jour (1 parmi 366)
	nom_jour_annee = jours_calrep[MRep][JRep];
	// Validation de la touche "Date Répub"
	//document.form1.daterep.disabled=false;
	// Date républicaine complète pour affichage dans message.
	//DtRep = "La date saisie en notation gr\351gorienne correspond en notation r\351publicaine \340 :<br /><br />";
	DtRep = (nom_jour_rep + " " + JRep + " " + nom_mois_rep + " " + "an " + ARep + "<br />");
	//DtRep += ("\t\t nom du jour : " + nom_jour_annee + "<br /><br />");
	//DtRep += ("Cliquez sur \"annuler\" pour fermer cette fen\352tre de message et ");
	//DtRep += ("sur \"OK\" pour remplacer la date gr\351gorienne par son \351quivalent r\351publicain.");
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-11 td:.column-2").append(DtRep);
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-12 td:.column-2").append(nom_jour_annee);
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-13 td:.column-2").append(TypAR);
	return (DtRep);
} 

function aide_cr() {
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_cr+"</p>");
}		 

// -------------------------------------------------------------------------------------
// Nom des jours Républicains (Message -Aide)
// ------------------------------------------------------------------------------------- 

function aff_date_rep(){
	//alert("ok");
	var trsf = true;
	trsf = confirme (DtRep);
	if (trsf) {
		//document.form1.jour.value = JRep;
		//document.form1.mois.value = nom_mois_rep.substring(0,4);
		//document.form1.annee.value = ARep;  
		$("table#wp-table-reloaded-id-2-no-1 tr:.row-9 td:.column-2").append(DtRep);
	}
}	

function aide_nr() {
	//alert(mess_nr);
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_nr+"</p>");
}	  

// -------------------------------------------------------------------------------------
// Affichage de la carte de l'Europe (Message -Aide)
// -------------------------------------------------------------------------------------

function aff_carte() {
		Siecle = Math.floor( Annee / 100 );
		//alert (Siecle);
		if (Siecle < 10) {
			Siecle = "0" + Siecle;
		}
		if (document.referrer != "") {
			adresse = "http://www.euratlas.net/AHP/grand/gr" + Siecle + "00.htm";
		}
		else {
			// exemple : "euratlas_0900.html"
			adresse = "euratlas_" + Siecle + "00.html";
		}
		if (Siecle > 20) {
			//alert ("Navr\351, Il n'existe pas de carte pour les p\351riodes plus r\351centes que le 20eme si\350cle");
		}
		else {
			fenprops ="top=25,left=0,bgcolor=width=800,height=600,scrollbars=yes,toolbar=0,status=0";
		    fen = window.open(adresse,"Carte_Europe",fenprops);
		}
}	   

// -------------------------------------------------------------------------------------
// A cette époque ...	
// -------------------------------------------------------------------------------------

function Eval_Epoque(){	  
	var Approx=false; 
	
	//alert(" Ligne 1172 Genepoques : " + Jour + " - " + Mois + " - " + Annee);
	Annee = Number(Annee);
	Mois = Number(Mois);
	Jour = Number(Jour);
	Approx=true;
	if((document.form1.jour.value!="" && document.form1.mois.value!="") || Approx==true){
		CeJour=new Date(Annee, Mois-1, Jour);
		var Nbre=Epoque_Us.length;
		var Limite=new Date(Epoque_Us[Nbre-1][1]);
		if(CeJour>Limite){
			alert("Soyez patient...");
			Efface();
			return false;
		}
		for(i=0; i<Epoque_Us.length;i++){
		
			mini=Epoque_Us[i][0];
			maxi=Epoque_Us[i][1];
			if(mini<= CeJour && maxi>= CeJour){
				CetteEpoque=Epoque_Fr[i][2]; 		 
				Photo = CetteEpoque.replace(/(Consultez les voyants)/,"Mme_Irma");	
				Photo = Photo.replace(/ & /,"_");
				Photo = Photo.replace(/ & /,"_");
				Photo = Photo.replace(/\351/,"e");
				Photo = Photo.replace(/\350/,"e");
				Photo = Photo.replace(/\347/,"c");
				Photo = Photo.replace("'","_");
				Photo = Photo.replace(" ","_");
				Photo = Photo.replace(" ","_");
				Photo = Photo.replace(" ","_");
				Photo = Photo.replace(" ","_");
				Photo = Photo.replace(" ","_");
				Photo = Photo.replace(" ","_");
				Photo = Photo +".jpg";
				Photo="<img src=\"http://www.agrippa.fr/wp-content/uploads/2011/08/"+Photo+"\" alt=\"\" title=\""+CetteEpoque+"\" width=\"100\" height=\"133\" />";
				//alert(Photo);
				Debut=Epoque_Fr[i][0];
				Fin=Epoque_Fr[i][1];
				Periode=Epoque_Fr[i][3]; 
				Nota="<strong><u>Nota</u></strong><br />" + Epoque_Fr[i][4];
				Num_Epoque=i;
				break;
			}
		}
	}
	else {
		CetteEpoque="";
	}  
	//alert("ok");
	$("table#wp-table-reloaded-id-5-no-1 tr:.row-2 td:.column-2").append(CetteEpoque);	// document.form1.resultat.value=CetteEpoque;
	$("table#wp-table-reloaded-id-5-no-1 tr:.row-3 td:.column-2").append(Periode);		// document.form1.periode.value=Periode;
	$("table#wp-table-reloaded-id-5-no-1 tr:.row-4 td:.column-2").append(Debut);		// document.form1.debut.value=Debut;
	$("table#wp-table-reloaded-id-5-no-1 tr:.row-4 td:.column-4").append(Fin);			// document.form1.fin.value=Fin;
	$("table#wp-table-reloaded-id-5-no-1 tr:.row-5 td:.column-1").append(Nota);
	$("table#wp-table-reloaded-id-5-no-1 tr:.row-3 td:.column-5").empty();
	$("table#wp-table-reloaded-id-5-no-1 tr:.row-3 td:.column-5").append(Photo);
}

// -------------------------------------------------------------------------------------
// CALCUL DE L'ÉQUINOXE D'AUTOMNE POUR LE DÉBUT DE L'ANNÉE RÉPUBLICAINE
// ------------------------------------------------------------------------------------- 
/* AUTEUR: G. SATRE */
/* DATE DE CREATION: 26/10/99 */
/* (c) Copyright Institut de Mécanique Céleste - Bureau des longitudes - Observatoire de Paris */

//w = self;
function date(JJD,AN,MOIS,JOUR) {
    this.JJD
    this.AN
    this.MOIS
    this.JOUR
}

function trunc(x) {
	if (x>0.0) return(Math.floor(x));
	else return Math.ceil(x);  
}

 function JJDATEJ(){
	Z1=date.JJD+0.5;                                                                
	Z=trunc(Z1);                                                               
	A=Z;                                                                       
	B=A+1524;                                                                  
	C=trunc((B-122.1)/365.25);                                                 
	D=trunc(365.25*C);                                                         
	E=trunc((B-D)/30.6001);                                                    
	date.JOUR=trunc(B-D-trunc(30.6001*E));                                        
	if(E<13.5)date.MOIS = trunc(E-1);                                               
	else date.MOIS = trunc(E-13);                                                  
	if(date.MOIS>=3) date.AN = trunc(C-4716);                                            
	else   date.AN = trunc(C-4715);                                                
}

function JJDATE (){
	Z1=date.JJD+0.5;
	Z=trunc(Z1);                                                               
	if (Z<2299161) A=Z;                                                        
	else {ALPHA=trunc((Z-1867216.25)/36524.25);                               
	     A=Z+1+ALPHA-trunc(ALPHA/4);}                                         
	B=A+1524;                                                                  
	C=trunc((B-122.1)/365.25);                                                 
	D=trunc(365.25*C);                                                         
	E=trunc((B-D)/30.6001);                                                    
	date.JOUR=trunc(B-D-trunc(30.6001*E));                                          
	if(E<13.5) date.MOIS = trunc(E-1);                                               
	else date.MOIS = trunc(E-13);                                                  
	if(date.MOIS>=3) date.AN = trunc(C-4716);                                            
	else   date.AN = trunc(C-4715);         
}	

function affsai(n,JJD,EAM1) { 
	mois=new Array("nul","Janv.","Fév.","Mars","Avril","Mai","Juin","Juil.","Août","Sept.","Oct.","Nov.","Déc.");
	nomsai=new Array("Printemps ","Eté...... ", "Automne.. ", "Hiver.... ");
	FDJ=(date.JJD + 0.5E0)- Math.floor(date.JJD + 0.5E0); // Script original
	HH=Math.floor(FDJ*24);
	FDJ-=HH/24.0;
	MM=Math.floor(FDJ*1440);  
	if (n==2){
		JEqxA = date.JOUR; 
		if (EAM1 == 1){
		   	JJDEqxA = Math.floor(JJD);
		} else {
			JJDEqxA = Math.floor(JJD); 
		}	 
		$("table#wp-table-reloaded-id-2-no-1 tr:.row-14 td:.column-2").append(date.JOUR + " " + mois[date.MOIS] + " " + date.AN + " \340 " + HH+"h " + MM + "m T.U <br />JJD : "+ JJDEqxA +" - " +EAM1); 
		//alert("ligne 1309 : "+JEqxA + " - " +JJDEqxA);
	}
}
                                                                       
function saison(YY,EqxAmoins1) {  
    CODE1=YY; 
	EAM1 = EqxAmoins1;
    nline=1;
    k=YY-2000-1;
    //form.SAISONS.value="";
	$("table#wp-table-reloaded-id-2-no-1 tr:.row-14 td:.column-2").empty();
    for (n=0 ; n<8 ; n++){
	    nn=n%4;
	    dk=k+0.25E0*n;
		with (Math) {
			T=0.21451814e0+0.99997862442e0*dk
			+0.00642125e0*sin(1.580244e0+0.0001621008e0*dk)                              
			+0.00310650e0*sin(4.143931e0+6.2829005032e0*dk)                              
			+0.00190024e0*sin(5.604775e0+6.2829478479e0*dk)                              
			+0.00178801e0*sin(3.987335e0+6.2828291282e0*dk)                              
			+0.00004981e0*sin(1.507976e0+6.2831099520e0*dk)                              
			+0.00006264e0*sin(5.723365e0+6.2830626030e0*dk)                              
			+0.00006262e0*sin(5.702396e0+6.2827383999e0*dk)                              
			+0.00003833e0*sin(7.166906e0+6.2827857489e0*dk)                              
			+0.00003616e0*sin(5.581750e0+6.2829912245e0*dk)                              
			+0.00003597e0*sin(5.591081e0+6.2826670315e0*dk)                              
			+0.00003744e0*sin(4.3918e0 +12.56578830e0*dk)                                
			+0.00001827e0*sin(8.3129e0 +12.56582984e0*dk)                                
			+0.00003482e0*sin(8.1219e0 +12.56572963e0*dk)                                
			-0.00001327e0*sin(-2.1076e0 +0.33756278e0*dk)                                
			-0.00000557e0*sin(5.549e0   +5.7532620e0*dk)                                 
			+0.00000537e0*sin(1.255e0   +0.0033930e0*dk)                                 
			+0.00000486e0*sin(19.268e0 +77.7121103e0*dk)                                 
			-0.00000426e0*sin(7.675e0   +7.8602511e0*dk)                                 
			-0.00000385e0*sin(2.911e0   +0.0005412e0*dk)                                 
			-0.00000372e0*sin(2.266e0   +3.9301258e0*dk)                                 
			-0.00000210e0*sin(4.785e0  +11.5065238e0*dk)                                 
			+0.00000190e0*sin(6.158e0   +1.5774000e0*dk)                                 
			+0.00000204e0*sin(0.582e0   +0.5296557e0*dk)                                 
			-0.00000157e0*sin(1.782e0   +5.8848012e0*dk)                                 
			+0.00000137e0*sin(-4.265e0  +0.3980615e0*dk)                                 
			-0.00000124e0*sin(3.871e0   +5.2236573e0*dk)                                 
			+0.00000119e0*sin(2.145e0   +5.5075293e0*dk)                                 
			+0.00000144e0*sin(0.476e0   +0.0261074e0*dk)                                 
			+0.00000038e0*sin(6.45e0   +18.848689e0*dk)                                  
			+0.00000078e0*sin(2.80e0    +0.775638e0*dk)                                  
			-0.00000051e0*sin(3.67e0   +11.790375e0*dk)                                  
			+0.00000045e0*sin(-5.79e0   +0.796122e0*dk)                                  
			+0.00000024e0*sin(5.61e0    +0.213214e0*dk)                                  
			+0.00000043e0*sin(7.39e0   +10.976868e0*dk)                                  
			-0.00000038e0*sin(3.10e0    +5.486739e0*dk)                                  
			-0.00000033e0*sin(0.64e0    +2.544339e0*dk)                                  
			+0.00000033e0*sin(-4.78e0   +5.573024e0*dk)                                  
			-0.00000032e0*sin(5.33e0    +6.069644e0*dk)                                  
			-0.00000021e0*sin(2.65e0    +0.020781e0*dk)                                  
			-0.00000021e0*sin(5.61e0    +2.942400e0*dk)                                  
			+0.00000019e0*sin(-0.93e0   +0.000799e0*dk)                                  
			-0.00000016e0*sin(3.22e0    +4.694014e0*dk)                                  
			+0.00000016e0*sin(-3.59e0   +0.006829e0*dk)                                  
			-0.00000016e0*sin(1.96e0    +2.146279e0*dk)                                  
			-0.00000016e0*sin(5.92e0   +15.720504e0*dk)                                  
			+0.00000115e0*sin(23.671e0 +83.9950108e0*dk)              
			+0.00000115e0*sin(17.845e0 +71.4292098e0*dk);  
		}                              
	                                                                                
		JJD=2451545+T*365.25e0;                                                        
               
		D=CODE1/100.0;                                                                 
		TETUJ = (32.23e0*(D-18.30e0)*(D-18.30e0)-15)/86400.e0;                         
		JJD-=TETUJ;       /* moins TE-TU avant conversion en date. */     
		JJD+=0.0003472222e0;  /* ajout de 30s pour arrondi sur la minute avant troncature lors de l'affichage */ 
		//alert("ligne 1379 : "+JJD);               
		date.JJD=JJD;
		if(JJD<2299160.5e0)JJDATEJ(); else JJDATE();                          
		if (date.AN==CODE1) {   
			affsai(nn,JJD,EAM1);                                                                             
		}                                                                         
   	}                                                                                                            
	//form.nyear.value=YY;     
}

function aide_ea() {
	$("#note-calend").empty();
	$("#note-calend").append("<p>"+mess_ea+"</p>");
}

// -------------------------------------------------------------------------------------
// MESSAGES CALENDAIRES
// ------------------------------------------------------------------------------------- 
// -------------------------------------------------------------------------------------
// Message initial des notes calendaires
// -------------------------------------------------------------------------------------
var mess_ch = "<strong><u>CalHisto</u></strong><br /><br/>";
mess_ch += "Calhisto est un outil d\351velopp\351 par Agrippa qui permet de d\351terminer ce qui se rattache \340 une date entre l'an 428 et aujourd'hui.<br />";
mess_ch += "Cela concerne \340 la fois : ";
mess_ch += "<ul><li>Toutes les informations calendaires.</li>";
mess_ch += "<li>Qui dirigeait la France, \340 cette date.</li>";
mess_ch += "<li>Ce qui s'est pass\351 le jour de la date affich\351e.</li>";
mess_ch += "<li>Ce qui s'est pass\351 dans l'ann\351e correspondant \340 la date affich\351e.</li></ul>";
mess_ch += "Quelques dates historiques dont le jour est connu par des \351crits";
mess_ch += "<ul><li><strong>Bataille de Poitiers</strong> : Samedi 25 octobre 732.</li>";
mess_ch += "<li><strong>Bouvines</strong> : Dimanche 27 juillet 1214.</li>";
mess_ch += "<li><strong>Mort de Saint-Louis</strong> (Louis IX) : Lundi 25 ao\372t 1270.</li>";
mess_ch += "<li><strong>Lib\351ration d'Orl\351ans par Jeanne d'Arc</strong> : Dimanche 8 mai 1429.</li>";
mess_ch += "<li><strong>Marignan</strong> : Journ\351es du jeudi et vendredi 13 et 14 septembre 1515.</li>";
mess_ch += "<li><strong>Prise de la Bastille</strong> : Mardi 14 juillet 1789.</li>";
mess_ch += "<li><strong>Ex\351cution de Robespierre</strong> le 11 Thermidor de l'An II (29 Juillet 1794).</li>";
mess_ch += "<li><strong>Suicide de Gilbert Romme</strong>, D\351put\351 du Puy-de-D\364me, n\351 \340 Riom (63), en Auvergne, le 26 mars 1750, ";
mess_ch += "condamn\351 \340 \352tre d\351capit\351 par les thermidoriens, il se suicide au cours de l'audience \340 Paris "; 
mess_ch += "le 29 prairial de l'an III (mercredi 17 juin 1795), en pronon\347ant la phrase \253<strong><i>Je meurs pour la R\351publique...</i></strong>\273.<br />";
mess_ch += "<li><strong>Coup d'\311tat du 18 Fructidor de l'An V</strong> (4 Septembre 1797) ex\351cut\351 sous le Directoire par les 3 Directeurs (dont Paul Barras) ";
mess_ch += "soutenus par l'arm\351e, contre les mod\351r\351s et les royalistes, majoritaires dans les Conseils. "; 
mess_ch += "Ce coup d'\311tat marqua un renforcement de l'ex\351cutif au d\351triment du pouvoir l\351gislatif.</li>";
mess_ch += "<li><strong>Coup d'\351tat du 18 Brumaire An VIII</strong> : Samedi 9 Novembre 1799.</li>";
mess_ch += "<li><strong>Sacre de Napol\351on</strong> : Dimanche 2 d\351cembre 1804 (Primidi 11 frimaire an XIII). <strong><i>Nom du Jour : \253Cire\273, ";
mess_ch += "ce jour est un homonyme de la fa\347on dont il se faisait appeler, co\357ncidence du calendrier, "; 
mess_ch += "ou choix volontaire de la date !</i></strong></li></ul>";

// -------------------------------------------------------------------------------------
// Jour-Julien (Julian-Day)
// -------------------------------------------------------------------------------------
var mess_jj = "<strong><u>Jour Julien (Julian Day)</u></strong><br /><br/>";
mess_jj += "En 1583 Julius Scaliger (sobriquet de Joseph de l'Escale de Bordons, n\351 en France ";
mess_jj += "\340 Agen le 5 ao\373t 1540 et mort \340 Leyden (en Hollande) le 21 janvier 1609), propose dans ";
mess_jj += "le trait\351 de chronologie \253Opus Novum De Emendatione Temporum\273 un syst\350me o\371 les jours sont ";
mess_jj += "num\351rot\351s les uns apr\350s les autres sans distinction de mois et d'ann\351es.";
mess_jj += "<ul><li>D\351sirant utiliser une chronologie plus ancienne que les chronologies romaine et ";
mess_jj += "chr\351tienne, il basa son cycle sur l'indiction romaine (cycle de 15 ans), le cycle ";
mess_jj += "solaire (28 ans) et le nombre d'or (19 ans), 3 des \351l\351ments du \253Comput Eccl\351siastique\273.</li>";
mess_jj += "<li>La num\351rotation julienne d\351marre le jour o\371 ces trois \351l\351ments ont la valeur 1.</li>";
mess_jj += "<li>La derni\350re co\357ncidence a eu lieu en 4712 av. J-C, calendrier julien, et cette date ";
mess_jj += "fut choisie comme origine, avec comme jour de d\351part le \253dimanche\273.<br />";
mess_jj += "<li>Les dur\351es des trois cycles \351tant premi\350res entre elles, la co\357ncidence ne se ";
mess_jj += "reproduit que tous les 7980 ans (15 x 19 x 28) et la prochaine surviendra en 3268 ";
mess_jj += "julien.</li>";
mess_jj += "<li>Il est d'usage d'utiliser l'ann\351e julienne de 365,25 jours lorsque une notion d'ann\351e ";
mess_jj += "doit \352tre introduite, mais les ann\351es sont compt\351es selon la num\351rotation astronomique, ";
mess_jj += "c'est \340 dire que ce calendrier est utilis\351 \340 partir de 4713 av. J-C alors qu'il n'a ";
mess_jj += "r\351ellement \351t\351 utilis\351 qu'\340 partir de 46 av. J-C, et que de plus, il n'est pas tenu ";
mess_jj += "compte de la confusion dans les ann\351es bissextiles des premi\350res ann\351es du calendrier ";
mess_jj += "julien et que les ann\351es de 4713 av. J-C \340 1 av. J-C sont num\351rot\351es de -4712 \340 0.</li>";
mess_jj += "<li>Cette fa\347on de compter les jours est celle qui utilis\351e dans les calculs pour ";
mess_jj += "d\351terminer le nom des jours de l'ann\351e avec les corrections introduites par le ";
mess_jj += "calendrier gr\351gorien pour les dates apr\350s 1582 et les ann\351es bissextiles des si\350cles ";
mess_jj += "non divisibles par 400.</li></ul>";			  

// -------------------------------------------------------------------------------------
// Jour de la semaine
// -------------------------------------------------------------------------------------
var mess_js = "<strong><u>Jour de la semaine</u></strong><br /><br />";
mess_js += "La subdivision de l'ann\351e en 52 semaines correspond approximativement au nombre ";
mess_js += "de quarts de lunaison (Une semaine) renferm\351s dans l'ann\351e.<br />"; 
mess_js += "Une semaine, quant \340 elle, est divis\351e en 7 jours:<br />";
mess_js += "Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche nomm\351 ainsi en l'honneur ";
mess_js += "des sept astres connus \340 cet \351poque.";
mess_js += "<ul><li>Lundi : Jour de la Lune (S\351l\351n\351, Art\351mis, H\351cate).</li>";
mess_js += "<li>Mardi : Jour de Mars (Ar\350s), dieu de la guerre.</li>";
mess_js += "<li>Mercredi : Jour de Mercure (Herm\350s), messager des dieux.</li>";
mess_js += "<li>Jeudi : Jour de Jupiter (Zeus), le dieu supr\350me.</li>";
mess_js += "<li>Vendredi : Jour de V\351nus (Aphrodite), d\351esse de l'amour.</li>";
mess_js += "<li>Samedi : Jour de Saturne (Cronos), dieu du temps.</li>";
mess_js += "<li>Dimanche : Jour du soleil (Helios) ou jour de Dieu.</li></ul>";
mess_js += "Dans le calendrier R\351publicain, les mois, tous de 30 jours comportent 3 d\351cades ";
mess_js += "(d\351cadi). Les jours \340 l'int\351rieur de celles-ci ont un nom \351vocateur de leur position : ";
mess_js += "primidi, duodi, tridi, quartidi, quintidi, sextidi, septidi, octidi, nonidi, d\351cadi. ";
mess_js += "Le nom des Saints \351taient remplac\351s par des noms de v\351g\351taux, d'animaux et d'outils, "; 
mess_js += "(voir aide \253Nom du jour\273, 4 touches plus bas).<br />";
mess_js += "La num\351rotation des semaines est standardis\351e depuis 1976 ";
mess_js += "par l'Organisation Internationale de Standardisation:<br />";
mess_js += "<ul><li>Le lundi est consid\351r\351 comme le premier jour de la semaine.</li>";
mess_js += "<li>Les semaines d'une m\352me ann\351e sont num\351rot\351es de 01 \340 52 (quelquefois 53).</li>";
mess_js += "<li>La semaine de num\351ro 01 est celle qui contient le premier jeudi de janvier.";
mess_js += "Il peut exister une semaine n\26053 (ann\351es communes finissant un jeudi, ";
mess_js += "bissextiles finissant un jeudi ou un vendredi). IL arrive aussi assez rarement qu'un mois s'\351tale sur 6 semaines, ";
mess_js += "ce fut le cas pour janvier 2011 et octobre 2011.</li></ul>";	

// -------------------------------------------------------------------------------------
// Période calendaire
// ------------------------------------------------------------------------------------- 
var mess_pc = "<strong><u>P\351riode calendaire</u></strong><br /><br />";
mess_pc += "En France, depuis l'\351poque la plus lointaine trait\351e par cet outil, nous avons ";
mess_pc += "connu 3 types de calendrier, le calendrier \"Julien\", le calendrier \"Gr\351gorien\" ";
mess_pc += "et le calendrier \253R\351publicain\273.<br /><br />";
mess_pc += "La valeur de l'ann\351e \253 Julienne \273 est trop longue par rapport \340 l'ann\351e solaire de : ";
mess_pc += "365j 6h - 365j 5h 48mn 45sec = 11mn et 14 sec soit 674 sec.<br /><br />";
mess_pc += "En 1582 sous le Pape Gr\351goire XIII, le retard avait atteint un d\351calage depuis le ";
mess_pc += "concile de Nic\351e (325) de 847218 sec, soit 9,8 jours. Aussi le Pape dans sa bulle ";
mess_pc += "\253Inter Gravissimas\273 d\351cr\351ta t-il que le lendemain du Jeudi 4 octobre serait le ";
mess_pc += "vendredi 15 octobre, supprimant ainsi les 10 jours qui permettaient de corriger ";
mess_pc += "l'erreur et r\351forma le calendrier en supprimant toutes les ann\351es bissextiles des ";
mess_pc += "si\350cles se terminant par \25300\273 qui ne seraient pas divisibles par 400, ainsi 1600 ";
mess_pc += "est bissextile, 1700 ne l'est pas, 2000 l'est.<br /><br />";
mess_pc += "L'\351cart r\351siduel n'est actuellement que de 24 heures en trop sur une p\351riode de ";
mess_pc += "4000 ans et le calendrier gr\351gorien est toujours notre r\351f\351rence.<br /><br />";
mess_pc += "Il est \340 noter que l'Eglise Orthodoxe continue toujours \340 utiliser le calendrier Julien.<br />";
mess_pc += "Les changements de calendrier ont eu lieu les :<br />";
mess_pc += "<ul><li>Du Julien vers le Gr\351gorien le 4/10/1582.</li>";
mess_pc += "<li>Du Gr\351gorien vers le R\351volutionnaire le 22/09/1792.</li>";
mess_pc += "<li>Du R\351volutionnaire vers le Gr\351gorien le 31/12/1805.</li></ul>"; 

// ---------------------------------------------------------------------------------
// Détermination du type d'année (Normale ou bissextile ou sextile)
// ---------------------------------------------------------------------------------
var mess_ta = "<strong><u>Type d'ann\351e (normale ou Bissextile ou sextile)</u></strong><br /><br />";
mess_ta += "Pour \352tre bissextile, une ann\351e doit avoir son mill\351sime divisible par 4.<br />";
mess_ta += "Toutefois, les ann\351es dont le mill\351sime est divisible par 100 ne sont bissextiles "; 
mess_ta += "que si leur mill\351sime est aussi divisible par 400.<br /><br />";
mess_ta += "L'ann\351e 1792 de l'\350re gr\351gorienne est bissextile ainsi que tous les multiples de 4 qui lui ";
mess_ta += " sont additionn\351s. 1700, 1800, 1900  bissextiles, 2000 l'est.<br /><br/>";
mess_ta += "L'an 3 r\351publicain est sextile ainsi que tous les multiples de 4 qui lui sont ";
mess_ta += "additionn\351s y compris l'an 11 succ\351dant \340 1800 (non comptabilis\351e comme ";
mess_ta += "bissextile quant \340 elle dans le calendrier Gr\351gorien), d'o\371 un d\351calage apparaissant ";
mess_ta += "dans l'avancement du calendrier R\351publicain, par exemple, l'an 12 r\351publicain ";
mess_ta += "commen\347ant le 24 septembre 1803.<br /><br />";	
mess_ta += "<strong><u>Dans le calendrier R\351publicain :</u></strong><br /><br />";
mess_ta += "La franciade fut d\351finie en 1793 dans l'article dix du D\351cret de la Convention nationale sur l'\310re, "; 
mess_ta += "le commencement et l'organisation de l'Ann\351e, et sur les noms des Jours et des Mois, comme suit :<br />";
mess_ta += "\253<i>La p\351riode de quatre ans, au bout de laquelle cette addition d'un jour est ordinairement n\351cessaire,"; 
mess_ta += "est appel\351e la franciade, en m\351moire de la r\351volution qui, apr\350s quatre ans d'efforts, a conduit la France au gouvernement r\351publicain.\273</i><br />";
mess_ta += "Le jour ajout\351 \340 la fin des jours compl\351mentaires s'appelle alors le \253jour de la r\351volution\273.<br />";
mess_ta += "Franciade fut aussi le nom donn\351 \340 Saint-Denis (Seine-Saint-Denis) de 1793 \340 1800.";
  
// -------------------------------------------------------------------------------------
// ÉLÉMENTS DU COMPUT ÉCCLÉSIASTIQUE
// -------------------------------------------------------------------------------------
var mess_ce = "<strong><u>Comput \351ccl\351siastique</u></strong><br /><br />";
mess_ce += "Le comput eccl\351siastique est la base du fonctionnement de notre calendrier gr\351gorien.<br />";
mess_ce += "Il regroupe cinq indications qui sont publi\351es chaque ann\351e par la congr\351gation des ";
mess_ce += "rites, \340 Rome, elles permettent de d\351terminer la date du jour de P\342ques et celles de ";
mess_ce += "la plupart des f\352tes mobiles. Ce sont : "; 
mess_ce += "<ul><li>Le Cycle Solaire.</li>";
mess_ce += "<li>Le Nombre d'Or.</li>";
mess_ce += "<li>L'Indiction Romaine.</li>";
mess_ce += "<li>L'\351pacte.</li>";
mess_ce += "<li>La Lettre Dominicale.</li></ul>";
mess_ce += "Ces cinq \351l\351ments, qui caract\351risent une ann\351e, figurent sur certains calendriers, ";
mess_ce += "en petits caract\350res, au bas de la colonne r\351serv\351e au mois de f\351vrier (l\340 o\371 il ";
mess_ce += "reste en fait un peu de place, voir image ci-dessous, \340 gauche).<br />";

// -------------------------------------------------------------------------------------
// le cycle solaire:
// -------------------------------------------------------------------------------------
var mess_cs = "<strong><u>Cycle solaire</u></strong><br /><br />"; 
mess_cs += "Les ann\351es communes comportent 365 jours, soit 52 semaines plus un jour.<br />"; 
mess_cs += "Le 1er janvier se d\351cale de 1 jour d'une ann\351e sur l'autre sans les ann\351es bissextiles, "; 
mess_cs += "le calendrier se superposerait tous les sept ans, avec le jour suppl\351mentaire introduit ";
mess_cs += "tous les quatre ans, la co\357ncidence des jours de la semaine se r\351p\350te tous les 28 ans ";
mess_cs += "dans le calendrier julien.<br />";
mess_cs += "<ul><li>Dans le calendrier gr\351gorien, il faut tenir compte des ann\351es s\351culaires non bissextiles.</li>"; 
mess_cs += "<li>Le cycle solaire donne la position de l'ann\351e consid\351r\351e dans ce cycle de 28 ans.<br />";
mess_cs += "il est calcul\351 en ajoutant 1 au reste de la division de l'ann\351e + 8 par 28.</li>";
mess_cs += "<li>Le cycle solaire d'une ann\351e est: </li></ul>";
mess_cs += "<center><strong>cycle_solaire=[Annee + 8]28 + 1</strong>.</center><br />";
mess_cs += "<i>Dans cette formule les op\351rateurs [...] correspondent \340 une division modulo 28 (reste de la division).</i>";	

// -------------------------------------------------------------------------------------
// le nombre d'or:
// -------------------------------------------------------------------------------------
var mess_no = "<strong><u>Nombre d'or</u></strong><br /><br />"; 
mess_no += "Un astronome Ath\351nien \"M\351ton\" aurait d\351couvert en 432 avant JC que la dur\351e de ";
mess_no += "235 lunaisons \351tait quasiment \351gale \340 celle de 19 ann\351es solaires autrement dit ";
mess_no += "qu'au bout de 19 ans, l'\342ge de la lune \351tait identique aux m\352mes dates de l'ann\351e.<br />";
mess_no += "<ul><li>Le rang d'une ann\351e dans ce cycle de 199 ans , appel\351 \253cycle de M\351ton\273 est connu ";
mess_no += "sous le nom de nombre d'or en raison du fait qu'il \351tait grav\351 en lettres d'or sur ";
mess_no += "le temple de Minerve. <br />";
mess_no += "<li>Pour cette raison : chaque ann\351e poss\350de un nombre d'or (compris entre 1 et 19) "; 
mess_no += "qui repr\351sente le rang qu'elle occupe dans le cycle de M\351ton.</li>";
mess_no += "<li>Pour la premi\350re ann\351e d'un cycle de M\351ton, la lune est nouvelle le 23 janvier. <br />";
mess_no += "La lune se d\351cale de 11 jours tous les ans. Ainsi  une table de correspondance peut ";
mess_no += "\352tre \351tablie entre le nombre d'or et la date de la nouvelle lune de janvier et de mars.</li></ul>";
mess_no += "Le nombre d'or d\351fini par: <br /><br />";
mess_no += "<center><strong>nombre_d'or = [Annee]19 + 1</strong>.</center><br />";
mess_no += "<i>Dans cette formule les op\351rateurs [...] correspondent \340 une division modulo 19 (reste de la division).<br />";
mess_no += "Le Temple de Minerve (aujourd'hui l'\351glise Santa Maria sopra Minerva) est un ancien temple situ\351 \340 Assise, en Ombrie, "; 
mess_no += "\351rig\351 au 1er si\350cle av. J.C. du temps d'Auguste sur la place du forum, aujourd'hui \253Piazza del Comune\273 (Place de la commune).</i>";

// -------------------------------------------------------------------------------------
// le cycle d'indiction romaine
// -------------------------------------------------------------------------------------
var mess_ir = "<strong><u>Indiction romaine</u></strong><br /><br />";
mess_ir += "C'est une p\351riode introduite \340 Rome par l'empereur Constantin en 316 qui d\351signait ";
mess_ir += "un imp\364t extraordinaire pr\351lev\351 tous les 15 ans. <br />";
mess_ir += "<ul><li>Le premier cycle commen\347a le jour de l'an 313 apr. J-C.<br />";
mess_ir += "Plus tard elle a \351t\351 employ\351e comme note chronologique, appos\351e au bas des chartes ";
mess_ir += "et dipl\364mes.</li>";
mess_ir += "<li>L'indiction n'a aucune relation avec l'astronomie.";
mess_ir += "elle n'est pas utilis\351e dans le calcul de la date de P\342ques.</li>";
mess_ir += "<li>Elle est encore utilis\351e dans les bulles de la papaut\351, comme r\351f\351rence temporelle.</li>"; 
mess_ir += "<li>Elle est calcul\351e en ajoutant 1 au reste de la division de l'ann\351e + 2 par 15.</li></ul>";
mess_ir += "l'indiction d'une ann\351e est donc : <br />";
mess_ir += "<center><strong>Indiction=[ ann\351e + 2 ]15 + 1</strong>.</center><br />"; 
mess_ir += "<i>Dans cette formule les op\351rateurs [...] correspondent \340 une division modulo 15 (reste de la division).<br />";

// -------------------------------------------------------------------------------------
// la lettre dominicale
// -------------------------------------------------------------------------------------
var mess_ld = "<strong><u>Lettre dominicale</u></strong><br /><br />";
mess_ld += "C'est la lettre de l'alphabet qui correspond au dimanche au sein d'une ann\351e en ";
mess_ld += "attribuant la lettre A au premier jour de l'ann\351e , la lettre B au deuxi\350me , etc.<br />";
mess_ld += "La lettre dominicale est donc une lettre de A \340 G  qui correspond au premier dimanche ";
mess_ld += "de l'ann\351e.<br />";
mess_ld += "Le rang de cette lettre est calcul\351 en fonction du rang de la lettre dans l'alphabet "; 
mess_ld += "et varie de 1 \340 7.<br />";

// -------------------------------------------------------------------------------------
// L'épacte :
// -------------------------------------------------------------------------------------
var mess_ep = "<strong><u>\311pacte</u></strong><br /><br />";
mess_ep += "Elle mesure l'\342ge de la lune (nombre de jours apr\350s la nouvelle lune) au ";
mess_ep += "premier janvier.<br />";
mess_ep += "<ul><li>Dans le calendrier julien, l'\342ge de la lune est : <strong>\351pacte + 8 </strong><br />";
mess_ep += "<li>dans le calendrier gr\351gorien, l'\342ge de la lune est : <strong>\351pacte</strong> <br />";
mess_ep += "Si cette formule donne z\351ro, l'\351pacte = 0 et par convention \351pacte = 30 <br />";
mess_ep += "(\340 cause de l'absence du z\351ro dans les chiffres romains celui-ci ne pouvait \352tre ";
mess_ep += "repr\351sent\351).</li>"; 
mess_ep += "<li>Comme le nombre d'or peut prendre 19 valeurs entre 1 et 19, il y a ";
mess_ep += "au moins 19 valeurs d'\351pacte entre 1 et 30.</li></ul>";
mess_ep += "Dans le calendrier julien l'\351pacte est d\351finie par : <br />";
mess_ep += "<center><strong>\351pacte = [11 x (nombre d'or-1)]30</strong>.</center>";
mess_ep += "Dans le calendrier gr\351gorien l' \351pacte est d\351finie \340 partir de l'\351pacte julienne : <br />";
mess_ep += "<center><strong>\351pacte = [11 x (nombre d'or -1)]30</strong>.</center>";
mess_ep += "Il est tenu compte du fait que 3 des 4 si\350cles ont une ann\351e bissextile de moins ";
mess_ep += "que dans le si\350cle du calendrier julien : <br />";
mess_ep += "<center><strong>\351pacte = \351pacte - (3 x si\350cle) / 4</strong>.</center>";
mess_ep += "Il est tenu compte du fait que 19 ans n'est pas un nombre exact de mois synodiques.";
mess_ep += "<center><strong>\351pacte = \351pacte + (8 x si\350cle + 13) / 25</strong>.</center>";
mess_ep += "Il est ajout\351 8 pour en faire l'\342ge de la lune au premier janvier.<br />";
mess_ep += "<center><strong>\351pacte = \351pacte + 8</strong>.</center>";
mess_ep += "Il est ajout\351 ou retranch\351 30 pour que l'\351pacte ait une valeur entre 1 et 30. <br /><br />";
mess_ep += "<i>Dans les formules pr\351c\351dentes [a]b (\253a modulo b\273) = reste de la division enti\350re de a par b.<br />"; 

// -------------------------------------------------------------------------------------
// Date de Pâques
// -------------------------------------------------------------------------------------
var mess_pq = "<strong><u>Date de P\342ques</u></strong><br /><br />";
mess_pq += "Elle fut d\351finie au concile de Nic\351e, en l'an 325. <br />";
mess_pq += "<ul><li>Il fut d\351cid\351 que P\342ques serait \253le dimanche qui suit le quatorzi\350me jour de la Lune ";
mess_pq += "qui tombe le 21 mars ou imm\351diatement apr\350s\273.<br />";
mess_pq += "P\342ques est donc le premier dimanche suivant la premi\350re pleine lune \351ccl\351siastique ";
mess_pq += "suivant ou coincidant avec le 21 mars avec cette r\350gle, P\342ques ne peut \352tre plus t\364t ";
mess_pq += "que le 22 mars et plus tard que le 25 avril.</li>";
mess_pq += "<li>P\342ques est le jour de la r\351surrection du Christ, soit deux jours apr\350s la C\350ne, ";
mess_pq += "dernier repas du Christ et des Ap\364tres \340 la f\352te juive de Pessah (12 nissan), la P\342que ";
mess_pq += "juive qui a lieu le 15 du mois (lunaire) de Nissan. <br />";
mess_pq += "Toutefois, le d\351but du mois de Nissan, marqu\351 par la nouvelle lune, tombe au plus t\364t ";
mess_pq += "le 8 mars. <br />";
mess_pq += "Le quatorzi\350me jour de la Lune tombe donc au plus t\364t le 21 mars, ce qui \351claire la ";
mess_pq += "d\351finition adopt\351e au concile de Nic\351e.</li>";
mess_pq += "<li>En outre, cette date a une valeur symbolique, puisqu'elle correspond \340 l'\351quinoxe de ";
mess_pq += "printemps.</li></ul>";
mess_pq += "La date de P\342ques gr\351gorienne en jours de mars est calcul\351 par la formule :<br />"; 
mess_pq += "<center><strong>P = 45 - e' + [e' + l + 1]7</strong>.</center>";
mess_pq += "formule dans laquelle : <strong>e' = e si e < 24, e' = 25 si e = 24, et e' = e - 30 si e > 24.</strong><br />.";
mess_pq += "et [...] correspond \340 une division modulo 7 du contenu entre crochets (reste de la division).<br />"; 
mess_pq += "<ul><li>H\351las il y a une exception li\351e \340 la pr\351sence de deux \351pactes 25 dans le calendrier ";
mess_pq += "lunaire perp\351tuel gr\351gorien, not\351es par exemple 25 et XXV pour les distinguer. ";
mess_pq += "C'est la 2\350me qui est utilis\351e quand le nombre d'or est sup\351rieur \340 11, lorsque ";
mess_pq += "l'\351pacte vaut XXV, il faut prendre 	e' = 26.</li>";
mess_pq += "<li>Avec cette complication nouvelle, il n'est pas surprenant de constater que dans le ";
mess_pq += "calendrier gr\351gorien, les m\352mes dates de P\342ques ne reviennent que tous les 57 000 ";
mess_pq += "si\350cles, soit 5,7 millions d'ann\351es ! </li></ul>";   
 
// -------------------------------------------------------------------------------------
// Fêtes Mobiles
// -------------------------------------------------------------------------------------
var mess_fm = "<strong><u>F\352tes mobiles</u></strong><br /><br />";
mess_fm += "Le calendrier comporte \340 la fois des f\352tes dont la date est immuable (les f\352tes fixes) ";
mess_fm += "et des f\352tes dont la date varie d'ann\351e en ann\351e (les f\352tes mobiles).<br />";
mess_fm += "Les f\352tes mobiles, pour la plupart, sont li\351es \340 la date du jour de P\342ques et ";
mess_fm += "d\351pendent donc du Comput \311ccl\351siastique (CE) :<br />";	
mess_fm += "<ul><li>Epiphanie : 1er dimanche de l'ann\351e, sa date en janvier, correspond en fait au rang de la lettre dominicale du CE </li>";
mess_fm += "<li>Mardi Gras : 47 jours avant P\342ques</li>";
mess_fm += "<li>Mercredi des Cendres : 46 jours avant P\342ques</li>";
mess_fm += "<li>Dimanche de Car\352me : 6\350me dimanche avant P\342ques</li>";
mess_fm += "\t(avant 1969 : Quadrag\351sime du latin quadragesimus = quaranti\350me,<br />\tpremier dimanche ";
mess_fm += "du Car\352me).<br />";
mess_fm += "<li>Mi-Car\352me : le jeudi, 24 jours avant P\342ques.</li>";
mess_fm += "<li>Passion : 2\350me dimanche avant P\342ques.</li>";
mess_fm += "<li>Rameaux : 1er dimanche avant P\342ques.</li>";
mess_fm += "<li>Vendredi Saint : 2 jours avant P\342ques.</li>";
mess_fm += "<li>Quasimodo : 1er dimanche apr\350s P\342ques.</li>";
mess_fm += "<li>Ascension : le jeudi, 39 jours apr\350s P\342ques.</li>";
mess_fm += "<li>Pentec\364te : 7\350me dimanche apr\350s P\342ques.</li>";
mess_fm += "<li>Trinit\351 : 1er dimanche apr\350s la Pentec\364te.</li>";
mess_fm += "<li>F\352te-Dieu : 2\350me jeudi apr\350s la Pentec\364te - c\351l\351br\351e le dimanche suivant.</li>";
mess_fm += "<li>F\352te-Scr\351 C\234ur : 3\350me vendredi apr\350s la Pentec\364te.</li></ul>";

// -------------------------------------------------------------------------------------
// Fêtes du jour
// -------------------------------------------------------------------------------------
var mess_fj = "<strong><u>F\352tes du jour</u></strong><br /><br />";
mess_fj += "La f\352te affich\351e ne correspond pas forc\351ment \340 un nom de \253Saint\273 ou de \253Bienheureux\273. ";
mess_fj += "Cependant la date de f\352te est celle du saint patron de chacun des pr\351noms.<br />";
mess_fj += "Un pr\351nom peut avoir plusieurs saints patrons f\352t\351 \340 des dates diff\351rentes, exemple \253Claude\273 ";
mess_fj += "qui peut \352tre le 15 f\351vrier ou le 6 juin.<br />";	 

// -------------------------------------------------------------------------------------
// No du jour et de la semaine (N.U.)
// -------------------------------------------------------------------------------------
mess_ns =  "<strong><u>Num\351ro du jour et de la semaine</u></strong><br /><br />";
mess_ns += "Le num\351ro de chaque jour \340 l'int\351rieur de son ann\351e est fourni depuis 1567.<br />";
mess_ns += "La num\351rotation standardis\351e des semaines l'est depuis 1976.<br /><br />";
mess_ns += "Recommandations de l'Organisation Internationale de Standardisation:<br />";
mess_ns += "Le lundi est consid\351r\351 comme le premier jour de la semaine.<br />";
mess_ns += "Les semaines d'une m\352me ann\351e sont num\351rot\351es de 01 \340 52 (parfois 53).<br />";
mess_ns += "La semaine qui porte le num\351ro 01 est celle qui contient le premier jeudi de janvier.<br />";
mess_ns += "Il peut exister une semaine n\271 53 (ann\351es communes finissant un jeudi, bissextiles finissant un jeudi ou un vendredi).<br />";

// -------------------------------------------------------------------------------------
// Calendrier Républicain
// -------------------------------------------------------------------------------------
var mess_cr = "<strong><u>Datation r\351publicaine</u></strong><br /><br />";
mess_cr += "l'An I du calendrier r\351publicain commence le 22 septembre 1792, jour de l'institution de la r\351publique ";
mess_cr += "et de l'\351quinoxe d'automne \340 9 h 18 min. 30 sec. du matin pour l'observatoire de Paris de l'h\351misph\350re nord, c'est cet \351v\351nement qui fut choisi pour ";
mess_cr += "d\351terminer le d\351but de l'ann\351e, et aussi la raison pour laquelle le premier Vend\351miaire ";
mess_cr += "ne correspond pas toujours au 22 septembre.<br />";
mess_cr += "<ul><li>Chaque ann\351e commence \340 minuit, le jour de l'\351quinoxe vrai d'automne, ";
mess_cr += "calcul\351 pour la longitude de Paris.</li><br />";
mess_cr += "La premi\350re ann\351e de la r\351publique fran\347aise a commenc\351 \340 minuit le 22 septembre 1792, et a fini \340 minuit, de la nuits\351parant le 21 du 22 septembre 1793.";	
mess_cr += "(ou 0 heure du matin le 22, ce qui fait que dans ce cas il reste 9 jours pleins sur le mois de septembre).";
mess_cr += "<li>L'ann\351e est partag\351e en douze mois \351gaux de 30 jours, plus cinq ou six jours ";
mess_cr += "suppl\351mentaires dits \"compl\351mentaires\" (on les appela bri\350vement sans-culottides ";
mess_cr += "entre Brumaire an II et Fructidor an III).</li>";
mess_cr += "<li>le 6\350me jour compl\351mentaire (dit \"de la r\351volution\") est ajout\351 tous les 4 ans, ";
mess_cr += "l'ann\351e est alors dite \"sextile\"; une p\351riode de 4 ans s'appelant une Franciade.</li>"; 
mess_cr += "<li>le calendrier r\351publicain resta officiel jusqu'au 10 Niv\364se an XIV (31 D\351cembre 1805).</li></ul>";	   

/*
Décret de la Convention nationale sur l’Ere nouvelle, le commencement et l’organisation de l’Année, et sur les noms des Jours et des Mois.
Du 4ème jour de Frimaire an second de la République française, une et indivisible.
1. L’ère des Français compte de la fondation de la république, qui a eu lieu le 22 septembre 1792 de l’ère vulgaire, 
jour où le soleil est arrivé à l’équinoxe vrai d’automne, en entrant dans le signe de la balance, à 9 heures 18 minutes 30 secondes du matin pour l’observatoire de Paris.
2. L’ère vulgaire est abolie pour les usages civils.
3. Chaque année commence à minuit, avec le jour où tombe l’équinoxe vrai d’automne pour l’observatoire de Paris.
4. La première année de la république française a commencé à minuit le 22 septembre 1792, et a fini à minuit, séparant le 21 du 22 septembre 1793.
5. La seconde année a commencé le 22 septembre 1793 à minuit, l’équinoxe vrai d’automne étant arrivé ce jour-là, pour l’observatoire de Paris, à 3 heures 11 minutes et 38 secondes du soir.
6. Le décret qui fixait le commencement de la seconde année au I.er janvier 1793, est rapporté ; 
tous les actes datés l’an second de la république, passés dans le courant du 1er janvier au 21 septembre inclusivement, sont regardés comme appartenant à la première année de la république.
7. L’année est divisée en douze mois égaux, de trente jours chacun ; après les douze mois suivent cinq jours pour compléter l’année ordinaire ; ces 5 jours n’appartiennent à aucun mois.
8. Chaque mois est divisé en trois parties égales, de dix jours chacune, qui sont appelées décades.
9. Les noms des jours de la décade sont : primidi, duodi, tridi, quartidi, quintidi, sextidi, septidi, octidi, nonidi, décadi. (note : primdi devient primidi)
Les noms des mois sont, pour l’automne, vendémiaire, brumaire, frimaire ; pour l’hiver, nivôse, pluviôse, ventôse ; pour le printemps, germinal, floréal, prairial ; pour l’été, messidor, thermidor, fructidor.
Les cinq derniers jours s’appellent les sans-culotides.
12. Le comité d’instruction publique est chargé de faire imprimer en différens formats le nouveau calendrier, avec une instruction simple pour en expliquer les principes et l’usage.
14. Tous les actes publics seront datés suivant la nouvelle organisation de l’année.
15. Les professeurs, les instituteurs et institutrices, les pères et mères de famille, et tous ceux qui dirigent l’éducation des enfans, 
s’empresseront à leur expliquer le nouveau calendrier, conformément à l’instruction qui y est annexée.
16. Tous les quatre ans, ou toutes les franciades, au jour de la révolution, il sera célébré des jeux républicains, en mémoire de la révolution française.
*/

// -------------------------------------------------------------------------------------
// Nom des jours Républicains
// ------------------------------------------------------------------------------------- 
var mess_nr = "<strong><u>Nom des jours r\351publicains</u></strong><br /><br />"; 
mess_nr += "Les noms associ\351s aux jours du calendrier r\351publicain ont \351t\351 choisis par le po\350te ";
mess_nr += "<strong>Philippe Fran\347ois Nazaire Fabre, dit Fabre d'Eglantine (1750-1794)</strong>, ";
mess_nr += "parmi les noms de fleurs, d'arbres, de plantes diverses, d'animaux et d'outils agricoles.<br />";
mess_nr += "De m\352me, il s'\351tait aussi inspir\351, pour les noms des mois, du rythme des saisons ";
mess_nr += "et des \351v\351nements naturels qui les concernent : ainsi l'ann\351e r\351publicaine commence avec le mois de vend\351miaire, ";
mess_nr += "mois des vendanges, correspondant \340 la p\351riode du 22 septembre au 21 octobre.<br /><br />";
mess_nr += "Les pr\351noms de la p\351riode r\351volutionnaire que l'on peut rencontrer dans les \351tats civils sont issus pour certains du calendrier, ";
mess_nr += "mais davantage de la p\351riode r\351volutionnaire m\352me, (on a l'exemple de \253Montagnarde\273 pour une fille), ";
mess_nr += "avec des victoires telles que Valmy, ou des personnages politiques, tels que Barras.<br />"; 
mess_nr += "L'Antiquit\351 fut \351galement une source de pr\351noms : Brutus, C\351sar, Agricola, etc.<br /><br />";
mess_nr += "Le 11 germinal an XI (1er avril 1803) une nouvelle loi organise l'utilisation des pr\351noms : "; 
mess_nr += "seuls ceux contenus dans le calendrier gr\351gorien ou ceux de personnages historiques peuvent \352tre port\351s,"; 
mess_nr += "les pr\351noms inscrits au calendrier r\351publicain sont interdits. Plus de Thim\350le, Aub\351pine, Basilic, Belle de nuit...<br />";

// -------------------------------------------------------------------------------------
 var mess_ea = "<strong><u>Equinoxe d'Automne</u></strong><br /><br />"; 
mess_ea += "Les ann\351es bissextiles furent introduites pour permettre au jour de la nouvelle ann\351e de rester positionn\351 au moment de l'\351quinoxe d'automne.<br />"; 
mess_ea += "C'est donc toujours l'\351quinoxe pr\351c\351dent la date \340 convertir qui sera pris en consid\351ration (soit celui de l'ann\351e gr\351gorienne pr\351c\351dente soit celui de l'ann\351e en cours).<br />";
mess_ea += "Mais \340 l'\351poque de la R\351volution, ce fut difficile \340 manipuler parce que l'\351quinoxe n'\351tait pas aussi simple \340 d\351terminer.<br /><br />"; 
mess_ea += "Ainsi, une r\350gle similaire \340 celle utilis\351e dans le calendrier Gr\351gorien (r\350gle des 400 ans ) a \351t\351 mise en place"; 
mess_ea += "au cours de l'ann\351e XX bien que le calendrier R\351publicain fut abolit en l'an XIV. D'o\371 la non-pertinence de la r\350gle adopt\351e.<br /><br />";
mess_ea += "Les ann\351es 3, 6 et 11 furent Bissextiles. Les ann\351es 15 et 20 auraient du \352tre bissextiles, apr\350s, chaque 4\350me ann\351e "; 
mess_ea += "(\340 l'exception de la 100\350me etc.) aurait du \352tre bissextile.<br />";
mess_ea += "(L'historicit\351 de ces r\350gles sur les ann\351es bissextiles a \351t\351 discut\351e. Une source mentionne que le calendrier utilisait une "; 
mess_ea += "r\350gle qui aurait donn\351 31 ann\351es bissextiles toutes les p\351riodes de 128 ann\351es.)<br /><br />";
mess_ea += "Pour ce calendrier, l'extension du calcul des dates r\351publicaines a \351t\351 r\351alis\351 en d\351terminant l'\351quinoxe d'automne, ";	
mess_ea += "\340 l'aide d'un algorythme de G Satre adapt\351 \340 ce site, ce dernier a \351t\351 trouv\351 sur le site de l'<strong>Imcce</strong>, adresse Internet : <br />";
mess_ea += "<div class='centrer'>\253<a href='http://www.imcce.fr/fr/grandpublic/temps/saisons.php' target='_blank'>http://www.imcce.fr/fr/grandpublic/temps/saisons.php</a>\273</div><br />";
mess_ea += "voir aussi la page suivante, pour les explications sur les \351quinoxes : <br /><br />";
mess_ea += "<div class='centrer'>\253<a href='http://www.imcce.fr/fr/grandpublic/temps/saisons/presentation_saisons.php' target='_blank'>http://www.imcce.fr/fr/grandpublic/temps/saisons/presentation_saisons.php</a>\273</div><br />";
mess_ea += "Qu'il soit remerci\351 pour ce travail tr\350s utile.";    
// -------------------------------------------------------------------------------------











