Index: trunk/FACT++/src/InterpreterV8.cc
===================================================================
--- trunk/FACT++/src/InterpreterV8.cc	(revision 14694)
+++ trunk/FACT++/src/InterpreterV8.cc	(revision 14695)
@@ -1315,4 +1315,7 @@
         return ThrowException(String::New("toSky must not be called with more than one argument."));
 
+    if (args.Length()==1 && !args[0]->IsDate())
+        return ThrowException(String::New("Argument must be a Date"));
+
     ln_hrz_posn hrz;
     hrz.alt = 90-GetDataMember(args, "zd");
@@ -1350,4 +1353,7 @@
         return ThrowException(String::New("toLocal must not be called with more than one argument."));
 
+    if (args.Length()==1 && !args[0]->IsDate())
+        return ThrowException(String::New("Argument must be a Date"));
+
     ln_equ_posn equ;
     equ.ra  = GetDataMember(args, "ra")*15;
@@ -1414,4 +1420,7 @@
     if (args.Length()>1)
         return ThrowException(String::New("Moon constructor must not be called with more than one argument."));
+
+    if (args.Length()==1 && !args[0]->IsDate())
+        return ThrowException(String::New("Argument must be a Date"));
 
     HandleScope handle_scope;
@@ -1553,4 +1562,7 @@
     if (args.Length()>2)
         return ThrowException(String::New("Sun.horizon must not be called with one or two arguments."));
+
+    if (args.Length()==2 && !args[1]->IsDate())
+        return ThrowException(String::New("Second argument must be a Date"));
 
     HandleScope handle_scope;
@@ -1607,4 +1619,7 @@
     if (args.Length()>1)
         return ThrowException(String::New("Moon.horizon must not be called with one argument."));
+
+    if (args.Length()==1 && !args[0]->IsDate())
+        return ThrowException(String::New("Argument must be a Date"));
 
     HandleScope handle_scope;
