Index: /trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 156)
+++ /trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 157)
@@ -4,7 +4,7 @@
 
 class TaskRecurringScheduleDetailedController extends BaseController {
-    
-	def dateUtilService
-	
+
+    def dateUtilService
+
     def index = { redirect(action:list,params:params) }
 
@@ -21,5 +21,5 @@
 
         if(!taskRecurringScheduleInstance) {
-            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            flash.message = "Recurring Schedule not found with id ${params.id}"
             redirect(action:list)
         }
@@ -32,14 +32,14 @@
             try {
                 taskRecurringScheduleInstance.delete()
-                flash.message = "TaskRecurringSchedule ${params.id} deleted"
+                flash.message = "Recurring Schedule ${params.id} deleted"
                 redirect(action:list)
             }
             catch(org.springframework.dao.DataIntegrityViolationException e) {
-                flash.message = "TaskRecurringSchedule ${params.id} could not be deleted"
+                flash.message = "Recurring Schedule ${params.id} could not be deleted"
                 redirect(action:show,id:params.id)
             }
         }
         else {
-            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            flash.message = "Recurring Schedule not found with id ${params.id}"
             redirect(action:list)
         }
@@ -50,5 +50,5 @@
 
         if(!taskRecurringScheduleInstance) {
-            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            flash.message = "Recurring Schedule not found with id ${params.id}"
             redirect(action:list)
         }
