Index: trunk/grails-app/i18n/messages.properties
===================================================================
--- trunk/grails-app/i18n/messages.properties	(revision 715)
+++ trunk/grails-app/i18n/messages.properties	(revision 716)
@@ -224,7 +224,51 @@
 task.associatedAssets.help=These assets are to be associated with this task, but costs will not be assigned.
 
+# InventoryItem Properties.
+inventory.item.name=Name
+inventory.item.name.help=The inventory item's name as known on site. \
+    Also called the part number but may contain letters and numbers.
+inventory.item.description=Description
+inventory.item.description.help=The inventory item description as it would appear on a reorder.
+inventory.item.comment=Comment
+inventory.item.comment.help=Additional on site comments.
+inventory.item.estimated.unit.price.amount=Unit Price
+inventory.item.estimated.unit.price.amount.help=Estimated reorder price of a single unit.
+inventory.item.unit.of.measure=Unit Of Measure
+inventory.item.unit.of.measure.help=The units that this item will be measured in. Set once during creation \
+    and cannot be changed as changing would invalidate all movement, another item with the correct units must be created.
+inventory.item.suppliers.part.number=Part Number
+inventory.item.suppliers.part.number.help=The suppliers part number as it would appear on a reorder.
+inventory.item.units.in.stock=In Stock
+inventory.item.units.in.stock.help=Current units in stock.
+inventory.item.reorder.point=Reorder Point
+inventory.item.reorder.point.help=Point at which a reorder will be flagged.
+inventory.item.reorder.quantity=Reorder Quantity
+inventory.item.reorder.quantity.help=Typical or recommended quantity to reorder. \
+    Infers the max holding quantity (Reorder Point + Reorder Quantity). \
+    Often determined by a price break or minimum order quantity.
+inventory.item.average.delivery.time=Delivery Time
+inventory.item.average.delivery.time.help=The average or expected delivery time from the supplier to site.
+inventory.item.is.active=Active
+inventory.item.is.active.help=Disable to remove from searches.
+inventory.item.is.obsolete=Obsolete
+inventory.item.is.obsolete.help=Enabled indicates that item considered obsolete by the supplier.
+inventory.item.enable.reorder.listing=Reorder Listing
+inventory.item.enable.reorder.listing.help=Enabled to show item on reorder lists.
+inventory.item.inventory.location=Location
+inventory.item.inventory.location.help=The location or bin where this item can be found.
+inventory.item.inventory.group=Group
+inventory.item.inventory.group.help=An easy way to group or place items in various piles for planning.
+inventory.item.inventory.type=Type
+inventory.item.inventory.type.help=The type of inventory that this item falls into.
+inventory.item.preferred.supplier=Preferred Supplier
+inventory.item.preferred.supplier.help=The preferred supplier to purchase this item from. \
+    Often determined by cost, contract or availability.
+inventory.item.alternate.suppliers=Alternate Suppliers
+inventory.item.alternate.suppliers.help=List of alternate suppliers that this item may be purchased from. \
+    For example when the preferred supplier has no stock.
+
 # InventoryItem Messages.
-inventory.item.is.obsolete=This item has been flagged as obsolete.
-inventory.item.not.active=This item has been flagged as not active.
+inventory.item.is.obsolete.message=This item has been flagged as obsolete.
+inventory.item.not.active.message=This item has been flagged as not active.
 inventory.item.reorder.not.allowed=Reorder not allowed.
 inventory.item.reorder.listing.disabled=This item has reorder listing disabled and will not appear on reorder lists.
Index: trunk/grails-app/views/inventoryItemDetailed/create.gsp
===================================================================
--- trunk/grails-app/views/inventoryItemDetailed/create.gsp	(revision 715)
+++ trunk/grails-app/views/inventoryItemDetailed/create.gsp	(revision 716)
@@ -30,4 +30,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'name','errors')}">
                                     <input type="text" class="description" maxlength="50" id="name" name="name" value="${fieldValue(bean:inventoryItemInstance,field:'name')}"/>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.name" />
                                 </td>
                             </tr>
@@ -39,4 +40,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'description','errors')}">
                                     <textarea rows="5" cols="40" name="description">${fieldValue(bean:inventoryItemInstance, field:'description')}</textarea>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.description" />
                                 </td>
                             </tr>
@@ -48,4 +50,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'comment','errors')}">
                                     <textarea rows="5" cols="40" name="comment">${fieldValue(bean:inventoryItemInstance, field:'comment')}</textarea>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.comment" />
                                 </td>
                             </tr>
