Fixed select menu
diff --git a/dev/js/spec/selectMenuSpec.js b/dev/js/spec/selectMenuSpec.js
index 5f0c909..26cfd25 100644
--- a/dev/js/spec/selectMenuSpec.js
+++ b/dev/js/spec/selectMenuSpec.js
@@ -54,6 +54,27 @@
         // TODO: Improve lcfield!!!!!!
 	      expect(menu.shownItem(0).lcField()).toEqual(' poliqarp');
       });
+
+      it('should first show the selected value', function () {
+	      var div = document.createElement('div');
+	      var element = div.appendChild(document.createElement('select'));
+	      for (i in list) {
+	        var opt = element.appendChild(document.createElement('option'));
+	        opt.setAttribute('value', list[i].value);
+	        opt.appendChild(document.createTextNode(list[i].content));
+	      };
+
+        expect(element.selectedIndex).toEqual(0);
+
+        // Select annis
+        element.children[2].selected = true;
+
+        expect(element.selectedIndex).toEqual(2);
+        
+	      var menu = selectMenuClass.create(div);
+        menu.show(3);
+        expect(menu._title.textContent).toEqual('Annis');
+      });
     });
   }
 );
diff --git a/dev/js/src/api.js b/dev/js/src/api.js
index c03013f..5295b3c 100644
--- a/dev/js/src/api.js
+++ b/dev/js/src/api.js
@@ -28,7 +28,7 @@
 
     // This is for legacy support
     var legacy = legacySigle.exec(match.textSigle);
-    if (legacy[0]) {
+    if (legacy !== null && legacy[0]) {
       url += '/' + legacy[1] + '/' + legacy[2] + '/' + legacy[3];
     }
     else {
diff --git a/dev/js/src/selectMenu.js b/dev/js/src/selectMenu.js
index d8db4cd..dc0f863 100644
--- a/dev/js/src/selectMenu.js
+++ b/dev/js/src/selectMenu.js
@@ -36,7 +36,7 @@
 	          ._init(list, {
 	            itemClass : selectMenuItemClass
 	          });
-
+        
 	      obj._container = element;
 	      obj._select = select;
 	      obj._select.style.display = 'none';
@@ -67,7 +67,6 @@
 	        this.showTitle();
 	      }.bind(obj));
 
-        // Show the title
 	      obj.showTitle();
 	      return obj;
       },
@@ -81,7 +80,7 @@
 	        this._select.selectedIndex = index;
 	      };
 
-	      return this._selected || 0;
+	      return this._selected || this._select.selectedIndex || 0;
       },
 
       /**