var Calendar=new Object();

Calendar.Create=function(date, path) {
        date=date.split(".", 3);
        d=new Date();
	Calendar.year=(date[2]>0 ? date[2] : d.getFullYear());
	Calendar.y=Calendar.year;
	Calendar.month=(date[1]>=0 & date[1]<12 ? date[1]-1 : d.getMonth());
	Calendar.m=Calendar.month;
	Calendar.d=(date[0]>=0 & date[0]<=Calendar.getDayCount(Calendar.month, Calendar.year) ? Calendar.d=date[0] : d.getDate());
	Calendar.URL=(path?path:'/news/');
        Calendar.Put();
	Calendar.Update();
}

Calendar.Put=function() {
	document.write('<table  border="0" align="center" cellpadding="2" cellspacing="1" id="calendar">');
	document.write('<tr><td colspan="7" align="center" class="month"><a href="#" onclick="return Calendar.MonthLeft();">«</a> <span id="cur">&nbsp</span> <a href="#" onclick="return Calendar.MonthRight();">»</a></td></tr>');
        days=new Array(7);
        days[1]="Пн";
        days[2]="Вв";
        days[3]="Ср";
        days[4]="Чт";
        days[5]="Пт";
        days[6]="Сб";
        days[7]="Нд";
        for (i=0; i<=6; i++) {
                document.write('<tr>');
                for (j=1; j<=7; j++) {
                        if (!i) {document.write('<td align="center" width="14">'+days[j]+'</td>');}
                        else {document.write('<td width="14" id="c'+i+j+'" align="center">&nbsp;</td>');}
                }
                document.write('</tr>');
        }
        document.write('</table>');
}

Calendar.Zero=function(n) {
        return (n<10 ? '0'+n : n);
}

Calendar.getFirstDay=function(m, y) {
        d=new Date(); d.setDate(1); d.setMonth(m); d.setFullYear(y);
        n=d.getDay();
        return (n ? n : 7);
}

Calendar.getDayCount=function(m, y) {
        s=new Date(); s.setDate(1); s.setMonth(m); s.setFullYear(y);
        if (m==11) {m=0; y++;}
        else {m++;}
        e=new Date(); e.setDate(1); e.setMonth(m); e.setFullYear(y);
        return Math.round((e-s)/(86400000));
}

Calendar.Update=function() {
        d=new Date();
        d.setDate(1); d.setMonth(Calendar.month); d.setFullYear(Calendar.year);
        n=Calendar.getFirstDay(Calendar.month, Calendar.year);
        m=Calendar.getDayCount(Calendar.month, Calendar.year);
        for (i=1; i<=6; i++) {
                for (j=1; j<=7; j++) {
                        p=document.getElementById('c'+i+j);
                        k=(i-1)*7+j-n+1;
			active=(k==Calendar.d & Calendar.month==Calendar.m & Calendar.year==Calendar.y ? 1 : 0);
			url=Calendar.URL+'d.'+Calendar.Zero(k)+'/m.'+Calendar.Zero(Calendar.month+1)+'/y.'+Calendar.year+'/';
                        p.innerHTML=(k<1|k>m ? '&nbsp;' : (active ? '<b>' : '')+'<a href="'+url+'">'+k+'</a>')+(active ? '</b>' : '');
			p.style.background=(active ? '#fff17a' : '#ffffff');
                }
        }
        month=new Array("Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень");
        p=document.getElementById('cur');
        p.innerHTML=month[Calendar.month]+' '+Calendar.year;
}

Calendar.MonthLeft=function() {
        if (Calendar.month>0) {Calendar.month--;}
        else {Calendar.month=11; Calendar.year--;}
        Calendar.Update();
        return false;
}

Calendar.MonthRight=function() {
        if (Calendar.month<11) {Calendar.month++;}
        else {Calendar.month=0; Calendar.year++;}
        Calendar.Update();
        return false;
}