Highlights
All Snippets
Top 100 Snippets
Librarians
gbCodeLib

By Language
VB6
JavaScript
Perl
HTML
SQL
Java
DOS

GBIC >> Source Code >> JavaScript >> Snippet

Calendar - 3-month rolling


< html >
< head >
< script >
var flg = 0;
var fs = 1;
var bg = "cyan" ;
M = new Array ( "January" , "February" ,
"March" , "April" , "May" , "June" ,
"July" , "August" , "September" ,
"October" , "November" , "December" );
D = new Array ( "Sun" , "Mon" , "Tue" , "Wed" , "Thu" , "Fri" , "Sat" );
function getBgn() {
pdy = new Date ();         // today
pmo = pdy.getMonth();     // present month
pyr = pdy.getYear();      // present year
if (pyr < 2000)     // Y2K Fix, Isaac Powell
pyr = pyr + 1900; // http://onyx.idbsu.edu/~ipowell
yr = yr1 = (pmo == 0 ? pyr - 1 : pyr); // last month's year
mo = (pmo == 0 ? 11 : pmo - 1);   // last month
bgn = new Date (M[mo] + " 1," + yr1); // assign to date
document.write( '<TABLE BORDER=0><TR><TD VALIGN=TOP>' );
Calendar();            // Send last month to screen
document.write( '</TD><TD VALIGN=TOP>' );
yr = pyr;                 // present year
mo = pmo;                 // present month
bgn = new Date (M[mo] + " 1," + yr); // assign to date
Calendar();            // Send this month to screen
document.write( '</TD><TD VALIGN=TOP>' );
yr = (pmo == 11 ? pyr + 1 : pyr); // next month's year
mo = (pmo == 11 ? 0 : pmo + 1);    // next month
bgn = new Date (M[mo] + " 1," + yr); // assign to date
Calendar();            // Send next month to screen
document.write( '</TD></TR></TABLE>' ); // Finish up
}
function Calendar() {
dy = bgn.getDay();
yr = eval (yr);
d = "312831303130313130313031" ;
if (yr / 4 == Math .floor(yr / 4)) {
d = d.substring(0, 2) + "29" + d.substring(4, d.length);
}
pos = (mo * 2);
ld = eval (d.substring(pos, pos + 2));
document.write( "<TABLE BORDER=1"
+ " BGCOLOR='" + bg
+ "'><TR><TD ALIGN=CENTER COLSPAN=7>"
+ "<FONT SIZE=" + fs + ">" + M[mo] + " " + yr
+ "</FONT></TD></TR><TR><TR>" );
for ( var i = 0;i < 7;i ++ ) {
document.write( "<TD ALIGN=CENTER>"
+ "<FONT SIZE=1>" + D[i] + "</FONT></TD>" );
}
document.write( "</TR><TR>" );
ctr = 0;
for ( var i = 0;i < 7; i ++ ) {
if (i < dy) {
document.write( "<TD ALIGN=CENTER>"
+ "<FONT SIZE=" + fs + "> </FONT>"
+ "</TD>" );
}
else {
ctr ++ ;
document.write( "<TD ALIGN=CENTER>"
+ "<FONT SIZE=" + fs + ">" + ctr + "</FONT>"
+ "</TD>" );
   }
}
document.write( "</TR><TR>" );
while (ctr < ld) {
for ( var i = 0;i < 7; i ++ ) {
ctr ++ ;
if (ctr > ld) {
document.write( "<TD ALIGN=CENTER>"
+ " </TD>" );
}
else {
document.write( "<TD ALIGN=CENTER>"
+ "<FONT SIZE=" + fs + ">" + ctr + "</FONT>"
+ "</TD>" );
   }
}
document.write( "</TR><TR>" );
}
document.write( "</TR></TABLE>" );
}
</ SCRIPT >

</ head >

< body Background = .. / graphics / grayback.jpg >
< center >< BR >< BR >< BR >
< P >< B > JavaScript Quarterly Calendar </ B >
< script >
getBgn();
</ SCRIPT >

</ center >
</ BODY >
</ html >

//Thanks to David Pye for his JavaScript Vault contribution