var regExp;
function escapeRegExp(regExp) {
	return regExp.replace(/[\\\/\$\^\*\(\)\+\?\[\]\{\}]/g, '\\$1');
}

function highlightSearchTerms() {

	// regular expression workaround
	document.body.innerHTML = '<span>' + document.body.innerHTML + '</span>';
	var i = 0;
	var x = 0;
	while (searchTerms[i]) {
		if (!searchColors[x]) {
			x = 0;
		}
		var replacement = new RegExp('(>[^<]*)' + escapeRegExp(searchTerms[i]) + '([^<]*<)', 'gi');
		document.body.innerHTML = document.body.innerHTML.replace(replacement, '$1<span style="background-color:' + searchColors[x] + ';">' + PHP.htmlspecialchars(searchTerms[i]) + '</span>$2');
		i++;
		x++;
	}

	// undo regular expression workaround
	document.body.innerHTML = document.body.innerHTML.replace(/^<span>/, '');
	document.body.innerHTML = document.body.innerHTML.replace(/<\/span>$/, '');
}

window.onload = highlightSearchTerms;