document.observe('dom:loaded', function(event_loaded) {
	var micro_toggle = function(e, hcard) {
		if(!Element.visible(hcard))
		{
			hcard.style.left = String(e.layerX + 10) + "px";
			hcard.style.top  = String(e.layerY - 90) + "px";
		}
		new Effect.toggle(hcard, null, {duration: 0.2});
	}
	
	$A(document.getElementsByClassName('trigger_hcard')).each(function(trigger) {
		var hcard_id = trigger.id.substr('trigger_'.length);
		var hcard = $(hcard_id);
		if(!hcard) throw $continue;
		$A(document.getElementsByClassName('trigger_close', hcard)).each(function(close_trigger) {
			Event.observe(close_trigger, 'click', function(e) {
				micro_toggle(e, hcard);
			});
		});
		Event.observe(trigger, 'click', function(e) {
			micro_toggle(e, hcard);
		});
	});
});