Index: /trunk/README
===================================================================
--- /trunk/README	(revision 154)
+++ /trunk/README	(revision 155)
@@ -2,5 +2,5 @@
     Copyright (C) 2008-2009 Gavin Kromhout
     Copyright (C) 2008-2009 Steven Tucker
- 
+
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU Affero General Public License as published by
Index: /trunk/grails-app/conf/Config.groovy
===================================================================
--- /trunk/grails-app/conf/Config.groovy	(revision 154)
+++ /trunk/grails-app/conf/Config.groovy	(revision 155)
@@ -86,6 +86,6 @@
     [order:20, controller:'taskDetailed', title:'tasks', action:'search',
         subItems: [
-            [order:10, controller:'taskDetailed', title:'Search', action:'search', isVisible: { params.action != 'advancedSearch'}],
-            [order:11, controller:'taskDetailed', title:'Advanced Search', action:'advancedSearch', isVisible: { params.action == 'advancedSearch' }],
+            [order:10, controller:'taskDetailed', title:'Search', action:'search', isVisible: { params.action != 'searchCalendar'}],
+            [order:11, controller:'taskDetailed', title:'Calendar', action:'searchCalendar', isVisible: { params.action == 'searchCalendar' }],
             [order:20, controller:'taskDetailed', title:'Create', action:'create', isVisible: { true }],
             [order:90, controller:'taskDetailed', title:'Show', action:'show', isVisible: { params.action == 'show' }],
Index: /trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 154)
+++ /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 155)
@@ -22,5 +22,5 @@
         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100 )
 
