/* AUTEUR: Joël DESPREZ */
/* DATE DE CREATION: 06/11/01 */

// Debut script
// ********** CONVERSION REPUBLICAIN -- GREGORIEN ***********
// Début des variables pour la conversion en grégorien
var jourG = 0
var moisG = 0
var anG = 0
var a = 0
// Fin des variables pour la conversion en grégorien
// Début Fonction AFFICHAGE (affichage du résultat de la conversion en grégorien)
function affichageG(jourG,moisG,anG) {
  document.forms[10].JResult.value=jourG
  document.forms[11].MResult.value=moisG
  document.forms[12].AResult.value=anG
}
// Fin Fonction AFFICHAGE
// Début Fonction CONVGREGORIEN (conversion des dates du calendrier républicain en dates du calendrier grégorien)
function convgregorien() {
  var jourR = document.forms[0].JR.selectedIndex // Récupération du jour républicain
  var moisR = document.forms[1].MR.selectedIndex // Récupération du mois républicain
  var anR = document.forms[2].AR.selectedIndex // Récupération de l'an républicain
  var jourCR = document.forms[3].JCR.selectedIndex // Récupération du jour complémentaire ou intercalaire républicain
  var anJCR = document.forms[4].AJCR.selectedIndex // Récupération de l'an républicain
// Début de la conversion des 12 mois grégoriens
if (a==0) {
  // Début de la conversion pour les 4 premiers mois 
  if (moisR<=4) {
    if ((anR<=3) || (anR==5) || (anR==6) || (anR==7)) {
      if ((moisR==4) && (jourR>11)) {anG=1792+anR}
	  else {anG = 1792 + (anR-1) }
	
  	  if (moisR==1) {
	    jourG=(jourR-1)+22
	    if (jourG>30) {
		  jourG=jourG-30
		  affichageG(jourG,"Octobre",anG)
	    }
	    else {affichageG(jourG,"Septembre",anG)}
	  }
	
	  if (moisR==2) {
	    jourG=(jourR-1)+22
	    if (jourG>31) {
		  jourG=jourG-31
		  affichageG(jourG,"Novembre",anG)
	    }
	    else {affichageG(jourG,"Octobre",anG)}
	  }
	
	  if (moisR==3) {
	    jourG=(jourR-1)+21
	    if (jourG>30) {
		  jourG=jourG-30
		  affichageG(jourG,"Décembre",anG)
	    }
	    else {affichageG(jourG,"Novembre",anG)}
	  }
	
	  if (moisR==4) {
	    jourG=(jourR-1)+21
	    if (jourG>31) {
		  jourG=jourG-31
		  affichageG(jourG,"Janvier",anG)
	    }
	    else {affichageG(jourG,"Décembre",anG)}
	  }
    }
  
    if ((anR==4)||(anR==8)||(anR==9)||(anR==10)||(anR==11)||(anR>=13)) {
	  if ((moisR==4) && (jourR>10)) {anG=1792+anR}
	  else {anG=1792+(anR-1)}
	  	
  	  if (moisR==1) {
	    jourG=(jourR-1)+23
	    if (jourG>30) {
		  jourG=jourG-30
		  affichageG(jourG,"Octobre",anG)
	    }
	    else {affichageG(jourG,"Septembre",anG)}
	  }
	
	  if (moisR==2) {
	    jourG=(jourR-1)+23
	    if (jourG>31) {
		  jourG=jourG-31
		  affichageG(jourG,"Novembre",anG)
	    }
	    else {affichageG(jourG,"Octobre",anG)}
	  }
	
	  if (moisR==3) {
	    jourG=(jourR-1)+22
	    if (jourG>30) {
		  jourG=jourG-30
		  affichageG(jourG,"Décembre",anG)
	    }
	    else {affichageG(jourG,"Novembre",anG)}
	  }
	
	  if (moisR==4) {
	    jourG=(jourR-1)+22
	    if (jourG>31) {
		  jourG=jourG-31
		  if ((anG==1806) && (jourR>=12)) {affichageG("---------","Fin calendrier","---------")} // Fin du calendrier républicain
		  else {affichageG(jourG,"Janvier",anG)}
	    }
	    else {affichageG(jourG,"Décembre",anG)}
	  }
    }
  
    if (anR==12) {
	  if ((moisR==4) && (jourR>9)) {anG=1792+anR}
	  else {anG=1792+(anR-1)}
	  	
  	  if (moisR==1) {
	    jourG=(jourR-1)+24
	    if (jourG>30) {
		  jourG=jourG-30
		  affichageG(jourG,"Octobre",anG)
	    }
	    else {affichageG(jourG,"Septembre",anG)}
	  }
	
	  if (moisR==2) {
	    jourG=(jourR-1)+24
	    if (jourG>31) {
		  jourG=jourG-31
		  affichageG(jourG,"Novembre",anG)
	    }
	    else {affichageG(jourG,"Octobre",anG)}
	  }
	
	  if (moisR==3) {
	    jourG=(jourR-1)+23
	    if (jourG>30) {
		  jourG=jourG-30
		  affichageG(jourG,"Décembre",anG)
	    }
	    else {affichageG(jourG,"Novembre",anG)}
	  }
	
	  if (moisR==4) {
	    jourG=(jourR-1)+23
	    if (jourG>31) {
		  jourG=jourG-31		
	      affichageG(jourG,"Janvier",anG)
	    }
	    else {affichageG(jourG,"Décembre",anG)}
	  }
    }
  }
  // Fin de la conversion pour les 4 premiers mois 
  // Début de la conversion pour les 8 derniers mois et les années bissextiles
  if (moisR>=5) {
    anG = 1792 + anR
    if (moisR==5) {
	  if (anR==12) {jourG=(jourR-1)+22}
	  else {
	    if ((anR==4)||(anR>=8)) {jourG=(jourR-1)+21}
	  	else {jourG=(jourR-1)+20}
	  }
	  if (jourG>31) {
		jourG=jourG-31
		affichageG(jourG,"Février",anG)
	  }
	  else {affichageG(jourG,"Janvier",anG)}
	}
	
	if (moisR==6) {
	  if (anR==12) {jourG=(jourR-1)+21}
	  else {
	  	if ((anR==4)||(anR>=8)) {jourG=(jourR-1)+20}
	  	else {jourG=(jourR-1)+19}
	  }
	  if (jourG>28) {
	    if ((anR==4)&&(jourR>10)) {jourG=jourG-29} //année bissextile 1796 (affichage après le 29 février)
		else {
		  if ((anR==12)&&(jourR>9)) {jourG=jourG-29} //année bissextile 1804 (affichage après le 29 février)
		  else {jourG=jourG-28} //années non bissextiles (affichage après le 28 février)
		}
		if ((anR==4)&&(jourR==10)) {jourG=(jourR-1)+20;affichageG(jourG,"Février",anG)} //année bissextile 1796 (affichage du 29 février 1796)
		else {
		  if ((anR==12)&&(jourR==9)) {jourG=(jourR-1)+21;affichageG(jourG,"Février",anG)} //année bissextile 1804 (affichage du 29 février 1804)
		  else {affichageG(jourG,"Mars",anG)}
		}
	  }
	  else {affichageG(jourG,"Février",anG)}
	}
	
	if (moisR==7) {
	  if (anR>=8) {jourG=(jourR-1)+22}
	  else {jourG=(jourR-1)+21}
	  if (jourG>31) {
		jourG=jourG-31
		affichageG(jourG,"Avril",anG)
	  }
	  else {affichageG(jourG,"Mars",anG)}
	}
	
	if (moisR==8) {
	  if (anR>=8) {jourG=(jourR-1)+21}
	  else {jourG=(jourR-1)+20}
	  if (jourG>30) {
		jourG=jourG-30
		affichageG(jourG,"Mai",anG)
	  }
	  else {affichageG(jourG,"Avril",anG)}
	}
	
	if (moisR==9) {
	  if (anR>=8) {jourG=(jourR-1)+21}
	  else {jourG=(jourR-1)+20}
	  if (jourG>31) {
		jourG=jourG-31
		affichageG(jourG,"Juin",anG)
	  }
	  else {affichageG(jourG,"Mai",anG)}
	}
	
	if (moisR==10) {
	  if (anR>=8) {jourG=(jourR-1)+20}
	  else {jourG=(jourR-1)+19}
	  if (jourG>30) {
		jourG=jourG-30
		affichageG(jourG,"Juillet",anG)
	  }
	  else {affichageG(jourG,"Juin",anG)}
	}
	
	if (moisR==11) {
	  if (anR>=8) {jourG=(jourR-1)+20}
	  else {jourG=(jourR-1)+19}
	  if (jourG>31) {
		jourG=jourG-31
		affichageG(jourG,"Août",anG)
	  }
	  else {affichageG(jourG,"Juillet",anG)}
	}

	if (moisR==12) {
	  if (anR>=8) {jourG=(jourR-1)+19}
	  else {jourG=(jourR-1)+18}
	  if (jourG>31) {
		jourG=jourG-31
		affichageG(jourG,"Septembre",anG)
	  }
	  else {affichageG(jourG,"Août",anG)}
	}
  }
  // Fin de la conversion pour les 8 derniers mois
}
// Fin de la conversion des 12 mois grégoriens
// Début de la conversion des 5 jours complémentaires et du jour intercalaire (années bissextiles)
if (a==1) {
  anG = 1792 + anJCR
  moisG = "Septembre"
  
  if (anJCR<=7) {
	jourG=16 + jourCR
	if (jourCR==6) {
	  if ((anJCR==3)||(anJCR==7)) {affichageG(jourG,moisG,anG)} // Années bissextiles [fin An 3 (1796) et fin An 7 (1800 non bissextile !)]
	  else {affichageG("---------","Non bissext.","---------")}
	}
	else {affichageG(jourG,moisG,anG)}
  }
  
  if (anJCR>=8) {
	jourG=17 + jourCR
	if (jourCR==6) {
	  if (anJCR==11) {affichageG(jourG,moisG,anG)} // Année bissextile [fin An 11 (1804)]
	  else {affichageG("---------","Non bissext.","---------")}
	}
	else {affichageG(jourG,moisG,anG)}
  }
}
// Fin de la conversion des 5 jours complémentaires et du jour intercalaire (années bissextiles)
}
// Fin Fonction CONVGREGORIEN

