var php_url = "dynamic_txt/heading.php";
var imageLoaded = true;
var documentLoaded = false;
	
if(document.createElement && document.getElementsByTagName && !navigator.userAgent.match(/opera\/?6/i))
	com_stewartspeak_replacement();


function com_stewartspeak_replacement() 
{
	addLoadHandler(function(){ documentLoaded = true; if(imageLoaded) replacement(); });
}

function replacement()
{
	var e = document.getElementsByAttribute('marc');
    	
    if (e.length > 0) for(var i=0;i<e.length;i++)
	{
		if(!e[i]) continue ;
				
    	var bits = e[i].getAttribute('marc').split(':');
    		
    	var text = extractText(e[i]);
    	var s = bits[0];//fontSize
    	var l = bits[1];//lineHeight
    	var ff = bits[2];//fontFamily
    	var c = bits[3];//color
    	var bgc = bits[4];//backgroundColor
    		
    	while(e[i].hasChildNodes())
			e[i].removeChild(e[i].firstChild);

		var tokens = text.split(' ') ;
				
		for(var k=0;k<tokens.length;k++)
		{
			var str = escape(tokens[k]);
			var url = php_url + "?text=" +str+ "&size="+s+ "&color="+c+ "&bkgd="+bgc+ "&font="+ff+ "&lhgt="+l;
			var image = document.createElement("img");
			//image.className = "replacement";
			image.alt = tokens[k];
			image.src = url;
			
			try {
				e[i].appendChild(image);
				//so the raw text doesn't show onload
				e[i].style.visibility = "visible";
			} catch(x) {  }
		}
    }
}

function documentLoad()
{
	documentLoaded = true;
	if(imageLoaded)
		replacement();
}

function addLoadHandler(handler)
{
	if(window.addEventListener)
	{
		window.addEventListener("load",handler,false);
	}
	else if(window.attachEvent)
	{
		window.attachEvent("onload",handler);
	}
	else if(window.onload)
	{
		var oldHandler = window.onload;
		window.onload = function piggyback()
		{
			oldHandler();
			handler();
		};
	}
	else
	{
		window.onload = handler;
	}
}

function extractText(element)
{
	if(typeof element == "string")
		return element;
	else if(typeof element == "undefined")
		return element;
	else if(element.innerText)
		return element.innerText;

	var text = "";
	var kids = element.childNodes;
	for(var i=0;i<kids.length;i++)
	{
		if(kids[i].nodeType == 1)
		text += extractText(kids[i]);
		else if(kids[i].nodeType == 3)
		text += kids[i].nodeValue;
	}
	return text;
}