// Copyright 1996 - Tomer and Yehuda Shiran
setCal()

function leapYear(year) {
  if (year % 4 == 0)
  return true
  /* else */
  return false
}

function getDays(month, year) {
  var ar = new Array(12)
  ar[0] = 31
  ar[1] = (leapYear(year)) ? 29 : 28
  ar[2] = 31
  ar[3] = 30
  ar[4] = 31
  ar[5] = 30
  ar[6] = 31
  ar[7] = 31
  ar[8] = 30
  ar[9] = 31
  ar[10] = 30
  ar[11] = 31
  return ar[month]
}

function getMonthName(month) {
  var ar = new Array(12)
  ar[0] = "Leden"
  ar[1] = "Únor"
  ar[2] = "Březen"
  ar[3] = "Duben"
  ar[4] = "Květen"
  ar[5] = "Červen"
  ar[6] = "Červenec"
  ar[7] = "Srpen"
  ar[8] = "Září"
  ar[9] = "Říjen"
  ar[10] = "Listopad"
  ar[11] = "Prosinec"
  return ar[month]
}

function setCal() {
  var now = new Date()
  var year = now.getYear()
  if (year<2000) year+=1900;
  var month = now.getMonth()
  var monthName = getMonthName(month)
  var date = now.getDate()
  now = null
  var firstDayInstance = new Date(year, month, 1)
  var firstDay = firstDayInstance.getDay()
  firstDayInstance = null
  var days = getDays(month, year)
  drawCal(firstDay, days, date, monthName, year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
  var headerHeight = 16
  var border = 0
  var cellspacing = 1
  var colWidth = 10
  var dayCellHeight = 10
  var cellHeight = 8

  var text = ""
  text += '<DIV><br><CENTER>'
  text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>'
  text += '<TH COLSPAN=7 HEIGHT=' + headerHeight + ' class=m2>'
  text += '<FONT COLOR="black" style="font-size: 14px">'
  text += monthName + ' 2012'// + year
  text += '</FONT>'
  text += '</TH>'

  var openCol = '<TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'
  openCol += '<FONT COLOR="darkblue">'
  var closeCol = '</FONT></TD>'

  var weekDay = new Array(7)
  weekDay[0] = "Po"
  weekDay[1] = "Út"
  weekDay[2] = "St"
  weekDay[3] = "Čt"
  weekDay[4] = "Pá"
  weekDay[5] = "So"
  weekDay[6] = "Ne"

  text += '<TR ALIGN="center" VALIGN="center" class=m2>'
  for (var dayNum = 0; dayNum < 7; ++dayNum) {
    text += openCol + weekDay[dayNum] + closeCol
  }
  text += '</TR>'

  var digit = 1
  var curCell = 1

  for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
    text += '<TR ALIGN="right" VALIGN="top" class=m2>'
    for (var col = 1; col <= 7; ++col) {
      if (digit > lastDate)
        break
      if (curCell < firstDay) {
        text += '<TD></TD>';
        curCell++
      } else {
        if (digit == date) {
          text += '<TD HEIGHT=' + cellHeight + '>'
          text += '<B><SPAN style="background-color:yellow; color:black">'
          text += digit
          text += '</SPAN></B>'
          text += '</TD>'
        } else
          text += '<TD HEIGHT=' + cellHeight + '>' + digit + '</TD>'
          digit++
        }
      }
      text += '</TR>'
    }

  text += '</TABLE>'
  text += '</CENTER></DIV>'
  document.write(text)
}
