//Private variablesvar colsDefault = 0;var rowsDefault = 0;//var rowsCounter = 0;//Private functionsfunction setDefaultValues(txtArea){	colsDefault = txtArea.cols;	rowsDefault = txtArea.rows;	//rowsCounter = document.getElementById("rowsCounter");}function bindEvents(txtArea){	txtArea.onkeyup = function() {		grow(txtArea);	}}//Helper functionsfunction grow(txtArea){    var linesCount = 0;    var lines = txtArea.value.split('\n');    for (var i=lines.length-1; i>=0; --i)    {        linesCount += Math.floor((lines[i].length / colsDefault) + 1);    }    if (linesCount >= rowsDefault)        txtArea.rows = linesCount + 1;	else        txtArea.rows = rowsDefault;	//rowsCounter.innerHTML = linesCount + " | " + txtArea.rows;}//Public MethodjQuery.fn.autoGrow = function(){	return this.each(function(){		setDefaultValues(this);		bindEvents(this);	});};