@@ -61,4 +64,5 @@
                                                         optionValue="${{it.name+ ' in ' + it.inventoryStore}}">
                                     </g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.inventory.location" />
 
                                 <p><g:link controller="inventoryLocationDetailed" action="create">+Add Location</g:link></p>
@@ -74,4 +78,5 @@
                                                     type="text" id="reorderPoint" name="reorderPoint"
                                                     value="${fieldValue(bean:inventoryItemInstance,field:'reorderPoint')}" />
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.reorder.point" />
                                     <g:select optionKey="id"
                                                         from="${UnitOfMeasure.list()}"
@@ -79,4 +84,5 @@
                                                         value="${inventoryItemInstance?.unitOfMeasure?.id}" >
                                     </g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.unit.of.measure" />
                                 </td>
                             </tr> 
@@ -88,4 +94,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'enableReorderListing','errors')}">
                                     <g:checkBox name="enableReorderListing" value="${inventoryItemInstance?.enableReorderListing}" ></g:checkBox>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.enable.reorder.listing" />
                                 </td>
                             </tr>
@@ -97,5 +104,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'inventoryGroup','errors')}">
                                     <g:select optionKey="id" from="${InventoryGroup.list()}" name="inventoryGroup.id" value="${inventoryItemInstance?.inventoryGroup?.id}" ></g:select>
-
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.inventory.group" />
                                 <p><g:link controller="inventoryGroupDetailed" action="create">+Add Group</g:link></p>
                                 </td>
@@ -108,4 +115,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'inventoryType','errors')}">
                                     <g:select optionKey="id" from="${InventoryType.list()}" name="inventoryType.id" value="${inventoryItemInstance?.inventoryType?.id}" ></g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.inventory.type" />
                                 </td>
                             </tr>
@@ -120,4 +128,5 @@
                                                     value="${fieldValue(bean:inventoryItemInstance,field:'averageDeliveryTime')}" />
                                     <g:select optionKey="id" from="${Period.list()}" name="averageDeliveryPeriod.id" value="${inventoryItemInstance?.averageDeliveryPeriod?.id}" noSelection="['null':'--None--']"></g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.average.delivery.time" />
                                 </td>
                             </tr>
@@ -135,4 +144,5 @@
                                                                         from="${grailsApplication.config.currencyList}">
                                     </g:currencySelect>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.estimated.unit.price.amount" />
                                 </td>
                             </tr>
@@ -144,4 +154,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'suppliersPartNumber','errors')}">
                                     <input type="text" id="suppliersPartNumber" name="suppliersPartNumber" value="${fieldValue(bean:inventoryItemInstance,field:'suppliersPartNumber')}"/>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.suppliers.part.number" />
                                 </td>
                             </tr>
@@ -153,5 +164,5 @@
                                 <td valign="top">
                                     <g:select optionKey="id" from="${suppliers}" name="preferredSupplier.id" value="${inventoryItemInstance.preferredSupplier?.id}" noSelection="['null':'--None--']"></g:select>
-
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.preferred.supplier" />
                                     <p><g:link controller="supplierDetailed" action="create">+Add Supplier</g:link></p>
                                 </td>
@@ -167,4 +178,5 @@
                                                         size="5" multiple="yes" optionKey="id"
                                                         value="${inventoryItemInstance.alternateSuppliers?.id}" noSelection="['':'--None--']"/>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.alternate.suppliers" />
                                 </td>
                             </tr>
Index: trunk/grails-app/views/inventoryItemDetailed/edit.gsp
===================================================================
--- trunk/grails-app/views/inventoryItemDetailed/edit.gsp	(revision 715)
+++ trunk/grails-app/views/inventoryItemDetailed/edit.gsp	(revision 716)
@@ -50,4 +50,5 @@
                                                 type="text" maxlength="50" id="name" name="name"
                                                 value="${fieldValue(bean:inventoryItemInstance,field:'name')}"/>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.name" />
                                 </td>
                             </tr>
@@ -59,4 +60,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'description','errors')}">
                                     <textarea rows="5" cols="40" name="description">${fieldValue(bean:inventoryItemInstance, field:'description')}</textarea>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.description" />
                                 </td>
                             </tr>
@@ -68,4 +70,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'comment','errors')}">
                                     <textarea rows="5" cols="40" name="comment">${fieldValue(bean:inventoryItemInstance, field:'comment')}</textarea>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.comment" />
                                 </td>
                             </tr>
@@ -77,4 +80,5 @@
                                 <td valign="top" class="value">
                                     ${inventoryItemInstance.unitsInStock} ${inventoryItemInstance.unitOfMeasure.encodeAsHTML()}
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.units.in.stock" />
                                 </td>
                             </tr>
