Introduce select list replacement
diff --git a/dev/js/src/selectMenu.js b/dev/js/src/selectMenu.js
new file mode 100644
index 0000000..d51c31a
--- /dev/null
+++ b/dev/js/src/selectMenu.js
@@ -0,0 +1,43 @@
+define(
+ ['menu', 'menu/item', 'menu/prefix', 'menu/lengthField'],
+ function (menuClass, menuItemClass, prefixClass, lengthFieldClass) {
+
+ return {
+ create : function (element) {
+ var obj = Object.create(menuClass);
+
+ obj._shadow = element;
+
+ var list = [];
+ var options = element.getElementsByTagName('option');
+
+ for (var i = 0; i < options.length; i++) {
+
+ var item = options.item(i);
+ var opt = [
+ item.textContent,
+ item.getAttribute('value')
+ ];
+
+ if (item.hasAttribute('desc'))
+ opt.push(item.getAttribute('desc'));
+
+ list.push(opt);
+ };
+
+
+ obj = obj.upgradeTo(this)
+ ._init(menuItemClass, prefixClass, lengthFieldClass, list);
+
+ obj._firstActive = true;
+
+ element.style.display = 'none';
+
+ if (element.parentNode)
+ element.parentNode.appendChild(obj.element());
+
+ return obj;
+ }
+ }
+ }
+);