/* 	
	sources and examples from
	http://www.quirksmode.org/dom/fir.html
 	http://www.alistapart.com/articles/dynatext/
*/

var W3CDOM = (document.createElement && document.getElementsByTagName);
var imageLoaded = false;
var tmp = new Date();
var suffix = tmp.getTime();

var test = new Image();
test.onload = function() { imageLoaded = true; };
test.src = 'clear.gif?'+suffix;

function init()
{
	if (!W3CDOM) return;
	if (imageLoaded) {
		imageReplacement();
	}
}

function imageReplacement()
{
	replaceThem(document.getElementsByTagName('h1'));
	replaceThem(document.getElementsByTagName('h2'));
	replaceThem(document.getElementsByTagName('h3'));
}

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;
}

function replaceThem(x)
{
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id)
		{
			var text = extractText(x[i]);
			var image = document.createElement('img');
// you might need to change this to .gif (depends on TYPO3 setup)
			var name = x[i].id + '.png';
			image.src = 'typo3temp/GB/' + name.substring(3,100);
			image.alt = x[i].nodeValue;
			image.className = 'no-print';
			x[i].replaceChild(image,x[i].firstChild);

			if (text.length) {
				var span = document.createElement('span');
				span.style.display = 'none';
				span.className = 'print-text';
				span.appendChild(document.createTextNode(text));
				x[i].appendChild(span);
			}
		}
	}
}

