diff -r b758351d191f -r cc9b7e14412b web/lib/django/contrib/admin/media/js/calendar.js --- a/web/lib/django/contrib/admin/media/js/calendar.js Wed May 19 17:43:59 2010 +0200 +++ b/web/lib/django/contrib/admin/media/js/calendar.js Tue May 25 02:43:45 2010 +0200 @@ -25,6 +25,7 @@ var CalendarNamespace = { monthsOfYear: gettext('January February March April May June July August September October November December').split(' '), daysOfWeek: gettext('S M T W T F S').split(' '), + firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), isLeapYear: function(year) { return (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0)); }, @@ -45,6 +46,12 @@ return days; }, draw: function(month, year, div_id, callback) { // month = 1-12, year = 1-9999 + var today = new Date(); + var todayDay = today.getDate(); + var todayMonth = today.getMonth()+1; + var todayYear = today.getFullYear(); + var todayClass = ''; + month = parseInt(month); year = parseInt(year); var calDiv = document.getElementById(div_id); @@ -56,10 +63,10 @@ // Draw days-of-week header var tableRow = quickElement('tr', tableBody); for (var i = 0; i < 7; i++) { - quickElement('th', tableRow, CalendarNamespace.daysOfWeek[i]); + quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]); } - var startingPos = new Date(year, month-1, 1).getDay(); + var startingPos = new Date(year, month-1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); var days = CalendarNamespace.getDaysInMonth(month, year); // Draw blanks before first of month @@ -75,7 +82,13 @@ if (i%7 == 0 && currentDay != 1) { tableRow = quickElement('tr', tableBody); } - var cell = quickElement('td', tableRow, ''); + if ((currentDay==todayDay) && (month==todayMonth) && (year==todayYear)) { + todayClass='today'; + } else { + todayClass=''; + } + var cell = quickElement('td', tableRow, '', 'class', todayClass); + quickElement('a', cell, currentDay, 'href', 'javascript:void(' + callback + '('+year+','+month+','+currentDay+'));'); currentDay++; }