window.addEvent('domready', function() {
	var popup = {'element': null, 'timeout': null};
	var showPopup = function(el, position) {
		$clear(popup.timeout);
		popup.timeout = null;
		if(el && popup.element != el) {
			hidePopup();
			el.setStyle('top', position['top'] + 'px');
			el.setStyle('left', position['left'] + 'px');
			el.setStyle('opacity', 0);
			el.setStyle('display', 'block');
			el.set('tween', {duration: 300, onComplete: $empty});
			el.tween('opacity', 0, 1);
			popup.element = el;
		}
	};
	var hidePopup = function() {
		var el = popup.element;
		if(el) {
			el.set('tween', {duration: 300, onComplete: function() {
				el.setStyle('display', 'none');
			}});
			el.tween('opacity', 1, 0);

			popup.element = null;
		}
	};
	$$('.map-popup').each(function(el) {
		el.setStyle('display', 'none');
		el.setStyle('position', 'absolute');
		el.addEvent('mouseenter', function(event) {
			$clear(popup.timeout);
			popup.timeout = null;
		});
		el.addEvent('mouseleave', function(event) {
			popup.timeout = hidePopup.delay(1000);
		});

	});
	$('map-imagemap').addEvent('mouseover', function(event) {
		var popupId;
		if(event.target && $(event.target).get('tag') == "area") {
			popupId = event.target.hash.substring(1);
			showPopup($(popupId), {'top': event.page.y, 'left': event.page.x});
		}
	});
	$('map-imagemap').addEvent('mouseout', function(event) {
		popup.timeout = hidePopup.delay(1000);
	});
});