-        // Search urls:
+        // Quick Search:
         if(!params.filter)
         {
@@ -28,15 +28,15 @@
             def personInstance = Person.get(authenticateService.userDomain().id)
 
-            if(params.searchMyTodays) {
+            if(params.quickSearch == "searchMyTodays") {
                 taskInstanceList = taskSearchService.getMyTodays(params)
                 if(taskInstanceList.totalCount > 0) { params.message = "Today's tasks for ${personInstance.firstName} ${personInstance.lastName}." }
                 else { params.message = "No tasks found for today." }
             }
-            else if(params.searchInTheLastWeek) {
+            else if(params.quickSearch == "searchInTheLastWeek") {
                 taskInstanceList = taskSearchService.getInTheLastWeek(params)
                 if(taskInstanceList.totalCount > 0) { params.message = "Tasks with Target Start Date in the last week." }
                 else { params.message = "No tasks found for today." }
             }
-            else if(params.searchMyInTheLastWeek) {
+            else if(params.quickSearch == "searchMyInTheLastWeek") {
                 taskInstanceList = taskSearchService.getMyInTheLastWeek(params)
                 if(taskInstanceList.totalCount > 0) { params.message = "Tasks with Target Start Date in the last week for ${personInstance.firstName} ${personInstance.lastName}." }
@@ -48,7 +48,7 @@
                 if(taskInstanceList.totalCount > 0) { params.message = "Today's tasks." }
                 else { params.message = "No tasks found for today." }
-            }
-
-            return[ taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceList.totalCount]
+                params.quickSearch = "searchTodays"
+            }
+            return[taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceList.totalCount, filterParams: params]
         }
         // filterPane:
@@ -59,144 +59,49 @@
     }
 
-    def advancedSearch = {
-        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100 )
-
-        if(!params._action_advancedSearch)
+    def searchCalendar = {
+//         println params
+        params.max = 30
+
+        // Quick Search:
+        if(!params.filter)
         {
-            // Default:
-            def taskInstanceActivesList = Task.findAllByIsActive(true, params)
-            def taskInstanceActivesTotal = Task.countByIsActive(true)
-            return [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal]
-        }
-        render( view:'advancedSearch', 
-            model:[ taskInstanceList: filterService.filter( params, Task ), 
-            taskInstanceTotal: filterService.count( params, Task ), 
-            filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params), 
-            params:params ] )
-    }
-    
-//     def searchTodays = {
-//         def taskInstanceList = taskSearchService.getTodays(params)
-//         
-//         if(taskInstanceList.totalCount > 0)
-//         {
-//             flash.message = "Today's tasks"
-//         }
-//         else { flash.message = "No tasks found for today" }
-//         
-//         render( view:'search', 
-//             model:[ taskInstanceList: taskInstanceList, 
-//             taskInstanceTotal: taskInstanceList.totalCount])
-//     }
-    
-//     def searchMyTodays = {
-//         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-//             
-//         def taskInstanceList = Task.createCriteria().list() {
-//                 eq("leadPerson", Person.get(authenticateService.userDomain().id))
-//                 ge("targetStartDate", dateUtilService.getToday())
-//                 eq("isActive", true)
-//         }
-//             
-//         def taskInstanceTotal = Task.createCriteria().count() {
-//                 eq("leadPerson", Person.get(authenticateService.userDomain().id))
-//                 ge("targetStartDate", dateUtilService.getToday())
-//                 eq("isActive", true)
-//         }
-//         
-//         if(taskInstanceTotal > 0)
-//         {
-//             flash.message = "Today's tasks"
-//         }
-//         else { flash.message = "No tasks found for today" }
-//         
-//         render( view:'search', 
-//             model:[ taskInstanceList: taskInstanceList, 
-//             taskInstanceTotal: taskInstanceTotal])
-//     }
-    
-    def searchInTheLastWeek = {
-        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-            
-        def taskInstanceList = Task.createCriteria().list() {
-                ge("targetStartDate", dateUtilService.getToday()-7)
-                eq("isActive", true)
-        }
-            
-        def taskInstanceTotal = Task.createCriteria().count() {
-                ge("targetStartDate", dateUtilService.getToday()-7)
-                eq("isActive", true)
-        }
-        
-        if(taskInstanceTotal > 0)
-        {
-            flash.message = "Tasks with target start date in the last week."
-        }
-        
-        else {flash.message = "No tasks found with target start date in the last week." }
-        
-        render( view:'search', 
-            model:[ taskInstanceList: taskInstanceList, 
-            taskInstanceTotal: taskInstanceTotal])
-    }
-    
-    def searchMyInTheLastWeek = {
-        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-            
-        def taskInstanceList = Task.createCriteria().list() {
-                eq("leadPerson", Person.get(authenticateService.userDomain().id))
-                ge("targetStartDate", dateUtilService.getToday()-7)
-                eq("isActive", true)
-        }
-            
-        def taskInstanceTotal = Task.createCriteria().count() {
-                eq("leadPerson", Person.get(authenticateService.userDomain().id))
-                ge("targetStartDate", dateUtilService.getToday()-7)
-                eq("isActive", true)
-        }
-        
-        if(taskInstanceTotal > 0)
-        {
-            flash.message = "Tasks with target start date in the last week."
-        }
-        else { flash.message = "No tasks found with target start date in the last week." }
-        
-        render( view:'search', 
-            model:[ taskInstanceList: taskInstanceList, 
-            taskInstanceTotal: taskInstanceTotal])
-    }
-
-//     def search = {
-//         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-//         
-//         if(!params.order) {
-//             params.sort = "id"
-//             params.order = "desc"
-//         }
-//         
-//         if(params.search == "ShowAll")
-//         {
-//             def taskInstanceActivesList = Task.findAllByIsActive(true, params)
-//             def taskInstanceActivesTotal = Task.countByIsActive(true)
-//             return [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal]
-//         }
-//         if(params.search == "ShowDeleted")
-//         {
-//             def taskInstanceActivesList = Task.findAllByIsActive(false, params)
-//             def taskInstanceActivesTotal = Task.countByIsActive(false)
-//             return [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal]
-//         }
-//         // Default:
-//         def taskInstanceActivesList = Task.findAllByIsActive(true, params)
-//         def taskInstanceActivesTotal = Task.countByIsActive(true)
-//         [taskInstanceList: taskInstanceActivesList, taskInstanceTotal: taskInstanceActivesTotal]
-//     }
-    
-    def searchShowAll = {
-        redirect(action:'search', params:[search:"ShowAll"])
-    }
-    
-    def searchShowDeleted = {
-        redirect(action:'search', params:[search:"ShowDeleted"])
+            def taskInstanceList = []
+            def personInstance = Person.get(authenticateService.userDomain().id)
+
+            if(params.quickSearch == "searchMyTodays") {
+                taskInstanceList = taskSearchService.getMyTodays(params)
+                if(taskInstanceList.totalCount > 0) { params.message = "Today's tasks for ${personInstance.firstName} ${personInstance.lastName}." }
+                else { params.message = "No tasks found for today." }
+                if(taskInstanceList.totalCount > params.max) { params.message = "Too many results, only the first ${params.max} shown" }
+            }
+            else if(params.quickSearch == "searchInTheLastWeek") {
+                taskInstanceList = taskSearchService.getInTheLastWeek(params)
+                if(taskInstanceList.totalCount > 0) { params.message = "Tasks with Target Start Date in the last week." }
+                else { params.message = "No tasks found for today." }
+                if(taskInstanceList.totalCount > params.max) { params.message = "Too many results, only the first ${params.max} shown" }
+            }
+            else if(params.quickSearch == "searchMyInTheLastWeek") {
+                taskInstanceList = taskSearchService.getMyInTheLastWeek(params)
+                if(taskInstanceList.totalCount > 0) { params.message = "Tasks with Target Start Date in the last week for ${personInstance.firstName} ${personInstance.lastName}." }
+                else { params.message = "No tasks found for today." }
+                if(taskInstanceList.totalCount > params.max) { params.message = "Too many results, only the first ${params.max} shown" }
+            }
+            else {
+                //Default:
+                taskInstanceList = taskSearchService.getTodays(params)
+                if(taskInstanceList.totalCount > 0) { params.message = "Today's tasks." }
+                else { params.message = "No tasks found for today." }
+                if(taskInstanceList.totalCount > params.max) { params.message = "Too many results, only the first ${params.max} shown" }
+                params.quickSearch = "searchTodays"
+            }
+            return[taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceList.totalCount, filterParams: params]
+        }
+        // filterPane:
+        def taskInstanceTotal = filterService.count( params, Task )
+        if(taskInstanceTotal > params.max) { params.message = "Too many results, only the first ${params.max} shown" }
+        return[ taskInstanceList: filterService.filter( params, Task ),
+            taskInstanceTotal: taskInstanceTotal,
+            filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params),
+            params:params ]
     }
 
