// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function activate(class_name) {
    $$('.' + class_name).invoke('observe', 'mouseover', tooltip_on);
    $$('.' + class_name).invoke('observe', 'mouseout', tooltip_off);
}

function get_class_name(element) {
    // class should be something like 'r_p1'
    return $w(element.classNames().toString()).detect(
	function(str) {return str.substr(0,2) === 'r_';}
    );
}

function tooltip_on(event) {
    var element = event.findElement('td');
    var offset = element.cumulativeOffset();
    var dimensions = element.getDimensions();
    var class_name = get_class_name(element);
    // found the td.class_name lowest positioned on the page
    var highest = 1000000;
    $$('td.' + class_name).each(function(td) {
	high_point = td.cumulativeOffset().top;
	if (highest > high_point) {
	    highest = high_point;
        }
    });


    var el_new = new Element('div', {'class' : 'further'}).update(tooltips.get(class_name));
    el_new.addClassName(class_name);
    el_new.setStyle({'left' : offset.left + dimensions.width + 5 + 'px', 'top' : highest + 5 + 'px'});

    $$('body')[0].insert(el_new);
}

function tooltip_off(event) {
    var element = event.findElement('td');
    var class_name = get_class_name(element);
    $$('div.' + class_name).each(Element.remove);
}

document.observe("dom:loaded", function() {
    tooltips.each(function (a) {activate(a[0]);});
});

