function drawLinesAndPoints(lp, paper) {

//	var minx = getMin(lp.data_x);
//	var miny = getMin(lp.data_y);
//	var maxx = getMax(lp.data_x);
//	var maxy = getMax(lp.data_y);

	var i = 0;
	var lines = []
	
	for (i = 0; i < lp.data_x.length; i++) {
				
		var p = convertToPoint(lp.data_x[i], lp.data_y[i], lp.minx, lp.maxx, lp.miny, lp.maxy, lp.offset_x, lp.offset_y, lp.graph_width, lp.graph_height);
		
		// We draw a line if it's not the last point.
		if (i != lp.data_x.length - 1) {
			var pNext = convertToPoint(lp.data_x[i+1], lp.data_y[i+1], lp.minx, lp.maxx, lp.miny, lp.maxy, lp.offset_x, lp.offset_y, lp.graph_width, lp.graph_height);	
			lines[i] = paper.path("M" + p[0] + " " + p[1] + "L" + pNext[0] + " " + pNext[1]);	
		}
	}

	lp.lines = lines;
	
}

function lineplot(paper) {

	// May be useful later. Not used in this version.
	PLOT_ID = "nothing";
	LINEPLOT_OFFSET_X = 0;
	LINEPLOT_OFFSET_Y = 0;

	//dat = getXSortedYData(PLOT_ID);
	//var dataX = dat[0];
	//var dataY = dat[1];
	
	this.offset_x = LINEPLOT_OFFSET_X;
	this.offset_y = LINEPLOT_OFFSET_Y;
	this.graph_width = graph_width;
	this.graph_height = graph_width;
	this.data_x = dataX;
	this.data_y = dataY;
	
	this.minx = getMin(dataX) - MARGIN;
	this.miny = getMin(dataY) - MARGIN;
	this.maxx = getMax(dataX) + MARGIN;
	this.maxy = getMax(dataY) + MARGIN;

	var ax = convertToPoint(AXIS_X, AXIS_Y, this.minx, this.maxx, this.miny, this.maxy, LINEPLOT_OFFSET_X, LINEPLOT_OFFSET_Y, graph_width, graph_height);
	
	var yaxis = paper.path("M" + ax[0] + " " + LINEPLOT_OFFSET_Y + "L" + ax[0] + " " + (graph_height + LINEPLOT_OFFSET_Y));
	
	yaxis.attr({"stroke-dasharray": "- "});
	
	var xaxis = paper.path("M" + LINEPLOT_OFFSET_X + " " + ax[1] + "L" + (graph_width + LINEPLOT_OFFSET_X) + " " + ax[1]);
	xaxis.attr({"stroke-dasharray": "- "});
		
	drawLinesAndPoints(this, paper);
	
}
