Did a number of changes: Removed hidden inputs, added tabindex and arrow up/down navigation, put hardcoded variables on top and changed them for me, when opening, don't let it pass the browser bottom (but with a minimum number of items shown.