@@ -59,61 +59,61 @@
 
     def update = {
-		TaskRecurringSchedule.withTransaction { status ->
-        
-        	def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
-			if(taskRecurringScheduleInstance) {
-				
-				if(params.version) {
-					def version = params.version.toLong()
-					if(taskRecurringScheduleInstance.version > version) {
-						taskRecurringScheduleInstance.errors.rejectValue("version", "taskRecurringSchedule.optimistic.locking.failure", "Another user has updated this TaskRecurringSchedule while you were editing.")
-						render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
-						return
-					}
-				}
-					
-				Date originalDate = taskRecurringScheduleInstance.startDate
-				taskRecurringScheduleInstance.properties = params  // Domain object is now 'dirty'.
-				Date newDate = taskRecurringScheduleInstance.startDate
-	
-				// If user changes startDate then ensure it is in the future, otherwise it's ok to keep the original date.
-				if(originalDate.getTime() != newDate.getTime())
-				{
-					if(newDate < dateUtilService.getToday()) 
-					{
-						status.setRollbackOnly()  // Only allow the transaction to Rollback, preventing flush due to 'dirty'.
-						taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
-						render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
-						return
-					}
-				}
-					
-				taskRecurringScheduleInstance.nextTargetStartDate = taskRecurringScheduleInstance.startDate
-				taskRecurringScheduleInstance.setNextGenerationDate() 
-				taskRecurringScheduleInstance.setNextTargetCompletionDate()
-                    
-				if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) 
-				{
-					flash.message = "TaskRecurringSchedule ${params.id} updated"
-					redirect(action:show,id:taskRecurringScheduleInstance.id)
-				}
-				else 
-				{
-					render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
-				}
-			}
-			else 
-			{
-				flash.message = "TaskRecurringSchedule not found with id ${params.id}"
-				redirect(action:edit,id:params.id)
-			}
-			
-		} // end withTransaction			
-	} // end update()
-	
+        TaskRecurringSchedule.withTransaction { status ->
+
+            def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+            if(taskRecurringScheduleInstance) {
+
+                if(params.version) {
+                    def version = params.version.toLong()
+                    if(taskRecurringScheduleInstance.version > version) {
+                        taskRecurringScheduleInstance.errors.rejectValue("version", "taskRecurringSchedule.optimistic.locking.failure", "Another user has updated this Recurring Schedule while you were editing.")
+                        render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+                        return
+                    }
+                }
+
+                Date originalDate = taskRecurringScheduleInstance.startDate
+                taskRecurringScheduleInstance.properties = params  // Domain object is now 'dirty'.
+                Date newDate = taskRecurringScheduleInstance.startDate
+
+                // If user changes startDate then ensure it is in the future, otherwise it's ok to keep the original date.
+                if(originalDate.getTime() != newDate.getTime())
+                {
+                    if(newDate < dateUtilService.getToday()) 
+                    {
+                        status.setRollbackOnly()  // Only allow the transaction to Rollback, preventing flush due to 'dirty'.
+                        taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
+                        render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+                        return
+                    }
+                }
+
+                taskRecurringScheduleInstance.nextTargetStartDate = taskRecurringScheduleInstance.startDate
+                taskRecurringScheduleInstance.setNextGenerationDate() 
+                taskRecurringScheduleInstance.setNextTargetCompletionDate()
+
+                if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) 
+                {
+                    flash.message = "Recurring Schedule ${params.id} updated"
+                    redirect(action:show,id:taskRecurringScheduleInstance.id)
+                }
+                else 
+                {
+                    render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+                }
+            }
+            else 
+            {
+                flash.message = "Recurring Schedule not found with id ${params.id}"
+                redirect(action:edit,id:params.id)
+            }
+
+        } // end withTransaction
+    } // end update()
+
     def create = {
         try {
             def taskInstance = Task.get(params.taskInstance.id)
-			def taskRecurringScheduleInstance = new TaskRecurringSchedule()
+            def taskRecurringScheduleInstance = new TaskRecurringSchedule()
             taskRecurringScheduleInstance.task = taskInstance
             return [taskRecurringScheduleInstance: taskRecurringScheduleInstance]
@@ -127,33 +127,33 @@
     def save = {
         def taskRecurringScheduleInstance = new TaskRecurringSchedule(params)
-		def taskInstance = Task.get(params.task.id)
-				
-		if(taskInstance.taskRecurringSchedule) {
-			flash.message = "This task already has a recurring schedule"
-			redirect(controller:"taskDetailed", action:"show", id: params.task.id)
-		}
-		else {
-			
-			if(taskRecurringScheduleInstance.startDate < dateUtilService.getToday()) {
-				taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
-			}
-			
-			if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
-				
-				taskInstance.taskRecurringSchedule = taskRecurringScheduleInstance
-						
-				if(taskInstance.save()) {
-					flash.message = "TaskRecurringSchedule ${taskRecurringScheduleInstance.id} created"
-					redirect(action:show,id:taskRecurringScheduleInstance.id)
-				}
-				else {
-					flash.message = "Task could not be saved and therefore the Recurring Schedule has been disgarded, cause unknown."				
-					render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
-				}
-			}
-			else {
-				render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
-			}
-		}
+        def taskInstance = Task.get(params.task.id)
+
+        if(taskInstance.taskRecurringSchedule) {
+            flash.message = "This task already has a recurring schedule"
+            redirect(controller:"taskDetailed", action:"show", id: params.task.id)
+        }
+        else {
+
+            if(taskRecurringScheduleInstance.startDate < dateUtilService.getToday()) {
+                taskRecurringScheduleInstance.errors.rejectValue("startDate", "taskRecurring.startDate.NotInTheFuture")
+            }
+
+            if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
+
+                taskInstance.taskRecurringSchedule = taskRecurringScheduleInstance
+
+                if(taskInstance.save()) {
+                    flash.message = "Recurring Schedule ${taskRecurringScheduleInstance.id} created"
+                    redirect(action:show,id:taskRecurringScheduleInstance.id)
+                }
+                else {
+                    flash.message = "Task could not be saved and therefore the Recurring Schedule has been disgarded, cause unknown."	
+                    render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+                }
+            }
+            else {
+                render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+            }
+        }
 
     } // end save()
Index: /trunk/grails-app/views/taskRecurringSchedule/create.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringSchedule/create.gsp	(revision 156)
+++ /trunk/grails-app/views/taskRecurringSchedule/create.gsp	(revision 157)
@@ -9,5 +9,5 @@
     <body>
         <div class="nav">
-            <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
             <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
         </div>
@@ -29,4 +29,31 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="recurEvery">Recur Every:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
+                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="taskDuration">Task Duration:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDuration','errors')}">
+                                    <input type="text" id="taskDuration" name="taskDuration" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'taskDuration')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="generateAhead">Generate Ahead:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
+                                    <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="lastGeneratedDate">Last Generated Date:</label>
                                 </td>
@@ -42,13 +69,4 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}">
                                     <g:select optionKey="id" from="${Task.list()}" name="lastGeneratedSubTask.id" value="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="generateAhead">Generate Ahead:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
-                                    <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
                                 </td>
                             </tr> 
@@ -74,13 +92,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="nextDueDate">Next Due Date:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}">
-                                    <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="nextGenerationDate">Next Generation Date:</label>
                                 </td>
