var W3CDOM = document.createElement && document.getElementsByTagName;
	
//	window.onload = setMaxLength;
addEventSimple(window,"load",setMaxLength);


function setMaxLength() {
	if (!W3CDOM) return;
	var textareas = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<textareas.length;i++) {
		if (textareas[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.innerHTML = '<span>0</span>/'+textareas[i].getAttribute('maxlength')+' maximum';
			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('maxlength');
//		var currentLength = this.value.length; //altered for \r\n
	var val = CRLF_fix(this.value);  // altered jsw for \r\n
	var currentLength = val.length;  // altered jsw for \r\n
	
	if (currentLength > maxLength)
		this.relatedElement.className = 'toomuch';
	else
		this.relatedElement.className = '';	
	this.relatedElement.firstChild.nodeValue = currentLength;
}


function CRLF_fix(val) {             
  // Adjust newlines so can do correct character counting in Mac,Nix,Win.
	if (val.indexOf('\r\n') != -1){
		return val; // this is IE on windows. No need to alter
	} else if (val.indexOf('\r') != -1){
		val = val.replace( /\r/g, "\r\n" );   // this is a Mac. Need to add the line feed
	} else if (val.indexOf('\n') != -1){
		val = val.replace( /\n/g, "\r\n" );   // this is Firefox on any platform or Unix
	}
	return val;
}

