/* +-------------------------------------------------------------------+ | H T M L - C A L E N D A R (v2.5) | | | | Copyright Gerd Tentler www.gerd-tentler.de/tools | | Created: May 27, 2003 Last modified: Dec. 22, 2006 | +-------------------------------------------------------------------+ | This program may be used and hosted free of charge by anyone for | | personal purpose as long as this copyright notice remains intact. | | | | Obtain permission before selling the code for this program or | | hosting this software on a commercial website or redistributing | | this software over the Internet or in any other medium. In all | | cases copyright must remain intact. | +-------------------------------------------------------------------+ EXAMPLE #1: myCal = new CALENDAR(); document.write(myCal.create()); EXAMPLE #2: myCal = new CALENDAR(2004, 12); document.write(myCal.create()); EXAMPLE #3: myCal = new CALENDAR(); myCal.year = 2004; myCal.month = 12; document.write(myCal.create()); Returns HTML code ========================================================================================================== */ var cal_ID = 0; function CALENDAR(year, month) { //======================================================================================================== // Configuration //======================================================================================================== this.tFontFace = 'Arial, Helvetica'; // title: font family (CSS-spec, e.g. "Arial, Helvetica") this.tFontSize = 14; // title: font size (pixels) this.tFontColor = '#362f2d'; // title: font color this.tBGColor = '#c6b9a4'; // title: background color this.hFontFace = 'Arial, Helvetica'; // heading: font family (CSS-spec, e.g. "Arial, Helvetica") this.hFontSize = 12; // heading: font size (pixels) this.hFontColor = '#362f2d'; // heading: font color this.hBGColor = '#c6b9a4'; // heading: background color this.dFontFace = 'Arial, Helvetica'; // days: font family (CSS-spec, e.g. "Arial, Helvetica") this.dFontSize = 14; // days: font size (pixels) this.dFontColor = '#FFFFFF'; // days: font color this.dBGColor = '#9d0a0e'; // days: background color this.wFontFace = 'Arial, Helvetica'; // weeks: font family (CSS-spec, e.g. "Arial, Helvetica") this.wFontSize = 12; // weeks: font size (pixels) this.wFontColor = '#FFFFFF'; // weeks: font color this.wBGColor = '#304B90'; // weeks: background color this.saFontColor = '#FFFFFF'; // Saturdays: font color this.saBGColor = '#9d0a0e'; // Saturdays: background color this.suFontColor = '#FFFFFF'; // Sundays: font color this.suBGColor = '#9d0a0e'; // Sundays: background color this.tdFontColor = '#FFFFFF'; // today: font color this.tdBGColor = '#f7941d'; // today: background color this.borderColor = ''; // border color this.hilightColor = '#f7941d'; // hilight color (works only in combination with link) this.link = ''; // page to link to when day is clicked this.offset = 1; // week start: 0 - 6 (0 = Saturday, 1 = Sunday, 2 = Monday ...) this.weekNumbers = false; // view week numbers: true = yes, false = no //-------------------------------------------------------------------------------------------------------- // You should change these variables only if you want to translate them into your language: //-------------------------------------------------------------------------------------------------------- // weekdays: must start with Saturday because January 1st of year 1 was a Saturday this.weekdays = new Array('Sa', 'Su', 'Mo', 'Tu', 'We', 'Th', 'Fr'); // months: must start with January this.months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); // error messages this.error = new Array('Year must be 1 - 3999!', 'Month must be 1 - 12!'); //-------------------------------------------------------------------------------------------------------- // Don't change from here: //-------------------------------------------------------------------------------------------------------- this.size = 0; this.mDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if(year == null && month == null) { var obj = new Date(); year = obj.getYear(); if(year < 1900) year += 1900; month = obj.getMonth() + 1; } else if(year != null && month == null) month = 1; this.year = year; this.month = month; //======================================================================================================== // Functions //======================================================================================================== this.set_styles = function() { cal_ID++; var html = ''; return html; } this.leap_year = function(year) { return (!(year % 4) && (year < 1582 || year % 100 || !(year % 400))) ? true : false; } this.get_weekday = function(year, days) { var a = days; if(year) a += (year - 1) * 365; for(var i = 1; i < year; i++) if(this.leap_year(i)) a++; if(year > 1582 || (year == 1582 && days >= 277)) a -= 10; if(a) a = (a - this.offset) % 7; else if(this.offset) a += 7 - this.offset; return a; } this.get_week = function(year, days) { var firstWDay = this.get_weekday(year, 0); return Math.floor((days + firstWDay) / 7) + (firstWDay <= 3); } this.table_cell = function(content, cls, date) { var size = Math.round(this.size * 1.5); var html = '
| ';
html += ' |