var keystrokes = {};
keystrokes.ctrlModKeys = {};
keystrokes.OptModKeys = {};
keystrokes.shiftModKeys ={};
keystrokes.Keys = {};


keystrokes.logout = function(){
    window.location = '/logout'
};

keystrokes.login = function(){
    window.location = '/login'
};

keystrokes.console = function(){
    window.location = '/console'
};

keystrokes.register = function(){
    window.location = '/register'
};

keystrokes.profile = function(){
    window.location = '/profile'
};

keystrokes.home = function(){
    window.location = '/'
};

keystrokes.registerKeyStroke = function(f, k){
    keystrokes.Keys[k] = f;    
};

keystrokes.registerKeyStrokeCtrl = function(f, k){
    keystrokes.ctrlModKeys[k] = f;
};

keystrokes.registerKeyStrokeShift = function(f, k){
    keystrokes.shiftModKeys[k] = f;
};


keystrokes.processKey = function(e){
    var f = function(){};
        
    if((e.ctrlKey==true)   || (e.ctrlKey==true&&e.shiftKey==true )){
        if(jQuery.inArray(e.keyCode, keystrokes.ctrlModKeys )){
           f=keystrokes.ctrlModKeys[e.keyCode];
        }
    }
    else{
        if(jQuery.inArray(e.keyCode, keystrokes.Keys )){
           f=keystrokes.Keys[e.keyCode];
        }
    }
    
    if(typeof f != 'undefined' ){
        f(e.keyCode);
    }
};

keystrokes.registerKeyStroke(keystrokes.logout, 27);
keystrokes.registerKeyStrokeCtrl(keystrokes.logout,81);
keystrokes.registerKeyStrokeCtrl(keystrokes.console,85);
keystrokes.registerKeyStrokeCtrl(keystrokes.login,76);
keystrokes.registerKeyStrokeCtrl(keystrokes.register,82);
keystrokes.registerKeyStrokeCtrl(keystrokes.home,72);
keystrokes.registerKeyStrokeCtrl(keystrokes.profile,80);

$(document).keydown(function(e){
       keystrokes.processKey(e);
});

$('pre').ready(function(){
	console.logpage("rmtek.keystrokes module loaded");
});

