// ------------------------------
// ----- highlight text
// ------------------------------
function dohighlight( needle ) {
	// --- local variables
	var haystack= document.body.innerHTML;
	var startTag = "<font style='background-color:yellow;'>";
	var endTag = "</font>";

	var tmp = "";
	var i = -1;
	var haystackTemp= haystack.toLowerCase();

	while( haystack.length > 0 ) {
		i= haystackTemp.indexOf( needle.toLowerCase(), i+1 );
		if( i < 0 ) {
			tmp += haystack;
			haystack="";
		} else {
			if( haystack.lastIndexOf( ">", i ) >= haystack.lastIndexOf( "<", i ) ) {
				tmp += haystack.substring( 0, i ) + startTag + haystack.substr( i, needle.length ) + endTag;
				haystack= haystack.substr( i + needle.length );
				haystackTemp= haystack.toLowerCase();
				i = -1;
			}
		}
	}

	document.body.innerHTML= tmp;
}

// ------------------------------
// ----- highlight text
// ------------------------------
function highlight( needle ) {
	// --- check if highlighting is possible
	if( ! document.body || typeof( document.body.innerHTML ) == "undefined" )
		return;

	// --- split needle
	var needles= needle.split( " " );

	// --- do highlighting
	for( var i= 0; i< needles.length; i++ ) {
		dohighlight( needles[ i ] );
	}
}
