Release preparation, documentation, fixing vc bugs
diff --git a/dev/js/src/vc/doc.js b/dev/js/src/vc/doc.js
index 2635b2f..f04b445 100644
--- a/dev/js/src/vc/doc.js
+++ b/dev/js/src/vc/doc.js
@@ -10,10 +10,10 @@
 
     /*
       var fieldMenu = menuClass.create([
-      ['Titel', 'title', 'string'],
-      ['Untertitel', 'subTitle', 'string'],
-      ['Veröffentlichungsdatum', 'pubDate', 'date'],
-      ['Autor', 'author', 'string']
+        ['Titel', 'title', 'string'],
+        ['Untertitel', 'subTitle', 'string'],
+        ['Veröffentlichungsdatum', 'pubDate', 'date'],
+        ['Autor', 'author', 'string']
       ]);
       
       fieldMenu.limit(5);
@@ -417,29 +417,37 @@
 
     // Click on the match operator, show me the menu
     _changeValue : function (e) {
-      // TODO: Just kidding - this is temporary!
 
+      // Show datepicker
       if (this.type() === 'date') {
 	var dp = KorAP._vcDatePicker;
 
 	var v = this.value();
 	if (v !== undefined) {
-	  var d = v.split('-');
-	  dp.select(parseInt(d[0]), parseInt(d[1]), parseInt(d[2]));
+
+	  var d = v.split('-', 3);
+	  d[0] = parseInt(d[0]);
+	  if (d[1]) d[1] = parseInt(d[1]);
+	  if (d[2]) d[2] = parseInt(d[2]);
+
+	  // Select values
+	  dp.select(d[0], d[1], d[2]);
 	};
 
 	var that = this;
+
 	dp.onclick(function (selected) {
 
 	  // There are values selected
 	  if (selected['year']) {
-	    var v = selected['year'];
+	    var v = '' + selected['year'];
 	    if (selected['month']) {
 	      v += '-';
 	      v += selected['month'] < 10 ? '0' + selected['month'] : selected['month'];
-	      if (selected['day'])
+	      if (selected['day']) {
 		v += '-';
 		v += selected['day'] < 10 ? '0' + selected['day'] : selected['day'];
+	      };
 	    };
 	    that.value(v);
 	    that.update();
@@ -452,12 +460,22 @@
 	  );
 	});
 
+	// Get element of the date picker
+	var dpElem = dp.show();
+
 	this._element.insertBefore(
-	  dp.show(),
+	  dpElem,
 	  this._valueE
 	);
+
+	dpElem.focus();
+	dpElem.addEventListener('blur', function (e) {
+	  // Remove datepicker
+	  that._element.removeChild(this);
+	});
       }
       else {
+	// TODO: Just kidding - this is temporary!
 	this.value(window.prompt('Enter new value'));
 	this.update();
       };
diff --git a/dev/js/src/vc/menu.js b/dev/js/src/vc/menu.js
index d305960..17ad073 100644
--- a/dev/js/src/vc/menu.js
+++ b/dev/js/src/vc/menu.js
@@ -4,9 +4,17 @@
 define(['menu', 'vc/item'], function (menuClass, itemClass) {
   return {
     create : function (params) {
-      return Object.create(menuClass)
+      var obj = Object.create(menuClass)
 	.upgradeTo(this)
-	._init(itemClass, undefined, params)
+	._init(itemClass, undefined, params);
+      obj.limit(6);
+
+      // This is only domspecific
+      obj.element().addEventListener('blur', function (e) {
+	this.menu.hide();
+      });
+
+      return obj;
     },
 
     /**