window.addEvent('domready', function() {
	var moLinks = $$('.TMO_link');
	moLinks.forEach(function(item, index) {
		item.addEvent('click', toggleEventPlan);
	});
	
	var moDivs = $$('.TMO_div');
	moDivs.forEach(function(item, index) {
		item.setStyle('opacity', 0);
		// item.addEvent('click', hideEventPlan);
	});
});

function toggleEventPlan(e) {
	var target = (e.target) ? e.target : e.srcElement;
	var el = $(findParentLink(target).id+'_div');
	if (el.getStyle('display') == 'block') {
		hideEventPlan(el.id);
	} else {
		showEventPlan(el, target);
	}
}

function showEventPlan(el, target) {
	// var target = (e.target) ? e.target : e.srcElement;
	// var el = $(findParentLink(target).id+'_div');
	var fx = new Fx.Elements(el, {duration:200, wait:false});
	target = $(target);
	var coords = target.getCoordinates();
	var pos = target.getPosition();
	el.setStyles({display:'block',top:pos.y+coords.height,left:pos.x});
	fx.start({'0':{'opacity':[0,1]}});
}

function hideEventPlan(eId) {
	// var el = findParentDiv(e.target);
	var el = $(eId);
	var fx = new Fx.Elements(el, {duration:200, wait:false}).addEvent('onComplete', function(e) { el.setStyle('display', 'none'); });
	fx.start({'0':{'opacity':[1,0]}});
}

function findParentLink(el) {
	if (el.tagName == 'A') return el;
	result = el;
		
	if (el.parentNode) {
		result = el.parentNode;
	}
	
	if (result.className != 'TMO_link') {
		result = findParentLink(result);
	}
	
	return result;
}
