#include <stdio.h>

static char data0[] = "\t<img src=\"img/";
static char data1[] = ".png\">\n";
static char data2[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
static char data3[] = "  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
static char data4[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">\n";
static char data5[] = "\t<title>Knot</title>\n";
static char data6[] = "\t<meta http-equiv=\"Content-type\" content=\"text/html;charset=UTF-8\" />\n";
static char data7[] = "\t<head>\n";
static char data8[] = "\t\t<style type=\"text/css\">\n";
static char data9[] = "\t\t\t*   { border:0; margin:0; padding:0; }\n";
static char data10[] = "\t\t\ttd  { width:64px; height:64px; }\n";
static char data11[] = "\t\t\timg { position:absolute; }\n";
static char data12[] = "\t\t</style>\n";
static char data13[] = "\t</head>\n";
static char data14[] = "\t<body>\n";
static char data15[] = "\t<table cellpadding=\"0\" cellspacing=\"0\">\n";
static char data16[] = "\t\t<tr>\n";
static char data17[] = "\t\t\t<td>\n";
static char data18[] = "\t\t\t</td>\n";
static char data19[] = "\t\t</tr>\n";
static char data20[] = "\t\t</table>\n";
static char data21[] = "\t</body>\n";
static char data22[] = "</html>\n";

#include "knot.h" 
static void print_img(int ptrn) { 
	if (ptrn) { 
		fwrite(data0, sizeof(data0)-1, 1, stdout);
		if (ptrn & LEFT ) printf("l"); 
		if (ptrn & RIGHT) printf("r"); 
		if (ptrn & UP   ) printf("u"); 
		if (ptrn & DOWN ) printf("d"); 
		fwrite(data1, sizeof(data1)-1, 1, stdout);
	} 
} 
void print_index(row_t *rows) { 
	fwrite(data2, sizeof(data2)-1, 1, stdout);
	fwrite(data3, sizeof(data3)-1, 1, stdout);
	fwrite(data4, sizeof(data4)-1, 1, stdout);
	fwrite(data5, sizeof(data5)-1, 1, stdout);
	fwrite(data6, sizeof(data6)-1, 1, stdout);
	fwrite(data7, sizeof(data7)-1, 1, stdout);
	fwrite(data8, sizeof(data8)-1, 1, stdout);
	fwrite(data9, sizeof(data9)-1, 1, stdout);
	fwrite(data10, sizeof(data10)-1, 1, stdout);
	fwrite(data11, sizeof(data11)-1, 1, stdout);
	fwrite(data12, sizeof(data12)-1, 1, stdout);
	fwrite(data13, sizeof(data13)-1, 1, stdout);
	fwrite(data14, sizeof(data14)-1, 1, stdout);
	fwrite(data15, sizeof(data15)-1, 1, stdout);
	for (int row = 1; rows[row].cols; row++) { 
		fwrite(data16, sizeof(data16)-1, 1, stdout);
		for (int col = 1; col < rows[row].ncols; col++) { 
			fwrite(data17, sizeof(data17)-1, 1, stdout);
			print_img(rows[row].cols[col].bot); 
			print_img(rows[row].cols[col].top); 
			fwrite(data18, sizeof(data18)-1, 1, stdout);
		} 
		fwrite(data19, sizeof(data19)-1, 1, stdout);
	} 
	fwrite(data20, sizeof(data20)-1, 1, stdout);
	fwrite(data21, sizeof(data21)-1, 1, stdout);
	fwrite(data22, sizeof(data22)-1, 1, stdout);
} 