@@ -92,8 +101,17 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="recurEvery">Recur Every:</label>
+                                    <label for="nextTargetCompletionDate">Next Target Completion Date:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
-                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetCompletionDate','errors')}">
+                                    <g:datePicker name="nextTargetCompletionDate" value="${taskRecurringScheduleInstance?.nextTargetCompletionDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="nextTargetStartDate">Next Target Start Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetStartDate','errors')}">
+                                    <g:datePicker name="nextTargetStartDate" value="${taskRecurringScheduleInstance?.nextTargetStartDate}" ></g:datePicker>
                                 </td>
                             </tr> 
@@ -126,4 +144,13 @@
                             </tr> 
                         
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="taskDurationPeriod">Task Duration Period:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDurationPeriod','errors')}">
+                                    <g:select optionKey="id" from="${Period.list()}" name="taskDurationPeriod.id" value="${taskRecurringScheduleInstance?.taskDurationPeriod?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
                         </tbody>
                     </table>
Index: /trunk/grails-app/views/taskRecurringSchedule/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringSchedule/edit.gsp	(revision 156)
+++ /trunk/grails-app/views/taskRecurringSchedule/edit.gsp	(revision 157)
@@ -9,5 +9,5 @@
     <body>
         <div class="nav">
-            <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
             <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
             <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
@@ -32,4 +32,31 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="recurEvery">Recur Every:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
+                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="taskDuration">Task Duration:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDuration','errors')}">
+                                    <input type="text" id="taskDuration" name="taskDuration" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'taskDuration')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="generateAhead">Generate Ahead:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
+                                    <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="lastGeneratedDate">Last Generated Date:</label>
                                 </td>
@@ -45,13 +72,4 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}">
                                     <g:select optionKey="id" from="${Task.list()}" name="lastGeneratedSubTask.id" value="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="generateAhead">Generate Ahead:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'generateAhead','errors')}">
-                                    <input type="text" id="generateAhead" name="generateAhead" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'generateAhead')}" />
                                 </td>
                             </tr> 
@@ -77,13 +95,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="nextDueDate">Next Due Date:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}">
-                                    <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="nextGenerationDate">Next Generation Date:</label>
                                 </td>
@@ -95,8 +104,17 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="recurEvery">Recur Every:</label>
+                                    <label for="nextTargetCompletionDate">Next Target Completion Date:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
-                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetCompletionDate','errors')}">
+                                    <g:datePicker name="nextTargetCompletionDate" value="${taskRecurringScheduleInstance?.nextTargetCompletionDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="nextTargetStartDate">Next Target Start Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextTargetStartDate','errors')}">
+                                    <g:datePicker name="nextTargetStartDate" value="${taskRecurringScheduleInstance?.nextTargetStartDate}" ></g:datePicker>
                                 </td>
                             </tr> 
@@ -129,4 +147,13 @@
                             </tr> 
                         
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="taskDurationPeriod">Task Duration Period:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'taskDurationPeriod','errors')}">
+                                    <g:select optionKey="id" from="${Period.list()}" name="taskDurationPeriod.id" value="${taskRecurringScheduleInstance?.taskDurationPeriod?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
                         </tbody>
                     </table>
Index: /trunk/grails-app/views/taskRecurringSchedule/list.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringSchedule/list.gsp	(revision 156)
+++ /trunk/grails-app/views/taskRecurringSchedule/list.gsp	(revision 157)
@@ -9,5 +9,5 @@
     <body>
         <div class="nav">
-            <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
             <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
         </div>
@@ -24,14 +24,14 @@
                    	        <g:sortableColumn property="id" title="Id" />
                         
+                   	        <g:sortableColumn property="recurEvery" title="Recur Every" />
+                        
+                   	        <g:sortableColumn property="taskDuration" title="Task Duration" />
+                        
+                   	        <g:sortableColumn property="generateAhead" title="Generate Ahead" />
+                        
                    	        <g:sortableColumn property="lastGeneratedDate" title="Last Generated Date" />
                         
                    	        <th>Last Generated Sub Task</th>
                    	    
-                   	        <g:sortableColumn property="generateAhead" title="Generate Ahead" />
-                        
-                   	        <th>Generate Ahead Period</th>
-                   	    
-                   	        <g:sortableColumn property="isEnabled" title="Is Enabled" />
-                        
                         </tr>
                     </thead>
@@ -42,13 +42,13 @@
                             <td><g:link action="show" id="${taskRecurringScheduleInstance.id}">${fieldValue(bean:taskRecurringScheduleInstance, field:'id')}</g:link></td>
                         
