﻿
function FilterNumberKeys(oInput, e, allowdecimals) {
    var ev = RLdesign.Utils.DefineEvent(e);
    var charcode = RLdesign.Utils.DefineEventKeyCode(e);
    var whitelist = [8, 9, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 144];
    if (allowdecimals) {
        whitelist[whitelist.length] = 110;
        whitelist[whitelist.length] = 188;
        whitelist[whitelist.length] = 190;
    }
    if (ev.ctrlKey && charcode == 65) return true; // ctrl+a
    else if (ev.ctrlKey && charcode == 67) return true; // ctrl+c
    else if (ev.ctrlKey && charcode == 86) return true; // ctrl+v
    else if (ev.ctrlKey && charcode == 88) return true; // ctrl+x
    else if (ev.ctrlKey && charcode == 90) return true; // ctrl+z
    else if (RLdesign.Arrays.InArray(whitelist, charcode)) return true;
    else return false;
}
