function selectLink(num, links) {

 if(num != null && num < 0) { num = 0; }
 if(num >= links.length) { num = links.length-1; }

 for(var i=0; i < links.length; i++) {
  links[i].className = i==num ? 'selected' : '';
 }

 return num;

}

var menu = document.getElementById('menu');
var links = menu.getElementsByTagName('a');
var selectedNum = -1;

for(var i=0; i < links.length; i++) {
 links[i].onmouseover = function() {
  selectLink(null, links);
  selectedNum = -1;
 }
}

document.onkeydown = function(e) {
 if(e.keyCode == 38) { // up
  selectedNum = selectLink(selectedNum - 1, links);
 } else if(e.keyCode == 40) { // down
  selectedNum = selectLink(selectedNum + 1, links);
 } else if(e.keyCode == 13) { // enter
  for(var i=0; i < links.length; i++) {
   if(links[i].className == 'selected') {
    window.location = links[i].href;
   }
  }
 }
}
