function makeHex(H)
	{
	var hexChars="0123456789ABCDEF";
	var h1=H % 16;
	var h2=(H/16) % 16;
	var h3=(H/256) % 16;
	var h4=(H/4096) % 16;
	var hH=hexChars.charAt(h4) + hexChars.charAt(h3) + hexChars.charAt(h2) + hexChars.charAt(h1);
	return hH;
	}
function hex2(H)
	{
	var hexChars="0123456789ABCDEF";
	var h1=H % 16;
	var h2=(H/16) % 16;
	var hH = '0x' + hexChars.charAt(h2) + hexChars.charAt(h1);
	return hH;
	}
function makedoc()
	{
	var d=document;
	var q=Math.abs(parseInt(document.forms[0].datum.value));
	if (isNaN(q)) q=0;
	q=q-(q % 256);
	if (q>65280) q=65280;
	if (q<0) q=0;
	if (document.forms[0].dechex[1].checked) inHex=true;
	else inHex=false;
	var bv='256';
	var output='';
	output+='<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n';
	output+='<html>\n';
	output+='<head>\n';
	output+='<title>Unicode Characters in HTML</title>\n';
	output+='<meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\" />\n';
	output+='<meta http-equiv=\"content-script-type\" content=\"text/javascript\" />\n';
	output+='<meta http-equiv=\"content-style-type\" content=\"text/css\" />\n';
	output+='<style type=\"text/css\">\n';
	output+='h1 { font:bold 18px Arial,sans-serif; text-align: center }\n';
	output+='body, td, th, p, input { font:normal 14px \"Times New Roman\",serif; color:black; text-align:left }\n';
	output+='td { text-align:center }\n';
	output+='td.lft { font:normal 12px Arial,sans-serif; color:#990000 }\n';
	output+='table { border-spacing:0; border-collapse:collapse; margin: auto; }\n';
	output+='td { border:1px solid silver; }\n';
	output+='table#grid td { padding:2px 8px 2px 8px; }\n';
	output+='table#grid th { font:normal 12px Arial,sans-serif; color:#990000; text-align:center; border:1px solid silver; }\n';
	output+='a:link, a:visited, a:hover, a:active { font:normal 18px \"Times New Roman\",serif; color:black; text-decoration:none }\n';
	output+='a.final { font:normal 14px \"Times New Roman\",serif;  text-decoration:underline }';
	output+='a.final:link, a.final:visited { color:#000099; }';
	output+='a.final:active, a.final:hover { color:red }';
	output+='</style>\n';
	output+='<script type=\"text/javascript\" src=\"bigtrial.js\"></script>\n';
	output+='<script type=\"text/javascript\" src=\"popCharacter.js\"></script>\n';
	output+='</head>\n';
	output+='<body>\n';
	output+='<h1>Unicode Characters in HTML</h1>\n';
	output+='<form id=\"theform\" action=\"\" method=\"get\">\n';
	output+='<p>Enter Unicode base (0&ndash;65535; hex: 0x00&ndash;0xFFFF):&nbsp;<input name=\"datum\" type=\"text\" size=\"6\"';
	if (inHex) output+=' value=\"0x' + makeHex(q) + '\"';
	else output+=' value=\"' + q + '\"'
	output+=' />&nbsp;\n';
	if (inHex) bv='100';
	else bv='256';
	output+='<input type=\"button\" onclick=\"makedoc()\" value=\"Go\" />\n';
	output+='<input type=\"button\" onclick=\"minus256()\" value=\"&ndash;' + bv + '\" />\n';
	output+='<input type=\"button\" onclick=\"add256()\" value=\"+' + bv + '\" />\n';
	output+='<input type=\"radio\" name=\"dechex\" value=\"dec\"'
	if (!inHex) output+=' checked=\"checked\"';
	output+=' />Use decimal\n';
	output+='<input type=\"radio\" name=\"dechex\" value=\"hex\"';
	if (inHex) output+=' checked=\"checked\"';
	output+=' />Use hex</p>\n';
	output+='</form>\n';
	output+='<p>Click on any character to see an enlargement of the glyph.</p>\n';
	output+='<table id=\"grid\">\n';
	output+='\t<thead>\n';
	output+='\t<tr>\n';
	output+='\t\t<th>base</th>\n';
	if (inHex)
		{
		output+='\t\t<th>+0</th>\n';
		output+='\t\t<th>+1</th>\n';
		output+='\t\t<th>+2</th>\n';
		output+='\t\t<th>+3</th>\n';
		output+='\t\t<th>+4</th>\n';
		output+='\t\t<th>+5</th>\n';
		output+='\t\t<th>+6</th>\n';
		output+='\t\t<th>+7</th>\n';
		output+='\t\t<th>+8</th>\n';
		output+='\t\t<th>+9</th>\n';
		output+='\t\t<th>+A</th>\n';
		output+='\t\t<th>+B</th>\n';
		output+='\t\t<th>+C</th>\n';
		output+='\t\t<th>+D</th>\n';
		output+='\t\t<th>+E</th>\n';
		output+='\t\t<th>+F</th>\n';
		}
	else
		{
		output+='\t\t<th>+00</th>\n';
		output+='\t\t<th>+01</th>\n';
		output+='\t\t<th>+02</th>\n';
		output+='\t\t<th>+03</th>\n';
		output+='\t\t<th>+04</th>\n';
		output+='\t\t<th>+05</th>\n';
		output+='\t\t<th>+06</th>\n';
		output+='\t\t<th>+07</th>\n';
		output+='\t\t<th>+08</th>\n';
		output+='\t\t<th>+09</th>\n';
		output+='\t\t<th>+10</th>\n';
		output+='\t\t<th>+11</th>\n';
		output+='\t\t<th>+12</th>\n';
		output+='\t\t<th>+13</th>\n';
		output+='\t\t<th>+14</th>\n';
		output+='\t\t<th>+15</th>\n';
		}
	output+='\t</tr>\n';
	output+='\t</thead>\n';
	output+='\t<tbody>\n';
	u=q;
	var link1h='<a href=\"javascript:ShowBigCharacter(\'#x';
	var link2h='\')\">';
	var link1d='<a href=\"javascript:ShowBigCharacter(\'#';
	var link2d='\')\">';
	for (i=0; i<16; i++)
		{
		u=q+(16*i);
		output+='\t<tr>\n';
		if (inHex)
			{
			output+='\t\t<td class=\"lft\">' + makeHex(u) + '</td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u) + link2h + '&#x' + makeHex(u) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+1) + link2h + '&#x' + makeHex(u+1) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+2) + link2h + '&#x' + makeHex(u+2) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+3) + link2h + '&#x' + makeHex(u+3) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+4) + link2h + '&#x' + makeHex(u+4) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+5) + link2h + '&#x' + makeHex(u+5) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+6) + link2h + '&#x' + makeHex(u+6) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+7) + link2h + '&#x' + makeHex(u+7) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+8) + link2h + '&#x' + makeHex(u+8) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+9) + link2h + '&#x' + makeHex(u+9) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+10) + link2h + '&#x' + makeHex(u+10) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+11) + link2h + '&#x' + makeHex(u+11) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+12) + link2h + '&#x' + makeHex(u+12) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+13) + link2h + '&#x' + makeHex(u+13) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+14) + link2h + '&#x' + makeHex(u+14) + ';</a></td>\n';
			output+='\t\t<td>' + link1h  + makeHex(u+15) + link2h + '&#x' + makeHex(u+15) + ';</a></td>\n';
			}
		else
			{
			output+='\t\t<td class=\"lft\">' + u + '</td>\n';
			output+='\t\t<td>' + link1d + (u) + link2d + '&#' + (u) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+1) + link2d + '&#' + (u+1) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+2) + link2d + '&#' + (u+2) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+3) + link2d + '&#' + (u+3) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+4) + link2d + '&#' + (u+4) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+5) + link2d + '&#' + (u+5) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+6) + link2d + '&#' + (u+6) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+7) + link2d + '&#' + (u+7) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+8) + link2d + '&#' + (u+8) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+9) + link2d + '&#' + (u+9) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+10) + link2d + '&#' + (u+10) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+11) + link2d + '&#' + (u+11) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+12) + link2d + '&#' + (u+12) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+13) + link2d + '&#' + (u+13) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+14) + link2d + '&#' + (u+14) +';</a></td>\n';
			output+='\t\t<td>' + link1d + (u+15) + link2d + '&#' + (u+15) +';</a></td>\n';
			}
		output+='\t</tr>\n';
		}
	output+='\t</tbody>\n';
	output+='</table>\n';
	output+='<p><a class=\"final\" href=\"./\">HTML Entities</a></p>\n';
	output+='<p><a class=\"final\" href=\"/\">Dan&rsquo;s Home Page</a></p>\n';
	output+='</body>\n';
	output+='</html>\n';

	d.open();
	d.write(output);
	d.close();
	} //end function makedoc()

function add256()
	{
	v=parseInt(document.forms[0].datum.value);
	if (!isNaN(v)) v=v+256;
	else v=0;
	if (v>65280) v=65280;
	document.forms[0].datum.value=v;
	makedoc();
	}
function minus256()
	{
	v=parseInt(document.forms[0].datum.value);
	if (!isNaN(v)) v=v-256;
	else v=0;
	if (v<0) v=0;
	document.forms[0].datum.value=v;
	makedoc();
	}
