// Originaly from ThoughtBot's MileMarker project (http://www.thoughtbot.com/projects/mile_marker)
// Javascript extracted by Sérgio Santos (http://sergiosantos.info)

function over(element) {
	element.setStyle({opacity: 1.0});
}
function init_miles() {
	$$('*[mile]').each(function(block, index) {
		html = '<div id="mile_'+index+'" style="display: none; z-index: 1000; position: fixed; background-color: #000; opacity: 0; filter: alpha(opacity=0); color: #f3f3f3; font-family: Lucida Sans, Helvetica; font-size: 16px; font-weight: bold; white-space: nowrap; overflow: hidden; padding: 5px;">'+block.getAttribute('mile')+' <small>(to do)</small></div>'
		new Insertion.Before($(block), html);
		Position.clone($(block), $('mile_'+index));
		if($('mile_'+index).getHeight() <= 25) { $('mile_'+index).setStyle({fontSize: '10px'}); }
		$('mile_'+index).observe("mouseover", function(event) {
			element = Event.element(event);
			if(element.immediateDescendants()[0])
			{
				element.setStyle({opacity: 0.75});
				if(element.style.filters) element.style.filters.alpha.opacity=75;
			}
			else
			{
				element.up().setStyle({opacity: 0.75});
				if(element.up().style.filters) element.up().style.filters.alpha.opacity=75;
			}
		});
		$('mile_'+index).observe("mouseout", function(event) {
			element = Event.element(event);
			if(element.immediateDescendants()[0])
			{
				element.setStyle({opacity: 0});
				if(element.style.filters) element.style.filters.alpha.opacity=0;
			}
			else
			{
				element.up().setStyle({opacity: 0});
				if(element.up().style.filters) element.up().style.filters.alpha.opacity=0;
			}
		});
		Event.observe(window, 'scroll', function() {
		  Position.clone($(block), $('mile_'+index));
		}); 
		$('mile_'+index).toggle();
	});
}

if(Event.observe) {
	Event.observe(window, 'load', init_miles, false);
} else {
	if(window.addEvent) window.addEvent('domready', init_miles);
}