проблема была в window.document.write вот так работает
<html>
<head>
<style>
td
{
text-align:center;
}
td.bc
{
color:red;
}
td.hc
{
color:green;
}
td.pc
{
font-weight:bold;
color:red;
}
td.cc
{
background:yellow;
}
</style>
</head>
<body>
<div id="kalendar"></div>
<script type = "text/javascript">
Month = new Array ('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
wek = new Array ('пн','вт','ср','чт','пт','сб','вс');
mon = new Array (31,28,31,30,31,30,31,31,30,31,30,31);
hol = new Array (1,23,8,0,9,12,0,0,0,0,4,12);
now = new Date();
d = now.getDate();
m = now.getMonth();
y = now.getFullYear();
y0 = 2000; m0 = 0; d0 = 1; dw0 = 6;
k=1; s=0; dw=1;
for (i = y0; i<y; i++)
{
if (i%4==0)
{
s=s+366;
}
else
{
s+=365;
}
}
if (y%4==0)
{
mon [1]=29;
}
else
{
mon [1]=28;
}
for (j=m0; j<m; j++)
{
s=s+mon[j];
}
dw =(s+d+1)%7;
if (dw==0)
{
dw=7;
}
function Reload()
{
m--;
kalendar_div = document.getElementById('kalendar');
html = '<input type="button" value="<<" onclick="return Reload();"/>';
html += '<table width = "400px" height = "250px">';
for ( i=0; i<7;i++)
{
html +='<tr>';
for ( j=0; j<7; j++)
{
cellstyle = 'bc';
if (j<=5)
{
cellstyle = 'vc';
}
if (k==hol[m])
{
cellstyle = 'pc';
}
if (i==0)
{
cellvalue = wek[j];
cellstyle = 'hc';
}
if(i==1)
{
if ((j+1)>=dw)
{
cellvalue = k;
k++;
}
else
{
cellvalue = ' ';
}
}
if(i>1)
{
if(k<=mon[m])
{
cellvalue = k;
if (d==cellvalue)
{
cellstyle = 'cc';
}
}
else
{
cellvalue = ' ';
}
k++;
}
html += '<td class = "'+cellstyle+'">'+cellvalue+'</td>';
}
html +='</tr>';
}
html +='</table>';
k=1;
kalendar_div.innerHTML = html;
return false;
}
Reload ();
</script>
</body>
</html>