var blockMessage = "JBN TV";

var blockedKeys = new Array();
blockedKeys[0] = 27; //ESC
blockedKeys[1] = 112; //F1
blockedKeys[2] = 113; //F2
blockedKeys[3] = 114; //F3
blockedKeys[4] = 115; //F4
blockedKeys[5] = 116; //F5
blockedKeys[6] = 117; //F6
blockedKeys[7] = 118; //F7
blockedKeys[8] = 119; //F8
blockedKeys[9] = 120; //F9
blockedKeys[10] = 121; //F10
blockedKeys[11] = 122; //F11
blockedKeys[12] = 123; //F12

var blockedControlKeys = new Array();
blockedControlKeys[0] = 65; //A
blockedControlKeys[1] = 66; //B
blockedControlKeys[2] = 68; //D
blockedControlKeys[3] = 76; //L
blockedControlKeys[4] = 77; //M
blockedControlKeys[5] = 78; //N
blockedControlKeys[6] = 79; //O
blockedControlKeys[7] = 80; //P
blockedControlKeys[8] = 82; //R
blockedControlKeys[9] = 83; //S
blockedControlKeys[10] = 85; //U
blockedControlKeys[11] = 87; //W
blockedControlKeys[12] = 115; //F4
blockedControlKeys[13] = 116; //F5

function blockKeys(e)
{
    e = checkEvent(e);
    
    if (e == null){
        return false;
    }
    
    if (e.altKey){
        alert(blockMessage);
        return cancelEvent(e);
    }
    
    var code = 0;
    
    if (e.keyCode){
        code = e.keyCode;
    }else if (e.which){
        code = e.which;
    }
    
    //Control
    if (e.ctrlKey){
        for (var i = 0; i <= blockedControlKeys.length; i++){
            if (code == blockedControlKeys[i]){
                return cancelEvent(e);
            }
        }
    }    
    
    //Keys
    for (var i = 0; i <= blockedKeys.length; i++){
        if (code == blockedKeys[i]){
            return cancelEvent(e);
        }
    }

    //Backspace
    if ((e.keyCode == 8) && (e.srcElement.type != "text" &&  e.srcElement.type != "textarea" && e.srcElement.type != "password")){
        return cancelEvent(e);
    }
    
//    //Context menu
//    if (e.keyCode == 93){
//        alert(blockMessage);
//    }
}

function blockRightClick(e)
{
    e = checkEvent(e);
    
    if (e == null){
        return false;
    }
    
    var code = 0;
    
    if (e.button){
        code = e.button;
    }else if (e.which){
        code = e.which;
    }    
    
    if (code == 2 || code == 3){
        alert(blockMessage);
        return cancelEvent(e);
    }
    
    return true;
}

function blockContextMenu(e)
{
    e = checkEvent(e);
    
    if (e == null){
        return false;
    }
    
    alert(blockMessage);
    return cancelEvent(e);        
}

function checkEvent(e)
{
    if (e == null && window.event){
        e = window.event;
    }
    
    return e;    
}

function cancelEvent(e)
{
    if (e == null){
        return false;
    }
    
    if (e.preventDefault != null){
//        alert("preventDefault");
        e.preventDefault();
        e.stopPropagation();
    }else{
//        alert("returnValue");
        try{
            e.keyCode = 0;
        }catch (ex){
        
        }

        e.returnValue = false;
    }
    
    return false;
}

function invokeMethod(obj, method, args)
{
    return method.apply(obj, args);
}

function setEvent(obj, eventName, handler)
{
    if (obj == null){
        return;
    }
    
    if (obj.addEventListener){
        obj.addEventListener(eventName, function(e) { return invokeMethod(obj, handler, [e]); }, false);
    }else if (obj.attachEvent){
        obj.attachEvent("on" + eventName, function() { return invokeMethod(obj, handler, [window.event]); });
    }else{
        obj["on" + eventName] = handler;
    }
}

if (document.all){
    //Internet Explorer
    setEvent(document, "mousedown", blockRightClick);
}else{
    //Firefox
    setEvent(document, "click", blockRightClick);
}

if (document.layers){
    document.captureEvents(Event.MOUSEDOWN);
}

setEvent(document, "keydown", blockKeys);
setEvent(document, "contextmenu", blockContextMenu);