/* ----- */

function keyPressed(evt) {
    var pkeysEnabled = true;
    if (!pkeysEnabled) {
        return;
    }
    else if(document._powerKeysEnabled == true) {
    // the focus is NOT on a form element
        if (evt.keyCode == 8) {
            // don't allow backspaces
            var navigateur = navigator.appName;

            if (navigateur == "Microsoft Internet Explorer") {
                // Internet Explorer
                return false;
            }
            else {
                // Autres (Firefox, Chrome, Safari, Opera, ...)
                evt.preventDefault();
                return false;
            }
        }
    }
}//pkeys()

function pkeysinit() {
    // Find all input fields we're interested in
    var inputs = document.getElementsByTagName("input");
    var selects = document.getElementsByTagName("select");
    var texts = document.getElementsByTagName("textarea");
    var tags = new Array();

    // Push every element into tags
    for (var i =0 ; inputs[ i]; i++) tags.push( inputs[i]);
    for (var s =0 ; selects[ s]; s++) tags.push( selects[ s]);
    for (var t =0 ; texts[ t]; t++) tags.push( texts[ t]);

    // Search all our input fields....
    for( var t = 0; t < tags.length; t++) {
        var tag = tags[ t]; // Make code a little more legible

        var nodeName = tag.nodeName.toLowerCase();
        var type = tag.type.toLowerCase();
        // Check it's input text, or SELECT, or TEXTAREA
        if( (nodeName == "input" && type == "text") || (nodeName == "input" && type == "password") || (nodeName == "select") || ( nodeName == "textarea")) {
            addEvent( tag, "focus", powerKeysDisable); // Disable when active
            addEvent( tag, "blur", powerKeysEnable); // Enable when not active
        }
    }

    addEvent(document, "keydown", keyPressed);
    // start off ._powerKeysEnabled at true
    document._powerKeysEnabled = true;
}

function powerKeysDisable(e) {
    // a form element has the focus
    document._powerKeysEnabled = false;
}

function powerKeysEnable(e) {
    // a form element lost the focus, so we're no where right now
    document._powerKeysEnabled = true;
}

function addEvent(elm, evType, fn, useCapture) {
    // function addEvent
    var ret = 0;

    if (elm.addEventListener)
        ret = elm.addEventListener(evType, fn, useCapture);
    else if (elm.attachEvent)
        ret = elm.attachEvent('on' + evType, fn);
    else
        elm['on' + evType] = fn;

    return ret;
}

function startKeyb() {
//    setTimeout("pkeysinit();", 1000);
}

// // demarrer 1 seconde après le chargement
// window.onload = startKeyb();

