var aDc  =  1725227.53125;  // astronomical Day correction;

var WK = new Array('<a title="Yadi" href="sub/days_of_the_week.htm">Y<\/a>',
                   '<a title="Iydi" href="sub/days_of_the_week.htm">I<\/a>',
                   '<a title="Eydi" href="sub/days_of_the_week.htm">E<\/a>',
                   '<a title="Ahdi" href="sub/days_of_the_week.htm">A<\/a>',
                   '<a title="Owdi" href="sub/days_of_the_week.htm">O<\/a>',
                   '<a title="Uwdi" href="sub/days_of_the_week.htm">U<\/a>',
                   '<a title="Wadi" href="sub/days_of_the_week.htm">W<\/a>');

var nowNADN  = (new Date().getTime()/1000 + 2700)/86400 + 4165815;
var nowCEdt  =  CE_Date(nowNADN);
var CurYEAR  =  nowCEdt[0];
var nydNADN;
var eveNADN;

var nydXD = new Array;
var eveXD = new Array;

var futYear = false;
var curYear = false;
var pasYear = false;

var isGY   = false;
var is1582 = false;
var isJY   = false;

var lstGD  = 4024388;

var Year = CurYEAR;

	function Built(Y) {

if (!document.cookie) document.cookie = 'name='+Y+'=0';
C_val = new Array;
C_val = document.cookie.split("=");
document.frm.R2[0].checked = true;

    //document.frm.FC226.value = ' ssTT ' + nowCEdt //C_Val

                                     Y = CurYEAR;
if (isNaN(window.location.search.substr(1)*1)) {
var wl = 'Civil_Calendar.htm?'+CurYEAR;
    window.location = wl;
}


if (window.location.search != "") {  Y = window.location.search.substr(1)*1;
                                     Year = Y;
     if (Y < -16) window.location = 'Civil_Calendar.htm?-16';
else if (Y > 256) window.location = 'Civil_Calendar.htm?256';
}

	  y5376 = Y +18*896;
	  y0896 = y5376%896;  	  i0896 = parseInt(y5376/896)-18;
	  y0128 = y0896%128;  	  i0128 = parseInt(y0896/128);
	  y0004 = y0896%  4;  	  i0004 = parseInt(y0896/  4);
	                          Ydiv4 = parseInt((4-y0896%4)/4); 

	var  L = 0;  if (Math.abs(Y)%4==0 && Math.abs(Y)%128!=0) L = 1;

	var SZ = (7+y0896 -i0128 +i0004 -1*L)%7;

	var WDNR = 7 - SZ;
	var   DN = 1;  // Day Number in the current year, beginning by 1.
	var mDay = 1;
	var week = parseInt(WDNR%7/4);

	var MCDN = (Math.floor((y0128-1)*365.25)+365) * -(parseInt((128-y0128)/128)-1);   // Mädler Cycle Day N° (DifDay vs. 0/128)
	var NYDN =  parseInt((12800+Y)/128)*46751 - 574298 + MCDN;                        // New Year's       Day Number
	 nydNADN =  NYDN;
	 eveNADN =  NYDN + 365 + L -1;

		 if (nowNADN > nydNADN &&
		     nowNADN < eveNADN) curYear = true;
	else if (nowNADN > eveNADN) pasYear = true;
	else if (nowNADN < nydNADN) futYear = true;

		 if (nydNADN == 4024101) is1582 = true;
	     if (nydNADN <  4024388) isJY   = true;
	else if (nydNADN >  4024388) isGY   = true;

   var nydXD = NADNtoXD(nydNADN*1)
   var eveXD = NADNtoXD(eveNADN*1)

//    document.frm.FC000.value = ": "  + 0;
    document.frm.FC001.value = ": "  + 0;
    document.frm.FC002.value = ": "  + 0;
    document.frm.FC003.value = "SZ: "  +SZ;
    document.frm.FC004.value = ": "  + 0;
    document.frm.FC005.value = ": "  + 0;
    document.frm.FC006.value = ": "  + 0;
    document.frm.FC007.value = ": "  + 0;


	var C = new Array (0,  0,31,59+L,  90+L,120+L,151+L,  181+L,212+L,243+L,  273+L,304+L,334+L);
	var P = new Array (0,  3,L,3,  2,3,2,  3,3,2,  3,2,3);

	var MD = new Array;
	var pW = new Array; // previous Week length


     MD[0] = new Array (0,0,0,0,0,SZ,0);

for (var m = 1; m <= 12; m++) {

     pW[m] = (MD[m-1][5] + MD[m-1][6])%7;

     MD[m]     =  new Array;
	 MD[m][1]  =  7 - pW[m];


for (var w = 2; w <=  6; w++) {

	 MD[m][w] = 28 + P[m] - MD[m][1] - 7*(w-2);
 if (MD[m][w] >  7) MD[m][w] = 7;
 if (MD[m][w] <  0) MD[m][w] = 0;

  }

  }



    document.frm.FC202.value = "MD[2]:   "  + MD[2];
    document.frm.FC203.value = "MD[3]:   "  + MD[3];
    document.frm.FC204.value = "MD[4]:   "  + MD[4];
    document.frm.FC205.value = "MD[5]:   "  + MD[5];
    document.frm.FC206.value = "MD[6]:   "  + MD[6];
    document.frm.FC207.value = "MD[7]:   "  + MD[7];
    document.frm.FC208.value = "MD[8]:   "  + MD[8];
    document.frm.FC209.value = "MD[9]:   "  + MD[9];
    document.frm.FC210.value = "MD[10]: "   + MD[10];
    document.frm.FC211.value = "MD[11]: "   + MD[11];
    document.frm.FC212.value = "MD[12]: "   + MD[12];
    document.frm.FC213.value = "MD[0]: "    + MD[0];

    document.frm.FC215.value = "pW[0]: "  + pW[0];
    document.frm.FC216.value = "pW[1]: "  + pW[1];
    document.frm.FC217.value = "pW[2]: "  + pW[2];
    document.frm.FC218.value = "pW[3]: "  + pW[3];
    document.frm.FC219.value = "pW[4]: "  + pW[4];





///////////////////////////////////////////////////////////////
//  Built the calendar:

var m = 1;    //  initialising month number

	 document.write (
   ' <tr><td align="center"> ' +
   ' <p class="ssf ttl lSn" style="margin-top:64px; margin-bottom:20px; margin-left:28px; line-height:135%;"> Civil Year '+Y+' ' +
   ' <p class="ssf F11 lS1" style="margin-top: 0px; margin-bottom: 0px; margin-left:28px; line-height:135%;"> The new civil calendar in English language<span style="font-size: 3pt">&nbsp;</span>;<span style="font-size: 3pt">&nbsp;</span>&nbsp;its <i> <b>international version</b>,</i> i.e.&nbsp;<span style="font-size: 3pt">&nbsp;</span><i>–&nbsp;</i>excepting <a class="info" title=" Julius Caesar\'s New Year\'s Day ">New Year\'s Day</a><i>&nbsp;–<span style="font-size: 3pt">&nbsp;</span>&nbsp;still without any national or religious feast</i>. ' +
   ' <tr><td align="left">                                                                                 ' +
   ' <table border="1" width="" cellpadding="4" cellspacing="0" style="margin-top:12px; margin-left:64px"> ' +
   ' <tr><td class="fms">                                                                                  ' +
   ' <table border="0" width="" cellpadding="0" cellspacing="3" align="center" style="text-align:center">  ' +
   '                                                                                                       ' );


for (var hY = 0; hY <= 1; hY++) {    //  { Semestre
	 document.write('<tr>');

for (var  n = 1;  n <= 6;  n++) {    //  { Name of the months
	 document.write (
'  <th class="Ext"><table class="tth" border="1d" cellpadding="0" cellspacing="0" align="left"><tr><td><p class="th0">  ' +
'  <a title="WP: '+MN0[n+6*hY]+'"  href="http://en.wikipedia.org/wiki/'+MN1[n+6*hY]+'"> '+MN2[n+6*hY]+' <\/a></table>   ' +
'                                                                                                                       ' );
}

	 document.write (' <tr> ' );

for (var m = 1+6*hY; m <= 6+6*hY; m++) {    //  { Months

document.write('<td class="Mon" valign=top>'+
               '<table class="tb0" border="1" width="100%" cellpadding="0" cellspacing="0" align="center" style="text-align:center">');

for (var w = 0; w <= 5; w++) {    //  { Weeks

if (MD[m][w+1] > 0) { document.write('<tr><td class="fmr"><table class="WTB W'+(MD[m][w+1])+'d" border="1" cellpadding="0" cellspacing="0" align="left" style="border: #FFFFE8 solid 1px">');


for (var j = 0; j < MD[m][w+1]; j++) {    //  { Days

    WDNR = (DN+SZ-1)%7; if (WDNR==0) week++;   // WeekDay NumbeR
    mDay =  DN-C[m];                           // month Day number (Date)

var WKNR = (week+100).toString();  WKNR =  WKNR.substr(1,2);   // WeeK NumbeR (1-52 or 53)

var   m0 =    (m+100).toString();    m0 =    m0.substr(1,2);
var   id = (mDay+100).toString();    id = m0+id.substr(1,2);   // id to MM DD format

var NADN = NYDN + DN -1;   //  New Astronomical Day Number
var WDay = WK[WDNR];       //  format WeekDay (Y,I,E,A,O,U,W)

var Week = '<script language="JavaScript" type="text/javascript"> DisplayWKNR("'+WKNR+'",'+WDNR+','+DN+')<\/script>'


// DayCalc(Y,L,DN,NADN);

var DC = new Array;

	 document.write (
	 '<tr class="">                                                                                               ' +
	 '<td id="d1_'+id+'" class="ED1" style="border: #FFFFE8 solid 1px">  <p class="ED1" id="p1_'+id+'"> '+mDay+'  ' +
	 '<td id="d2_'+id+'" class="ED2" style="border: #FFFFE8 solid 1px">  <p class="ED2" id="p2_'+id+'"> '+Week+'  ' +
	 '<td id="d3_'+id+'" class="ED3" style="border: #FFFFE8 solid 1px">  <p class="ED3" id="p3_'+DN+'"> '+NADN+'  ' +
	 '<td id="d4_'+id+'" class="ED0" style="border: #FFFFE8 solid 1px">  <p class="ED0" id="p0_'+id+'"> '+WDay+'  ' +
	 '                                                                                                            ' );

     DN++;    //  augment DayNumber (in the year)

}    // Days }

	   document.write('</table>');

}}   // Weeks }}


if (m==2||m==4||m==6||m==9||m==11)
document.write('<tr><td class="tSP"><script language="JavaScript" type=text/javascript> ke00('+SZ+','+m+') <\/script> ');

document.write('</table>');

}    //  Month }
}    //  Semestre }

document.write('</table>' +
               '</table>');

Year = Y;
if (document.frm.R2[0].checked == true && (Y >= -16 && Y<=256)) { if (Y >= -16 && Y <= 256) EL(Year,NYDN,L); }
                   //Moon(Year);

document.frm.FC220.value = "DC:  " +DC;

AD_Comp(Y,nydXD,eveXD);

NADNtoXD(4024388);



    document.frm.FC101.value = "nydXD: "  + nydXD + ' ' + nydNADN;
    document.frm.FC103.value = "eveXD: "  + eveXD + ' ' + eveNADN; //MD[1];

setTimeout("GenTabl(Year)",1000);
setTimeout("tHide()",      1000);

if (Year == -16) document.frmF.Bx1.style.visibility = "hidden"; else document.frmF.Bx1.style.visibility = "visible";
if (Year == 256) document.frmF.Bx2.style.visibility = "hidden"; else document.frmF.Bx2.style.visibility = "visible";

}



