function textAction(e)
{
  var textBox;
  if (window.event && window.event.srcElement)
    textBox = window.event.srcElement;
  if (e && e.target)
    textBox = e.target;
  if (!textBox)
    return;
// 	textBox = document.getElementById(tBox);
	if(textBox.value.length > ((textBox.rows)*(textBox.cols)))
	{
		textBox.rows++;
	}
}

function autoAdjustTextbox(e)
{
  var textBox;
  if (window.event && window.event.srcElement)
    textBox = window.event.srcElement;
  if (e && e.target)
    textBox = e.target;
  if (!textBox)
    return;
// 	var textBox = document.getElementById(tBox);
	var newLines = textBox.value.split("\n");
	var extraLines = newLines.length;
	textBox.rows = Math.round((textBox.value.length / textBox.cols))+extraLines;
}


function addListeners(e) {
// Get all textboxes
var all_tBoxes = document.getElementsByTagName('textarea');
for (var i = 0; i < all_tBoxes.length; i++) {
// Add event handlers to text boxes.
	addEvent(all_tBoxes[i], 'keypress', textAction, false);
	addEvent(all_tBoxes[i], 'blur', autoAdjustTextbox, false);
// Resize all textboxes smaller
	all_tBoxes[i].rows = '1';
	all_tBoxes[i].cols = '40';
}

}

addEvent(window, 'load', addListeners, false);

function addEvent(elm, evType, fn, useCapture)
// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
// By Scott Andrew
{
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	} else {
		elm['on' + evType] = fn;
	}
}