Index: /trunk/grails-app/controllers/TaskProcedureDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 154)
+++ /trunk/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 155)
@@ -2,4 +2,6 @@
 
 class TaskProcedureDetailedController extends BaseController {
+
+    def filterService
 
     def index = { redirect(action:list,params:params) }
@@ -113,5 +115,5 @@
         } else {
             flash.message = "Please select a task, then the Procedure tab.'"
-            redirect(controller:"taskDetailed", action:"list")
+            redirect(controller:"taskDetailed", action:"search")
         }
     }
Index: /trunk/grails-app/i18n/messages.properties
===================================================================
--- /trunk/grails-app/i18n/messages.properties	(revision 154)
+++ /trunk/grails-app/i18n/messages.properties	(revision 155)
@@ -46,4 +46,15 @@
 default.paginate.next=Next
 
+# Rich UI plugin - Calendar
+default.time=Time
+default.week=Week
+default.monday=Mon
+default.tuesday=Tues
+default.wednesday=Wed
+default.thursday=Thu
+default.friday=Fri
+default.saturday=Sat
+default.sunday=Sun
+
 # Data binding errors. Use "typeMismatch.$className.$propertyName to customize (eg typeMismatch.Book.author)
 typeMismatch.java.net.URL=Property {0} must be a valid URL
Index: /trunk/grails-app/views/appCore/start.gsp
===================================================================
--- /trunk/grails-app/views/appCore/start.gsp	(revision 154)
+++ /trunk/grails-app/views/appCore/start.gsp	(revision 155)
@@ -1,9 +1,9 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-<meta name="layout" content="main" />
-<title>Start</title>
-<nav:resources override="true"/>
-<resource:tabView skin="tabviewCustom" />
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+    <meta name="layout" content="main" />
+    <title>Start</title>
+    <nav:resources override="true"/>
+    <resource:tabView skin="tabviewCustom" />
 </head>
     <body>
