function ToolTips() {
    this.ANIMATION_TIME = 400;
    this.SUSTAIN_TIME = 250;
    this.timer = null;
    this.currentKeyword = null;
}

ToolTips.prototype.activate = function(keyword, domElement) {
    clearTimeout(tt.timer);

    if(jQuery('#tooltip').css('visibility') == 'hidden' || keyword != tt.currentKeyword) {
        jQuery('#tooltip-navigation-bar-title').html(jQuery('#tooltip-def-'+keyword+' .tooltip-definition-title').html());
        jQuery('#tooltip-content').html(jQuery('#tooltip-def-'+keyword+' .tooltip-definition-content').html());
        jQuery('#tooltip').css({left: jQuery(domElement).position().left, top: jQuery(domElement).position().top-jQuery('#tooltip').height()-3});
        jQuery('#tooltip').css('visibility', 'visible');
        jQuery('#tooltip').animate({'opacity': 1.0}, tt.ANIMATION_TIME, function() {});
    }
}

ToolTips.prototype.deactivateImmediately = function() {
    jQuery('#tooltip').css('opacity', 0.0);
    jQuery('#tooltip').css('visibility', 'hidden');
}

ToolTips.prototype.deactivate = function() {
    tt.timer = setTimeout(tt.deactivateImmediately, tt.SUSTAIN_TIME);
}

ToolTips.prototype.sustain = function() {
    clearTimeout(tt.timer);
}

ToolTips.prototype.configure = function() {
    jQuery('#tooltip').css('opacity', 0.0);
}

var tt = new ToolTips();

jQuery(document).ready(function() {
    tt.configure();
});
