
function IsFontPresent(fontName)
{
	var fs = document.getElementById("fontChecker");

	fs.style.fontFamily = fontName + ", serif";
	var width = fs.offsetWidth;

	fs.style.fontFamily = fontName + ", sans-serif";
	if (fs.offsetWidth != width)
		return false;

	fs.style.fontFamily = fontName + ", cursive";
	if (fs.offsetWidth != width)
		return false;

	fs.style.fontFamily = fontName + ", fantasy";
	if (fs.offsetWidth != width)
		return false;

	fs.style.fontFamily = fontName + ", monospace";
	if (fs.offsetWidth != width)
		return false;

	return true;
}

function MarkAbsentFonts()
{
	var fs = document.getElementById("fontChecker");
	fs.innerHTML="Test Text";
	fs.style.display="inline";

	var fontlist = document.getElementById("fontlist");
	var lis = fontlist.getElementsByTagName("li");
	for (var i = 0; i < lis.length; ++i)
	{
		var spans = lis[i].getElementsByTagName("span");
		if (spans.length == 0)
		{
			continue;
		}

		var span = spans[0];
		if ( !IsFontPresent(span.style.fontFamily) )
		{
			var colour = span.style.color;
			span.parentNode.style.color = "red";
			span.setAttribute('title', "This font may not exist in your system.");
		}
	}

	fs.style.display="none";
	fs.innerHTML="";
}


function PageReadyHandler()
{
	// Hide the javascript warning
	//document.getElementById("javascriptwarn").style.display="none";
	document.getElementById("javascriptwarn").innerHTML="The fonts that do not exist on your compter are marked with a <em class='color:red'>red bullet point</em>. Some fonts such as symbols may be wrongly flagged.";

	MarkAbsentFonts();
}

window.onload=PageReadyHandler;

