var isMacIE    = (navigator.appVersion.indexOf("Mac")!=-1 && document.all);
var fontTestLayer=null;
function getTestLayer()
{
	if (fontTestLayer) return fontTestLayer;
	var x=-40,y=-40,visible=true,zIndex=1;
   	var lay;
	var lay_name = "fontTestLayer";
	if (document.layers)
	{
		lay = new Layer(40);
		lay.left=x;
		lay.top=y;
		lay.zIndex=zIndex;
        lay.visibility  = visible?"show":"hide";
	}
	else
	{   
		if (document.getElementById)
		{
			lay = document.createElement("DIV");
			lay.id = lay_name ;
			document.body.appendChild(lay); 
			lay.style.position ="absolute";
		}
        else if (document.all)
		{
			
			document.body.insertAdjacentHTML("beforeEnd","<DIV style='position:absolute' id='" + lay_name+"'>&nbsp;</div>");
			lay = document.all[lay_name];
		}
		else return null;
		lay.style.visibility = visible?"visible":"hidden";
		//lay.style.display="block";
		lay.style.zIndex=zIndex;
		lay.style.left=""+x+"px";
		lay.style.top=""+y+"px";
		//lay.style.height=""+h+"px";
		//lay.style.width=""+w+"px";
	}
	fontTestLayer = lay;
    return lay;
}

function getLaySize(lay )
{
	
	if (document.layers)
	{
		w= lay.clip.width;
		h= lay.clip.height;
	}
	else if (document.all)
	{
		lay = document.all["MDIV"];
		w = lay.clientWidth;//pixelWidth;
		h = lay.clientHeight;//pixelHeight;
	}
	else if (document.getElementById)
	{
		lay = document.getElementById("MDIV");
		w = lay.offsetWidth;
		h = lay.offsetHeight;
	}
	return (" w="+w+ ";h=" + h+"\n");
}

function getLayXSize(lay)
{
	if (document.layers)
		return lay.clip.width;
	if (document.all)
		return lay.clientWidth;
	if (document.getElementById)
		return lay.offsetWidth;
	return 0;
}

function getLayYSize(lay)
{
	
	if (document.layers)
		return lay.clip.height;
	if (document.all)
		return lay.clientHeight;
	if (document.getElementById)
		return lay.offsetHeight;
	return 0;
}

function fillLayer(txt,lay)
{
	
	if (document.layers)
	{
		lay.document.open();
		lay.document.write(txt);
		lay.document.close();
	}
	else if (document.all)
		lay.innerHTML = txt;
	else if (document.getElementById)
		lay.innerHTML = txt;
}

function getSizesForStyle(style)
{
	var lay = getTestLayer()
	table = new Array(256);
	hmax = 0;
	var mixer=new Array("\\","|","/","-");
	var prefix = style.match(/;/)?"<span style='"+style+"'>":("<span class='"+style+"'>");
	
	var suffix = "</span>";
		
		if (isMacIE)
	{
		prefix = "<table BORDER=0 CELLPADDING=0 CELLSPACING=0><tr><td>" + prefix;
		suffix += "</td></tr></table>";
	}
	//alert(prefix + "ABCD"+suffix);
	//fillLayer( prefix + "ABCD"+suffix);
	//lay = document.all["MDIV"];
	//alert( "lay.offsetWidth "+ lay.clientWidth);//pixelWidth;

	for (var i = 255; i >= 32; i--)
	{
		if (i!=32) 
		{
			fillLayer(prefix+"&#"+i+";"+suffix,lay);
			table[i]  = getLayXSize(lay);
			top.status = "" + i + " " +mixer[i%4];
		}
		else												
		{
			fillLayer(prefix+"&#33;&#"+i+";&#33;"+suffix,lay);
			table[i] = getLayXSize(lay)-2*table[33];
		}
		var y = getLayYSize(lay);
		if (y > hmax) hmax = y;
	}

	s=hmax+",";
	for (var i = 32 ; i <= 255; i++)
		s+= table[i]+",";
	//alert (s);
	return s;
}


