var oldTimer = undefined;
var tempX, tempY;

jQuery(document).ready(function() {
    jQuery().mousemove(function(e) {
        tempX = e.pageX;
        tempY =  e.pageY;
    });

    jQuery('.tipped').mouseover(function(e) {
        if (typeof(oldTimer) != 'undefined') {
            oldTimer.stop();
            jQuery('#caltip').hide();
            jQuery('#tipContent').html('<img src="/images/loading.gif" />');
        }

        jQuery('#caltip').css('left', e.pageX - 240 + 'px');
        jQuery('#caltip').css('top', e.pageY + 10 + 'px');

        jQuery('#caltip').show();

        var elem = jQuery(this);

        loadContent(jQuery(this).attr('href'));

        oldTimer = jQuery.timer(1500, function(timer) {
            if (!isMouseInside(elem) && !isMouseInside(jQuery('#caltip'))) {
                jQuery('#caltip').hide();
                timer.stop();
                oldTimer = undefined;
            }
        });
    });
});

function loadContent(link) {
    jQuery.get(link + '/lookup', undefined, function(xml) {
        var html = '';

        jQuery(xml).find('event').each(function() {
            html += '<a href="/event/' + jQuery(this).attr('id') + '" class="pink none">' + jQuery(this).find('title').text() + '</a><br />';
        });

        if (jQuery(xml).find('event').length == 0) html = 'Событий не найдено';

        jQuery('#tipContent').html(html);
    }, 'xml');
}

function isMouseInside(elem) {
    return tempX >= elem.offset().left && tempX <= elem.offset().left + 252 && tempY >= elem.offset().top && tempY <= elem.offset().top + elem.height();
}


