//+-----------------------------------------------------------------------------+
//| alva & phoenix GmbH                                                         |
//| Gjuchstrasse 19                                                             |
//| 8953 Dietikon                                                               |
//+-----------------------------------------------------------------------------+
//| Projektbezeichnung: yourinternet                                            |
//+-----------------------------------------------------------------------------+
//| Datei:              handler.js                                              |
//+-----------------------------------------------------------------------------+
//| Das Urheberrecht an diesem Dokument (Code) verbleibt auf unbeschränkte Zeit |
//| bei der alva & phoenix GmbH, Dietikon. Ohne deren schriftliche Einwilligung |
//| darf es weder vervielfaeltigt, veraendert noch an Dritte, auch nicht in ab- |
//| geaenderter Form, ganz oder teilweise mitgeteilt, zugaenglich oder nutzbar  |
//| gemacht werden. Dieses Dokument ist nach Art. 2 Abs. 3 URG urheberrechtlich |
//| geschützt. Des weiteren gelten die Allgemeinen Geschäftsbedingungen der     |
//| alva & phoenix GmbH, Dietikon                                               |
//+-----------------------------------------------------------------------------+
// 
// Development History:
// 2002-01-01	author	Description

eventHandler.instanceCount = 0;
var resizeHandler = new eventHandler("window.onresize");
var moveHandler = new eventHandler("document.onmousemove");
var focusHandler = new eventHandler("window.onfocus");
var blurHandler = new eventHandler("window.onblur");

function eventHandler(evt)
{
	this.handle = evt;
	this.subscriptions = new Array();
	this.subscriptionCount = 0;
	
	this.add = ehAdd;
	this.name = "EventHandler" + eventHandler.instanceCount++;
	eval("var " + this.name + "=this");
	
	this.fn = 'new Function("' + this.subscriptions.join(";") + '");';
	eval(this.handle + " = " + this.fn);
}

function ehAdd(what)
{
	this.subscriptions[this.subscriptionCount] = what;
	this.subscriptionCount++;
	
	this.fn = 'new Function("' + this.subscriptions.join(";") + '");';
	eval(this.handle + " = " + this.fn);
}