/*function getMax(anumber, another) {
	return((anumber > another) ? anumber : another);
}

function resizeTextArea(t, minRows) {
	t.rows = minRows;
//	t.setAttribute("wrap", "off");
	t.style.overflow = "auto";

	lines = t.value.split("\n");

	t.rows = getMax(lines.length + 1, minRows);
}
*/

function countLineBreaks (string) {
  var re = /\r\n|\r|\n/g;
  var n = 0;
  while (re.exec(string))
    n++;
  return n;
}

function resizeTextArea2 (textarea, tmp) {
	if (document.all) {
		while (textarea.scrollHeight > (textarea.clientHeight-20))
		textarea.rows++;
		textarea.scrollTop = 0;
	} else if (textarea.rows) {
		var lineBreaks = countLineBreaks(textarea.value);
		var rows = parseInt(textarea.rows);
		var wrap = textarea.getAttribute('wrap');
		if (lineBreaks > rows)
			textarea.rows = ++rows;
		else if (wrap.toLowerCase() == 'soft' || wrap.toLowerCase() == 'hard') {
			i=0;
			while (((textarea.rows * textarea.cols) <= textarea.value.length) && (i<10)) {
				alert(textarea.rows + ' ' + textarea.cols + ' ' + textarea.value.length);
				textarea.rows = ++rows;
			}
		}
	}
}

var OneRowHeight = 0;

function resizeTextArea (textArea, tmp) {
	OneRowHeight = textArea.style.height;
				var rows = textArea.value.split('\n');
				nRows=0;
				for (i=0;i < rows.length; i++) {
					if (rows[i].length >= textArea.cols) nRows+= Math.floor(rows[i].length/textArea.cols);
				}
				nRows += rows.length;
				if (nRows >= (textArea.rows)) {
					textArea.rows = nRows;
					textArea.style.height = "auto";
				} else if (nRows == 1) {
//					textArea.rows = 1;
				} else if (nRows == 0) {
					textArea.rows = 1;
					textArea.style.height = OneRowHeight;
				}
}