//===Usage===========================
//<textarea class="lengthLimit:500"></textarea>
//This will limit the amount of chars allowed in that text area by 500. It will insert a div before it....see below

//<div class="charsLeft">Characters Remaining: <b>500</b></div>

var maxLengths = new Array();

function textLimitOnLoad() { 
	var areas = document.getElementsByTagName('textarea'); 
	for (var i = 0; i < areas.length; i++) { 
		var textArea = areas[i];
		var maxLength = parseInt(extendedClassValues(textArea, 'lengthLimit')[0]);

		if (maxLength) {
		
			var parent = textArea.parentNode; 
			var newDiv = document.createElement('div'); 
			parent.replaceChild(newDiv, textArea); 
			var span = document.createElement('span'); 
			span.appendChild(document.createTextNode('Characters remaining: ')); 
			var spanLength = document.createElement('input'); 
			
			//Style Information
			spanLength.style.fontWeight = "bold"; spanLength.style.padding = "0"; spanLength.style.margin = "0"; spanLength.style.borderWidth = "0"; spanLength.style.backgroundColor = "transparent";
			
			spanLength.value = maxLength;
			span.appendChild(spanLength);
			
			textArea.maxLength = maxLength;
			textArea.charsRemain = spanLength;
			
			addEvent(textArea, 'keydown', function(e) { checkLimit(e.target); }); 
			addEvent(textArea, 'keyup', function(e) { checkLimit(e.target); }); 
			checkLimit(textArea)
			
			newDiv.appendChild(span); 
			newDiv.appendChild(textArea);
		}
	} 
}

function checkLimit(textArea) {
	
	var charsLeft = textArea.maxLength - textArea.value.length;
	
	if(charsLeft <= 0) {
		textArea.value = textArea.value.substring(0, textArea.maxLength);
		charsLeft = 0;
	}
	
	textArea.charsRemain.value = charsLeft;
}

if (window.addEvent) addEvent(window, 'load', textLimitOnLoad);