На JS собрал все данные, осталось только отрисовать финальную таблицу с календарём. Не могу понять как пропустить первые 3 ячейки таблицы в первой строке если месяц начинается с четверга и разместить первое число именно с 4 ячейки а после 7й сделать "перенос строки". Реализации посмотрел разные, например:
do {
// Начало строки таблицы
if (index%7==0) {
tmp+='<tr>';
}
// Пустые ячейки до начала месяца или после окончания
if ((index<start_day) || (index>=(total_days+start_day))) {
tmp+='<td class="grayed"> <\/td>';
}
или
for (c=8;c<43;c++)
if (td_d[c].innerHTML==0) {
td_d[c].visibility="hidden"; // не показывать ячейку, если она пустая
} else td_d[c].bgColor="white"; // непустые ячейки окрасить белым цветом
Но чё-то как-то не доходит до меня алгоритм всё равно.