Index: trunk/grails-app/views/assetDetailed/copy.gsp
===================================================================
--- trunk/grails-app/views/assetDetailed/copy.gsp	(revision 277)
+++ trunk/grails-app/views/assetDetailed/copy.gsp	(revision 278)
@@ -13,7 +13,5 @@
         </div>
         <div class="body">
-            <g:if test="${flash.message}">
-            <div class="message">${flash.message}</div>
-            </g:if>
+            <g:render template="/shared/messages" />
             <g:hasErrors bean="${assetInstance}">
             <div class="errors">
@@ -35,4 +33,21 @@
                                 </td>
                             </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="copyMethod">Sub Items:</label>
+                                </td>
+                                <td valign="top" class="value">
+                                    <p>
+                                        <input type="radio" name="copyMethod" value="link" />
+                                        Link
+                                        <g:helpBalloon class="helpballoon" code="asset.copy.method" />
+                                    </p>
+                                    <p>
+                                        <input type="radio" name="copyMethod" value="copy" />
+                                        Copy
+                                    </p>
+                                </td>
+                            </tr>
                         
                             <tr class="prop">
Index: trunk/grails-app/views/assetDetailed/overview.gsp
===================================================================
--- trunk/grails-app/views/assetDetailed/overview.gsp	(revision 278)
+++ trunk/grails-app/views/assetDetailed/overview.gsp	(revision 278)
@@ -0,0 +1,40 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Asset Overview</title>
+        <g:javascript src="overlayPane.js" />
+        <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>
+
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset Tree:</td>
+
+                            <td valign="top" class="value">
+                                <gnumims:assetTree />
+                            </td>
+
+                        </tr>
+
+                        
+                    </tbody>
+                </table>
+            </div>
+
+        </div> <!-- end body div -->
+    </body>
+</html>
Index: trunk/grails-app/views/assetDetailed/show.gsp
===================================================================
--- trunk/grails-app/views/assetDetailed/show.gsp	(revision 277)
+++ trunk/grails-app/views/assetDetailed/show.gsp	(revision 278)
@@ -7,4 +7,5 @@
         <title>Show Asset</title>
         <nav:resources override="true"/>
+        <g:javascript src="overlayPane.js" />
     </head>
     <body>
@@ -19,113 +20,68 @@
                 <table>
                     <tbody>
-                    
+
                         <tr class="prop">
                             <td valign="top" class="name">Id:</td>
-                            
+
                             <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'id')}</td>
-                            
+
                         </tr>
-                    
+
                         <tr class="prop">
                             <td valign="top" class="name">Asset:</td>
 
                             <td  valign="top" style="text-align:left;" class="value">
-                                ${assetInstance.encodeAsHTML()}
-                                <g:link controller="assetSubItemDetailed" params="['asset.id':assetInstance?.id]" action="create">
-                                    <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item"/>
-                                </g:link>
-                                <g:link params="['asset.id':assetInstance?.id]" action="copy">
-                                    <img src="${resource(dir:'images/skin',file:'page_copy.png')}" alt="Copy" title="Copy Asset"/>
-                                </g:link>
-                                <br />
-                                <br />
-                                <ul>
-                                <g:each var="assetSubItem1" in="${assetInstance.assetSubItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
-                                    <li>
-                                        <g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem1.id}">${assetSubItem1?.encodeAsHTML()}</g:link>
-                                    <g:link controller="assetSubItemDetailed" params="['parentItem.id':assetSubItem1?.id]" action="create">
-                                        <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item" />
-                                    </g:link>
-                                    </li>
-                                    <ul>
-                                    <g:each var="assetSubItem2" in="${assetSubItem1.subItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
-                                        <li>
-                                            <g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem2.id}">${assetSubItem2?.encodeAsHTML()}</g:link>
-                                        <g:link controller="assetSubItemDetailed" params="['parentItem.id':assetSubItem2?.id]" action="create">
-                                            <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item" />
-                                        </g:link>
-                                        </li>
-                                        <ul>
-                                        <g:each var="assetSubItem3" in="${assetSubItem2.subItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
-                                            <li>
-                                                <g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem3.id}">${assetSubItem3?.encodeAsHTML()}</g:link>
-                                            <g:link controller="assetSubItemDetailed" params="['parentItem.id':assetSubItem3?.id]" action="create">
-                                                <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item" />
-                                            </g:link>
-                                            </li>
-                                            <ul>
-                                            <g:each var="assetSubItem4" in="${assetSubItem3.subItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
-                                                <li><g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem4.id}">${assetSubItem4?.encodeAsHTML()}</g:link></li>
-                                            </g:each> <!--assetSubItem4-->
-                                            </ul>
-                                        </g:each> <!--assetSubItem3-->
-                                        </ul>
-                                    </g:each> <!--assetSubItem2-->
-                                    </ul>
-                                    <br />
-                                    <br />
-                                </g:each> <!--assetSubItem1-->
-                                </ul>
+                                <g:render template="/shared/assetTree" />
                             </td>
 
                         </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Description:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'description')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Is Active:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'isActive')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Section:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="sectionDetailed" action="show" id="${assetInstance?.section?.id}">${assetInstance?.section?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Asset Extended Attributes:</td>
-                            
-                            <td  valign="top" style="text-align:left;" class="value">
-                                <ul>
-                                <g:each var="a" in="${assetInstance.assetExtendedAttributes}">
-                                    <li><g:link controller="assetExtendedAttributeDetailed" action="edit" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
-                                </g:each>
-                                </ul>
-                            </td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Maintenance Actions:</td>
-                            
-                            <td  valign="top" style="text-align:left;" class="value">
-                                <ul>
-                                <g:each var="m" in="${assetInstance.maintenanceActions}">
-                                    <li><g:link controller="maintenanceActionDetailed" action="edit" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
-                                </g:each>
-                                </ul>
-                            </td>
-                            
-                        </tr>
-                    
+
+                            <tr class="prop">
+                                <td valign="top" class="name">Description:</td>
+                                
+                                <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'description')}</td>
+                                
+                            </tr>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">Is Active:</td>
+                                
+                                <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'isActive')}</td>
+                                
+                            </tr>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">Section:</td>
+                                
+                                <td valign="top" class="value"><g:link controller="sectionDetailed" action="show" id="${assetInstance?.section?.id}">${assetInstance?.section?.encodeAsHTML()}</g:link></td>
+                                
+                            </tr>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">Asset Extended Attributes:</td>
+                                
+                                <td  valign="top" style="text-align:left;" class="value">
+                                    <ul>
+                                    <g:each var="a" in="${assetInstance.assetExtendedAttributes}">
+                                        <li><g:link controller="assetExtendedAttributeDetailed" action="edit" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+                                    </g:each>
+                                    </ul>
+                                </td>
+                                
+                            </tr>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">Maintenance Actions:</td>
+                                
+                                <td  valign="top" style="text-align:left;" class="value">
+                                    <ul>
+                                    <g:each var="m" in="${assetInstance.maintenanceActions}">
+                                        <li><g:link controller="maintenanceActionDetailed" action="edit" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                    </g:each>
+                                    </ul>
+                                </td>
+                                
+                            </tr>
+                        
                     </tbody>
                 </table>
