Index: /trunk/FACT++/src/InterpreterV8.cc
===================================================================
--- /trunk/FACT++/src/InterpreterV8.cc	(revision 15207)
+++ /trunk/FACT++/src/InterpreterV8.cc	(revision 15208)
@@ -1667,9 +1667,9 @@
         return ThrowException(String::New("Argument must be a Date"));
 
-    Nova::HrzPosn hrz;
-    hrz.alt = 90-GetDataMember(args, "zd");
-    hrz.az  =    GetDataMember(args, "az");
-
-    if (!finite(hrz.alt) || !finite(hrz.az))
+    Nova::ZdAzPosn hrz;
+    hrz.zd = GetDataMember(args, "zd");
+    hrz.az = GetDataMember(args, "az");
+
+    if (!finite(hrz.zd) || !finite(hrz.az))
         return ThrowException(String::New("zd and az must be finite."));
 
@@ -1717,7 +1717,7 @@
     const Time utc(v/1000, v%1000);
 
-    const Nova::HrzPosn hrz = Nova::GetHrzFromEqu(equ, utc.JD());
-
-    Handle<Value> arg[] = { Number::New(90-hrz.alt), Number::New(hrz.az), date };
+    const Nova::ZdAzPosn hrz = Nova::GetHrzFromEqu(equ, utc.JD());
+
+    Handle<Value> arg[] = { Number::New(hrz.zd), Number::New(hrz.az), date };
     return handle_scope.Close(fTemplateLocal->GetFunction()->NewInstance(3, arg));
 }
@@ -1744,7 +1744,7 @@
     const Time utc(v/1000, v%1000);
 
-    const Nova::HrzPosn hrz = Nova::GetHrzFromEqu(equ, utc.JD());
-
-    Handle<Value> arg[] = { Number::New(90-hrz.alt), Number::New(hrz.az), date };
+    const Nova::ZdAzPosn hrz = Nova::GetHrzFromEqu(equ, utc.JD());
+
+    Handle<Value> arg[] = { Number::New(hrz.zd), Number::New(hrz.az), date };
     return handle_scope.Close(fTemplateLocal->GetFunction()->NewInstance(3, arg));
 }
Index: /trunk/FACT++/src/smartfact.cc
===================================================================
--- /trunk/FACT++/src/smartfact.cc	(revision 15207)
+++ /trunk/FACT++/src/smartfact.cc	(revision 15208)
@@ -257,9 +257,9 @@
             fSet = Time(moon.set);
 
-        const Nova::EquPosn pos = Nova::GetLunarEquCoords(JD);
-        const Nova::HrzPosn hrz = Nova::GetHrzFromEqu(pos, JD);
-
-        az =    hrz.az;
-        zd = 90-hrz.alt;
+        const Nova::EquPosn  pos = Nova::GetLunarEquCoords(JD);
+        const Nova::ZdAzPosn hrz = Nova::GetHrzFromEqu(pos, JD);
+
+        az = hrz.az;
+        zd = hrz.zd;
 
         ra  = pos.ra/15;
@@ -2149,5 +2149,5 @@
                 pos.dec = dec;
 
-                const Nova::HrzPosn hrz = Nova::GetHrzFromEqu(pos, now.JD());
+                const Nova::ZdAzPosn hrz = Nova::GetHrzFromEqu(pos, now.JD());
 
                 /*const*/ pair<vector<float>, pair<Time, float>> vis = GetVisibility(&pos, now.JD());
@@ -2176,16 +2176,16 @@
 
                 string col = HTML::kWhite;
-                if (hrz.alt>5)
+                if (hrz.zd<85)
                     col = HTML::kRed;
-                if (hrz.alt>25)
+                if (hrz.zd<65)
                     col = HTML::kYellow;
-                if (hrz.alt>60)
+                if (hrz.zd<30)
                     col = HTML::kGreen;
 
                 out2 << "<tr bgcolor='" << col << "'>";
                 out2 << "<td>" << name << "</td>";
-                if (hrz.alt>5)
+                if (hrz.zd<85)
                 {
-                    out2 << "<td>" << 90-hrz.alt << "&deg;</td>";
+                    out2 << "<td>" << hrz.zd << "&deg;</td>";
                     out2 << "<td>" << GetDir(hrz.az) << "</td>";
                 }
