var blockKeys = new Array("8","114","116","121","122","123","CTRL|82","CTRL|84", "CTRL|78","CTRL|72", "CTRL|116");
var shiftStatus = false;
var ctrlStatus = false;

function inArray(ar, key){
    for (var idx = 0; idx < ar.length; idx++) {
        if (ar[idx] == key) 
            return true;
    }
    return false;
}

$(document).ready(function(){
    $(document).bind("contextmenu", function(e){
        var nd = e.target.nodeName;
        if (nd == "INPUT" || nd == "TEXTAREA") 
            return true;
        return false;
    });
    
    $(document).bind("keydown", function(e){
        var nd = e.target.nodeName;
        var tEvt = "";
		if ((nd == "INPUT" || nd=="TEXTAREA" || nd=="PASSWORD") && e.keyCode == 8) return true ;
        switch (e.keyCode) {
            case 16:
                shiftStatus = true;
                break;
            case 17:
                ctrlStatus = true;
                break;
            default:
                tEvt = (shiftStatus ? "SHIFT|" : "") + (ctrlStatus ? "CTRL|" : "") + e.keyCode;
               // console.log("KeyDown: " + tEvt);
                break;
        }
        if (inArray(blockKeys, tEvt)) {
            if ($.browser.msie) {
                try {
                    event.keyCode = 0;
                    event.cancelBubble = true;
                } catch (ee) { };
               return false;
            }
            else {
                e.stopPropagation();
                e.preventDefault();
                return false;
            }
        }
        return true;
    });
    
    $(document).bind("keyup", function(e){
        if (e.keyCode == 16) shiftStatus = false;
        if (e.keyCode == 17) ctrlStatus = false;
    });
});