var urbecondita	=	753
var cpridie	=	""
var ckalendas	=	""
var cdiem	=	""
var cmensis	=	""
var nmensis	=	0
var lmeses	=	new Array(12)
var ameses	=	new Array(12)
var lidus	=	new Array(12)
var lnonas	=	new Array(12)
var ldias	=	new Array(12)
var orto	=	new Array(12)
var ocaso	=	new Array(12)
var lhoras	=	new Array(17)

lhoras[0]	="VIGILIA"
lhoras[1]	="PRIMA"
lhoras[2]	="SECUNDA"
lhoras[3]	="TERTIA"
lhoras[4]	="QUARTA"
lhoras[5]	="QUINTA"
lhoras[6]	="SEXTA"
lhoras[7]	="SEPTIMA"
lhoras[8]	="OCTAVA"
lhoras[9]	="NONA"
lhoras[10]	="DECIMA"
lhoras[11]	="UNDECIMA"
lhoras[12]	="DUODECIMA"
lhoras[13]	="PRIMA VIGILIA"
lhoras[14]	="SECUNDA VIGILIA"
lhoras[15]	="TERTIA VIGILIA"
lhoras[16]	="QUARTA VIGILIA"

lmeses[0]="IANUARIUS"
ldias[0]	=31
lnonas[0]	=5
lidus[0]	=13
orto[0]		=458
ocaso[0]	=1018
lmeses[1]="FEBRUARIUS"
ldias[1]	=28
lnonas[1]	=5
lidus[1]	=13
orto[1]		=445
ocaso[1]	=1052
lmeses[2]="MARTIUS"
ldias[2]	=31
lnonas[2]	=7
lidus[2]	=15
orto[2]		=408
ocaso[2]	=1086
lmeses[3]="APRILIS"
ldias[3]	=30
lnonas[3]	=5
lidus[3]	=13
orto[3]		=358
ocaso[3]	=1119
lmeses[4]="MAIUS"
ldias[4]	=31
lnonas[4]	=7
lidus[4]	=15
orto[4]		=314
ocaso[4]	=1150
lmeses[5]="IUNIUS"
ldias[5]	=30
lnonas[5]	=5
lidus[5]	=13
orto[5]		=287
ocaso[5]	=1179
lmeses[6]="IULIUS"
ldias[6]	=31
lnonas[6]	=7
lidus[6]	=15
orto[6]		=288
ocaso[6]	=1189
lmeses[7]="AUGUSTUS"
ldias[7]	=31
lnonas[7]	=5
lidus[7]	=13
orto[7]		=312
ocaso[7]	=1169
lmeses[8]="SEPTEMBER"
ldias[8]	=30
lnonas[8]	=5
lidus[8]	=13
orto[8]		=342
ocaso[8]	=1126
lmeses[9]="OCTOBER"
ldias[9]	=31
lnonas[9]	=7
lidus[9]	=15
orto[9]		=371
ocaso[9]	=1077
lmeses[10]="NOVEMBER"
ldias[10]	=30
lnonas[10]	=5
lidus[10]	=13
orto[10]	=405
ocaso[10]	=1031
lmeses[11]="DECEMBER"
ldias[11]	=31
lnonas[11]	=5
lidus[11]	=13
orto[11]	=439
ocaso[11]	=1009

ameses[0]	="enero"
ameses[1]	="febrero"
ameses[2]	="marzo"
ameses[3]	="abril"
ameses[4]	="mayo"
ameses[5]	="junio"
ameses[6]	="julio"
ameses[7]	="agosto"
ameses[8]	="septiembre"
ameses[9]	="octubre"
ameses[10]	="noviembre"
ameses[11]	="diciembre"

function horaromana(nmes,nminutos){
if (nmes==12){nmes=6}
if (nmes==13){nmes=7}
nlondia=ocaso[nmes]-orto[nmes]
nlonnoc=1440-nlondia
nlonvig=parseInt(nlonnoc/4,"10")
nlonhor=parseInt(nlondia/12,"10")
nminutos=(nminutos-orto[nmes])
if (nminutos<=0){
	nminutos=(nlonnoc+nminutos)+nlondia
	}
if (nminutos>0 && nminutos>nlondia){
	nminutos=nminutos-nlondia
	nhora=(nminutos/nlonvig)+13
}
else {
	nhora=(nminutos/nlonhor)+1
}
nhora=parseInt(nhora,"10")
if (nhora>16){nhora=16}
return (nhora)
}

function horaactual(nmes,nhora){
if (nmes==12){nmes=6}
if (nmes==13){nmes=7}
nminutos=0
nlondia=ocaso[nmes]-orto[nmes]
nlonnoc=1440-nlondia
nlonvig=parseInt(nlonnoc/4,"10")
nlonhor=parseInt(nlondia/12,"10")
if (nhora<13) {
	nminutos=(nlonhor*(nhora-1))+orto[nmes]
}
else {
	nhora=nhora-12
	nminutos=(nlonvig*(nhora-1))+ocaso[nmes]
	if (nminutos>1499){nminutos=nminutos-1499}
}
return (nminutos)
}

