Improved response view
diff --git a/dev/js/src/vc/chooseitem.js b/dev/js/src/vc/chooseitem.js
new file mode 100644
index 0000000..81ee4ca
--- /dev/null
+++ b/dev/js/src/vc/chooseitem.js
@@ -0,0 +1,89 @@
+define(['menu/item', 'util'], function (itemClass) {
+
+  var loc = KorAP.Locale;
+
+  return {
+
+    /**
+     * Create new menu item.
+     * Pass two parameters: value and type.
+     * the value may be localized by a name in
+     * KorAP.Locale with the prefix 'VC_',
+     * e.g. 'VC_subTitle'.
+     */
+    create : function (params) {
+      return Object.create(itemClass)
+	.upgradeTo(this)
+	._init(params);
+    },
+
+    // Initialize item object
+    _init : function (params) {
+      if (params[0] === undefined)
+	throw new Error("Missing parameters");
+      
+      this._id  = params[0];
+      this._name = params[1];
+      this._desc  = params[2];
+
+      this._lcField =  ' ' + this._name.toLowerCase();
+      this._lcField += ' ' + this._desc.toLowerCase();
+
+      return this;
+    },
+
+    /**
+     * Override click event by passing all clicks
+     * to the menu object.
+     */
+    onclick : function (e) {
+      this.menu().release(
+	this._id,
+	this._name
+      );
+      e.halt();
+    },
+
+    /**
+     * Get the name of the item.
+     */
+    name : function () {
+      return this._name;
+    },
+
+    /**
+     * Get the identifier of the item.
+     */
+    id : function () {
+      return this._id;
+    },
+
+    /**
+     * Get the description of the item.
+     */
+    desc : function () {
+      return this._desc;
+    },
+
+    /**
+     * Get the HTML element associated with the item. 
+     */
+    element : function () {
+
+      // already defined
+      if (this._element !== undefined)
+	return this._element;
+
+      // Create list item
+      var li = document.createElement("li");
+      li.setAttribute("data-type", this._type);
+      li.setAttribute("data-key",  this._key);
+
+      // Connect action
+      li["onclick"] = this.onclick.bind(this);
+
+      li.ap   pendChild(document.createTextNode(this._name));
+      return this._element = li;
+    }
+  }
+});