@@ -39,5 +39,5 @@
                             <table>
                                 <tbody>
-                        
+
                                     <tr class="prop">
                                         <td valign="top" class="name">
@@ -45,7 +45,7 @@
                                         </td>
                                         <td valign="top" class="value">
-                                            <g:link controller="taskDetailed" 
+                                            <g:link controller="taskDetailed"
                                                             action="search"
-                                                            params="[searchMyTodays:'true']">
+                                                            params="[quickSearch: 'searchMyTodays']">
                                                             Today's
                                             </g:link>
@@ -53,10 +53,10 @@
                                             <g:link controller="taskDetailed" 
                                                             action="search"
-                                                            params="[searchMyInTheLastWeek:'true']">
+                                                            params="[quickSearch: 'searchMyInTheLastWeek']">
                                                             In the last week
                                             </g:link>
                                         </td>
                                     </tr>
-                        
+            
                                     <tr class="prop">
                                         <td valign="top" class="name">
@@ -65,21 +65,24 @@
                                         <td valign="top" class="value">
                                             <g:link controller="taskDetailed" 
-                                                            action="search">
-                                                            Today's
-                                            </g:link>
-                                            <br />
-                                            <g:link controller="taskDetailed" 
-                                                            action="search"
-                                                            params="[searchInTheLastWeek:'true']">
-                                                            In the last week
+                                                            action="searchCalendar"
+                                                            params="[quickSearch: 'searchInTheLastWeek']">
+                                                            Calendar
                                             </g:link>
                                         </td>
                                     </tr>
-                                    
+
+<!--                                    More Quick Links:
+                                    Open Tasks
+                                    Closed Tasks
+                                    Tasks I lead.
+                                    Week calender
+                                    Recent
+                                    Today's Entries
+                                    My Entries.
+                                    Date ranges-->
+
                                 </tbody>
                             </table>
-                        </div>
-                        <br />
-                        <br />
+                        </div> <!--End dialog-->
                     </richui:tabContent>
 <!-- End Tasks tab -->
@@ -143,6 +146,6 @@
                 </richui:tabContents>
             </richui:tabView>
-            
-        </div>
+
+        </div> <!--End body-->
     </body>
 </html>
Index: /trunk/grails-app/views/person/list.gsp
===================================================================
--- /trunk/grails-app/views/person/list.gsp	(revision 154)
+++ /trunk/grails-app/views/person/list.gsp	(revision 155)
@@ -22,4 +22,10 @@
                                 removeImgFile="bullet_delete.png"
                                 title="Search"/>
+
+        <div class="paginateButtons">
+            <filterpane:filterButton text="Search" appliedText="Change Search" />
+            Results:${personTotal}
+        </div>
+
         <div class="list">
             <table>
@@ -56,6 +62,4 @@
         <div class="paginateButtons">
             <g:paginate total="${personTotal}" params="${filterParams}" />
-            <filterpane:filterButton text="Search" appliedText="Change Search" />
-            Results:${personTotal}
         </div>
 
@@ -63,4 +67,5 @@
                                 title="Search"
                                 action="list"
+                                class="overlayPane"
                                 excludeProperties="password, sessionTimeout, emailShow"
                                 associatedProperties="authorities.authority, personGroups.name"
