есть скрипт выводящий/скрывающий блок с поздравлениями...
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<style>
div.holiday { background-color: #ececec; text-align: center; border: 1px solid #999; padding: 20px; color: #f00; font: bold 24px serif; }
</style>
</head>
<body>
<div id="holigay"></div>
<script type="text/javascript">
var holidays = {
'3': {
'8': {'start': 8, 'duration': 12, 'compliments': 'С 8 марта !'},
'9': {'start': 12, 'duration': 2, 'compliments': 'Поздравление с Днем счастливых!'}
},
'4': {
'11': {'start': 8, 'duration': 12, 'compliments': 'С днём космонавтики !'},
'30': {'start': 12, 'duration': 2, 'compliments': 'с 30 апреля! '
}
},
'5': {
'1': {'start': 8, 'duration': 12, 'compliments': 'С 1 мая !'},
'9': {'start': 12, 'duration': 2, 'compliments': 'С 9 мая !'
}
}
},
d = new Date(), m;
if((m = holidays[d.getMonth()+1]) && m[d.getDate()]) {
m = m[d.getDate()];
if(d.getHours()>=m.start) {
var b = document.createElement('div');
b.className = 'holiday';
b.innerHTML = m.compliments;
document.querySelector('body').appendChild(b)
}
}
</script>
</body>
</html>
в нем фиксированные даты, вопрос как вывести поздравления с праздниками, даты которых меняются каждый год?
есть две функции для расчёта пасхи православной и католической
function orthodoxDate(year) {
var a = year % 19;
var b = year % 4;
var c = year % 7;
var d = (19 * a + 15) % 30;
var e = (2 * b + 4 * c + 6 * d + 6) % 7;
var f = d + e;
return f <= 26
? new Date(year, 3, 4 + f)
: new Date(year, 4, f - 26);
}
function catholicDate(year) {
var a = year % 19;
var b = year % 4;
var c = year % 7;
var k = Math.floor(year / 100);
var p = Math.floor((13 + 8 * k) / 25);
var q = Math.floor(k / 4);
var m = (15 - p + k - q) % 30;
var n = (4 + k - q) % 7;
var d = (19 * a + m) % 30;
var e = (2 * b + 4 * c + 6 * d + n) % 7;
if (d === 29 && e === 6)
return new Date(year, 3, 19);
if (d === 28 && e === 6 && ((11 * m + 11) % 30 < 19))
return new Date(year, 3, 18);
if (d + e > 9)
return new Date(year, 3, d + e - 9);
else
return new Date(year, 2, 22 + d + e);
}
как в скрипт добавить эти функции, чтобы блок появлялся в эти даты пасхи православной католической, православной радуницей(+9 дней) и православной троицей(+49 дней) ?