diff --git a/exec/jsdocs.js b/exec/jsdocs.js
index 7aa32edfd7d3b0b29307f2bd373906867e2df00b..6c1b354560a0cada22830ef87fa4877b2b164968 100644
--- a/exec/jsdocs.js
+++ b/exec/jsdocs.js
@@ -1,7 +1,9 @@
 // jsdocs.js
 
-// This script will (eventually be used to) generate HTML documentation of the
-// Synchronet JavaScript object model
+// This script generates HTML documentation of the Synchronet JavaScript object model
+// Requires a Debug build of the Synchronet executable(s)
+
+// $Id: jsdocs.js
 
 const table_tag = "<table border=1 width=100%>";
 
@@ -9,7 +11,8 @@ const li_tag =	"<li onclick = 'this.className = (this.className == \"showList\")
 				"\tonselectstart = 'event.returnValue = false;'" +
 				">";
 
-
+total_methods=0;
+total_properties=0;
 table_depth=0;
 object_depth=0;
 
@@ -84,6 +87,7 @@ function document_methods(name,obj)
 		if(obj._method_list[method].alias != undefined)
 			writeln(obj._method_list[method].alias)
 		**/
+		total_methods++;
 	}
 }
 
@@ -155,6 +159,7 @@ function document_properties(name, obj)
 		writeln("<td>" + prop.bold() + "<td>" + typeof(obj[prop]) );
 		if(obj._property_desc_list!=undefined)
 			writeln("<td>" + obj._property_desc_list[p++] + "</td>");
+		total_properties++;
 	}
 }
 
@@ -234,4 +239,7 @@ f.writeln("</ol>");
 
 f.write(body);
 
+f.writeln("<p><small>");
+f.writeln("Totals: " + total_properties + " properties, " + total_methods + " methods");
+
 f.close();
\ No newline at end of file