Index: unk/grails-app/views/taskDetailed/advancedSearch.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/advancedSearch.gsp	(revision 154)
+++ 	(revision )
@@ -1,97 +1,0 @@
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-        <meta name="layout" content="main" />
-        <title>Task Advanced Search</title>
-        <filterpane:includes />
-        <nav:resources override="true"/>
-    </head>
-    <body>
-        <div class="nav">
-            <nav:renderSubItems group="nav"/>
-        </div>
-        
-        <div class="body">
-            <g:if test="${flash.message}">
-                <div class="message">${flash.message}</div>
-            </g:if>
-            <g:hasErrors bean="${appCore}">
-                <div class="errors">
-                    <g:renderErrors bean="${appCore}" as="list" />
-                </div>
-            </g:hasErrors>
-            <filterpane:currentCriteria domainBean="Task"
-                                    action="advancedSearch"
-                                    dateFormat="${'EEE, dd-MMM-yyyy'}"
-                                    removeImgDir="images" 
-                                    removeImgFile="bullet_delete.png"
-                                    title="Advanced Search"/>
-            
-            <div class="list">                
-                <table>
-                    <thead>
-                        <tr>
-                        
-                   	        <g:sortableColumn property="id" title="Id" params="${filterParams}" />
-                        
-                   	        <g:sortableColumn property="targetStartDate" title="Target Start Date" params="${filterParams}" />
-                        
-                   	        <g:sortableColumn property="description" title="Description" params="${filterParams}" />
-                        
-                   	        <g:sortableColumn  property="leadPerson" title="Lead Person" params="${filterParams}" />
-                        
-                            <g:sortableColumn  property="taskPriority" title="Task Priority" params="${filterParams}" />
-                        
-                            <g:sortableColumn  property="taskStatus" title="Task Status" params="${filterParams}" />
-
-                            <th></th>
-                   	    
-                        </tr>
-                    </thead>
-                    <tbody>
-                    <g:each in="${taskInstanceList}" status="i" var="taskInstance">
-                    <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'/>
-
-                            <td>${fieldValue(bean:taskInstance, field:'id')}</td>
-                        
-                            <td><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd-MMM-yyyy"/></td>
-                        
-                            <td>${fieldValue(bean:taskInstance, field:'description')}</td>
-                        
-                            <td>${fieldValue(bean:taskInstance, field:'leadPerson')}</td>
-                        
-                            <td>${fieldValue(bean:taskInstance, field:'taskPriority')}</td>
-                        
-                            <td>${fieldValue(bean:taskInstance, field:'taskStatus')}</td>
-
-                            <td>
-                                <g:link action="show" id="${taskInstance.id}">
-                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
-                                </g:link>
-                            </td>
-                        
-                        </tr>
-                    </g:each>
-                    </tbody>
-                </table>
-            </div>
-            <div class="paginateButtons">
-                <g:paginate total="${taskInstanceTotal}" params="${filterParams}" />
-                <filterpane:filterButton text="Search" appliedText="Change Search" />
-                Results:${taskInstanceTotal}
-                <g:link action="search">Goto: Quick Search</g:link>
-            </div>
-            
-            <filterpane:filterPane domainBean="Task"
-                                    title="Advanced Search"
-                                    action="advancedSearch"
-                                    additionalProperties="id"
-                                    associatedProperties="leadPerson.lastName, taskGroup.name, taskPriority.name"
-                                    filterPropertyValues="${['taskPriority.name':[values:TaskPriority.list()],
-                                                                                'leadPerson.lastName':[values:Person.executeQuery('select t.lastName from Person t')],
-                                                                                'taskGroup.name':[values:TaskGroup.list()],
-                                                                                targetCompletionDate:[years:2020..2000,precision:'day'], 
-                                                                                targetStartDate:[years:2020..2000,precision:'day']]}"/>
-        </div> <!-- end body div -->
-    </body>
-</html>
Index: /trunk/grails-app/views/taskDetailed/search.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/search.gsp	(revision 154)
+++ /trunk/grails-app/views/taskDetailed/search.gsp	(revision 155)
@@ -5,4 +5,5 @@
         <title>Task Search</title>
         <filterpane:includes />
+        <g:javascript src="overlayPane.js" />
         <nav:resources override="true"/>
     </head>
@@ -29,5 +30,11 @@
                                     removeImgDir="images" 
                                     removeImgFile="bullet_delete.png"
-                                    title="Quick Search"/>
+                                    title="Advanced Search"/>
+
+            <div class="paginateButtons">
+                <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
+                Results:${taskInstanceTotal}
+                <filterpane:filterButton text="Advanced" appliedText="Advanced" />
+            </div>
 
             <div class="list">
@@ -81,19 +88,80 @@
             <div class="paginateButtons">
                 <g:paginate total="${taskInstanceTotal}" params="${filterParams}" />
-                <filterpane:filterButton text="Search" appliedText="Change Search" />
-                Results:${taskInstanceTotal}
-                <g:link action="advancedSearch">Goto: Advanced Search</g:link>
             </div>
 
             <filterpane:filterPane domainBean="Task"