function deolimpiadas(dfecha){
annum=dfecha.getFullYear()
return (canno)
}

function aburbe(nfecha){
annum=parseInt(nfecha,"10")
anno=annum+urbecondita
canno=hazarro(anno)
return (canno)
}

function aburbecondita(dfecha){
annum=dfecha.getFullYear()
anno=annum+urbecondita
canno=hazarro(anno)
return (canno)
}

function mense(dfecha){
nmes=dfecha.getMonth()
cmes=lmeses[nmes]
return (cmes)
}

function dadia(cpri,cdia,ckal,nmes){
var ndiaact=0
var ndif=0
var nmescon=nmes
var ndiacon=0
var ncor=1
ndia=hazroar(cdia)

if (nmes==12){nmes=6}
if (nmes==13){nmes=7}

if (cpri=="PRIDIE"){ndif=-1}
if (cpri=="POSTRIDIE"){ndif=1}
if (cpri=="ANTE DIEM"){ndif=-1*(ndia-1)}

if (ckal=="KALENDAS"){
	if (ndif==0){ndiaact=1}
	else {
		if (ndif==1){ndiaact=2}
		else {
			nmes=nmes-1
			if (nmes<0){nmes=11}
			ndiaact=ldias[nmes]+ndif+ncor
		}
	}
}
if (ckal=="IDUS"){
	if (ndif==0){ndiaact=lidus[nmes]}
	else {
		ndiaact=lidus[nmes]+ndif
	}
}
if (ckal=="NONAS"){
	if (ndif==0){ndiaact=lnonas[nmes]}
	else {
		ndiaact=lnonas[nmes]+ndif
	}
}
nmensis=nmes
return (ndiaact)
}

function diem(dfecha){
nmes=dfecha.getMonth()
ndia=dfecha.getDate()
nidus=0
nnonas=0
ndias=0
nmestot=11
cmes=mense(dfecha)
cdia=""

for (i=0;i<12;i++){
	if (nmes==i){
		nidus=lidus[i]
		nnonas=lnonas[i]
		ndias=ldias[i]
		cdia=hazkalendas(ndia,nmes,ndias,nnonas,nidus)
	}
}
return (cdia)
}

function hazkalendas(ndia,nmes,ndias,nnonas,nidus){
if (nmes==12){nmes=6}
if (nmes==13){nmes=7}
cfecha=""
cact=lmeses[nmes]
csig=lmeses[0]
nsig=0

if (nmes<11){csig=lmeses[nmes+1];nsig=nmes+1}

if (ndia==1){
	cmensis=cact
	cdiem=""
	ckalendas="KALENDAS"
	cpridie=""
	cfecha="KAL. "+cact.substring(0,3)+"."
	return(cfecha)
	}
if (ndia==2){
	cmensis=cact
	cdiem=""
	ckalendas="KALENDAS"
	cpridie="POSTRIDIE"
	cfecha="POS. KAL. "+cact.substring(0,3)+"."
	return(cfecha)
	}
if (ndia==ndias){
	cmensis=csig
	cdiem=""
	ckalendas="KALENDAS"
	cpridie="PRIDIE"
	cfecha="PRID. KAL. "+csig.substring(0,3)+"."
	return(cfecha)
	}
if (ndia<lnonas[nmes]){
	cmensis=cact
	cdiem=hazarro((lnonas[nmes]-ndia)+1)
	ckalendas="NONAS"
	cpridie="ANTE DIEM"
	cfecha="A.D. "+cdiem+" NON. "+cact.substring(0,3)+"."
	return(cfecha)
	}
if (ndia==lnonas[nmes]){
	cmensis=cact
	cdiem=""
	ckalendas="NONAS"
	cpridie=""
	cfecha="NON. "+cact.substring(0,3)+"."
	return(cfecha)
	}
if (ndia==lnonas[nmes]+1){
	cmensis=cact
	cdiem=""
	ckalendas="NONAS"
	cpridie="POSTRIDIE"
	cfecha="POS. NON. "+cact.substring(0,3)+"."
	return(cfecha)
	}
if (ndia<lidus[nmes]){
	cmensis=cact
	cdiem=hazarro((lidus[nmes]-ndia)+1)
	ckalendas="IDUS"
	cpridie="ANTE DIEM"
	cfecha="A.D. "+cdiem+" ID. "+cact.substring(0,3)+"."
	return(cfecha)
	}
if (ndia==lidus[nmes]){
	cmensis=cact
	cdiem=""
	ckalendas="IDUS"
	cpridie=""
	cfecha="ID. "+cact.substring(0,3)+"."
	return(cfecha)
	}
if (ndia==lidus[nmes]+1){
	cmensis=cact
	cdiem=""
	ckalendas="IDUS"
	cpridie="POSTRIDIE"
	cfecha="POS. ID. "+cact.substring(0,3)+"."
	return(cfecha)
	}

cmensis=csig
cdiem=hazarro((ldias[nmes]-ndia)+2)
ckalendas="KALENDAS"
cpridie="ANTE DIEM"
cfecha="A.D. "+cdiem+" KAL. "+csig.substring(0,3)+"."
return(cfecha)
}
