var keyCodes = {
	"up":38,
	"down":40,
	"plus":187,
	"minus":189,
	"enter":13
};

function setupKeyboardCommands() {
	$(document).keydown(function(e) {
		// If an item is open
		var key = e.keyCode ? e.keyCode : e.which;
		switch(key) {
			case keyCodes.up:
				if($(".item.selected").length) {
					var currentItem = $(".item.selected");
					var nextIndex = $(".item").index(currentItem)-1;
					if(nextIndex < 0) break;
					var nextItem = $(".item").eq(nextIndex);
					if(nextItem.length) {
						openItem(nextItem);
						setTimeout(function() {
							$.scrollTo(nextItem, 500, {offset:{left:0,top:-30}});
						}, 300);
					}
				} else {
					openItem($(".item").eq(0));
				}
				break;
			case keyCodes.down:
				if($(".item.selected").length) {
					var currentItem = $(".item.selected");
					var nextIndex = $(".item").index(currentItem) + 1;
					if(nextIndex > ($(".item").length-1)) break;
					var nextItem = $(".item").eq(nextIndex);
					if(nextItem.length) {
						openItem(nextItem);
						setTimeout(function() {
							$.scrollTo(nextItem, 500, {offset:{left:0,top:-50}});
						}, 300);
					}
				} else {
					openItem($(".item").eq(0));
				}
				break
			case keyCodes.plus:
				if($(".item.selected").length) {
					openItem($(".item.selected"));
				} else {
					openItem($(".item").eq(0));
				}
				break;
			case keyCodes.minus:
				closeItem($(".item.selected"));
				break;
			case keyCodes.enter:
				if($(".item.selected .title a").length) {
					window.location = $(".item.selected .title a").attr("href");
				}
				break;
			default:
				break;
		}
	});
}