-                                    title="Quick Search"
+                                    title="Advanced Search"
                                     action="search"
+                                    class="overlayPane"
                                     additionalProperties="id"
-                                    excludeProperties="isActive, comment, targetCompletionDate"
-                                    associatedProperties="leadPerson.lastName, taskPriority.name"
+                                    associatedProperties="leadPerson.lastName, taskGroup.name, taskPriority.name"
                                     filterPropertyValues="${['taskPriority.name':[values:TaskPriority.list()],
                                                                                 'leadPerson.lastName':[values:Person.executeQuery('select t.lastName from Person t')],
+                                                                                'taskGroup.name':[values:TaskGroup.list()],
+                                                                                targetCompletionDate:[years:2020..2000,precision:'day'],
                                                                                 targetStartDate:[years:2020..2000,precision:'day']]}"/>
-        </div> <!-- end body div -->
+        </div> <!-- end body  -->
+
+        <!-- Start Search Pane -->
+        <div class="overlayPane" id="searchPane" style="display:none;">
+            <h2>Quick Search</h2>
+            <g:form method="post" id="searchForm" name="searchForm" >
+                <table>
+                    <tbody>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">
+                                <label>My Tasks:</label>
+                            </td>
+                            <td valign="top" class="value">
+                                <g:link controller="taskDetailed"
+                                                action="search"
+                                                params="[quickSearch: 'searchMyTodays']">
+                                                Today's
+                                </g:link>
+                                <br />
+                                <g:link controller="taskDetailed" 
+                                                action="search"
+                                                params="[quickSearch: 'searchMyInTheLastWeek']">
+                                                In the last week
+                                </g:link>
+                            </td>
+                        </tr>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">
+                                <label>Tasks:</label>
+                            </td>
+                            <td valign="top" class="value">
+                                <g:link controller="taskDetailed"
+                                                action="search"
+                                                params="[quickSearch: 'searchTodays']">
+                                                Today's
+                                </g:link>
+                                <br />
+                                <g:link controller="taskDetailed" 
+                                                action="search"
+                                                params="[quickSearch: 'searchInTheLastWeek']">
+                                                In the last week
+                                </g:link>
+                            </td>
+                        </tr>
+
+                    </tbody>
+                </table>
+                <div class="buttons">
+                    <span class="button">
+                        <input type="button" value="${g.message(code:'fp.tag.filterPane.button.cancel.text', default:'Cancel')}" onclick="return hideElement('searchPane');" />
+                    </span>
+<!--                    <span class="button">
+                        <input type="button" value="${g.message(code:'fp.tag.filterPane.button.clear.text', default:'Clear')}" onclick="return clearFilterPane('searchForm');" />
+                    </span>
+                    <span class="button">
+                        <g:actionSubmit class="search" value="Search" />
+                    </span>-->
+                </div>
+            </g:form>
+        </div> <!-- end search pane -->
+
     </body>
 </html>
