// ********* ********* ********* ********* ********* ********* ********* ********* ********* // Special Event function // This function allows you set events for every weekday or for holidays // // VARIABLE DATE TYPE DESCRIPTION // y number the 4-digit year (i.e. 2002) // m number the month (0=jan, 1=feb, 2=mar,... 11=dec) // d number the day // dte date the full date sans time // dteEaster date the full date of Easter Sunday for the year // weekday number day of the week (0=sun; 1=mon; 2=tue, ..., 6=sat) // weekOfYear number week number of the year // weekOfMonth number week number of the month // weekdayOfMonth number weekday number of month (1st Sunday, 2nd Sunday, ...) // last boolean is this the last weekday of the month // ********* ********* ********* ********* ********* ********* ********* ********* ********* function dcSpecialEvent(y,m,d) { var evnt; var evnts = new Array(); var dte = new Date(y, m, d); var dteEaster = dcEaster(y); var weekday = dte.getDay(); var weekOfYear = dcWeekOfYear(dte); var weekOfMonth = dcWeekOfMonth(dte); var weekdayOfMonth = dcWeekdayOfMonth(dte); var last=( (new Date(y,m,d+7).getMonth() ) ==m+1); // ********* ********* ********* // *** holidays // New Years Day if (m==0 && d==1) { evnt = new EventObj(m,d,y, "New Years Day", null, "eventYellow"); evnts[evnts.length] = evnt; }; // Martin Luther King Day, third Monday in January. if (m==0 && weekday==1 && weekdayOfMonth==3) { evnt = new EventObj(m,d,y, "Martin Luther King Day", null, "eventYellow"); evnts[evnts.length] = evnt; }; // President's Day, third Monday in February. if (m==1 && weekday==1 && weekdayOfMonth==3) { evnt = new EventObj(m,d,y, "Presidents Day", null, "eventMagenta"); evnts[evnts.length] = evnt; }; // St. Valentines day if (m==1 && d==14) { evnt = new EventObj(m,d,y, "St. Valentines Day", null, "eventMagenta"); evnts[evnts.length] = evnt; }; // St. Patricks day if (m==2 && d==17) { evnt = new EventObj(m,d,y, "St. Patricks Day", null, "eventStPatrick"); evnts[evnts.length] = evnt; }; // Daylight Savings time begins, second Sunday in March if (m==2 && weekday==0 && weekdayOfMonth==2) { evnt = new EventObj(m,d,y, "Begin Daylight Savings", null, "eventBlack"); evnts[evnts.length] = evnt; }; // Mother's Day, second Sunday in May. if (m==4 && weekday==0 && weekdayOfMonth==2) { evnt = new EventObj(m,d,y, "Mothers Day", null, "eventMagenta"); evnts[evnts.length] = evnt; }; //Memorial Day, last Monday in May. if (m==4 && weekday==1 && last==true) { evnt = new EventObj(m,d,y, "Memorial Day", null, "eventYellow"); evnts[evnts.length] = evnt; }; // Father's Day, third Sunday in June. if (m==5 && weekday==0 && weekdayOfMonth==3) { evnt = new EventObj(m,d,y, "Fathers Day", null, "eventBlue"); evnts[evnts.length] = evnt; }; // 4th of July if (m==6 && d==4) { evnt = new EventObj(m,d,y, "Fourth of July", null, "eventYellow"); evnts[evnts.length] = evnt; }; // Labor Day, first Monday in September. if (m==8 && weekday==1 && weekdayOfMonth==1) { evnt = new EventObj(m,d,y, "Labor Day", null, "eventYellow"); evnts[evnts.length] = evnt; }; // Columbus Day, second Monday in October if (m==9 && weekday==1 && weekdayOfMonth==2) { evnt = new EventObj(m,d,y, "Colombus Day", null, "eventMagenta"); evnts[evnts.length] = evnt; }; // Daylight Savings Time ends, first Sunday in November if (m==10 && weekday==0 && weekdayOfMonth==1) { evnt = new EventObj(m,d,y, "End Daylight Savings", null, "eventBlack"); evnts[evnts.length] = evnt; }; // Halloween if (m==9 && d==31) { evnt = new EventObj(m,d,y, "Halloween", null, "eventHalloween"); evnts[evnts.length] = evnt; }; // Thanksgiving Day, fourth Thursday in November. if (m==10 && weekday==4 && weekdayOfMonth==4) { evnt = new EventObj(m,d,y, "Thanksgiving Day", null, "eventYellow"); evnts[evnts.length] = evnt; }; // Christmas if (m==11 && d==25) { evnt = new EventObj(m,d,y, "Christmas Day", null, "eventYellow"); evnts[evnts.length] = evnt; }; // ********* ********* ********* // *** Easter holidays // Ash Wednesday (46 days before Easter) dteAsh = new Date(y, dteEaster.getMonth(), dteEaster.getDate()-46); if ( dcDateCompare(dte, dteAsh) ) { evnt = new EventObj(m,d,y, "Ash Wednesday", null, "eventMagenta"); evnts[evnts.length] = evnt; }; // Easter Sunday if (dcDateCompare(dte, dteEaster)) { evnt = new EventObj(m,d,y, "Easter Sunday", null, "eventYellow"); evnts[evnts.length] = evnt; }; // ********* ********* ********* // *** every weekday functions // every sunday if (weekday==0) { evnt = new EventObj(m,d,y, null, null, "eventLRed"); evnts[evnts.length] = evnt; }; // every 2nd saturday if (weekday==6) { evnt = new EventObj(m,d,y, null, null, "eventLRed"); evnts[evnts.length] = evnt; }; return evnts; };