+                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
+                        
+                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'taskDuration')}</td>
+                        
+                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
+                        
                             <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedDate')}</td>
                         
                             <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedSubTask')}</td>
-                        
-                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
-                        
-                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAheadPeriod')}</td>
-                        
-                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td>
                         
                         </tr>
Index: /trunk/grails-app/views/taskRecurringSchedule/show.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringSchedule/show.gsp	(revision 156)
+++ /trunk/grails-app/views/taskRecurringSchedule/show.gsp	(revision 157)
@@ -9,5 +9,5 @@
     <body>
         <div class="nav">
-            <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
             <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
             <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
@@ -31,4 +31,25 @@
                     
                         <tr class="prop">
+                            <td valign="top" class="name">Recur Every:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Task Duration:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'taskDuration')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Generate Ahead:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
                             <td valign="top" class="name">Last Generated Date:</td>
                             
@@ -41,11 +62,4 @@
                             
                             <td valign="top" class="value"><g:link controller="task" action="show" id="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}">${taskRecurringScheduleInstance?.lastGeneratedSubTask?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Generate Ahead:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'generateAhead')}</td>
                             
                         </tr>
@@ -66,11 +80,4 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Next Due Date:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextDueDate')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
                             <td valign="top" class="name">Next Generation Date:</td>
                             
@@ -80,7 +87,14 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Recur Every:</td>
+                            <td valign="top" class="name">Next Target Completion Date:</td>
                             
-                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextTargetCompletionDate')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Next Target Start Date:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextTargetStartDate')}</td>
                             
                         </tr>
@@ -107,4 +121,11 @@
                         </tr>
                     
+                        <tr class="prop">
+                            <td valign="top" class="name">Task Duration Period:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="period" action="show" id="${taskRecurringScheduleInstance?.taskDurationPeriod?.id}">${taskRecurringScheduleInstance?.taskDurationPeriod?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
                     </tbody>
                 </table>
Index: /trunk/grails-app/views/taskRecurringScheduleDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringScheduleDetailed/create.gsp	(revision 156)
+++ /trunk/grails-app/views/taskRecurringScheduleDetailed/create.gsp	(revision 157)
@@ -5,13 +5,12 @@
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
         <meta name="layout" content="main" />
-        <title>Create TaskRecurringSchedule</title>         
+        <title>Create TaskRecurringSchedule</title>
+        <resource:dateChooser />
     </head>
     <body>
         <div class="nav">
-            <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
-            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
+            <h1>Create Recurring Schedule</h1>
         </div>
         <div class="body">
-            <h1>Create TaskRecurringSchedule</h1>
             <g:if test="${flash.message}">
             <div class="message">${flash.message}</div>
@@ -42,5 +41,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}">
-                                    <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.startDate}"  precision="day"></g:datePicker>
+                                    <richui:dateChooser name="startDate" format="dd-MM-yyyy" value="${taskRecurringScheduleInstance?.startDate}" />
                                 </td>
                             </tr>   
Index: /trunk/grails-app/views/taskRecurringScheduleDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringScheduleDetailed/edit.gsp	(revision 156)
+++ /trunk/grails-app/views/taskRecurringScheduleDetailed/edit.gsp	(revision 157)
@@ -6,13 +6,11 @@
         <meta name="layout" content="main" />
         <title>Edit TaskRecurringSchedule</title>
+        <resource:dateChooser />
     </head>
     <body>
         <div class="nav">
-            <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
-            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
-            <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
+            <h1>Edit Recurring Schedule</h1>
         </div>
         <div class="body">
-            <h1>Edit TaskRecurringSchedule</h1>
             <g:if test="${flash.message}">
             <div class="message">${flash.message}</div>
@@ -44,5 +42,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}">
-                                    <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.startDate}"  precision="day"></g:datePicker>
+                                    <richui:dateChooser name="startDate" format="dd-MM-yyyy" value="${taskRecurringScheduleInstance?.startDate}" />
                                 </td>
                             </tr>   
Index: /trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp	(revision 156)
+++ /trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp	(revision 157)
@@ -9,10 +9,7 @@
     <body>
         <div class="nav">
-            <span class="menuButton"><a class="home" href="${resource(dir:'')}">Home</a></span>
-            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
-            <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
+            <h1>Show Recurring Schedule</h1>
         </div>
         <div class="body">
-            <h1>Show TaskRecurringSchedule</h1>
             <g:if test="${flash.message}">
             <div class="message">${flash.message}</div>
