Change close to minimize

Change-Id: I9eeb858b6d03a54114f332486ae0f60782912acf
diff --git a/dev/js/src/init.js b/dev/js/src/init.js
index d992c3f..8e42b4e 100644
--- a/dev/js/src/init.js
+++ b/dev/js/src/init.js
@@ -103,9 +103,7 @@
       };
 
       vcchoose = vcname.addE('span');
-      vcchoose.addT(
-        vc.getName()
-      );
+      vcchoose.addT(vc.getName());
 
       if (vc.wasRewritten()) {
         vcchoose.classList.add('rewritten');
@@ -252,22 +250,52 @@
      * Toggle the Virtual Collection builder
      */
     if (vcname) {
-      var vcclick = function () {
-        var view = d.getElementById('vc-view');
+      vc.onMinimize = function () {
+        vcname.classList.remove('active');
+        delete show['collection'];
+      };
 
+      vc.onOpen = function () {
+        vcname.classList.add('active');
+        show['collection'] = true;
+      };
+      
+      var vcclick = function () {
+
+        if (vc.isOpen()) {
+          vc.minimize()
+        }
+        else {
+          var view = d.getElementById('vc-view');
+          if (!view.firstChild)
+            view.appendChild(vc.element());
+
+          vc.open();
+        }
+
+        /*
         // The vc is visible
         if (vcname.classList.contains('active')) {
-          view.removeChild(vc.element());
+
+          // view.removeChild(vc.element());
+          vc.minimize();
           vcname.classList.remove('active');
           delete show['collection'];
         }
 
-        // The vc is not visible
+        // The vc is not visible yet
         else {
-          view.appendChild(vc.element());
+
+          // Spawn the element for the first time
+          var view = d.getElementById('vc-view');
+          if (!view.firstChild)
+            view.appendChild(vc.element());
+
+          vc.open();
           vcname.classList.add('active');
           show['collection'] = true;
         };
+        */
       };
 
       vcname.onclick = vcclick;