Index: /trunk/FACT++/Makefile.am
===================================================================
--- /trunk/FACT++/Makefile.am	(revision 14627)
+++ /trunk/FACT++/Makefile.am	(revision 14628)
@@ -537,4 +537,8 @@
 endif
 
+if HAS_JSDOC
+MAN_TARGETS += jsdoc
+endif
+
 $(dist_man1_MANS): $(dist_man1_MANS:.man=)
 	@mkdir -p man
@@ -546,4 +550,8 @@
 .man.pdf: $<
 	$(AM_V_GEN)groff -mandoc `man -w -l $<` | ps2pdf - $@
+
+jsdoc:
+	jsdoc -d=html/dimctrl scripts/doc
+
 
 man: $(MAN_TARGETS) doxygen-doc
Index: /trunk/FACT++/Makefile.in
===================================================================
--- /trunk/FACT++/Makefile.in	(revision 14627)
+++ /trunk/FACT++/Makefile.in	(revision 14628)
@@ -86,4 +86,5 @@
 @HAS_GROFF_TRUE@@HAS_PS2PDF_TRUE@am__append_16 = $(dist_man1_MANS:.man=.pdf)
 @HAS_GROFF_TRUE@@HAS_PS2PDF_TRUE@am__append_17 = $(dist_man1_MANS:.man=.pdf)
+@HAS_JSDOC_TRUE@am__append_18 = jsdoc
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -619,4 +620,5 @@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JSDOC = @JSDOC@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
@@ -1136,5 +1138,6 @@
 
 #-------------------------------------------------------------------------
-MAN_TARGETS = $(dist_man1_MANS) $(am__append_12) $(am__append_15)
+MAN_TARGETS = $(dist_man1_MANS) $(am__append_12) $(am__append_15) \
+	$(am__append_18)
 all: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -2799,4 +2802,7 @@
 	$(AM_V_GEN)groff -mandoc `man -w -l $<` | ps2pdf - $@
 
+jsdoc:
+	jsdoc -d=html/dimctrl scripts/doc
+
 man: $(MAN_TARGETS) doxygen-doc
 
Index: /trunk/FACT++/configure
===================================================================
--- /trunk/FACT++/configure	(revision 14627)
+++ /trunk/FACT++/configure	(revision 14628)
@@ -662,4 +662,6 @@
 HAS_DOXYGEN_FALSE
 HAS_DOXYGEN_TRUE
+HAS_JSDOC_FALSE
+HAS_JSDOC_TRUE
 HAS_HELP2MAN_FALSE
 HAS_HELP2MAN_TRUE
@@ -670,4 +672,5 @@
 HAS_COLORDIFF_FALSE
 HAS_COLORDIFF_TRUE
+JSDOC
 HELP2MAN
 PS2PDF
@@ -23974,5 +23977,5 @@
 
 		cat > conftest.$ac_ext <<EOF
-#line 23976 "configure"
+#line 23979 "configure"
 #include "confdefs.h"
 #include <qglobal.h>
@@ -24945,4 +24948,42 @@
 
 
+# Extract the first word of "jsdoc", so it can be a program name with args.
+set dummy jsdoc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_JSDOC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$JSDOC"; then
+  ac_cv_prog_JSDOC="$JSDOC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_JSDOC="yes"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_prog_JSDOC" && ac_cv_prog_JSDOC="no"
+fi
+fi
+JSDOC=$ac_cv_prog_JSDOC
+if test -n "$JSDOC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JSDOC" >&5
+$as_echo "$JSDOC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
 
 ##########################################################################
@@ -25001,4 +25042,12 @@
   HAS_HELP2MAN_TRUE='#'
   HAS_HELP2MAN_FALSE=
+fi
+
+ if test "$JSDOC" = yes; then
+  HAS_JSDOC_TRUE=
+  HAS_JSDOC_FALSE='#'
+else
+  HAS_JSDOC_TRUE='#'
+  HAS_JSDOC_FALSE=
 fi
 
@@ -25454,4 +25503,8 @@
 if test -z "${HAS_HELP2MAN_TRUE}" && test -z "${HAS_HELP2MAN_FALSE}"; then
   as_fn_error $? "conditional \"HAS_HELP2MAN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAS_JSDOC_TRUE}" && test -z "${HAS_JSDOC_FALSE}"; then
