diff --git a/21 Calendar/calendar.bas b/21 Calendar/calendar.bas index 674488e5..8a7703f9 100644 --- a/21 Calendar/calendar.bas +++ b/21 Calendar/calendar.bas @@ -4,7 +4,7 @@ 100 REM VALUES FOR 1979 - SEE NOTES 110 DIM M(12) 120 FOR I=1 TO 6: PRINT CHR$(10);: NEXT I -130 D=1: REM 1979 STARTS ON MONDAY (0=SUN, -1=MON, -2=TUES...) +130 D=-1: REM 1979 STARTS ON MONDAY (0=SUN, -1=MON, -2=TUES...) 140 S=0 150 REM READ DAYS OF EACH MONTH 160 FOR N=0 TO 12: READ M(N): NEXT N diff --git a/21 Calendar/javascript/calendar.html b/21 Calendar/javascript/calendar.html new file mode 100644 index 00000000..ff9a3603 --- /dev/null +++ b/21 Calendar/javascript/calendar.html @@ -0,0 +1,9 @@ + + +CALENDAR + + +

+
+
+
diff --git a/21 Calendar/javascript/calendar.js b/21 Calendar/javascript/calendar.js
new file mode 100644
index 00000000..28819198
--- /dev/null
+++ b/21 Calendar/javascript/calendar.js	
@@ -0,0 +1,89 @@
+// CALENDAR
+//
+// Converted from BASIC to Javascript by Oscar Toledo G. (nanochess)
+//
+function print(str)
+{
+	document.getElementById("output").appendChild(document.createTextNode(str));
+}
+
+function tab(space)
+{
+	var str = "";
+	while (space-- > 0)
+		str += " ";
+	return str;
+}
+
+print(tab(32) + "CALENDAR\n");
+print(tab(15) + "CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY\n");
+print("\n");
+print("\n");
+print("\n");
+
+//       0, 31, 29  ON LEAP YEARS
+var m = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+
+// VALUES FOR 1979 - SEE NOTES
+for (i = 1; i <= 6; i++)
+	print("\n");
+
+d = -1;	// 1979 starts on Monday (0 = Sun, -1 = Monday, -2 = Tuesday)
+s = 0;
+
+for (n = 1; n <= 12; n++) {
+	print("\n");
+	print("\n");
+	s = s + m[n - 1];
+	str = "**" + s;
+	while (str.length < 7)
+		str += " ";
+	for (i = 1; i <= 18; i++)
+		str += "*";
+	switch (n) {
+		case  1:	str += " JANUARY "; break;
+		case  2:	str += " FEBRUARY"; break;
+		case  3:	str += "  MARCH  "; break;
+		case  4:	str += "  APRIL  "; break;
+		case  5:	str += "   MAY   "; break;
+		case  6:	str += "   JUNE  "; break;
+		case  7:	str += "   JULY  "; break;
+		case  8:	str += "  AUGUST "; break;
+		case  9:	str += "SEPTEMBER"; break;
+		case 10:	str += " OCTOBER "; break;
+		case 11:	str += " NOVEMBER"; break;
+		case 12:	str += " DECEMBER"; break;
+	}
+	for (i = 1; i <= 18; i++)
+		str += "*";
+	str += (365 - s) + "**";
+	     // 366 - s on leap years
+	print(str + "\n");
+	print("     S       M       T       W       T       F       S\n");
+	print("\n");
+	str = "";
+	for (i = 1; i <= 59; i++)
+		str += "*";    
+	for (week = 1; week <= 6; week++) {
+		print(str + "\n");
+		str = "    ";
+		for (g = 1; g <= 7; g++) {
+			d++;
+			d2 = d - s;
+			if (d2 > m[n]) {
+				week = 6;
+				break;
+			}
+			if (d2 > 0)
+				str += d2;
+			while (str.length < 4 + 8 * g)
+				str += " ";
+		}
+		if (d2 == m[n]) {
+			d += g;
+			break;
+		}
+	} 
+	d -= g;
+	print(str + "\n");
+}