﻿function InitializeEvents()
{
	document.__cm_currentEventTrigger = null;
	document.body.onclick = function() { if (document.__cm_currentEventTrigger != null) { TurnEventOff(document.__cm_currentEventTrigger); } };
}

function RegisterEvent(tid, eid)
{
	var t = document.getElementById(tid);
	var e = document.getElementById(eid);
	
	t.__cm_eventState = false;
	t.__cm_linkedEvent = e;
	t.onclick = ToggleEvent;
	
	e.__cm_eventTrigger = t;
	e.onclick = BlockToggle;
}

function ToggleEvent(evt)
{
	if (!evt) var evt = window.event;
	
	if (document.__cm_currentEventTrigger != null && document.__cm_currentEventTrigger != this)
	{
		TurnEventOff(document.__cm_currentEventTrigger);
	}
	
	if (this.__cm_eventState == false)
	{
		TurnEventOn(this);
		document.__cm_currentEventTrigger = this;
	}
	else
	{
		TurnEventOff(this);
	}
	
	evt.cancelBubble = true;
	if (evt.stopPropagation) evt.stopPropagation();
	
	return false;
}

function BlockToggle(evt)
{
	if (!evt) var evt = window.event;
	
	if (this.style.display != 'none')
	{		
		evt.cancelBubble = true;
		if (evt.stopPropagation) evt.stopPropagation();
	}
}

function TurnEventOff(t)
{
	t.__cm_linkedEvent.style.display = 'none';
	t.__cm_eventState = false;
}

function TurnEventOn(t)
{
	t.__cm_linkedEvent.style.display = 'block';
	t.__cm_eventState = true;
}