var W3CDOM = document.createElement && document.getElementsByTagName;
var dejainit = 0;
function init(CharUnity) { // this function is automatically called onload by quirksmode.js	
	if(dejainit == 0){
		setMaxLength(CharUnity);		
		dejainit = 1;
	}
}

function setMaxLength(CharUnity) {
	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')+' ' + CharUnity;
			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;
	if (currentLength >= maxLength){
		this.value = this.value.substr(0,maxLength);
		this.relatedElement.firstChild.nodeValue = this.value.length;	
	}else{
		this.relatedElement.firstChild.nodeValue = currentLength;				
	}
}


