You are on page 1of 4

//Définition de variables globales

var vRevJour = 0
var vRevMois = ""
var vRevAn = ""
var vDate = ""
var vGregMois = 0
var vGregJour = 0
var vGregAn = 0
var result = ""

// Définition du squelette tableau
function Tableau(n){
this.length = n
for (var i = 1; i <= n; i++) {
this[i] = 0
}
return this
}

//Définition du tableau des mois
function tMois(MoisRep, NbjMoisRep) {
this.MoisRep = MoisRep
this.NbjMoisRep = NbjMoisRep
}

// Remplissage du tableau des mois républicain et cumul jours
tRevMois = new Tableau(13)
tRevMois[1] = new tMois("Vend&eacute;miaire",30)
tRevMois[2] = new tMois("Brumaire",30)
tRevMois[3] = new tMois("Frimaire",30)
tRevMois[4] = new tMois("Niv&ocirc;se",30)
tRevMois[5] = new tMois("Pluvi&ocirc;se",30)
tRevMois[6] = new tMois("Vent&ocirc;se",30)
tRevMois[7] = new tMois("Germinal",30)
tRevMois[8] = new tMois("Flor&eacute;al",30)
tRevMois[9] = new tMois("Prairial",30)
tRevMois[10] = new tMois("Messidor",30)
tRevMois[11] = new tMois("Thermidor",30)
tRevMois[12] = new tMois("Fructidor",30)
tRevMois[13] = new tMois("Compl&eacute;mentaires",5)

//Définition du tableau des années
function tAn(AnRep, NbjAnRep){
this.AnRep = AnRep
this.NbjAnRep = NbjAnRep
}

// Remplissage du tableau des années républicaines et cumul jours
tRevAn = new Tableau(14)
tRevAn[1] = new tAn("I",365)
tRevAn[2] = new tAn("II",365)
tRevAn[3] = new tAn("III",366)
tRevAn[4] = new tAn("IV",365)
tRevAn[5] = new tAn("V",365)
tRevAn[6] = new tAn("VI",365)
tRevAn[7] = new tAn("VII",366)
tRevAn[8] = new tAn("VIII",365)
tRevAn[9] = new tAn("IX",365)
tRevAn[10] = new tAn("X",365)
tRevAn[11] = new tAn("XI",366)
tRevAn[12] = new tAn("XII",365)
tRevAn[13] = new tAn("XIII",365)
tRevAn[14] = new tAn("XIV",100)

// Définition du tabelau des mois grégorien
tMoisGreg = new Tableau(12)
tMoisGreg[1] = "Janvier"
tMoisGreg[2] = "F&eacute;vrier"
tMoisGreg[3] = "Mars"
tMoisGreg[4] = "Avril"
tMoisGreg[5] = "Mai"
tMoisGreg[6] = "Juin"
tMoisGreg[7] = "Juillet"
tMoisGreg[8] = "Ao&ucirc;t"
tMoisGreg[9] = "Septembre"
tMoisGreg[10] = "Octobre"
tMoisGreg[11] = "Novembre"
tMoisGreg[12] = "D&eacute;cembre"

// Affichage selon navigateur
function AffiResu(texte) {
if (document.layers) { // NS4
var lay = document['Resultat'];
lay.document.open();
lay.document.write(texte);
lay.document.close();
}
else if (document.all) { // IE
document.all['Resultat'].innerHTML = texte;
}
else if (document.getElementById) { //NS6
var lay = document.getElementById("Resultat") ;
lay.innerHTML =texte;
}
}

// fonction de conversion de la date
function ConvDat(form){
vRevJour = form.RevJour.options[form.RevJour.selectedIndex].text
iRevMois = form.RevMois.selectedIndex
vRevMois = form.RevMois.options[form.RevMois.selectedIndex].text
vRevAn = form.RevAn.options[form.RevAn.selectedIndex].text
vDate = vRevJour + " " + vRevMois + " An " + vRevAn
if (iRevMois == 12)
{
if (vRevAn == "III" || vRevAn == "VII" || vRevAn == "XI")
{
if (vRevJour > 6)
{
AffiResu("<h4><center>Choix impossible, le " + vDate + " n'existe
pas</center></h3>")
return
}
}
else
{
if (vRevJour > 5)
{
AffiResu("<h4><center>Choix impossible, le " + vDate + " n'existe
pas</center></h3>")
return
}
}
}

// Calcul du jour julien par rapport à la date républicaine saisie
var vPremJour = 2375839.5
var vDernJour = 2381052.5
var vCumJour = 0

vCumJour = vPremJour

for (var i=1; i<=form.RevAn.selectedIndex; i++) {
vCumJour += tRevAn[i].NbjAnRep
}

for (var i=1; i<=form.RevMois.selectedIndex; i++) {
vCumJour += tRevMois[i].NbjMoisRep
}

vCumJour += form.RevJour.selectedIndex

var vZ = 0
var vF = 0
var vA = 0
var vA2 = 0
var vB = 0
var vC = 0
var vD = 0
var vE = 0

vZ = Math.floor(vCumJour + 0.5)
vF = vCumJour + 0.5 - vZ
if (vZ >= 2299161){
vA2 = Math.floor((vZ - 1867216.25) / 36524.25)
vA = vZ + 1 + vA2 - Math.floor(vA2/4)
}
else {vA = vZ}
vB = vA + 1524
vC = Math.floor((vB - 122.1) / 365.25)
vD = Math.floor(365.25 * vC)
vE = Math.floor((vB - vD) / 30.6001)
// Détermination du jour grégorien
vGregJour = vB - vD - Math.floor(30.6001 * vE) + vF
// Détermination du mois grégorien
if (vE <= 13)
{
vGregMois = vE - 1}
else
{vGregMois = vE - 13}

// Détermination de l'année grégorienne
if (vGregMois > 2)
{vGregAn = vC - 4716}
else
{vGregAn = vC - 4715}

MoisGreg(vGregMois)
ResuConv="<p><b><center>Le <font color='#ff0000' size='+1'>" + vDate + "</font> correspond au
<font color='#0000ff' size='+1'>"+ vGregJour + " " + vMoisGregLet + " " + vGregAn +
"</font></center></b></p>";
AffiResu(ResuConv);
}

var vMoisGregLet = ""
function MoisGreg(nummois){
vMoisGregLet = tMoisGreg[vGregMois]
return vMoisGregLet
}

function Ora() {
var Ara = new Date();
window.status = Ara.getHours() + ":" + Ara.getMinutes() + ":" + Ara.getSeconds();
setTimeout("Ora()", 330) // 0.3 sec
}
window.onload = Ora;