/*
 * Ersetzt ein DIV durch ein Flash, das den gleichen Text (ohne HTML-Tags)
 * anzeigt.
 */
function replaceHeadline(id,width,height,color,size,padding) {
	var div = document.getElementById(id);
	if (div) {
		// Text der Headline suchen
		var text = div.innerText ? div.innerText : div.textContent;
		if (text) {
			text = text.replace(/^\s+/, "");
			text = text.replace(/&/, "%26");
			text = text.replace(/\"/g, "%22");
		}

		// Link der Headline suchen
		var link;
		var atags = getElementsByTagName(div, "a");
		if (atags && atags.length > 0) {
			link = atags[0].href;
		}

		// Flash einsetzen
		var so = new SWFObject("/img/headline.swf", id, width, height, "8", "#FFFFFF");
		so.addVariable("headline", text);
		so.addVariable("colorhex", color);
		so.addVariable("fontsize", size);
		so.addVariable("padding_left", padding);
		if (link && link != '') {
			so.addVariable("link", link);
		}
		so.addParam("wmode", "transparent");
		so.write(id);

		// Gefundened DIV zurückliefern
		return div;
	}
}

/*
 * Liefert alle Tags eines bestimmten Namens unterhalb des
 * übergebenen Root-Knotens
 */
function getElementsByTagName(root, tagname) {
	// Neue Liste für zu bearbeitende Knoten
	var todo = new Array(root);
	// Neue Liste für gefundene Tags
	var found = new Array();
	// Tagnamen auf Großbuchstaben bringen
	tagname = tagname.toUpperCase();

	// Liste abarbeiten
	while(todo.length > 0) {
		var tag = todo.pop();
		if (tag.nodeName.toUpperCase() == tagname) {
			found.push(tag);
		}
		if (tag.childNodes) {
			for(var i=tag.childNodes.length-1 ; i>=0 ; --i) {
				todo.push(tag.childNodes[i]);
			}
		}
	}

	return found;
}