	function numericTextLen(ctrlName)
	{
		ctrl = document.getElementById(ctrlName);

		textLenBase(ctrl, -1, false)
	}

	function textLen(ctrlName)
	{
		ctrl = document.getElementById(ctrlName);

		textLenBase(ctrl, -1, false);
	}

	function textLen2(ctrlName)
	{
		ctrl = document.getElementById(ctrlName);

		textLenBase(ctrl, -1, true);
	}

	function textLenBase(ctrl, maxLen, trim)
	{
		if (ctrl != null) 
		{
			if (maxLen == -1)
			{
				maxLen = ctrl.maxLength;

				if (ctrl.type == 'textarea')
				{
					maxLen = ctrl.getAttribute ? parseInt(ctrl.getAttribute("maxlength")) :	"";
				}
			}

			currentLen = ctrl.value.length;

			if (currentLen > maxLen && trim == true)
			{
				ctrl.value = ctrl.value.substring(0, maxLen);
				currentLen = ctrl.value.length;
			}

			counterCtrl = document.getElementById(ctrl.id + 'Counter');

			if (counterCtrl != null)
			{
				charsLeft = (maxLen - currentLen);
				counterCtrl.innerHTML = charsLeft + ' characters left';
			}
		}
	}