////////////////////////////////////////////////////////////////////////




var DNa;
var DNz;

	function DayCalc(Y,L,DN,NADN) {

// if (NAV == "FF") document.frm.FC008.value =  "FF";
/////////////////////////////////////////////////
// AOC 0 = -11228, Floréal 18.


var JDDN = NADN - 1725227.53125;     //       Julian Day Day Number

if (NADN >=0 && NADN <8*1048576) {
var aInt = (parseInt((8*1048576+NADN)/8).toString(16)).substr(1).toUpperCase();
var aFrc =         "." + (16+2*(NADN%8)).toString(16) .substr(1).toLowerCase();
var xAOC = "0x " + aInt + aFrc;
}

var DDJC = "1245";
var DDGC = "1245";

document.frm.FC224.value = "DNa:  " +''+DNa+'';
document.frm.FC226.value = "DNz:  " +''+DNz+'';

var DATA;

	 if (document.frm.R2[0].checked == true) {
          if (                   NADN <        0)  DATA =  NADN;       //                     BC 9437/08/01
     else if (NADN >=       0 && NADN <= 2137259)  DATA =  xAOC;       //  BC 9437/08/02  to  BC 3585/01/31
     else if (NADN >= 2137260 && NADN <= 4024387)  DATA =  DDJC;       //  BC 3585-02-01  to  AD 1582-10-15
     else if (NADN >= 4024388 && NADN <= 4101463)  DATA =  DDGC;       //  AD 1582-10-15  to  AD 1793-10-23
     else if (NADN >= 4101464 && NADN <= 4105914)  DATA = "RepCal";    //  AD 1793-10-24  to  AD 1805-12-31
     else if (NADN >= 4105915 && NADN <= 4147611)  DATA =  DDGC;       //  AD 1806-01-01  to  AD 1920-02-29
     else if (NADN >= 4147612 && NADN <= 4179693)  DATA =     1;       //  AD 1920-03-01  to  AD 2007-12-31
     else if (NADN >= 4179694 && NADN <= 4180059)  DATA =     2;       //
     else if (NADN >= 4180060 && NADN <= 4194362)  DATA =     3;       //  AD 2009-01-01  to  GC 2048/02/28
     else if (NADN >= 4194363 && NADN <= 6064708)  DATA =     4;       //  GC 2048/02/29  to  GC 7168/12/29
     else if (NADN >= 6064709 && NADN <= 8388607)  DATA =  xAOC;       //  AD 7168-12-30  to  GC13531/08/14
     else if (NADN >= 8388608 && NADN <= 9388607)  DATA =  NADN;       //  GC13531/08/14
     }

else if (document.frm.R2[1].checked == true) DATA = NADN;
else if (document.frm.R2[3].checked == true) DATA = xAOC;
else if (document.frm.R2[4].checked == true) DATA = DDJC;
else if (document.frm.R2[5].checked == true) DATA = DDGC;
else if (document.frm.R2[6].checked == true) DATA = JDDN;

var DataX = new Array (DNa,DNz,DATA);

return(DataX)

}


            


