var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var months = new Array('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь');

function getDays(month, year) {
	if (month == 1) {
		return ((year % 4 == 0) && ((year % 100) != 0) || (year % 400 == 0)) ? 29 : 28;
	}
	var m = month - 0;
	return daysInMonth[m];
}

function setArchive(month, year) {
	document.getElementById("dateDisplay").innerHTML = months[month - 0] + ", " + year;
}

function getNews(day, month, year) {
	var now = new Date();
	var candidate = new Date(year, month, day);
	var td = document.createElement("td");
	if (now < candidate) {
		td.appendChild(document.createTextNode(day));
		return td;
	}
	//var time = year + "-" + ((month < 9)? "0" : "") + (month - 0 + 1) + "-" + ((day < 10)? "0" : "") + day;
	var time = ((day < 10)? "0" : "") + day + "." + ((month < 9)? "0" : "") + (month - 0 + 1) + "." + year;
	var anc = document.createElement("a");
	anc.setAttribute("href", "http://prokostromu.ru/news/block/archive/" + time + "/");
	anc.appendChild(document.createTextNode(((day < 10)? "0" : "") + day));
	td.appendChild(anc);
	return td;
}

function calendarGenerator(month, year) {
	setArchive(month, year);
	var ttable=document.createElement('table');
	var table = document.createElement('tbody');
	ttable.appendChild(table);
	ttable.setAttribute('width','100%');
	//table.setAttribute('border','1');

	var tr=document.createElement('tr');
	table.appendChild(tr);
	// РџРѕРЅ
	var td=document.createElement('td');
	td.setAttribute('class', 'cldday');
	td.appendChild(document.createTextNode('пн'));
	tr.appendChild(td);
	// Р’С‚
	td = document.createElement('td');
	td.setAttribute('class', 'cldday');
	td.appendChild(document.createTextNode('вт'));
	tr.appendChild(td);
	// РЎСЂ
	td = document.createElement('td');
	td.setAttribute('class', 'cldday');
	td.appendChild(document.createTextNode('ср'));
	tr.appendChild(td);
	// Р§С‚
	td = document.createElement('td');
	td.setAttribute('class', 'cldday');
	td.appendChild(document.createTextNode('чт'));
	tr.appendChild(td);
	// РџС‚
	td = document.createElement('td');
	td.setAttribute('class', 'cldday');
	td.appendChild(document.createTextNode('пт'));
	tr.appendChild(td);
	// РЎР±
	td = document.createElement('td');
	td.setAttribute('class', 'cldhday');
	td.appendChild(document.createTextNode('сб'));
	tr.appendChild(td);
	// Р’СЃ
	td = document.createElement('td');
	td.setAttribute('class', 'cldhday');
	td.appendChild(document.createTextNode('вс'));
	tr.appendChild(td);
	var days = getDays(month, year);
	var curDay = -(new Date(year, month, 1)).getDay() + 1;
	if (curDay == 1)
		curDay = -6;
	var weekDay = 0;
	while (curDay < days) {
		if (weekDay % 7 == 0) {
			table.appendChild(tr);
			tr = document.createElement("tr");
		}
		weekDay++;
		curDay++;

		td = document.createElement("td");
		if (curDay > 0) {
			td = getNews(curDay, month, year);
		} else {
			td.appendChild(document.createTextNode(" "));
		}
		tr.appendChild(td);
	}

	table.appendChild(tr);
	if (document.getElementById("calendar").firstChild) {
		document.getElementById("calendar").replaceChild(ttable, document.getElementById("calendar").firstChild);
	}
	else
		document.getElementById("calendar").appendChild(ttable);
}
