﻿
var _lastValue = "";
var txtAreaID;
var maxLength;
function TextareaKeyPress(event, txtID, maxChar) {
    if (txtID != null) {
        var objTextArea = txtID;
        var maxChars = maxChar;
        txtAreaID = txtID;
        maxLength = maxChar;
    }
    else {
        var objTextArea = txtAreaID;
        var maxChars = maxLength;
    }
    var strValue = objTextArea.value;
    if (strValue.length >= maxChars) {
        if ((!event) || (!event.keyCode)) return false;
        var arrAllowedChars = new Array(8, 9, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46);
        return InArray(arrAllowedChars, event.keyCode);
    }
    return true;
}

function TextareaKeyUp(event, txtID, maxChar) {
    if (txtID != null) {
        var objTextArea = txtID;
        var maxChars = maxChar;
        txtAreaID = txtID;
        maxLength = maxChar;
    }
    else {
        var objTextArea = txtAreaID;
        var maxChars = maxLength;
    }
    var strValue = objTextArea.value;
    if (strValue.length >= maxChars) {
        if (_lastValue.length != strValue.length) {
            objTextArea.value = strValue.substr(0, maxChars);
        }
        strValue = objTextArea.value;
    }
    _lastValue = strValue;
}

function TextareaPaste(event, txtID, maxChar) {
    txtAreaID = txtID;
    maxLength = maxChar
    var s1 = setTimeout("TextareaKeyPress();", 100); var s2 = setTimeout("TextareaKeyUp();", 500);
}

function InArray(arr, key) {
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] == key) return true;
    }
    return false;
}
