var W3CDOM = document.createElement && document.getElementsByTagName;

function setMaxLength() {
	if (!W3CDOM) return;
	var textareas = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.style.color = 'gray';
	counter.className = 'counter';
	for (var i=0;i<textareas.length;i++) {
		if (textareas[i].getAttribute('maxlengthta') && textareas[i].onkeyup!=checkMaxLength) {
			var counterClone = counter.cloneNode(true);
			counterClone.innerHTML = '<div class=taCounter><span>0</span>/'+textareas[i].getAttribute('maxlengthta')+'</div>';
			textareas[i].parentNode.insertBefore(counterClone,textareas[i].nextSibling);
			textareas[i].relatedElement = counterClone.getElementsByTagName('span')[0];
			textareas[i].onkeyup = textareas[i].onchange = checkMaxLength;
			textareas[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlengthta');
	var currentLength = this.value.length;
	if (currentLength > maxLength) 
	{
	    this.value = this.value.slice(0, maxLength);
	    currentLength = this.value.length;
	}
	
	this.relatedElement.firstChild.nodeValue = currentLength;
}

try
{
    Sys.Application.add_load(setMaxLength);
}
catch(e)
{
    addEvent(window, 'load', setMaxLength);
}