/*******EventConverter() Version 1.0.1 last modified: 18.10.2006*******/
/*******EventConverter() Version 1.0 last modified: 20.04.2006*******/
/****************************Part of the O.M. JS-API********************************/


function eventConverter()
{
	this.version = 'EventConverter 1.0.1';
}

eventConverter.prototype.convertEvent = e_c_convertEvent;
eventConverter.prototype.registerEvent = e_c_registerEvent;
eventConverter.prototype.removeEvent = e_c_removeEvent;
eventConverter.prototype.doNothing = e_c_doNothing;
eventConverter.prototype.preventDefault = e_c_preventDefault;
eventConverter.prototype.stopPropagation = e_c_stopPropagation;

function e_c_convertEvent(e)
{
	var eventObject = window.event || e;
	if (window.event)
	{
		eventObject.target = eventObject.srcElement;

		/*Hier gibt es wohl einen Untershcied zwischen absolut und anders positionierten Objekten*/
		/*clientX/Y bezieht sich bei relativ positionierten Elementen auf das Fenster, whrend sich x/y auf das Objekt beziehen*/
		eventObject.pageX = eventObject.clientX;
		eventObject.pageY = eventObject.clientY;
		eventObject.detail = -eventObject.wheelDelta;

		//eventObject.pageX = eventObject.x;
		//eventObject.pageY = eventObject.y;
		eventObject.preventDefault = new Function("window.event.returnValue = false;");
		eventObject.stopPropagation =  new Function("window.event.cancelBubble = true");
		try {eventObject.eDirection = (eventObject.wheelDelta > 0) ? -1 : 1} catch(e){};
	}
	try {eventObject.eDirection = (eventObject.detail > 0) ? 1 : -1} catch(e){};
	return eventObject;
}

function e_c_registerEvent(obj,eventName,handler,dir)
{
	if (document.all)
	{
		eval("obj.on" + eventName + " = " + handler);
	}
	else
	{
		dir = dir || false;
		if (eventName == 'mousewheel') eventName = 'DOMMouseScroll';
		obj.addEventListener(eventName,handler,dir)
	}
}

function e_c_removeEvent(obj,eventName,handler,dir)
{
	if (window.event)
	{
		eval("obj.on" + eventName + " = " + null);
	}
	else
	{
		dir = dir || false;
		obj.removeEventListener(eventName,handler,dir)
	}
}

function e_c_doNothing(){};

function e_c_preventDefault(e)
{
	e = ec.convertEvent(e);
	e.preventDefault();
}

function e_c_stopPropagation(e)
{
	e = ec.convertEvent(e);
	e.stopPropagation();
}