/*global window document addEvent*/

function textContent(node) {
	if (typeof node.textContent !== "undefined") {
		return node.textContent;
	} else {
		return node.nodeValue; // IE
	}
}
function setTextContent(node, new_value) {
	if (typeof node.textContent !== "undefined") {
		node.textContent = new_value;
	} else {
		node.nodeValue = new_value; // IE
	}
}

function replace_em(context_element) {
	var i = 0, node, pos, before, after, em;
	if (1 === context_element.nodeType) {
		for (; i < context_element.childNodes.length; i += 1) {
			replace_em(context_element.childNodes[i]);
		}
	} else if (3 === context_element.nodeType) {
		node = context_element;
		pos = textContent(node).indexOf("Impulsis");
		while (-1 !== pos) {
			before = textContent(node).substring(0, pos + 6);
			after = textContent(node).substring(pos + 8, textContent(node).length);
			context_element.parentNode.insertBefore(document.createTextNode(before), node);
			em = document.createElement("em");
			em.appendChild(document.createTextNode("is"));
			context_element.parentNode.insertBefore(em, node);
			setTextContent(node, after);
			pos = textContent(node).indexOf("Impulsis");
		}
	}
}

addEvent(window, "load", function () {
	replace_em(document.getElementById("main"));
});
