todayDate=new Date();
search = window.location.search;
href = window.location.href;
host = window.location.host;
lhref = href.substring(0,href.lastIndexOf("&"));

function Calendar(year, month) {
  if (year==0) { year=todayDate.getYear()%100+2000; month=todayDate.getMonth(); }
  monthnames = new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
  monthnames2 = new Array("Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря");
  wheekdays = new Array("Пн","Вт","Ср","Чт","Пт","Сб","Вс");
  monthdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  s = new String();
  firstDate=new Date(year, month, 1);
  curDate=new Date(year, month, 1);
  month_prev = month-1; month_next = month+1;
  year_prev = year; year_next = year;
  if (month_prev==-1) { month_prev=11; year_prev = year-1; }
  if (month_next==12) { month_next=0; year_next = year+1; }
  // Поправка на высокосный
  if (((year % 4 == 0)&&!(year % 100 == 0))||(year % 400 == 0)) monthdays[1]++;
  s="<table cellspacing=5 class=calendar><tr><td class=left><a href='javascript:Calendar("+year_prev+","+month_prev+")' alt='Предыдущий месяц'><<</a></td><td colspan=5 align=center class=yearmonth>"+monthnames[month]+" "+year+"</td><td class=right><a href='javascript:Calendar("+year_next+","+month_next+")' alt='Следующий месяц'>>></a></td></tr><tr class=weekday>";
  for (var i = 0; i < 7; i++) { s = s + "<td>"+wheekdays[i]+"</td>"; }
  s=s+"</tr><tr>";
  for (i = 0; i < (firstDate.getDay()!=0?firstDate.getDay()-1:6); i++) { s=s+"<td>&nbsp;</td>"; }
  for (var day = 1; day <= monthdays[firstDate.getMonth()]; day++) {
    if ((i%7) == 0) { s = s + "</tr><tr>"; }
    curDate.setDate(day);
    datenews = curDate.getYear()+"-"+(curDate.getMonth()+1<10?"0"+(curDate.getMonth()+1):(curDate.getMonth()+1))+"-"+(curDate.getDate()<10?"0"+curDate.getDate():curDate.getDate());
    if ((curDate.getYear()==todayDate.getYear())&&
        (curDate.getMonth()==todayDate.getMonth())&&
        (curDate.getDate()==todayDate.getDate())) { 
        s = s + "<td><a "+((curDate.getDay()==0||curDate.getDay()==6)?"class=curdayH":"class=curday")+" href='?news=1&date="+datenews+"'>"+day+"</a></td>"; }
    else if (curDate < todayDate) { s = s + "<td><a "+((curDate.getDay()==0||curDate.getDay()==6)?"class=holyday":"")+" href='?news=1&date="+datenews+"'>"+day+"</a></td>"; }
    else { s = s + "<td"+((curDate.getDay()==0||curDate.getDay()==6)?" class=holyday>":">")+day+"</td>"; }
    i++;
  }
  s=s+"</tr><tr><td colspan=7>Сегодня: <b>"+todayDate.getDate()+" "+ monthnames2[month]+" "+year+"г.</b></td></tr><table>";
  document.getElementById('calendar').innerHTML=s;
}