Many authors will use the javascripts "as is", or make minor changes. <script language=JavaScript type=text/javascript> <!-- This script and many more are available free online at --> <!-- The JavaScript Source!! http://javascript.internet.com --> <!-- Begin monthnames = new Array( "January","Februrary","March","April","May","June","July","August", "September","October","November","December"); var linkcount=0; function addlink(month, day, href) { var entry = new Array(3); entry[0] = month; entry[1] = day; entry[2] = href; this[linkcount++] = entry; } Array.prototype.addlink = addlink; linkdays = new Array(); monthdays = new Array(12); monthdays[0]=31; monthdays[1]=28; monthdays[2]=31; monthdays[3]=30; monthdays[4]=31; monthdays[5]=30; monthdays[6]=31; monthdays[7]=31; monthdays[8]=30;monthdays[9]=31; monthdays[10]=30; monthdays[11]=31; // ---- get current date // ---- set nextmonth=1 for next month's calender nextmonth=0; todayDate=new Date(); thisday=todayDate.getDay(); thismonth=todayDate.getMonth(); // thismonth=thismonth+nextmonth; thisdate=todayDate.getDate(); thisyear=todayDate.getYear(); // ---adjust for December if (thismonth == 12) {thisyear = thisyear+1; thismonth = 0; }; // --- defines days in the month thisyear = thisyear % 100; thisyear = ((thisyear < 50) ? (2000 + thisyear) : (1900 + thisyear)); if (((thisyear % 4 == 0) && !(thisyear % 100 == 0)) ||(thisyear % 400 == 0)) monthdays[1]++; // --- determine start day of the week startspaces=thisdate; // --- need to define algorithm for starting day for next month while (startspaces > 7) startspaces-=7; startspaces = thisday - startspaces + 1; if (startspaces < 0) startspaces+=7; document.write("<table border=1 bgcolor=gold cellpadding=1 cellspacing=0"); document.write("bordercolor=black><font color=black face='ms sans serif' size=1>"); document.write("<tr><td colspan=7><center><font color=black face='ms sans serif' size=1><strong>" + monthnames[thismonth] + " " + thisyear + "<\/strong><\/center><\/font><\/td><\/tr>"); // ---display heading row document.write("<tr>"); document.write("<td align=center><font color=black face='ms sans serif' size=1><B>Su<\/td>"); document.write("<td align=center><font color=black face='ms sans serif' size=1><B>M<\/td>"); document.write("<td align=center><font color=black face='ms sans serif' size=1><B>Tu<\/td>"); document.write("<td align=center><font color=black face='ms sans serif' size=1><B>W<\/td>"); document.write("<td align=center><font color=black face='ms sans serif' size=1><B>Th<\/td>"); document.write("<td align=center><font color=black face='ms sans serif' size=1><B>F<\/td>"); document.write("<td align=center><font color=black face='ms sans serif' size=1><B>Sa<\/td>"); document.write("<\/tr>"); // --- write each week document.write("<tr>"); for (s=0;s<startspaces;s++) { document.write("<td> <\/td>"); } count=1; while (count <= monthdays[thismonth]) { for (b = startspaces;b<7;b++) { linktrue=false; document.write("<td align=right><font color=black face='ms sans serif' size=1><B>"); for (c=0;c<linkdays.length;c++) { if (linkdays[c] != null) { if ((linkdays[c][0]==thismonth + 1) && (linkdays[c][1]==count)) { document.write("<a href=\"" + linkdays[c][2] + "\">"); linktrue=true; } } } if (count==thisdate) { document.write("<font color='FF0000'><strong>"); } if (count <= monthdays[thismonth]) { document.write(count); } else { document.write(" "); } if (count==thisdate) { document.write("<\/strong><\/font>"); } if (linktrue) document.write("<\/a>"); document.write("<\/td>"); count++; } document.write("<\/tr>"); document.write("<tr>"); startspaces=0; } document.write("<\/table>"); // --- end of month // End --> </SCRIPT> |