Index: trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 473)
+++ trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 474)
@@ -122,5 +122,21 @@
     @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_TaskManager', 'ROLE_TaskUser'])
     def searchCalendar = {
-        params.max = 30
+
+        if(session.taskSearchParamsMax)
+            params.max = session.taskSearchParamsMax
+
+        // Protect filterPane.
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+
+        // Set the month to show.
+        def showMonth = new Date()
+        if(session.taskSearchCalendarShowMonth)
+            showMonth = session.taskSearchCalendarShowMonth
+
+        if(params.nextMonth)
+            showMonth = dateUtilService.getNextMonth(showMonth)
+        else if(params.previousMonth)
+            showMonth = dateUtilService.getPreviousMonth(showMonth)
+        session.taskSearchCalendarShowMonth = showMonth
 
         // Quick Search:
@@ -155,5 +171,5 @@
                 params.quickSearch = "searchTodays"
             }
-            return[taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceList.totalCount, filterParams: params]
+            return[taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceList.totalCount, showMonth: showMonth, filterParams: params]
         }
         // filterPane:
@@ -163,4 +179,5 @@
             taskInstanceTotal: taskInstanceTotal,
             filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params),
+            showMonth: showMonth,
             params:params ]
     }
