String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.row = function(lineNo) 
{
	var sp = 0;
	var ep = 0;
	var line = 0;
	
	for (;;)
	{
		sp = this.indexOf("\n", ep);
		if (sp == -1) break;
		
		if (lineNo == line)
			return this.substring(sp, ep).trim();
		
		line++;
		ep = sp + 1;
	}	
	
	return "";
}

/*
String.prototype.rows = function(startLine, rows) 
{
	var sp = 0;
	var ep = 0;
	var line = 0;
	var subSpos = -1;
	var subEpos = -1;
	
	for (;;)
	{
		if (line++ == startLine)
		{
			subSpos = sp;
			break;
		}
		
		sp = this.indexOf("\n", sp);
		if (sp == -1)
			return "";

		sp = sp + 1;
	}
	
	if (rows > 0)
	{
		line = 0;
		for (;;)
		{
			if (line++ == rows)
			{
				subEpos = sp;
				break;
			}
			
			sp = this.indexOf("\n", sp);
			if (sp == -1)
				break;
	
			sp = sp + 1;
		}
		
		if (subSpos == -1 && subEpos == -1)
			return "";
	}

	if (subEpos <= 0)
		subEpos = this.length - 1;

	return this.substring(subSpos, subEpos);
}
*/