JavaScript
var ControlMap = {
tb_RosMon: { row: 1, col: 1 },
tb_RosTue: { row: 1, col: 2 },
tb_RosWed: { row: 1, col: 3 },
tb_RosThu: { row: 1, col: 4 },
tb_RosFri: { row: 1, col: 5 },
tb_RosSat: { row: 1, col: 6 },
tb_RosSun: { row: 1, col: 7 },
tb_AbsMon: { row: 2, col: 1 },
tb_AbsTue: { row: 2, col: 2 },
tb_AbsWed: { row: 2, col: 3 },
tb_AbsThu: { row: 2, col: 4 },
tb_AbsFri: { row: 2, col: 5 },
tb_AbsSat: { row: 2, col: 6 },
tb_AbsSun: { row: 2, col: 7 },
ddl_ReasonMon: { row: 3, col: 1 },
ddl_ReasonTue: { row: 3, col: 2 },
ddl_ReasonWed: { row: 3, col: 3 },
ddl_ReasonThu: { row: 3, col: 4 },
ddl_ReasonFri: { row: 3, col: 5 },
ddl_ReasonSat: { row: 3, col: 6 },
ddl_ReasonSun: { row: 3, col: 7 },
tb_AddMon: { row: 4, col: 1 },
tb_AddTue: { row: 4, col: 2 },
tb_AddWed: { row: 4, col: 3 },
tb_AddThu: { row: 4, col: 4 },
tb_AddFri: { row: 4, col: 5 },
tb_AddSat: { row: 4, col: 6 },
tb_AddSun: { row: 4, col: 7 },
Mon_AddReason: { row: 5, col: 1 },
Tue_AddReason: { row: 5, col: 2 },
Wed_AddReason: { row: 5, col: 3 },
Thu_AddReason: { row: 5, col: 4 },
Fri_AddReason: { row: 5, col: 5 },
Sat_AddReason: { row: 5, col: 6 },
Sun_AddReason: { row: 5, col: 7 }
}
function navInput(SourceID, e) {
e = e || window.event;
var row = ControlMap[SourceID]["row"];
var col = ControlMap[SourceID]["col"];
alert("Current Pos: row " + row + ", col " + col);
var targetRow = 0;
var targetCol = 0;
switch (e.keyCode) {
case 37: //Left
targetRow = row;
targetCol = col - 1;
break;
case 38: //Up
targetRow = row - 1;
targetCol = col;
...