Blacksmouker,
function calendar(year) {
var html = '<table class="calend"><caption>' + year + ' год</caption>'; //Начинаем формировать таблицу
for (var q = 0; q < 2; q++) {
html += '<tr>';
for (var z = ((q)?6:0); z < ((q)?12:6); z++) {
var days = (Date.UTC(year, z + 1) - Date.UTC(year, z)) / (24 * 60 * 60 * 1000);
var start_day = new Date(year, z);
var index = (start_day.getDay() + 6) % 7;
var rows = Math.ceil((index + days) / 7);
html += '<td><div><table><caption>' + month_name[z] + ' ' + year + '</caption>';
for (var i = 0, k = 1 - index; i < rows; i++) {
html += '<tr>';
for (var j = 0; j < 7; j++, k++) {
if (k > 0 && k <= days) {
/////////////////
var n = k;
for (var d in files) {
if (files[d].slice(6,10) == year) {
if (files[d].slice(3,5)-1 == z) {
if (files[d].slice(0,2) == k) {
n = '<a href="path/' + files[d] + '">' + k + '</a>';
break;
}
}
}
}
/////////////////
if (j > 4) { //это - выходные!
html += '<td class="holiday">' + n + '</td>';
} else { //это - обычные дни:(
html += '<td>' + n + '</td>';
}
} else { //дни - пустышки
html += '<td class="empty"></td>';
}
}
html += '</tr>';
}
html += '</table></div></td>';
}
html += '</tr>';
}
html += '</table>';
document.body.innerHTML = html;
}
calendar(2014);