calend_sh=1;

function c_showhide()
{	
	calend_sh=!calend_sh;
	document.getElementById('calend_hide').style.display=calend_sh?'block':'none';
}

function wr(s){document.write(s);}

function calendar()
{
	var holiday=new Array('1.1','7.1','23.2','8.3','1.5','9.5','12.6');

	var months=new Array(
			'Январь',
			'Февраль',
			'Март',
			'Апрель',
			'Май',
			'Июнь',
			'Июль',
			'Август',
			'Сентябрь',
			'Октябрь',
			'Ноябрь',
			'Декабрь');

	var dcnt=new Array(31,28,31,30,31,30,31,30,30,31,30,31);

	var D=new Date();
	var day=D.getDate();
	var wek=D.getDay()-1;
	if (wek<0) wek=6;
	var mnt=D.getMonth();
	var year=D.getFullYear();
	if (year%4==0) dcnt[1]=29;
	var p=wek+1-day%7;
	if (p<0) p+=7;

	wr('<link href="calendar.css" type="text/css" rel="stylesheet" />');
	wr('<table border="1" id="calend_face">');
	wr('<tr><td bgcolor="navy" style="color:white;">');
	wr('<b><a href="#" onclick="c_showhide();return false"><font color="red" title="Свернуть / Развернуть">[o]</font></a> '+months[mnt]+' '+year+'</b>');
	wr('</td></tr><tr><td><div id="calend_hide">');
	wr('<table class="calendr" border="0">');
	wr('<tr><td>Пн</td><td>Вт</td><td>Ср</td><td>Чт</td><td>Пт</td><td>Сб</td><td><font color="red">Вс</font></td></tr><tr>');

	for (var i=1;i<=p;i++) wr('<td>&nbsp;</td>');
	p++;
	for (i=1;i<=dcnt[mnt];i++,p++)
	{
		Elm=i.toString();
		if (p%7==0) Elm='<font color="red">'+Elm+'</font>';
		for (j=0;j<holiday.length;j++)
			if (holiday[j]==i.toString()+'.'+(mnt+1).toString()) 
			{
				Elm='<font color="red">'+Elm+'</font>';
				break;
			}
		i==day?Elm='<td title="Сегодня" bgcolor="navy" style="color:white;";>'+Elm+'</td>':Elm='<td>'+Elm+'</td>';
		if (p%7==0) Elm=Elm+'</tr>';
		if (p%7==1) Elm='<tr>'+Elm;
		wr (Elm);
	}
	do wr('<td>&nbsp;</td>'); while (p++%7);

	wr('</tr></table></div></td></tr></table>');

	calend_face.style.visibility='hidden';
	calend_face.style.filter='revealTrans(Duration=1.0,Transition=12)';
	calend_face.filters.item(0).Apply();
	calend_face.style.visibility='';
	calend_face.filters.item(0).Play();
}