function go_highlighter(terms){

	terms 		= terms.replace(/\"/g,"");
	var terms_split = terms.split(' ');
	var c 		= 0;
	var oListings	= document.getElementById("listings");
	if(oListings) {
		for(var i=0; i<terms_split.length; i++){
			if (terms_split[i].length>=2){
				start_highlighter(terms_split[i], oListings);
			}
		}
	}
}


function start_highlighter(term, container){

	var term_low = term.toLowerCase();
	for(var i=0; i<container.childNodes.length; i++){
		var node = container.childNodes[i];
		if (node.nodeType == 3){
			var data = node.data;
			var data_low = data.toLowerCase();
			if (data_low.indexOf(term_low) != -1 && node.parentNode.className != "nohilite"){
				//term found!
				var new_node = document.createElement('SPAN');
				node.parentNode.replaceChild(new_node,node);
				var result;
				while((result = data_low.indexOf(term_low)) != -1){
					new_node.appendChild(document.createTextNode(data.substr(0,result)));
					new_node.appendChild(create_node_highlighter(document.createTextNode(data.substr
(result,term.length))));
					data = data.substr(result + term.length);
					data_low = data_low.substr(result + term.length);
				}
				new_node.appendChild(document.createTextNode(data));
			}

		}else{
			//recurse
			start_highlighter(term, node);
		}
	}
}


function create_node_highlighter(child){
	var node = document.createElement('STRONG');
	node.appendChild(child);
	return node;

}