// ********** CONVERSION GREGORIEN -- REPUBLICAIN ***********
// Début des variables pour la conversion en républicain
var jourR = 0
var moisR = 0
var anR = 0
// Fin des variables pour la conversion en républicain
// Début Fonction AFFICHAGE (affichage du résultat de la conversion en républicain)
function affichageR(jourR,moisR,anR) {
  document.forms[10].JResult.value=jourR
  document.forms[11].MResult.value=moisR
  document.forms[12].AResult.value=anR
}
// Fin Fonction AFFICHAGE
// Début Fonction CONVREPUBLICAIN (conversion des dates du calendrier républicain en dates du calendrier grégorien)
function convrepublicain() {
  var jourG = document.forms[6].JG.selectedIndex // Récupération du jour grégorien
  var moisG = document.forms[7].MG.selectedIndex // Récupération du mois grégorien
  var anG = document.forms[8].AG.selectedIndex // Récupération de l'an grégorien
// Début de la conversion des 12 mois républicains
    // Début de la conversion pour les 8 premiers mois 
    if (moisG<9) {
      anR =(anG-1)
  	  if (moisG==1) {
	    if (anG==13) {jourR=(jourG-1)+10}
	    else {
	      if ((anG==5)||(anG>=9)) {jourR=(jourG-1)+11}
	  	  else {jourR=(jourG-1)+12}
	    }
	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||((anG==15)&&(jourG>=21))) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et plus du 21 au 31 janvier 1806
		  else {affichageR(jourR,"Pluviôse","An "+anR)}
		}
	    else {
		  if (anG==1) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792
		  else {
		    if ((anG==15)&&(jourG>=2)) {affichageR("---------","Fin","---------")} // Fin du calendrier républicain le 1 janvier 1806 jusqu'au 20 janvier 1806
			else {affichageR(jourR,"Nivôse","An "+anR)}
		  }
		}
	  }
	  
	  if (moisG==2) {
	    if (anG==13) {jourR=(jourG-1)+11}
	    else {
	      if ((anG==5)||(anG>=9)) {jourR=(jourG-1)+12}
	  	  else {jourR=(jourG-1)+13}
	    }
	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||(anG==15)||((((anG>=2)&&(anG<=4))||((anG>=6)&&(anG<=12))||(anG==14))&&(jourG>28))) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain pour les années 1792 et Années non bissextiles
		  else {
		    if (((anG==5)||(anG==13))&&(jourG>29)) {affichageR("Rien","Bissextile","Rien")} // Années bissextiles
			else {affichageR(jourR,"Ventôse","An "+anR)}
		  }
		}
	    else {
		    if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain pour les années 1792 et 1806
		    else {affichageR(jourR,"Pluviôse","An "+anR)}
		}
	  }

  	  if (moisG==3) {
	    if ((anG>=2)&&(anG<=8)) {jourR=(jourG-1)+11}
    	else {jourR=(jourG-1)+10}

	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Germinal","An "+anR)}
		}
	    else {
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Ventôse","An "+anR)}
		}
	  }

  	  if (moisG==4) {
	    if ((anG>=2)&&(anG<=8)) {jourR=(jourG-1)+12}
    	else {jourR=(jourG-1)+11}

	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||(anG==15)||(jourG==31)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806 et rien au delà du 31
		  else {affichageR(jourR,"Floréal","An "+anR)}
		}
	    else {
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Germinal","An "+anR)}
		}
	  }

  	  if (moisG==5) {
	    if ((anG>=2)&&(anG<=8)) {jourR=(jourG-1)+12}
    	else {jourR=(jourG-1)+11}

	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Prairial","An "+anR)}
		}
	    else {
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Floréal","An "+anR)}
		}
	  }

  	  if (moisG==6) {
	    if ((anG>=2)&&(anG<=8)) {jourR=(jourG-1)+13}
    	else {jourR=(jourG-1)+12}

	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||(anG==15)||(jourG==31)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806 et rien au delà du 31
		  else {affichageR(jourR,"Messidor","An "+anR)}
		}
	    else {
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Prairial","An "+anR)}
		}
	  }

  	  if (moisG==7) {
	    if ((anG>=2)&&(anG<=8)) {jourR=(jourG-1)+13}
    	else {jourR=(jourG-1)+12}

	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Thermidor","An "+anR)}
		}
	    else {
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Messidor","An "+anR)}
		}
	  }

  	  if (moisG==8) {
	    if ((anG>=2)&&(anG<=8)) {jourR=(jourG-1)+14}
    	else {jourR=(jourG-1)+13}

	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Fructidor","An "+anR)}
		}
	    else {
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Thermidor","An "+anR)}
		}
	  }
    }
	// Fin de la conversion pour les 8 premiers mois
	// Début de la conversion pour le 9ème mois  
  	  if (moisG==9) {
	    if (((anG>=1)&&(anG<=3)) && (jourG>=22)) {anR=anG;jourR==1}
	    else {
		  if ((anG==4) && (jourG>=23)) {anR=anG}
		  else {
		    if (((anG>=5)&&(anG<=7)) && (jourG>=22)) {anR=anG}
		    else {
		      if (((anG>=8)&&(anG<=11)) && (jourG>=23)) {anR=anG}
			  else {
			    if ((anG==12) && (jourG>=24)) {anR=anG}
			    else {
			      if (((anG>=13)&&(anG<=14)) && (jourG>=23)) {anR=anG}
				  else {anR =(anG-1)}
			    }
			  }
		    }
		  }
	    }
	  
	    if ((anG>=2)&&(anG<=8)) {jourR=(jourG-1)+15}
    	else {jourR=(jourG-1)+14}

	    if (jourR>30) {
		  jourR=jourR-30  
		  if (((anG==1)&&(jourG<=21))||(anG==15)||(jourG==31)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 jusqu'au 21 septembre et pas en 1806 et rien au delà du 31
		  else {
		    if (((anG==2)||(anG==3)||(anG==5)||(anG==6)||(anG==7))&&((jourG>=17)&&(jourG<=21))) {
			  jC=jourG-16
			  if (jC==1) {e="er"}
			  else {e="ème"}
			  affichageR(jC+e,"Jour Compl.","An "+anR)
			} // 5 jours complémentaires (17 au 21 sept) des années non bissextiles [Fin : an 1, an 2, an 4, an 5, an 6]
			else {
			  if (((anG==9)||(anG==10)||(anG==11)||(anG==13)||(anG==14))&&((jourG>=18)&&(jourG<=22))) {
			    jC=jourG-17
				if (jC==1) {e="er"}
				else {e="ème"}
				affichageR(jC+e,"Jour Compl.","An "+anR)
			  } // 5 jours complémentaires (17 au 21 sept) des années non bissextiles [Fin : an 8, an 9, an 10, an 12, an 13]
			  else {
			    if ((anG==12)&&((jourG>=18)&&(jourG<=23))) {
			      jC=jourG-17
				  if (jC==1) {e="er";j="Compl."}
				  else {e="ème";j="Compl."}
				  if (jC==6) {j="Intercal."}
				  affichageR(jC+e,"Jour "+j,"An "+anR)
			    } // 5 jours complémentaires (18 au 22 sept) et 1 jour intercalaire (23 sept)[année bissextile 1804] 
			    else {
		  	      if (((anG==4)||(anG==8))&&((jourG>=17)&&(jourG<=22))) {
				    jC=jourG-16
					if (jC==1) {e="er";j="Compl."}
					else {e="ème";j="Compl."}
					if (jC==6) {j="Intercal."}
					affichageR(jC+e,"Jour "+j,"An "+anR)
				  } // 5 jours complémentaires (17 au 21 sept) et 1 jour intercalaire (22 septembre) [années bissextiles 1796 et 1800 (non bissextile en grégorien, mais bissextile en républicain)]
				  else {
				    if ((anG==4)||((anG>=8)&&(anG<=11))||(anG==13)||(anG==14)) {jourR=jourG-22}
				    else {
					  if (anG==12){jourR=jourG-23}
					  else {jourR=jourG-21}
					}
					affichageR(jourR,"Vendémiaire","An "+anR)
				  } // Affichage du 1er vendémiaire pour toutes les années (an 1 à an 3 et an 5 à an 7 : 22 sept, an 4, an à an 11, an 13 et an 14 : 23 sept, an 12 : 24 sept)
			    }
			  }
			}
		  }
		}
	    else {
		  if ((anG==1)||(anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1792 et 1806
		  else {affichageR(jourR,"Fructidor","An "+anR)}
		}
	  }
	// Fin de la conversion pour le 9ème mois
	// Début de la conversion pour les 3 derniers mois
    if (moisG>=10) {
	  anR = anG
	  if (moisG==10) {
	    if (anG==12) {jourR=(jourG-1)+8}
	    else {
	      if ((anG==4)||(anG>=8)) {jourR=(jourG-1)+9}
	  	  else {jourR=(jourG-1)+10}
	    }
	    if (jourR>30) {
		  jourR=jourR-30
		  if (anG==15) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1806
		  else {affichageR(jourR,"Brumaire","An "+anR)}
		}
	    else {
		  if (anG==15) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1806
		  else {affichageR(jourR,"Vendémiaire","An "+anR)}
		}
	  }
		
	  if (moisG==11) {
	    if (anG==12) {jourR=(jourG-1)+9}
	    else {
	      if ((anG==4)||(anG>=8)) {jourR=(jourG-1)+10}
	  	  else {jourR=(jourG-1)+11}
	    }
	    if (jourR>30) {
		  jourR=jourR-30
		  if ((anG==15)||(jourG==31)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1806
		  else {affichageR(jourR,"Frimaire","An "+anR)}
		}
	    else {
		  if ((anG==15)) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1806
		  else {affichageR(jourR,"Brumaire","An "+anR)}
		}
	  }	
	
	  if (moisG==12) {
	    if (anG==12) {jourR=(jourG-1)+9}
	    else {
	      if ((anG==4)||(anG>=8)) {jourR=(jourG-1)+10}
	  	  else {jourR=(jourG-1)+11}
	    }
	    if (jourR>30) {
		  jourR=jourR-30
		  if (anG==15) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1806
		  else {affichageR(jourR,"Nivôse","An "+anR)}
		}
	    else {
		  if (anG==15) {affichageR("---------","Rien","---------")} // Pas de calendrier républicain en 1806
		  else {affichageR(jourR,"Frimaire","An "+anR)}
		}
	  }	
	  // Fin de la conversion pour les 3 derniers mois
	}
// Fin de la conversion des 12 mois grégoriens
}
// Fin Fonction CONVGREGORIEN

//  Fin script
