// JavaScript Document

//



var google_text_color = '#000000';



var google_link_colors = new Array('#ffff66','#a0ffff','#99ff99','#ff9999','#ff66ff');



function init_google(){

	var pattern = /google\./i;

	if (pattern.exec(document.referrer) != null){

		var url_parts = document.referrer.split('?');

		if (url_parts[1]){ 

			var url_args = url_parts[1].split('&');

			for(var i=0; i<url_args.length; i++){

				var keyval = url_args[i].split('=');

				if (keyval[0] == 'q'){

					go_google(decode_url(keyval[1]));

					return;

				}

			}

		}

	}

}



function decode_url(url){

	return unescape(url.replace(/\+/g,' '));

}



function go_google(terms){

	terms = terms.replace(/\"/g,"");

	var terms_split = terms.split(' ');

	var c = 0;

	for(var i=0; i<terms_split.length; i++){

		highlight_goolge(terms_split[i], document.body,google_link_colors[c]);

		c = (c == google_link_colors.length-1)?0:c+1;

	}

}



function highlight_goolge(term, container, color){

	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){

				//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_google(document.createTextNode(data.substr(result,term.length)),color));

					data = data.substr(result + term.length);

					data_low = data_low.substr(result + term.length);

				}

				new_node.appendChild(document.createTextNode(data));

			}

		}else{

			//recurse

			highlight_goolge(term, node, color);

		}

	}

}



function create_node_google(child, color){

	var node = document.createElement('SPAN');

	node.style.backgroundColor = color;

	node.style.color = google_text_color;

	node.appendChild(child);

	return node;

}



if (window.addEventListener)

window.addEventListener("load", init_google, false)

else if (window.attachEvent)

window.attachEvent("onload", init_google)

else if (document.getElementById)

window.onload=init_google

