Index: /trunk/grails-app/controllers/InventoryItemDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/InventoryItemDetailedController.groovy	(revision 452)
+++ /trunk/grails-app/controllers/InventoryItemDetailedController.groovy	(revision 453)
@@ -232,5 +232,4 @@
         flash.errorMessage = g.message(code: result.error.code, args: result.error.args)
         redirect(action:search)
-        return
     }
 
@@ -344,29 +343,49 @@
         if(!result.error) {
             flash.message = "Inventory Movement for ${result.inventoryMovementInstance.inventoryItem.name.encodeAsHTML()} created."
-            redirect(controller:"taskDetailed", action:"show", id: result.taskId)
-        }
-        else {
-            if(result.inventoryMovementInstance) {
-                def p = [:]
-                p.id = result.inventoryMovementInstance.inventoryItem?.id
-                def r = inventoryItemService.show(p)
-
-                def model = [ inventoryItemInstance: r.inventoryItemInstance,
-                                        inventoryMovementList: r.inventoryMovementList,
-                                        inventoryMovementListTotal: r.inventoryMovementListTotal,
-                                        inventoryMovementListMax: r.inventoryMovementListMax,
-                                        showTab: r.showTab]
-
-                model.inventoryMovementInstance = result.inventoryMovementInstance
-
-                render(view: 'show', model: model)
-            }
-            else {
-                flash.message = "Could not create inventory movement."
-                redirect(action:"search")
-            }
-
-        }
-    }
-
-}
+            session.inventoryMovementTaskId = null
+            redirect(controller: "taskDetailed",
+                            action: "show",
+                            id: result.taskId,
+                            params: [showTab: "showInventoryTab"])
+            // Success.
+            return
+        }
+
+        // Prepare data for the show view.
+        def p = [:]
+        p.id = result.inventoryMovementInstance.inventoryItem?.id
+        def r = inventoryItemService.show(p)
+
+        // Render show view if data was successfully prepared.
+        if(!r.error) {
+            def model = [ inventoryItemInstance: r.inventoryItemInstance,
+                                    inventoryMovementList: r.inventoryMovementList,
+                                    inventoryMovementListTotal: r.inventoryMovementListTotal,
+                                    inventoryMovementListMax: r.inventoryMovementListMax,
+                                    inventoryItemPurchases: r.inventoryItemPurchases,
+                                    inventoryItemPurchasesTotal: r.inventoryItemPurchasesTotal,
+                                    showTab: r.showTab]
+
+            model.inventoryMovementInstance = result.inventoryMovementInstance // This will pass in the errors.
+
+            render(view: 'show', model: model)
+            return
+        }
+
+        // Could not prepare data for show view so doing the next best thing.
+        flash.errorMessage = g.message(code: r.error.code, args: r.error.args)
+        redirect(action:search)
+
+    } // useInventoryItem
+
+    /**
+    * Clear the use inventory item form in the show view.
+    * Accomplished by clearing the session variable and ajax.
+    */
+    @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_InventoryManager', 'ROLE_InventoryUser'])
+    def clearUseInventoryItem = {
+            session.inventoryMovementTaskId = null
+            render ''
+    }
+
+} // end of class
Index: /trunk/grails-app/services/AssetTreeService.groovy
===================================================================
--- /trunk/grails-app/services/AssetTreeService.groovy	(revision 452)
+++ /trunk/grails-app/services/AssetTreeService.groovy	(revision 453)
@@ -19,5 +19,5 @@
     }
     def paneCloseHtmlClass() {
-        'tree_pane_close'
+        'pane_close'
     }
     def tableDivHtmlClass() {
Index: /trunk/grails-app/views/inventoryItemDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/inventoryItemDetailed/show.gsp	(revision 452)
+++ /trunk/grails-app/views/inventoryItemDetailed/show.gsp	(revision 453)
@@ -53,42 +53,49 @@
                         <g:if test="${inventoryMovementInstance}" >
 
-                            <g:form controller="inventoryItemDetailed" method="post" >
-                                <div class="dialog">
-                                    <table>
-                                        <tbody>
-                                                <g:hiddenField name="task.id" value="${inventoryMovementInstance.task.id}"/>
-                                                <g:hiddenField name="inventoryItem.id" value="${inventoryItemInstance.id}"/>
-                                                <tr class="prop">
-                                                    <td valign="top" class="name">Use on task:</td>
-                                                    <td valign="top" class="value">
-                                                        <g:link controller="taskDetailed" action="show" id="${inventoryMovementInstance.task.id}" >
-                                                            ${Task.get(inventoryMovementInstance.task.id).encodeAsHTML()}
-                                                        </g:link>
-                                                    </td>
-                                                </tr>
-
-                                                <tr class="prop">
-                                                    <td valign="top" class="name">
-                                                        <label for="quantity">Quantity:</label>
-                                                    </td>
-                                                    <td valign="top">
-                                                        <input class="medium ${hasErrors(bean:inventoryMovementInstance,field:'quantity','errors')}"
-                                                                    type="text" id="quantity" name="quantity"
-                                                                    value="${fieldValue(bean:inventoryMovementInstance,field:'quantity')}"/>
-                                                        ${inventoryItemInstance.unitOfMeasure?.encodeAsHTML()}
-
-                                                        <span class="buttons">
-                                                            <g:actionSubmit action="useInventoryItem" class="save" value="${InventoryMovementType.get(1)}" />
-                                                        </span>
-
-                                                    </td>
-                                                </tr>
-
-                                        </tbody>
-                                    </table>
+                            <div id="useInventoryItemDiv" style="display:inline"> <!-- inline required for IE -->
+                                <div class="pane_close" >
+                                    <g:remoteLink action="clearUseInventoryItem" update="useInventoryItemDiv">
+                                        <img  src="${resource(dir:'images/skin',file:'cross.png')}" alt="Clear" title="Clear"/>
+                                    </g:remoteLink>
                                 </div>
-                            </g:form>
-
-                            <br />
+                                <g:form controller="inventoryItemDetailed" method="post" >
+                                    <div class="dialog">
+                                        <table>
+                                            <tbody>
+                                                    <g:hiddenField name="task.id" value="${inventoryMovementInstance.task.id}"/>
+                                                    <g:hiddenField name="inventoryItem.id" value="${inventoryItemInstance.id}"/>
+                                                    <tr class="prop">
+                                                        <td valign="top" class="name">Use on task:</td>
+                                                        <td valign="top" class="value">
+                                                            <g:link controller="taskDetailed" action="show" id="${inventoryMovementInstance.task.id}" >
+                                                                ${Task.get(inventoryMovementInstance.task.id).encodeAsHTML()}
+                                                            </g:link>
+                                                        </td>
+                                                    </tr>
+
+                                                    <tr class="prop">
+                                                        <td valign="top" class="name">
+                                                            <label for="quantity">Quantity:</label>
+                                                        </td>
+                                                        <td valign="top">
+                                                            <input class="medium ${hasErrors(bean:inventoryMovementInstance,field:'quantity','errors')}"
+                                                                        type="text" id="quantity" name="quantity"
+                                                                        value="${fieldValue(bean:inventoryMovementInstance,field:'quantity')}"/>
+                                                            ${inventoryItemInstance.unitOfMeasure?.encodeAsHTML()}
+
+                                                            <span class="buttons">
+                                                                <g:actionSubmit action="useInventoryItem" class="save" value="${InventoryMovementType.read(1)}" />
+                                                            </span>
+
+                                                        </td>
+                                                    </tr>
+
+                                            </tbody>
+                                        </table>
+                                    </div>
+                                </g:form>
+
+                                <br />
+                            </div>
 
                         </g:if>
Index: /trunk/web-app/css/main.css
===================================================================
--- /trunk/web-app/css/main.css	(revision 452)
+++ /trunk/web-app/css/main.css	(revision 453)
@@ -640,5 +640,5 @@
     margin: 2px;
 }
-div.tree_pane_close {
+div.pane_close {
     position: absolute;
     right: 5px;
