// written by Tan Ling Wee on 2 Dec 2001 // last updated 30 Oct 2003 // email : fuushikaden@yahoo.com // website : www.pengz.com // TabSize: 4 // // modified by ALQUANTO 30 July 2003 - german language included. // - modified languageLogic with the ISO-2letter-strings // - changes in in showCalendar: defaultLanguage is already set... // - js and html corrected... more xhtml-compliant... simplier css // email: popcalendar@alquanto.de // // modified by PinoToy 25 July 2003 - new logic for multiple languages (English, Spanish and ready for more). // - changes in popUpMonth & popDownMonth methods for hidding popup. // - changes in popDownYear & popDownYear methods for hidding popup. // - new logic for disabling dates in the past. // - new method showCalendar, dynamic configuration of language, enabling past & position. // - changes in the styles. // email: pinotoy@yahoo.com // // modified by Balazs Szuecs 15.10.2003 // - html escape sequences for native language characters // - merged a posting by Martin Venter martin@unirnd.co.za ("Modified version to overlay IE objects") // - switch to enable/dispable weekend & holiday links // - Opera compatibility ( getYear() --> getFullYear() ) // - calendar accepts yy year entries // - calendar jumps to today on scramble entry // - color & layout modifications, style parameters defined // - adapted function OsterSonntag by Ralf Pfeifer to calculate easter holidays // - addHoliday with month = 0 : easter dependent holiday, days after easter sunday given in the "day" field // - initCalendar( lang ) defined to initalize language dependent help texts // - texts extracted --> TextCenter // - etc... // email: balazs_szucs@hotmail.com var language = 'en'; // Default Language: en - english ; es - spanish; de - german var enablePast = 0; // 0 - disabled ; 1 - enabled var enableHoliday = 0; // 0 - disabled ; 1 - enabled var enableWeekend = 0; // 0 - disabled ; 1 - enabled var fixedX = -1; // x position (-1 if to appear below control) var fixedY = -1; // y position (-1 if to appear below control) var startAt = 1; // 0 - sunday ; 1 - monday var showWeekNumber = 1; // 0 - don't show; 1 - show var showToday = 1; // 0 - don't show; 1 - show var imgDir = '/portletimg/infinity/uifw/widgets/client/'; // directory for images ... e.g. var imgDir="/img/" // var dayName = ''; var maxXNormalDisplay = 738; // above this x coordinate the calendar is placed _below_ the input field var HideIEObjects = false; //Hides IE objects. var OverlayIEObjects = true; //It will display the calendar above any IE objects /* if (startAt==0) { dayName = { en : new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'), es : new Array('Dom','Lun','Mar','Mie','Jue','Vie','Sab'), de : new Array('So','Mo','Di','Mi','Do','Fr','Sa') }; } else { dayName = { en : new Array('Mon','Tue','Wed','Thu','Fri','Sat','Sun'), es : new Array('Lun','Mar','Mie','Jue','Vie','Sab','Dom'), de : new Array('Mo','Di','Mi','Do','Fr','Sa','So') }; } */ var crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear, selDayAction, isPast; var visYear = 0; var visMonth = 0; var bPageLoaded = false; var ie = document.all; var dom = document.getElementById; var ns4 = document.layers; var opera = (navigator.userAgent.indexOf("Opera")!=-1)?true:false; var today = new Date(); var dateNow = today.getDate(); var monthNow = today.getMonth(); var yearNow = today.getFullYear(); var imgsrc = new Array('drop1.gif','drop2.gif','left1.gif','left2.gif','right1.gif','right2.gif'); var img = new Array(); var bShow = false; // --------- styles by Balazs var todayStyle = 'color:#DF0029;font-weight:bold;'; var weekendStylePast = 'color:#909090;'; var weekendStyle = 'color:#6E8C8C;'; var workdayStylePast = 'color:#909090;'; var workdayStyle = 'color:#404040;'; var holidayStyle = 'color:#AFAFAF;'; var weekNrStyle = 'color:#737373;' var dayNameStyle = 'color:#737373;font-weight:bold;'; var todayIsStyle = 'color:#404040;'; var styleAnchor = 'text-decoration:none;color:#404040;'; // today link var styleLightBorder = 'border:1px solid #DF0029;'; // selected date var bottomBgStyle = 'background-color:#DCDCDC;'; var menuItemBgColor = '#DCDCDC'; var menuItemSelectedBgColor = '#909090'; var menuItemStyle = 'color:#404040;'; var menuCaptionStyle = 'border:0px solid #d0d0d0;cursor:pointer; color: #ffffff;'; // --------- /* hides and objects (for IE only) */ function showElement(elmID) { if(ie) { for(i = 0; i < document.all.tags( elmID ).length; i++) { obj = document.all.tags(elmID)[i]; if(!obj || !obj.offsetParent) continue; obj.style.visibility = ''; } } } function HolidayRec (d, m, y, desc) { this.d = d; this.m = m; this.y = y; this.desc = desc; } var HolidaysCounter = 0; var Holidays = new Array(); function addHoliday (d, m, y, desc) { Holidays[HolidaysCounter++] = new HolidayRec (d, m, y, desc); } if (dom) { for (i=0;i