Index: /trunk/grails-app/views/taskDetailed/searchCalendar.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/searchCalendar.gsp	(revision 155)
+++ /trunk/grails-app/views/taskDetailed/searchCalendar.gsp	(revision 155)
@@ -0,0 +1,116 @@
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Task Search</title>
+        <filterpane:includes />
+        <nav:resources override="true"/>
+        <resource:calendarMonthView />
+    </head>
+    <body>
+        <div class="nav">
+            <nav:renderSubItems group="nav"/>
+        </div>
+
+        <div class="body">
+            <g:if test="${flash.message}">
+                <div class="message">${flash.message}</div>
+            </g:if>
+            <g:if test="${params.message}">
+                <div class="message">${params.message}</div>
+            </g:if>
+            <g:hasErrors bean="${appCore}">
+                <div class="errors">
+                    <g:renderErrors bean="${appCore}" as="list" />
+                </div>
+            </g:hasErrors>
+            <filterpane:currentCriteria domainBean="Task"
+                                    action="searchCalendar"
+                                    dateFormat="${'EEE, dd-MMM-yyyy'}"
+                                    removeImgDir="images" 
+                                    removeImgFile="bullet_delete.png"
+                                    title="Advanced Search"/>
+
+
+            <div class="paginateButtons">
+                <a href='' onclick="showElement('searchPane'); return false;">Quick</a>
+                Results:${taskInstanceTotal}
+                <filterpane:filterButton text="Advanced" appliedText="Advanced" />
+            </div>
+            <richui:calendarMonthView items="${taskInstanceList}" createLink="true" constraintDateFields="['targetStartDate']" month="${new Date()}" controller="taskDetailed" action="show" />
+            <filterpane:filterPane domainBean="Task"
+                                    title="Advanced Search"
+                                    action="searchCalendar"
+                                    class="overlayPane"
+                                    additionalProperties="id"
+                                    excludeProperties="isActive, comment, targetCompletionDate"
+                                    associatedProperties="leadPerson.lastName, taskPriority.name"
+                                    filterPropertyValues="${['taskPriority.name':[values:TaskPriority.list()],
+                                                                                'leadPerson.lastName':[values:Person.executeQuery('select t.lastName from Person t')],
+                                                                                targetStartDate:[years:2020..2000,precision:'day']]}"/>
+
+        </div> <!-- end body div -->
+
+        <!-- Start Search Pane -->
+        <div class="overlayPane" id="searchPane" style="display:none;">
+            <h2>Quick Search</h2>
+            <g:form method="post" id="searchForm" name="searchForm" >
+                <table>
+                    <tbody>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">
+                                <label>My Tasks:</label>
+                            </td>
+                            <td valign="top" class="value">
+                                <g:link controller="taskDetailed"
+                                                action="searchCalendar"
+                                                params="[quickSearch: 'searchMyTodays']">
+                                                Today's
+                                </g:link>
+                                <br />
+                                <g:link controller="taskDetailed" 
+                                                action="searchCalendar"
+                                                params="[quickSearch: 'searchMyInTheLastWeek']">
+                                                In the last week
+                                </g:link>
+                            </td>
+                        </tr>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">
+                                <label>Tasks:</label>
+                            </td>
+                            <td valign="top" class="value">
+                                <g:link controller="taskDetailed"
+                                                action="searchCalendar"
+                                                params="[quickSearch: 'searchTodays']">
+                                                Today's
+                                </g:link>
+                                <br />
+                                <g:link controller="taskDetailed" 
+                                                action="searchCalendar"
+                                                params="[quickSearch: 'searchInTheLastWeek']">
+                                                In the last week
+                                </g:link>
+                            </td>
+                        </tr>
+
+                    </tbody>
+                </table>
+                <div class="buttons">
+                    <span class="button">
+                        <input type="button" value="${g.message(code:'fp.tag.filterPane.button.cancel.text', default:'Cancel')}" onclick="return hideElement('searchPane');" />
+                    </span>
+<!--                    <span class="button">
+                        <input type="button" value="${g.message(code:'fp.tag.filterPane.button.clear.text', default:'Clear')}" onclick="return clearFilterPane('searchForm');" />
+                    </span>
+                    <span class="button">
+                        <g:actionSubmit class="search" value="Search" />
+                    </span>-->
+                </div>
+            </g:form>
+        </div> <!-- end search pane -->
+        
+    </body>
+</html>
Index: /trunk/grails-app/views/taskProcedureDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/taskProcedureDetailed/list.gsp	(revision 154)
+++ /trunk/grails-app/views/taskProcedureDetailed/list.gsp	(revision 155)
@@ -17,5 +17,5 @@
             <div class="message">${flash.message}</div>
             </g:if>
-            <filterpane:currentCriteria domainBean="TaskProcedureDetailed"
+            <filterpane:currentCriteria domainBean="TaskProcedure"
                                     action="list"
                                     dateFormat="${'EEE, dd-MMM-yyyy'}"
@@ -23,4 +23,10 @@
                                     removeImgFile="bullet_delete.png"
                                     title="Search"/>
+
+            <div class="paginateButtons">
+                <filterpane:filterButton text="Search" appliedText="Change Search" />
+                Results:${taskProcedureInstanceTotal}
+            </div>
+
             <div class="list">
                 <table>
@@ -66,6 +72,4 @@
             <div class="paginateButtons">
                 <g:paginate total="${taskProcedureInstanceTotal}" params="${filterParams}" />
