var colors = [
	[ 128, 0, 128 ],
	[ 122, 5, 133 ],
	[ 117, 11, 138 ],
	[ 112, 16, 143 ],
	[ 106, 21, 149 ],
	[ 101, 27, 154 ],
	[ 96, 32, 159 ],
	[ 90, 37, 165 ],
	[ 85, 43, 170 ],
	[ 80, 48, 175 ],
	[ 74, 53, 181 ],
	[ 69, 58, 186 ],
	[ 64, 64, 191 ],
	[ 58, 69, 197 ],
	[ 53, 74, 202 ],
	[ 48, 80, 207 ],
	[ 43, 85, 212 ],
	[ 37, 90, 218 ],
	[ 32, 96, 223 ],
	[ 27, 101, 228 ],
	[ 21, 106, 234 ],
	[ 16, 112, 239 ],
	[ 11, 117, 244 ],
	[ 5, 122, 250 ],
	[ 0, 128, 255 ],
	[ 0, 128, 255 ],
	[ 0, 133, 255 ],
	[ 0, 138, 255 ],
	[ 0, 143, 255 ],
	[ 0, 149, 255 ],
	[ 0, 154, 255 ],
	[ 0, 159, 255 ],
	[ 0, 165, 255 ],
	[ 0, 170, 255 ],
	[ 0, 175, 255 ],
	[ 0, 181, 255 ],
	[ 0, 186, 255 ],
	[ 0, 191, 255 ],
	[ 0, 197, 255 ],
	[ 0, 202, 255 ],
	[ 0, 207, 255 ],
	[ 0, 212, 255 ],
	[ 0, 218, 255 ],
	[ 0, 223, 255 ],
	[ 0, 228, 255 ],
	[ 0, 234, 255 ],
	[ 0, 239, 255 ],
	[ 0, 244, 255 ],
	[ 0, 250, 255 ],
	[ 0, 255, 255 ],
	[ 0, 255, 255 ],
	[ 11, 255, 244 ],
	[ 21, 255, 234 ],
	[ 32, 255, 223 ],
	[ 43, 255, 213 ],
	[ 53, 255, 202 ],
	[ 64, 255, 191 ],
	[ 74, 255, 181 ],
	[ 85, 255, 170 ],
	[ 96, 255, 159 ],
	[ 106, 255, 149 ],
	[ 117, 255, 138 ],
	[ 128, 255, 128 ],
	[ 138, 255, 117 ],
	[ 149, 255, 106 ],
	[ 159, 255, 96 ],
	[ 170, 255, 85 ],
	[ 181, 255, 74 ],
	[ 191, 255, 64 ],
	[ 202, 255, 53 ],
	[ 213, 255, 42 ],
	[ 223, 255, 32 ],
	[ 234, 255, 21 ],
	[ 244, 255, 11 ],
	[ 255, 255, 0 ],
	[ 255, 255, 0 ],
	[ 255, 244, 0 ],
	[ 255, 234, 0 ],
	[ 255, 223, 0 ],
	[ 255, 213, 0 ],
	[ 255, 202, 0 ],
	[ 255, 191, 0 ],
	[ 255, 181, 0 ],
	[ 255, 170, 0 ],
	[ 255, 159, 0 ],
	[ 255, 149, 0 ],
	[ 255, 138, 0 ],
	[ 255, 128, 0 ],
	[ 255, 117, 0 ],
	[ 255, 106, 0 ],
	[ 255, 96, 0 ],
	[ 255, 85, 0 ],
	[ 255, 74, 0 ],
	[ 255, 64, 0 ],
	[ 255, 53, 0 ],
	[ 255, 42, 0 ],
	[ 255, 32, 0 ],
	[ 255, 21, 0 ],
	[ 255, 11, 0 ],
	[ 255, 0, 0 ],
	[ 255, 0, 0 ],
	[ 250, 0, 0 ],
	[ 244, 0, 0 ],
	[ 239, 0, 0 ],
	[ 234, 0, 0 ],
	[ 228, 0, 0 ],
	[ 223, 0, 0 ],
	[ 218, 0, 0 ],
	[ 213, 0, 0 ],
	[ 207, 0, 0 ],
	[ 202, 0, 0 ],
	[ 197, 0, 0 ],
	[ 191, 0, 0 ],
	[ 186, 0, 0 ],
	[ 181, 0, 0 ],
	[ 175, 0, 0 ],
	[ 170, 0, 0 ],
	[ 165, 0, 0 ],
	[ 159, 0, 0 ],
	[ 154, 0, 0 ],
	[ 149, 0, 0 ],
	[ 143, 0, 0 ],
	[ 138, 0, 0 ],
	[ 133, 0, 0 ],
	[ 128, 0, 0 ],
	[ 128, 0, 0 ]
];

var green_to_yellow = [
	[ 0, 102, 0],
	[ 0, 204, 0],
	[ 0, 255, 0],
	[ 153, 255, 51],
	[ 204, 255, 204],
	[ 255, 255, 204],
	[ 255, 255, 153],
	[ 255, 255, 102],
	[ 255, 255, 51],
	[ 255, 255, 0]
];

var greys = [
	[ '#000000'],
	[ '#161616'],
	[ '#292929'],
	[ '#424242'],
	[ '#555555'],
	[ '#666666'],
	[ '#808080'],
	[ '#969696'],
	[ '#B2B2B2'],
	[ '#C0C0C0'],
	[ '#E3E3E3'],
	[ '#FFFFFF']
];

function nearest_color(r, g, b) {
	var c;
	var choice;
	var rd; 
	var bd; 
	var gd; 
	var dist;
	var mindist = 3 *255 * 255;

	for (c = 0; c < colors.length; c++) {
		rd = colors[c][0] - r;
		gd = colors[c][1] - g;
		bd = colors[c][2] - b;

		dist = rd*rd + gd*gd + bd*bd;

		if (dist < mindist) {
			if (dist == 0) {
				return [r, g, b];
			}
			mindist = dist;
			choice = c;
		}
	}
	return colors[choice];

}
