Switch to side-by-side view

--- a/HelloForge/helloforge/main.py
+++ b/HelloForge/helloforge/main.py
@@ -3,7 +3,9 @@
 
 import pkg_resources
 from pylons import c, request
-from tg import expose, redirect
+from tg import expose, redirect, validate
+from formencode import validators as V
+
 from pyforge.app import Application, ConfigOption
 from pyforge.lib.dispatch import _dispatch
 
@@ -61,11 +63,18 @@
         if version is None:
             return M.Page.upsert(self.title)
         else:
-            return M.Page.upsert(self.title, version=int(version))
+            try:
+                return M.Page.upsert(self.title, version=int(version))
+            except ValueError:
+                return None
 
     @expose('helloforge.templates.page_view')
+    @validate(dict(version=V.Int()))
     def index(self, version=None):
         page = self.page(version)
+        if page is None:
+            if version: redirect('.?version=%d' % (version-1))
+            else: redirect('.')
         cur = page.version - 1
         if cur > 0: prev = cur-1
         else: prev = None