<SCRIPT> <!-- setCal() function getTime() { // initialize time-related variables with current time settings var now = new Date() var hour = now.getHours() var minute = now.getMinutes() now = null var ampm = ""
// validate hour values and set value of ampm if (hour >= 12) { hour -= 12 ampm = "PM" } else ampm = "AM" hour = (hour == 0) ? 12 : hour
// add zero digit to a one digit minute if (minute < 10) minute = "0" + minute // do not parse this number!
function leapYear(year) { if (year % 4 == 0) // basic rule return true // is leap year /* else */ // else not needed when statement is "return" return false // is not leap year }
function getDays(month, year) { // create array to hold number of days in each month var ar = new Array(12) ar[0] = 31 // January ar[1] = (leapYear(year)) ? 29 : 28 // February ar[2] = 31 // March ar[3] = 30 // April ar[4] = 31 // May ar[5] = 30 // June ar[6] = 31 // July ar[7] = 31 // August ar[8] = 30 // September ar[9] = 31 // October ar[10] = 30 // November ar[11] = 31 // December
// return number of days in the specified month (parameter) return ar[month] }
function getMonthName(month) { // create array to hold name of each month var ar = new Array(12) ar[0] = "ЯНВАРЬ" ar[1] = "ФЕВРАЛЬ" ar[2] = "МАРТ" ar[3] = "АПРЕЛЬ" ar[4] = "МАЙ" ar[5] = "ИЮНЬ" ar[6] = "ИЮЛЬ" ar[7] = "АВГУСТ" ar[8] = "СЕНТЯБРЬ" ar[9] = "ОКТЯБРЬ" ar[10] = "НОЯБРЬ" ar[11] = "ДЕКАБРЬ"
// return name of specified month (parameter) return ar[month] }
function setCal() { // standard time attributes var now = new Date() var year = now.getYear() var month = now.getMonth() var monthName = getMonthName(month) var date = now.getDate() now = null
// create instance of first day of month, and extract the day on which it occurs var firstDayInstance = new Date(year, month, 1) var firstDay = firstDayInstance.getDay() firstDayInstance = null
// number of days in current month var days = getDays(month, year) if (year < 2000) year = year + 1900; // call function to draw calendar drawCal(firstDay + 1, days, date, monthName, 0+ year) }
function drawCal(firstDay, lastDate, date, monthName, year) { // constant table settings var headerHeight = 40 // height of the table's header cell var border = 1 // 3D height of table's border var cellspacing = 1 // width of table's border var headerColor = "midnightblue" // color of table's header var headerSize = "+3" // size of tables header font var colWidth = 60 // width of columns in table var dayCellHeight = 25 // height of cells containing days of the week var dayColor = "darkblue" // color of font representing week days var cellHeight = 40 // height of cells representing dates in the calendar var todayColor = "red" // color specifying today's date in the calendar var timeColor = "blue" // color of font representing current time var bordercolor= "green" //color of main table
// create basic table structure var text = "" // initialize accumulative variable to empty string text += '<CENTER>' text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + ' BORDERCOLOR=' + bordercolor +'>' // table settings text += '<TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell text += '<FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>' // set font for table header text += monthName + ' ' + year text += '</FONT>' // close table header's font settings text += '</TH>' // close header cell
// variables to hold constant settings var openCol = '<TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>' openCol += '<b><FONT COLOR="' + dayColor + '">' var closeCol = '</b></FONT></TD>'
// create array of abbreviated day names var weekDay = new Array(7) weekDay[0] = "Воскр." weekDay[1] = "Понед." weekDay[2] = "Втор." weekDay[3] = "Среда" weekDay[4] = "Четв." weekDay[5] = "Птн." weekDay[6] = "Суб."
// create first row of table to set column width and specify week day text += '<TR bgcolor=lightgreen ALIGN="center" VALIGN="center">' for (var dayNum = 0; dayNum < 7; ++dayNum) { text += openCol + weekDay[dayNum] + closeCol } text += '</TR>'
// declaration and initialization of two variables to help with tables var digit = 1 var curCell = 1
for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) { text += '<TR ALIGN="right" VALIGN="top">' for (var col = 1; col <= 7; ++col) { if (digit > lastDate) break if (curCell < firstDay) { text += '<TD></TD>'; curCell++ } else { if (digit == date) { // current cell represent today's date text += '<TD HEIGHT=' + cellHeight + '>' text += '<FONT COLOR="' + todayColor + '">' text += digit text += '</FONT><BR>' text += '<FONT COLOR="' + timeColor + '" SIZE=2>' text += '<CENTER>' + getTime() + '</CENTER>' text += '</FONT>' text += '</TD>' } else text += '<TD HEIGHT=' + cellHeight + '>' + digit + '</TD>' digit++ } } text += '</TR>' }
// close all basic table tags text += '</TABLE>' text += '</CENTER>'
// print accumulative HTML string document.write(text) }
/*Current date script credit: Website (www.floridain.com) ! */
var mydate=new Date() var year=mydate.getYear() if (year < 2000) year = year + 1900; var day=mydate.getDay() var month=mydate.getMonth() if (month<10) month="0"+month var daym=mydate.getDate() if (daym<10) daym="0"+daym document.write("<center><small><font color='000000' face='Arial'><b>"+month+"/"+daym+"/"+year+"</b></font></small></center>") // --> </SCRIPT>