Index: trunk/grails-app/views/shared/_assetTree.gsp
===================================================================
--- trunk/grails-app/views/shared/_assetTree.gsp	(revision 278)
+++ trunk/grails-app/views/shared/_assetTree.gsp	(revision 278)
@@ -0,0 +1,58 @@
+
+<div class="tree" >
+    ${assetInstance.encodeAsHTML()}
+    <g:link controller="assetSubItemDetailed" params="['asset.id':assetInstance?.id]" action="create">
+        <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item"/>
+    </g:link>
+    <g:link params="['asset.id':assetInstance?.id]" action="copy">
+        <img src="${resource(dir:'images/skin',file:'page_copy.png')}" alt="Copy" title="Copy Asset"/>
+    </g:link>
+
+    <ul>
+    <g:each var="assetSubItem1" in="${assetInstance.assetSubItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
+        <li>
+            <a href='' class="toggle"
+                                onclick="showElement('treelevel1');
+                                                return false">
+            </a>
+            <g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem1.id}">${assetSubItem1?.encodeAsHTML()}</g:link>
+            <g:link controller="assetSubItemDetailed" params="['parentItem.id':assetSubItem1?.id]" action="create">
+                <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item" />
+            </g:link>
+        </li>
+
+        <div id="treelevel1">
+
+            <ul>
+            <g:each var="assetSubItem2" in="${assetSubItem1.subItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
+                <li>
+                    <a href='' class="toggle">
+                    </a>
+                    <g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem2.id}">${assetSubItem2?.encodeAsHTML()}</g:link>
+                    <g:link controller="assetSubItemDetailed" params="['parentItem.id':assetSubItem2?.id]" action="create">
+                        <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item" />
+                    </g:link>
+                </li>
+                <ul>
+                <g:each var="assetSubItem3" in="${assetSubItem2.subItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
+                    <li>
+                        <g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem3.id}">${assetSubItem3?.encodeAsHTML()}</g:link>
+                        <g:link controller="assetSubItemDetailed" params="['parentItem.id':assetSubItem3?.id]" action="create">
+                            <img src="${resource(dir:'images/skin',file:'database_add.png')}" alt="Add" title="Add Sub Item" />
+                        </g:link>
+                    </li>
+                    <ul>
+                    <g:each var="assetSubItem4" in="${assetSubItem3.subItems.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
+                        <li><g:link controller="assetSubItemDetailed" action="edit" id="${assetSubItem4.id}">${assetSubItem4?.encodeAsHTML()}</g:link></li>
+                    </g:each> <!--assetSubItem4-->
+                    </ul>
+                </g:each> <!--assetSubItem3-->
+                </ul>
+            </g:each> <!--assetSubItem2-->
+            </ul>
+
+        </div>
+
+    </g:each> <!--assetSubItem1-->
+    </ul>
+</div>