+  as_fn_error $? "conditional \"HAS_JSDOC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
@@ -28073,4 +28126,12 @@
 
 fi
+if test -z "$HAS_JSDOC_TRUE"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}:  JavaScript docu        / 'jsdoc'            found: yes" >&5
+$as_echo "$as_me:  JavaScript docu        / 'jsdoc'            found: yes" >&6;}
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}:  JavaScript docu        / 'jsdoc'            found: no" >&5
+$as_echo "$as_me:  JavaScript docu        / 'jsdoc'            found: no" >&6;}
+
+fi
 if test -z "$HAS_HELP2MAN_TRUE"; then :
 
@@ -28195,4 +28256,9 @@
 
 fi
+if test -z "$HAS_JSDOC_TRUE"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}:  jsdoc:         build JavaScript documentation with jsdoc" >&5
+$as_echo "$as_me:  jsdoc:         build JavaScript documentation with jsdoc" >&6;}
+
+fi
 { $as_echo "$as_me:${as_lineno-$LINENO}:  man:           build all buildable documentation" >&5
 $as_echo "$as_me:  man:           build all buildable documentation" >&6;}
@@ -28267,4 +28333,9 @@
 
 fi
+if test -z "$HAS_JSDOC_TRUE"; then :
+  else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:  JavaScript documentation disabled!" >&5
+$as_echo "$as_me: WARNING:  JavaScript documentation disabled!" >&2;}
+fi
 if test -z "$HAS_SQL_TRUE"; then :
   else
Index: /trunk/FACT++/configure.ac
===================================================================
--- /trunk/FACT++/configure.ac	(revision 14627)
+++ /trunk/FACT++/configure.ac	(revision 14628)
@@ -343,4 +343,5 @@
 AC_CHECK_PROG(PS2PDF,    ps2pdf,       yes, no)
 AC_CHECK_PROG(HELP2MAN,  help2man,     yes, no)
+AC_CHECK_PROG(JSDOC,     jsdoc,        yes, no)
 
 ##########################################################################
@@ -373,4 +374,5 @@
 AM_CONDITIONAL(HAS_PS2PDF,    [test "$PS2PDF" = yes])
 AM_CONDITIONAL(HAS_HELP2MAN,  [test "$HELP2MAN" = yes])
+AM_CONDITIONAL(HAS_JSDOC,     [test "$JSDOC" = yes])
 AM_CONDITIONAL(HAS_DOXYGEN,   [test "$DX_DOXYGEN"])
 AM_CONDITIONAL(HAS_DOT,       [test "$DX_DOT"])
@@ -492,4 +494,8 @@
    AC_MSG_NOTICE([ colored svn diff       / 'colordiff'        found: no])
 )
+AM_COND_IF(HAS_JSDOC,
+   AC_MSG_NOTICE([ JavaScript docu        / 'jsdoc'            found: yes]),
+   AC_MSG_NOTICE([ JavaScript docu        / 'jsdoc'            found: no])
+)
 AM_COND_IF(HAS_HELP2MAN,[
    AC_MSG_NOTICE([ man-pages enabled      / 'help2man'         found: $HELP2MAN])
@@ -554,4 +560,7 @@
    AC_MSG_NOTICE([ doxygen-doc:   build html and pdf documentation with doxygen])
 )
+AM_COND_IF(HAS_JSDOC,
+   AC_MSG_NOTICE([ jsdoc:         build JavaScript documentation with jsdoc])
+)
 AC_MSG_NOTICE([ man:           build all buildable documentation])
 AC_MSG_NOTICE()
@@ -583,4 +592,5 @@
       AC_MSG_WARN([ Either of the necessary packages not found - viewer GUI disabled!])
 )
+AM_COND_IF(HAS_JSDOC,,   AC_MSG_WARN([ JavaScript documentation disabled!]))
 AM_COND_IF(HAS_SQL,,     AC_MSG_WARN([ database support globally disabled!]))
 AM_COND_IF(HAS_NOVA,,    AC_MSG_WARN([ libnova missing - smartfact will be compiles without astronomy support!]))
