function c1(a){return Math.round(1E6*a)/1E6}function c2(a){return a<0?Math.ceil(a):Math.floor(a)}function c3(a){return Math.abs(a)}function c4(a){return Math.floor(a)}
function caljd(){var a=document.F1.xxy.value*1,c=document.F1.xxm.value*1,b=document.F1.xxd.value*1,d=0;if(a==0){alert("kein Jahr 0 im julianischen Kalender");d=1}if(a==1582&&c==10&&b>=5&&b<=14&&document.F1.ce.checked){alert("fehlerhaftes Datum");d=1}if(b<1)d=1;if(d<1){if(document.F1.bce.checked)a=-a+1;var e=c2((c-9)/7);e=c2(7*(a+5001+e)/4);d=367*a-e+c2(275*c/9)+b+1729777;if(d>=2299161){d=367*a;e=c2((c+9)/12);d-=c2(7*(a+e)/4);e=c2((a+(c-9)/7)/100);d-=c2(3*(e+1)/4);d=d+c2(275*c/9)+b+1721029}return c1(d)}}
function gibjdcal(a){var c,b,d;c=c2(a);if(c<2299161)d=c+1524;else{b=c2((c*100-186721625)/3652425);d=c+b-c2(b/4)+1525}c=c2((d*100-12210)/36525);var e=c2(36525*c/100);b=c2((d-e)*1E4/306001);a=(a-c4(a))*24;var f=c1((a-c4(a))*60);c4(a);a=d-e-c2(306001*b/1E4);b=b-1-12*c2(b/14);c=c-4715-c2((7+b)/10);if(c<1)c-=1;return Ergeb=a+". "+b+". "+c}
function habjd(a){var c=document.F3.rxm.value*1,b=document.F3.rxt.value*1,d=0,e,f,g,j,l,m,k,h=annotypo(a);if(h<383&&c==13){alert("kein Schaltmonat in diesem Jahr");d=1}if(mtage(c)<31&&c<13&&b==3){alert("in diesem Monat gibt es diesen Tag nicht");d=1}if(mtage(c)<31&&b==2){alert("in diesem Monat gibt es diesen Tag nicht");d=1}if(h==383&&c==13)if(b==17||b==16){alert("diesen Tag gibt es im Intercalarius nicht");d=1}if(c==1)if(b==17||b==16){alert("diesen Tag gibt es im Februarius nicht");d=1}if(b==28&&
c!=1&&h==355){alert("in diesem Monat kein Bisextum");d=1}if(b==28&&c!=13&&h==383){alert("in diesem Monat kein Bisextum");d=1}if(b==28&&h==354){alert("in diesem Jahr kein Bisextum");d=1}if(d<1){if(b>15)c-=1;if(c<1)c=h>355?13:12;if(mtage(c)<31&&b>1)b-=1;if(mtage(c)<31&&b>1&&c<13)b-=1;if(c==13&&b>14)b-=2;if(c==12&&b>13)b-=2;if(b>23&&c!=12&&h>354)b-=1;if(b>23&&h<355)b-=1;for(i=0;i<18;i++)if(a>=gibepochJ(i)){e=epochJD(i);g=gibepochJ(i)<0?c3(gibepochJ(i))+gibepochJ(i+1):gibepochJ(i+1)-gibepochJ(i);f=i}a=
a-gibepochJ(f);if(g>372)for(i=0;i<23;i++){if(a>=grMausE(i)){l=grmJD(i);j=grmJD(i+1)-grmJD(i);m=grMausE(i)}}else for(i=0;i<22;i++)if(a>=klMausE(i)){j=klmJD(i+1)-klmJD(i);l=klmJD(i);m=klMausE(i)}a-=m;if(j<4016)k=JaM8(a);if(j>2924)k=JaM19(a);if(j>6939)k=JaM19b(a);e=e+l+k;g=0;for(i=1;i<c;i++)g+=mtage(i);if(h>354&&g>350)g+=1;return e=e+g+b-1}}function mtage(a){btage=new Array(0,31,29,31,29,31,29,29,31,29,29,29,27,28);return btage[a]}
function gibepochJ(a){epochJ=new Array(-2290,-1918,-1527,-1155,-783,-392,-20,352,743,1115,1487,1878,2250,2622,3013,3385,3757,4148);return epochJ[a]}function epochJD(a){epoch=new Array(610054,745924,888734,1024604,1160474,1303284,1439154,1575024,1717834,1853704,1989574,2132384,2268254,2404124,2546934,2682804,2818674,2961484);return epoch[a]}function grMausE(a){metoJ=new Array(0,19,38,57,76,95,114,133,144,163,182,201,220,239,258,269,288,307,326,345,364,383,391);return metoJ[a]}
function klMausE(a){metoJb=new Array(0,19,38,57,76,95,114,125,144,163,182,201,220,239,250,269,288,307,326,345,364,372);return metoJb[a]}function grmJD(a){metoJD=new Array(0,6940,13879,20819,27759,34698,41638,48578,52594,59533,66473,73413,80352,87292,94232,98248,105187,112127,119067,126006,132946,139886,142810);return metoJD[a]}
function klmJD(a){metoJD2=new Array(0,6939,13879,20819,27758,34698,41638,45654,52593,59533,66473,73412,80352,87292,91308,98247,105187,112127,119066,126006,132946,135870);return metoJD2[a]}function JaM8(a){Jacht=new Array(0,355,738,1093,1448,1831,2186,2569,2924);return Jacht[a]}function JaM19(a){Jneuzeh=new Array(0,355,738,1093,1448,1831,2186,2569,2923,3278,3661,4016,4371,4754,5109,5492,5846,6201,6584,6939);return Jneuzeh[a]}
function JaM19b(a){Jneuzehb=new Array(0,355,738,1093,1448,1831,2186,2569,2924,3279,3662,4017,4371,4754,5109,5492,5847,6202,6585,6940);return Jneuzehb[a]}
function annotypo(a){var c,b,d,e,f;for(i=0;i<18;i++)if(a>=gibepochJ(i)){c=gibepochJ(i)<0?c3(gibepochJ(i))+gibepochJ(i+1):gibepochJ(i+1)-gibepochJ(i);e=i}a=a-gibepochJ(e);if(c>372)for(i=0;i<23;i++){if(a>=grMausE(i)){b=grmJD(i+1)-grmJD(i);f=grMausE(i)}}else for(i=0;i<22;i++)if(a>=klMausE(i)){b=klmJD(i+1)-klmJD(i);f=klMausE(i)}a-=f;if(b==2924)d=JaM8(a+1)-JaM8(a);if(b==6939)d=JaM19(a+1)-JaM19(a);if(b==6940)d=JaM19b(a+1)-JaM19b(a);if(b==4016)d=JaM19(a+1)-JaM19(a);return d}
function schaltJ(){var a=gibro();a=annotypo(a);if(a==355)alert("12monatiges Jahr, Februarius mit Bisextum 28 Tage");else a==383?alert("Schaltjahr 13 Mon., Feb. mit Bisextum 28 Tage, Intercal. 28 Tage"):alert("12monatiges Jahr, Februarius 27 Tage")}
function gibjdro(a){jahrtag=new Array(0,31,60,91,120,151,180,209,240,269,298,327,354);jahrtagb=new Array(0,31,60,91,120,151,180,209,240,269,298,327,355,383);Mnames=new Array(" Martiae "," Aprilis "," Maiae "," Iuniae "," Quintilis "," Sextilis "," Septembris "," Octobris "," Novembris "," Decembris "," Ianuariae "," Februariae "," Intercalaris "," Martiae ");Mnamen=new Array(" Martias "," Apriles "," Maias "," Iunias "," Quintilas "," Sextilas "," Septembres "," Octobres "," Novembres "," Decembres ",
" Ianuarias "," Februarias "," Intercalares "," Martias ");Tnamen=new Array("Calendae","a.d. VI. Nonas","a.d. V. Nonas","a.d. IV. Nonas","a.d. III. Nonas","Pridie Nonas","Nonae","a.d. VIII. Idus","a.d. VII. Idus","a.d. VI. Idus","a.d. V. Idus","a.d. IV. Idus","a.d. III. Idus","Pridie Idus","Idus","a.d. XVII. Calendas","a.d. XVI. Calendas","a.d. XV. Calendas","a.d. XIV. Calendas","a.d. XIII. Calendas","a.d. XII. Calendas","a.d. XI. Calendas","a.d. X. Calendas","a.d. IX. Calendas","a.d. VIII. Calendas",
"a.d. VII. Calendas","a.d. VI. Calendas","a.d. V. Calendas","a.d. IV. Calendas","a.d. III. Calendas","Pridie Calendas");Tnambi=new Array("a.d. bi VI. Calendas posterior","a.d. bi VI. Calendas prior","a.d. V. Calendas","a.d. IV. Calendas","a.d. III. Calendas","Pridie Calendas","Calendae");rtau=new Array("","M","MM","MMM");rhun=new Array("","C","CC","CCC","CD","D","DC","DCC","DCCC","CM");rzeh=new Array("","X","XX","XXX","XL","L","LX","LXX","LXXX","XC");rein=new Array("","I","II","III","IV","V","VI",
"VII","VIII","IX");for(var c,b,d,e,f,g=0;a>=epochJD(g);)g++;a=a-epochJD(g-1);b=gibepochJ(g-1);if((gibepochJ(g)<0?c3(gibepochJ(g-1))+gibepochJ(g):gibepochJ(g)-gibepochJ(g-1))>372)for(i=0;i<23;i++){if(a>=grmJD(i)){d=grmJD(i+1)-grmJD(i);f=grMausE(i);e=grmJD(i)}}else for(i=0;i<22;i++)if(a>=klmJD(i)){d=klmJD(i+1)-klmJD(i);f=klMausE(i);e=klmJD(i)}a-=e;b+=f;if(d==2924)for(i=0;i<9;i++)if(a>=JaM8(i)){c=JaM8(i+1)-JaM8(i);f=i;e=JaM8(i)}if(d==4016||d==6939)for(i=0;i<20;i++)if(a>=JaM19(i)){c=JaM19(i+1)-JaM19(i);
f=i;e=JaM19(i)}if(d==6940)for(i=0;i<20;i++)if(a>=JaM19b(i)){c=JaM19b(i+1)-JaM19b(i);f=i;e=JaM19b(i)}a-=e;b+=f;i=0;if(c<355){for(;a>=jahrtag[i];)i++;i--;f=i;a=a-jahrtag[i]}else{for(;a>=jahrtagb[i];)i++;i--;f=i;a=a-jahrtagb[i]}if(mtage(f+1)<31&&a>0)a+=1;if(mtage(f+1)<31&&a>0&&f<12)a+=1;if(a>14)f+=1;if(f>=12&&a>14)a+=2;if(c<383&&f>11&&a>14)f+=1;d=a==0||a==6||a==14?Mnames[f]:Mnamen[f];e=Tnamen[a];if(c>355&&f==12&&a>25)e=Tnambi[a-26];if(c==355&&f==13&&a>25)e=Tnambi[a-26];a=b>=0?b+1:-b;postn=b<0?" ante u.c.":
" a.u.c.";for(i=0;a>=1E3*i;)i++;c=rtau[i-1];a-=(i-1)*1E3;for(i=0;a>=100*i;)i++;b=rhun[i-1];a-=(i-1)*100;for(i=0;a>=10*i;)i++;f=rzeh[i-1];a-=(i-1)*10;for(i=0;a>=i;)i++;return e+d+(c+b+f+rein[i-1])+postn}function jdro(){var a=document.F2.jd.value*1;if(a<610054||a>2907058)alert("nicht im berechenbaren Zeitraum");else{a=gibjdro(a);alert(a)}}function caljdro(){var a=caljd()*1;if(!isNaN(a))if(a>610053&&a<2907059){a=gibjdro(a);alert(a)}else alert("Wert nicht berechenbar")}
function gibro(){var a=document.F3.rxd1.value*1+document.F3.rxd2.value*1+document.F3.rxd3.value*1+document.F3.rxd4.value*1;if(a==0){alert("kein Jahr 0 im römischen Kalender");a="f"}if(document.F3.bre.checked)a=-a;else a-=1;if(a<-2290){alert("nicht im berechenbaren Zeitraum");a="f"}return a}function rojd(){var a=gibro();a=habjd(a);isNaN(a)||alert("JD "+a)}function rojdcal(){var a=gibro();a=habjd(a);if(!isNaN(a)){a=gibjdcal(a);alert("Greg./Jul. Kalenderdatum: "+a)}};

