Index: trunk/Ohana/src/opihi/cmd.data/book.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/book.c	(revision 16465)
+++ trunk/Ohana/src/opihi/cmd.data/book.c	(revision 16631)
@@ -7,4 +7,5 @@
 int book_getbook (int argc, char **argv);
 int book_listbook (int argc, char **argv);
+int book_shuffle (int argc, char **argv);
 int book_npages (int argc, char **argv);
 int book_newpage (int argc, char **argv);
@@ -22,4 +23,5 @@
   {1, "getbook",  book_getbook,  "get book name by location"},
   {1, "listbook", book_listbook, "list pages in a book"},
+  {1, "shuffle",  book_shuffle,  "shuffle pages in a book"},
   {1, "npages",   book_npages,   "return number of pages in a book"},
   {1, "newpage",  book_newpage,  "create a new page in a book"},
@@ -43,4 +45,5 @@
     gprint (GP_ERR, "    book getbook  (where) [-var var]           : get book name\n");
     gprint (GP_ERR, "    book listbook (book)                       : list a book\n");
+    gprint (GP_ERR, "    book shuffle  (book)                       : randomize pages in a book\n");
     gprint (GP_ERR, "    book npages   (book) [-var var] [-key key] : return number of pages in a book\n");
     gprint (GP_ERR, "    book newpage  (book) (page)                : create a new page in a book\n");
Index: trunk/Ohana/src/opihi/cmd.data/book_commands.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/book_commands.c	(revision 16465)
+++ trunk/Ohana/src/opihi/cmd.data/book_commands.c	(revision 16631)
@@ -378,4 +378,26 @@
 }
 
+int book_shuffle (int argc, char **argv) {
+
+  int where, N;
+  char *varName, *keyName, *keyValue;
+  Book *book;
+  Page *page;
+
+  if (argc != 2) {
+    gprint (GP_ERR, "USAGE: book shuffle (book)\n");
+    return FALSE;
+  }
+
+  book = FindBook (argv[1]);
+  if (book == NULL) {
+    gprint (GP_ERR, "book %s not found\n", argv[1]);
+    return FALSE;
+  }
+
+  ShufflePages (book);
+  return TRUE;
+}
+
 int book_setword (int argc, char **argv) {
 