-                <filterpane:filterButton text="Search" appliedText="Change Search" />
-                Results:${askProcedureInstanceTotal}
             </div>
 
@@ -73,4 +77,5 @@
                                     title="Search"
                                     action="list"
+                                    class="overlayPane"
                                     excludeProperties="" />
         </div>
Index: /trunk/web-app/css/main.css
===================================================================
--- /trunk/web-app/css/main.css	(revision 154)
+++ /trunk/web-app/css/main.css	(revision 155)
@@ -279,6 +279,6 @@
 
 .paginateButtons {
-    background: #fff url(../images/skin/shadow.jpg) bottom repeat-x;
-    border: 1px solid #ccc;
+    /*background: #fff url(../images/skin/shadow.jpg) bottom repeat-x;*/
+   /*border: 1px solid #ccc;*/
     border-top: 0;
     color: #666;
@@ -379,4 +379,26 @@
   width: 1020px;
   height: 100px;
+}
+
+/* Overlay Pane and filterPane plugin*/
+div.overlayPane {
+    position: absolute;
+    width:70%;
+    left: 50%;
+    margin-left: -35%;
+    top: 50%;
+    margin-top: -15%;
+    border: 2px solid #666666;
+    background-color: white;
+    padding: 5px;
+    z-index: 1;
+}
+
+.overlayTable {
+    width: 100%;
+}
+
+a.remove img {
+    border:none;
 }
 
Index: /trunk/web-app/js/overlayPane.js
===================================================================
--- /trunk/web-app/js/overlayPane.js	(revision 155)
+++ /trunk/web-app/js/overlayPane.js	(revision 155)
@@ -0,0 +1,76 @@
+function showElement(id) {
+    try {
+        if (typeof Effect != "undefined" && typeof Effect.Appear != "undefined") {
+                    if ($(id) && Element.visible(id) == false)
+            Effect.Appear(id,{duration:0.5,queue:'end'});
+        } else {
+            var el = document.getElementById(id)
+            if (el && el.style.display == 'none') {
+                el.style.display = 'block';
+            }
+        }
+    } catch (err) {alert(err)}
+    return false;
+}
+
+function hideElement(id) {
+    if (typeof Effect != "undefined" && typeof Effect.Fade != "undefined") {
+            if ($(id) && Element.visible(id))
+        Effect.Fade(id,{duration:0.5,queue:'end'});
+    } else {
+        var el = document.getElementById(id)
+        if (el && el.style.display != 'none') {
+            el.style.display = 'none';
+        }
+    }
+    return false;
+}
+
+function clearFilterPane(id) {
+    var form = document.getElementById(id)
+
+    for (var i = 0; i < form.elements.length; i++) {
+        var el = form.elements[i]
+        if (el.type == 'select-one') {
+            el.selectedIndex = 0
+        } else if (el.type == 'text' || el.type == 'textarea') { 
+            form.elements[i].value = ''
+        }
+    }
+}
+
+function filterOpChange(id, controlId) {
+    // id should be of the form op.propertyName
+    if (id.slice(0, 10) == 'filter.op.') {
+        var prop = id.substring(10)
+        var el = document.getElementById(id)
+        var selection = el.options[el.selectedIndex]
+        if (el) {
+            if (el.type == 'select-one') {
+                if (selection.value == 'Between') {
+                    showElement('between-span-'+prop)
+                } else {
+                    hideElement('between-span-'+prop)
+                }
+            }
+
+            var containerName = prop+'-container'
+            if (selection.value == 'IsNull' || selection.value == 'IsNotNull') {
+                hideElement(controlId);
+                // Take care of date picker fields we created.
+                if (document.getElementById(containerName)) hideElement(containerName)
+            } else {
+                showElement(controlId);
+                // Take care of date picker fields.
+                if (document.getElementById(containerName)) showElement(containerName)
+            }
+        }
+    }
+}
+
+function selectDefaultOperator(id) {
+    var dropdown = document.getElementById(id)
+    if (dropdown && dropdown.selectedIndex <= 0) {
+        dropdown.selectedIndex = 1
+    }
+}
