(function() {


	function shortcut(e) {
		BBX.log('kdown');
		var isInput = false;
		
		if(e.target.nodeName.toLowerCase() == 'input' || e.target.nodeName.toLowerCase() == 'textarea') {
			isInput = true;
		}
		
		var c = e.keyCode;
		BBX.log('kc: '+c +' isInput: '+isInput);
	
		// keycode 27 is the escape key
	
		switch(c) {
		
			case 71:
			case 76:
				if(typeof BBX.folks !== 'undefined' && !isInput) {
				
					if(
						(c === 76 && $("body").first().hasClass('grid'))
					|| (c === 71 && $("body").first().hasClass('list'))
					) {
					
						BBX.folks.layout.doswap();
					
					}
				}
				
			
				
			break;
		
			case 83:
				if(!isInput) {
					$$('q').focus();
					e.preventDefault();
				}
			break;
			
			
			case 27:	// escape
				var dialog = BBX.traverse.getAncestorByClass(e.target, 'dialog');
				if(dialog) {
					$(dialog).cssSelect('.dialog-title a').triggerEvent('click');
				} else if(e.target.nodeName.toLowerCase() == 'input' && e.target.getAttribute('type') == 'search') {
					$(e.target).blur();
				} else {
					$('.dialog .dialog-title a').triggerEvent('click');
				}
			
			
			break;
		
		
		
		}
		
		
	}



	var w = $(document);
	w.addEvent('keydown',shortcut);
	
})();
