//-- Отстраивает селектор месяцев ----------------------------------------------
function MakeMonthsSelector(d)
{
  var s = "";
  var monthNames = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
  s += '<SELECT class="clnd_select" onchange="ClndRedraw(this.selectedIndex,\''+d.getTime()+'\')">';
  for (var i=0; i<monthNames.length; i++)
  {
    if (d.getMonth() == i) s += '<OPTION selected>' + monthNames[i];
    else s += '<OPTION>' + monthNames[i];
  }
  s += '</SELECT>';

  return s;
} // MakeMonthsSelector() ------------------------------------------------------


//-- Отстраивает месячную календарную сетку ------------------------------------
function MakeCalendar(d,sd)
{
  var s = "";
  var month = d.getMonth();
  var year = d.getFullYear()+"";
  var nowDate = new Date();
  var selectTime;
  d.setHours(0,0,0,0);
  if (sd == null) selectTime = d.getTime();
  else selectTime = sd;
  nowDate.setHours(0,0,0,0);

  s += '<TABLE width="100%" cellspacing="0" cellpadding="1" border="0" class="clnd_tbl">';
  s += '<TR>';
  s += '<TH class="clnd_wd">Mo</TH>';
  s += '<TH class="clnd_wd">Tu</TH>';
  s += '<TH class="clnd_wd">We</TH>';
  s += '<TH class="clnd_wd">Th</TH>';
  s += '<TH class="clnd_wd">Fr</TH>';
  s += '<TH class="clnd_wd">Sa</TH>';
  s += '<TH class="clnd_wd">Su</TH>';
  s += '</TR>';

  d.setFullYear(year);
  d.setDate(1);
  d.setMonth(month);
  var firstWeekDay = (parseInt(d.getDay(),10) == 0) ? 7 : parseInt(d.getDay(),10);
  d.setMonth(month+1);
  d.setDate(0);
  var lastMonthDate = parseInt(d.getDate(),10);
  var numberOfWeeks = ((firstWeekDay+lastMonthDate)>36) ? 6 : 5;
  var curDate = 1;
  for (var week=0; week<numberOfWeeks; week++) {
    s += '<TR class="clnd_row">';
    for(var weekday=1; weekday<8; weekday++) {
      if ((week==0 && weekday < firstWeekDay) || curDate > lastMonthDate) { 
         s += '<TD class="clnd_cell">&nbsp;</TD>';
      }
      else {
        var dt = (curDate < 10) ? "0"+curDate : curDate;
        var dateString = dt+"."+((month<9) ? "0"+(month+1): (month+1)+"")+"."+year;
        d.setFullYear(year, month, dt);
        s += '<TD class="clnd_cell';
        if (d.getTime() == selectTime)              s += ' slkt_day';
        if (d.getTime() == nowDate.getTime())       s += ' this_day';
        if (d.getTime() > nowDate.getTime())        s += ' future';
        if ((d.getDay() == 6) || (d.getDay() == 0)) s += ' weekend';
        s += '"><A href="javascript:ChooseDate(\'' + dateString + '\')">' + curDate + '</TD>';
        curDate++;
      }
    }
    s += '</TR>';
  }
  s += '</TABLE>';
  return s;
} // MakeCalendar() ------------------------------------------------------------


function MakeClndBlock(d)
{
  var param = new Array();
  var p;
  var rd = document.location.search+"";
  rd = rd.substring(1, rd.length);
  rd = rd.split("&");
  for (var i=0; i<rd.length; i++)
  {
    p = rd[i].split("=");
    param[p[0]] = p[1];
  }
  
  if (d == null)
    if ((param["d"]+"") == "undefined") d = new Date();
    else
    {
      p = param["d"].split(".");
      d = new Date(parseInt(p[2],10), (parseInt(p[1],10)-1), parseInt(p[0],10));
    }
  document.write(MakeMonthsSelector(d));
  document.write('<DIV id="clndDIV" align="center">');
  document.write(MakeCalendar(d))
  document.write('</DIV>');
}

function ClndRedraw(i,sd)
{
  var s = "";
  var d = new Date();
  d.setMonth(i);
  s = MakeCalendar(d,sd);
  document.getElementById("clndDIV").innerHTML = s;;
}

function ChooseDate(ds)
{
  document.location.href = "/english/news/index.asp?d="+ds;
}
