function goFish(selector, time) {

	// creation stuff
	$$(selector).each(function(elem, i){
		var html = elem.get('html');
		elem.set('html', '<span class="source">' + html + '</span><span class="hover"></span>');
		if (elem.getElements(".highlight").length > 0){
			elem.set('html', '<span class="highlight">' + html + '</span>' + elem.get('html'));
		}
		if (elem.getElements(".shadow").length > 0){
			elem.set('html', '<span class="shadow">' + html + '</span>' + elem.get('html'));
		}
	});
	
	// hover stuff
	$$(selector).each(function(elem, i){
		
		
		elem.addEvent('mouseenter', function(e){
				//e = new Event(e).stop();
				//e.stop();
				
				elem.getElements(".hover").each(function(elem2){
					elem2.set('morph', {link : 'cancel', duration:500});
					elem2.morph({
						'opacity': "1",
						'filter': "alpha(opacity=100)"

					});
				});
				
		});
		elem.addEvent('mouseleave', function(e){					
				
				elem.getElements(".hover").each(function(elem2){
					/*
					var myMorph = new Fx.Morph(elem2, {duration: 500, link: 'cancel', wait:false});
					myMorph.start({'opacity': "0"});
					*/
					elem2.set('morph', {link : 'cancel', duration:500});
					elem2.morph({
						'opacity': "0",
						'filter': "alpha(opacity=0)"
					});
				});
				
				
		});
	});
	// this is a difficult line on IE, selecting the .hover child elemets in another way, it causes all to crash.
	$$(selector).getElements(".hover").each(function(es){ 
		es.setStyle("opacity", "0");
		es.setStyle("filter", "alpha(opacity=0)");
	});
	
}