////////////////////////////////////////////////////////////////////////


	function NADNtoXD(NADN) {

var XD = new Array;

var fnGC = (NADN + 1374548);            // full number
var ixGC = (NADN + 1374548)/146097;     // index number
var ncGC = (NADN + 1374548)%146097;     // number in cycle

var fnJC = (NADN + 1375015)%146100;     // full number
var ixJC = (NADN + 1375015)/146100;     // index number
var ncJC = (NADN + 1374548)%146097;     // number in cycle

var Cent =    0;
var DDJC = NADNtoXD_DoIt("JC", fnJC, Cent, ixJC, NADN);

var cnGC = ncGC;
while (cnGC >36524) { cnGC -= 36524; Cent++; }
if (Cent!=3 && cnGC > 36217) cnGC += 1;
var DDGC = NADNtoXD_DoIt("GC", cnGC+366, Cent, ixGC, NADN);

if (NADN < lstGD) XD = DDJC;  else XD = DDGC;

	return(XD)
}


function NADNtoXD_DoIt(C,D,Cent,ixGC,DYDN) {
var z, a, alpha, b, c, d, e, Y, M, D, Ere;

	Ere = "GY";  if (DYDN < 4024388) Cent = 0, Ere = "JY";

	z = Math.floor(D);

	a = z;
	b = a + 1524;
	c = Math.floor((b - 122.1) / 365.25);
	d = Math.floor(365.25 * c);
	e = Math.floor((b - d) / 30.6001);

	M =  Math.floor((e < 14) ? (e - 1) : (e - 13));
	Y =  Math.floor((M >  2) ? (c - 4) : (c -  3));
	D =  b - d - Math.floor(30.6001 * e);

	D+= 100; D = D.toString().substr(1);
	M+= 100; M = M.toString().substr(1);
	Y = Y + Cent*100 + (parseInt(ixGC)-33)*400;
if (Y <    1)  Y--,  Y = Y *-1,  Ere = "BC";
if (Y < 1000)        Y+= 10000,  Y = Y.toString().substr(1);

	return new Array (Ere,Y,M,D);
}


	function AD_Comp(Y,nydXD,eveXD) {

var A = nydXD
var Z = eveXD

document.frm.FC222.value = "XXXvvvvvvvvXX:  " +''+A[0]+'';
document.frm.FC224.value = "XXXvvvvvvvvXX:  " +''+Z[0]+'';

var txtC1 = "began"; if (nydNADN > nowNADN) txtC1 = "will begin";
var txtC2 = "ended"; if (eveNADN > nowNADN) txtC2 = "will end";

			  var nowYt = "is ";
	 if (pasYear) nowYt = "was ";
else if (futYear) nowYt = "will be ";

var typeC = ''+nowYt+''+ 'a common year with 365 days.';
var typeX = ''+nowYt+''+ 'an exceptional common year with 365 days.';
var typeL = ''+nowYt+''+ 'a leap year with 366 days.';

						  var type2 = typeC;
	 if  (Math.abs(Y)%128==0) type2 = typeX;
 else if (Math.abs(Y)%  4==0) type2 = typeL;

document.frm.FC223.value = "nyd:  " +nydNADN;
document.frm.FC225.value = "eve:  " +eveNADN;

var Sa1 = '<span style="color:black">';
if (A[1]*1 != 1792+Y) Sa1 = '<span style="color:red">';
var Sa2 = '<span style="color:black">';
if (A[2]*1 !=    1)   Sa2 = '<span style="color:red">';
var Sa3 = '<span style="color:black">';
if (A[3]*1 !=    1)   Sa3 = '<span style="color:red">';

var Sz1 = '<span style="color:black">';
if (Z[1]*1 != 1792+Y) Sz1 = '<span style="color:red">';
var Sz2 = '<span style="color:black">';
if (Z[2]*1 !=   12)   Sz2 = '<span style="color:red">';
var Sz3 = '<span style="color:black">';
if (Z[3]*1 !=   31)   Sz3 = '<span style="color:red">';

var S00 = '</span>';

			  var CYa  = '<a class="info" title=" Gregorian Year "> GY </a>'
			  var CYz  = '<a class="info" title=" Gregorian Year "> GY </a>'
if (A[0] == "JY") CYa  = '<a class="info" title=" Julian Year "   > <span class="lS1">JY</span></a>'
if (Z[0] == "JY") CYz  = '<a class="info" title=" Julian Year "   > <span class="lS1">JY</span></a>'

var Da = ''+CYa+'' +' '+ ''+Sa1+'' + ''+A[1]+'' + ''+S00+'' +' \/ '+
                         ''+Sa2+'' + ''+A[2]+'' + ''+S00+'' +' \/ '+
                         ''+Sa3+'' + ''+A[3]+'' + ''+S00+'';

var Dz = ''+CYz+'' +' '+ ''+Sz1+'' + ''+Z[1]+'' + ''+S00+'' +' \/ '+
                         ''+Sz2+'' + ''+Z[2]+'' + ''+S00+'' +' \/ '+
                         ''+Sz3+'' + ''+Z[3]+'' + ''+S00+'';

var prec = "widely"; if (A[2]*1==1) {if (Z[2]*1==12) {if (A[3]*1==1) {if (eveXD[3]*1==31) prec = "exactly" }}}

	 document.write (
   ' <form name="frmF">                                                                                                  ' +
   '                                                                                                                     ' );

	 document.write (
   ' <table border="0" cellpadding="0" cellspacing="0"                                                                   ' +
   ' style="position:absolute; left: 18px; top:49px; height:28px; width:800px;">                                         ' +
   ' <tr><td id="type">                                                                                                  ' +
   ' <p class="ssf F11 lH5 lS1"> <i><b>Type of the year:&nbsp;</b></i>                                                   ' +
   '   The year Common Era '+Y+' '+type2+'                                                                               ' +
   ' <input type="button" name="Bx" style="visibility:hidden"></table>                                                   ' +
   '                                                                                                                     ' );

	 document.write (
   ' <table border="0" cellpadding="0" cellspacing="0"                                                                   ' +
   ' style="position:absolute; left:880px; top:53px; height:28px; width:360px;">                                         ' +
   ' <tr><td colspan=4><p class="ssf F10 lH5 tAr rP1"><i><b> Equivalence to the christian dates:&nbsp; </b></i>          ' +
   ' <tr><td colspan=4><p class="ssf F10 lH5 tAr rP8 tP1">  CE '+Y+' '+txtC1+' in '+Da+'                                 ' +
   ' <tr><td colspan=4><p class="ssf F10 lH5 tAr rP0 tP0">       and '+txtC2+' in '+Dz+' .                               ' +
   ' <tr><td colspan=4 class="tAr rP9"><p class="ssf F10 lH5 tP1"> Thus it corresponds <i>'+prec+'</i> to:                ' +
   ' <tr><td class="tAr rP8 vAt" width="171px" height="32px">                                                            ' +
   '     <td class="tAr tP5 vAt" width= "40px"><p class="ssf F10 lH5 tP0">                                               ' +
   '                                           <input type="button" name="Bx1" value="<<" onclick="Next(-1)"             ' +
   '                                                          style="background-color:#FCFCFC; width:32px; height:21px"> ' +
   '     <td class="tAc tP5 vAt lP1" width="108px><p class="ssf F10 lH4 tP1">                                            ' +
   '        <select size="1" name="DD1" class="mno F10" onchange="GoTo()">                                               ' +
   '                                                                                                                     ' );

for (var i = 2048; i >= 1776; i--) {
     document.write ('<option value='+i+'>AD '+i+'</option> ' );
    }

	 document.write (' </select>'+
   '  <td class="tAl tP5 vAt" width= "41px"><p class="ssf F10 lH5 tP0">                                                  ' +
   '  <input type="button" name="Bx2" value=">>" onclick="Next(+1)"                                                      ' +
   '   style="background-color:#FCFCFC; width:32px; height:21px">                                                        ' +
   ' </table></form>                                                                                                     ' );

if (Y >= -16 && Y <= 256) var sY = 2048 - 1792 - Y; document.frmF.DD1[''+sY+''].selected = true;


if (Year!=CurYEAR) {
					 var nowYtxt = "Back to the current year CE " +''+CurYEAR+''+ ".";
if (nowNADN > eveNADN)   nowYtxt = "Back to the current year CE " +''+CurYEAR+''+ ".";

	 document.write (
   ' <table border="0" cellpadding="0" cellspacing="0"                                                                   ' +
   ' style="position:absolute; left:752px; top:50px; height:28px; width:240px; line-height:150%;">                       ' +
   ' <tr><td class="vAt">                                                                                        ' +
   '        <a class="ssf F11 iLnk" onclick="javascript:NowY()" style=""> '+nowYtxt+' </a>                                 ' +
   '</table>                                                                                                             ' +
   '                                                                                                                     ' );
}

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	function GoTo() {
var Y = document.frmF.DD1.value - 1792;
document.cookie = 'name='+Y+'=0';
window.location = 'Civil_Calendar.htm?' + Y;
}


	function Next(a) {
                                 var Y = Year;
if (window.location.search != "")    Y = window.location.search.substr(1)*1,
                                     Year = Y;

document.cookie = 'name='+Y+'=0';

if ((Y > -16 && a < 0) || (Y < 256 && a > 0)) {
window.location = 'Civil_Calendar.htm?' + ''+eval(Y+a*1)+'';
} else {
window.location = 'Civil_Calendar.htm';
}

}

	function NowY() {
var Y = CurYEAR;
document.cookie = 'name='+Y+'=0';
window.location = 'Civil_Calendar.htm?' + ''+Y+'';
}


	function DisplayWKNR(WKNR,WDNR,DN) {
 if (DN != 1) {
                if (WDNR==3) document.write(' <img class="ph" id="tt" src="img/moon/week/W'+WKNR+'.gif" alt=""   ' +
                                            ' width="12" height="9" style="position:relative; left:106; top:5;"> ' );
              }
}




/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




var RN4 = new Array("", "M", "MM", "MMM" );
var RN3 = new Array("", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" );
var RN2 = new Array("", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" );
var RN1 = new Array("", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" );


var MN4Link = "Germinal_(French_Republican_Calendar)";
var M12Last = "Frimaire.";

var MN0 = new Array("",   "Nivôse",     "Pluviôse",  "Ventôse",      "Germinal",     "Floréal",     "Prairial",
                          "Messidor",   "Thermidor", "Fructidor",    "Vendémiaire",  "Brumaire",    "Frimaire"    );
var MN1 = new Array("", ''+MN0[1]+'', ''+MN0[2]+'', ''+MN0[3]+'',  ''+MN4Link+'',   ''+MN0[ 5]+'', ''+MN0[ 6]+'',
                        ''+MN0[7]+'', ''+MN0[8]+'', ''+MN0[9]+'',  ''+MN0[10]+'',   ''+MN0[11]+'', ''+MN0[12]+''  );
var MN2 = new Array("", ''+MN0[1]+'', ''+MN0[2]+'', ''+MN0[3]+'',  ''+MN0[ 4]+'',   ''+MN0[ 5]+'', ''+MN0[ 6]+'',
                        ''+MN0[7]+'', ''+MN0[8]+'', ''+MN0[9]+'',  ''+MN0[10]+'',   ''+MN0[11]+'', ''+M12Last+''  );


var Expo =  0;
var Sign = "+";
var sTXT = "plus";
var AddY = 1;


	function DataChange(a) {

// GoTo()
                                     Y = 216;
if (window.location.search != "")    Y = window.location.search.substr(1)*1;

if (!document.cookie) document.cookie = 'name='+Y+'='+a+'', setTimeout("Go()",100); 
else                  document.cookie = 'name='+Y+'='+a+'',             Go();
function Go() { window.location='Civil_Calendar.htm?' + Y; }

}

	function CurrentYear() {
    window.location = 'Civil_Calendar.htm'
document.frm3.Bx.focus();
}


	function ChangeYear() {
       cY = 216;
if (window.location.search != "") cY = window.location.search.substr(10)*1;
    cY += AddY*1;

    window.location='Civil_Calendar.htm?' + Sign + "E" + Expo + "_Year_" + cY

document.frm3.Bx.focus();
}


function Alpha_Numeration() { var xOffset = 16; var yOffset = 16; window.open ('sub/alpha_numeration.htm', title='', "width=920, height=720, top=" + yOffset + ", left=" + xOffset + ", location=yes, menubar=no, status=no, toolbar=yes, scrollbars=yes, resizable=yes") }



	function ke02(SZ) {

var H = 55; if (SZ > 1 && SZ < 5) H = 62;

var XE  =  ADtoRoman((Year+1792)*1)
    XE  =  XE[1] + XE[2] + XE[3];

var  a = (Year + 5552).toString().split("");
var  b = (Year + 5553).toString().split("");
var BE1 = "&quot;" + AN3[a[0]] + AN2[a[1]] + AN1[a[2]] + AN0[a[3]] + "&quot;";
var BE2 = "&quot;" + AN3[b[0]] + AN2[b[1]] + AN1[b[2]] + AN0[b[3]] + "&quot;";

var  c = aD_to_iDt(nydNADN)[0].toString().split("");  
var  d = aD_to_iDt(eveNADN)[0].toString().split("");  // &quot;Auki&quot;

var HE1 = "&quot;" + AN3[c[0]] + AN2[c[1]] + AN1[c[2]] + AN0[c[3]] + "&quot;";
var HE2 = "&quot;" + AN3[d[0]] + AN2[d[1]] + AN1[d[2]] + AN0[d[3]] + "&quot;";

	   document.write
	 (
   ' <table class="Sp2" border="0" id="S02" cellpadding="0" cellspacing="0" align="center" style="height:'+H+'px; border: #CCCCCC solid 1px"><tr><td> ' +
   ' <table class="Sp2" border="0" width="172px"              cellpadding="0" cellspacing="0" align="center"> ' +
	 ' <tr> ' +
	 ' <td class="Era" width= "74px"> ' +
	 ' <p align="left"   style="line-height:16px; margin-left:6px; margin-top:0px; margin-bottom:0px"> ' +
	 ' <a title="WP: Hebrew calendar" href="http://en.wikipedia.org/wiki/Hebrew_calendar">Beriah Era<\/a><span style="font-size: 6pt">&nbsp;</span>: <br /> ' +
	 ' <span style="letter-spacing: 0px"> ' +
	 ' <a title="WP: Anno Domini"     href="http://en.wikipedia.org/wiki/Anno_Domini">Anno Domini<\/a></span><span style="font-size: 6pt">&nbsp;</span>: <br /> ' +
	 ' <a title="WP: Islamic calendar"       href="http://en.wikipedia.org/wiki/Islamic calendar">Hijra Era<\/a><span style="font-size: 6pt">&nbsp;</span>: ' +

	 ' <td class="Era" width="96px"> ' +
	 ' <p align="center" style="line-height:16px; margin-left:0px; margin-top:0px; margin-bottom:0px"> ' +
	 ' <a title=" Latin alphabetic numeration " href="javascript:" onclick="Alpha_Numeration()">'+BE1+'<span style="font-size: 6pt">&nbsp;</span>–<span style="font-size: 6pt">&nbsp;</span>'+BE2+'</a><br /> ' +
	 ' <a title=" WP: AD '+eval(Year+1792)+' "  href="http://en.wikipedia.org/wiki/'+(Year+1792)*1+'">'+XE+'<\/a> <br /> ' +
	 ' <a title=" Latin alphabetic numeration " href="javascript:" onclick="Alpha_Numeration()">'+HE1+'<span style="font-size: 6pt">&nbsp;</span>–<span style="font-size: 6pt">&nbsp;</span>'+HE2+'</a> ' +
    ' <\/table> ' +
    ' <\/table> ' +
   '                                                                                                                                    ' );
}



/*
	<AREA SHAPE="circle"
		   HREF="precedent.html"
		   COORDS="50,30,10">

	<AREA SHAPE="poly"
		   HREF="suivant.html"
		   COORDS="60,50,80,30,100,40,50,100">
*/


	function ke00(SZ,a) {

     if (a==2)  ke02(SZ);
else if (a==4)  ke04();
else if (a==6)  ke06();
else if (a==9)  ke09();
else if (a==11) ke11();
}


	function ke04() {
	   document.write('<table class="SpB" border="0" width="100%" cellpadding="0" cellspacing="0" align="center" style="text-align:center"> '+ 
                      '<tr><td class="">&nbsp;</table>');
}

	function ke06() {
	   document.write('<table class="SpB" border="0" width="100%" cellpadding="0" cellspacing="0" align="center" style="text-align:center"> '+ 
                      '<tr><td class="">&nbsp;</table>');
}

	function ke09() {
	   document.write('<table class="SpB" border="0" width="100%" cellpadding="0" cellspacing="0" align="center" style="text-align:center"> '+ 
                      '<tr><td class="">&nbsp;</table>');
}

	function ke11() {
	   document.write('<table class="SpB" border="0" width="100%" cellpadding="0" cellspacing="0" align="center" style="text-align:center"> '+ 
                      '<tr><td class="">&nbsp;</table>');
}




	function tett(m) {

	   document.write
	 (
	   '  <a title="Yadi" href="javascript:;" onclick="Days_of_the_Week()">'+m+'</a>  ' +
       '                                                                              ' );
     }


	function Paki() {
   //document.getElementById('paki').style.visibility = "hidden";
}

	function tHide() {
if (Year==CurYEAR) document.getElementById('aYtb').style.display = "none", document.getElementById('cYtb').style.display = "block";
else            document.getElementById('cYtb').style.display = "none", document.getElementById('aYtb').style.display = "block";

   //document.getElementById('paki').style.visibility = "hidden";
}

	function iHide() {
document.getElementById('paki').style.visibility = "hidden";
}

function Days_of_the_Week() { var xOffset = 16; var yOffset = 16; window.open ('sub/days_of_the_week.htm', title='map',   "width=990, height=640, top=" + yOffset + ", left=" + xOffset + ", location=yes, menubar=no, status=no, toolbar=yes, scrollbars=yes, resizable=yes") }



function CE_Date(aD) {
var cD, iD, a, b, c, d, e, f, m, s;

    cD =  aD-4*1024*1024;
    iD =  Math.floor(cD);
     f =  cD - iD;
     s = (Math.floor(aD)+1) %7;

    a = 0;
          while (iD <     0) iD += 46751, a--;
          while (iD > 46750) iD -= 46751, a++;

    b = iD + 1524;                            if (iD >=  59)  b++;
    c = Math.floor((b - 122.1) / 365.25);
    d = Math.floor(365.25 * c);
    e = Math.floor((b - d) / 30.6001);
    m = Math.floor((e < 14) ? (e - 1) : (e - 13));


    return new Array(
                     Math.floor((m > 2) ? (c + a*128 + 252) : (c  + a*128 + 253)),
                     m,
                     Math.floor(b - d - Math.floor(30.6001 * e) + f),
                     s,
                     f
                    );
}



var RN5 = new Array("", "",  "",   "",    "IV", "V", "VI", "VII", "VIII", "IX" );
var RN4 = new Array("", "M", "MM", "MMM", "",   "",  "",   "",    "",     ""   );
var RN3 = new Array("", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" );
var RN2 = new Array("", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" );
var RN1 = new Array("", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" );
var RD  = new Array(); 


function ADtoRoman(y) {

                        var Era = "AD ";
if (y < 1) y *= -1, y += 1, Era = "BC ";

for (var i = 0; i <= 3; i++) { RD[i] = parseInt(y%Math.pow(10,4-i)/Math.pow(10,3-i)) };

var Pt = "."; if ((RD[0] == 0 && RD[1] == 0) || (RD[2] == 0 && RD[3] == 0)) Pt = "";
var RR = RN3[RD[1]] + Pt + RN2[RD[2]] + RN1[RD[3]];

return new Array( Era, RN5[RD[0]], RN4[RD[0]], RR); 
}




var AN3 = new Array("", "A", "B", "C", "D", "E", "F", "G", "H", "I" );
var AN2 = new Array("", "r", "s", "t", "u", "v", "v", "x", "y", "z" );
var AN1 = new Array("", "j", "k", "l", "m", "n", " ", "o", "p", "q" );  AN1[6] = "&#331;";
var AN0 = new Array("", "a", "b", "c", "d", "e", "f", "g", "h", "i" );



    var iEjd = 1948439.5;

function islamic_to_jd(year, month, day)
{
    return (day +
            Math.ceil(29.5 * (month - 1)) +
            (year - 1) * 354 +
            Math.floor((3 + (11 * year)) / 30) +
            iEjd) - 1;
}


function aD_to_iDt(aD)
{
    var   jd =  aD - aDc; 
    var year, month, day;

    jd = Math.floor(jd) + 0.5;
    year = Math.floor(((30 * (jd - iEjd)) + 10646) / 10631);
    month = Math.min(12,
                Math.ceil((jd - (29 + islamic_to_jd(year, 1, 1))) / 29.5) + 1);
    day = (jd - islamic_to_jd(year, month, 1)) + 1;
    return new Array(year, month, day);
}