@@ -91,4 +95,5 @@
                                                         optionValue="${{it.name+ ' in ' + it.inventoryStore}}">
                                     </g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.inventory.location" />
                                 </td>
                             </tr>
@@ -100,4 +105,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'isActive','errors')}">
                                     <g:checkBox name="isActive" value="${inventoryItemInstance?.isActive}" ></g:checkBox>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.is.active" />
                                 </td>
                             </tr>
@@ -111,5 +117,6 @@
                                                     type="text" id="reorderPoint" name="reorderPoint"
                                                     value="${fieldValue(bean:inventoryItemInstance,field:'reorderPoint')}" />
-                                     ${inventoryItemInstance.unitOfMeasure.encodeAsHTML()}
+                                    ${inventoryItemInstance.unitOfMeasure.encodeAsHTML()}
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.reorder.point" />
                                 </td>
                             </tr>
@@ -124,4 +131,5 @@
                                                 value="${fieldValue(bean:inventoryItemInstance,field:'reorderQuantity')}" />
                                      ${inventoryItemInstance.unitOfMeasure.encodeAsHTML()}
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.reorder.quantity" />
                                 </td>
                             </tr>
@@ -133,4 +141,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'enableReorderListing','errors')}">
                                     <g:checkBox name="enableReorderListing" value="${inventoryItemInstance?.enableReorderListing}" ></g:checkBox>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.enable.reorder.listing" />
                                 </td>
                             </tr>
@@ -142,4 +151,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'isObsolete','errors')}">
                                     <g:checkBox name="isObsolete" value="${inventoryItemInstance?.isObsolete}" ></g:checkBox>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.is.obsolete" />
                                 </td>
                             </tr>
@@ -157,4 +167,5 @@
                                                         noSelection="['null':'--None--']">
                                     </g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.average.delivery.time" />
                                 </td>
                             </tr>
@@ -172,4 +183,5 @@
                                                                         from="${grailsApplication.config.currencyList}">
                                     </g:currencySelect>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.estimated.unit.price.amount" />
                                 </td>
                             </tr>
@@ -181,4 +193,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'suppliersPartNumber','errors')}">
                                     <input type="text" id="suppliersPartNumber" name="suppliersPartNumber" value="${fieldValue(bean:inventoryItemInstance,field:'suppliersPartNumber')}"/>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.suppliers.part.number" />
                                 </td>
                             </tr>
@@ -190,5 +203,5 @@
                                 <td valign="top">
                                     <g:select optionKey="id" from="${suppliers}" name="preferredSupplier.id" value="${inventoryItemInstance.preferredSupplier?.id}" noSelection="['null':'--None--']"></g:select>
-
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.preferred.supplier" />
                                     <p><g:link controller="supplierDetailed" action="create">+Add Supplier</g:link></p>
                                 </td>
@@ -204,4 +217,5 @@
                                                         size="5" multiple="yes" optionKey="id"
                                                         value="${inventoryItemInstance.alternateSuppliers?.id}" noSelection="['':'--None--']"/>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.alternate.suppliers" />
                                 </td>
                             </tr>
@@ -271,4 +285,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'inventoryGroup','errors')}">
                                     <g:select optionKey="id" from="${InventoryGroup.list()}" name="inventoryGroup.id" value="${inventoryItemInstance?.inventoryGroup?.id}" ></g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.inventory.group" />
                                 </td>
                             </tr>
@@ -280,4 +295,5 @@
                                 <td valign="top" class="value ${hasErrors(bean:inventoryItemInstance,field:'inventoryType','errors')}">
                                     <g:select optionKey="id" from="${InventoryType.list()}" name="inventoryType.id" value="${inventoryItemInstance?.inventoryType?.id}" ></g:select>
+                                    <g:helpBalloon class="helpballoon" code="inventory.item.inventory.type" />
                                 </td>
                             </tr>
Index: trunk/grails-app/views/inventoryItemDetailed/show.gsp
===================================================================
--- trunk/grails-app/views/inventoryItemDetailed/show.gsp	(revision 715)
+++ trunk/grails-app/views/inventoryItemDetailed/show.gsp	(revision 716)
@@ -20,8 +20,8 @@
                     <ul>
                         <g:if test="${inventoryItemInstance.isObsolete}" >
-                            <li><g:message code="inventory.item.is.obsolete" /><li>
+                            <li><g:message code="inventory.item.is.obsolete.message" /><li>
                         </g:if>
                         <g:if test="${!inventoryItemInstance.isActive}" >
-                            <li><g:message code="inventory.item.not.active" /><li>
+                            <li><g:message code="inventory.item.not.active.message" /><li>
                         </g:if>
                     </ul>
