NODE_TEXT_OFFSET_X = 4;
NODE_TEXT_OFFSET_Y = 4;

function netplot(paper, NETPLOT_OFFSET_X, NETPLOT_OFFSET_Y, SIZE_X, SIZE_Y) {

	//dat = getNetData();
	//var dataX = dat[0];
	//var dataY = dat[1];
	//var neighs = dat[2];
	
	var minx = getMin(dataX) - MARGIN;
	var miny = getMin(dataY) - MARGIN;
	var maxx = getMax(dataX) + MARGIN;
	var maxy = getMax(dataY) + MARGIN;
	
	// Override the x and y values here for the border...	
	minx = minx - POINT_RADIUS;
	maxx = maxx + POINT_RADIUS;
	miny = miny - POINT_RADIUS;
	maxy = maxy + POINT_RADIUS;
				
	var i = 0;
	var points = []
	var pX = []
	var pY = []
	
	//nodenames = getNetNames();
	//this.nodelabels = nodenames;

	this.nodesizes = dataZ;
	
	// Get coordinates...
	for (i = 0; i < dataX.length; i++) {
		var p = convertToPoint(dataX[i], dataY[i], minx, maxx, miny, maxy, NETPLOT_OFFSET_X, NETPLOT_OFFSET_Y, SIZE_X, SIZE_Y);
		pX[i] = p[0];
		pY[i] = p[1];
	}
	
	var edges = [];
	
	// Draw lines...
	for (i = 0; i < neighs.length; i++) {
		var j = 0;
		for (j = 0; j < neighs[i].length; j++) {
			edges[edges.length] = paper.path("M" + pX[i] + " " + pY[i] + "L" + pX[neighs[i][j]] + " " + pY[neighs[i][j]]);
			//edges[edges.length-1].attr({"stroke-dasharray": "- "});
			edges[edges.length-1].attr({"colour":"gray"});
		}
	}
	
	// Draw nodes...
	for (i = 0; i < dataX.length; i++) {
		points[i] = paper.circle(pX[i], pY[i], dataZ[i]*POINT_RADIUS);
		points[i].attr("fill", "white");
		points[i].mouseover(function (event) {this.attr({fill: "red"});});
		points[i].mouseout(function (event) {this.attr({fill: "white"});});
	}

	this.edges = edges;
	this.points = points;
	
//	for (i = 0; i < nodenames.length; i++) {
//		var textTemp = paper.text(pX[i] + Math.round(nodesizes[i]) + NODE_TEXT_OFFSET_X, pY[i] + Math.round(nodesizes[i]) + NODE_TEXT_OFFSET_Y, nodenames[i]);
//		textTemp.attr("fill", "#444");
//		textTemp.attr("font-size", "12");
//		textTemp.attr("font-weight", "bold");
//	}
	

		
}
