function FilterTextInput(message,evt,span_message,label) {
	if (!evt) {
		if (message.value.length > maxlength) {
			message.value = message.value.substring(0,maxlength);
		}
	}
	else {
		var theKey = (!document.all) ? evt.which : evt.keyCode;
		var theKeys = ",0,8,9,13,33,34,";
		var is_allowed = (theKeys.indexOf("," + theKey + ",") > -1);
		if ((message.value.length + 1) > maxlength) {
			if (!(evt.ctrlKey || evt.altKey || is_allowed)) {
				return false;
			}
		}
	}
	UpdateCharsLeft(message, span_message, label);
	return true;
}
function UpdateCharsLeft(message, span_message, label) {
	if (typeof(message) == "string") {
		message = document.getElementById(message);
	}
	if (typeof(span_message) == "string") {
		span_message = document.getElementById(span_message);
	}
	if (message && span_message) {
		var charsLeft = (maxlength - message.value.length);
		if (charsLeft < 0) { charsLeft = 0; }
		//span_message.innerHTML = charsLeft + " character(s) left";
		span_message.innerHTML = label.replace(/\[NUMBER\]/, charsLeft);
		if (message.value.length > maxlength) {
			message.value = message.value.substring(0,maxlength);
		}
	}
}
