///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// 	HK510 Event Class v2.45
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//

function _events()
{
	this.onresize 		= new Object();
	this.onload		= new Object();
	
	this.register		= this.register;
	this.remove		= this.remove;
}

_events.prototype.register = function(f,e)
{
	var o = this[e];
	if(!this.exist(o)) return;
	if(!this.exist(o.members)) o.members = new Array();
	var d = o.members.__searchIn(f);
	if(!d._found) o.members.push(f);
};

_events.prototype.remove = function(f,e)
{
	var o = this[e];
	if(!this.exist(o)) return;
	if(!this.exist(o.members)) return;
	var d = o.members.__deleteIn(f);
	if(d._deleted) return true;
};

_events.prototype.runEvent = function(e)
{
	var o = this[e];
	if(!this.exist(o)) return;
	if(!this.exist(o.members)) return;
	var a = o.members;
	var n = a.length-1;
	for(var i=0;i<=n;i++)
	{
		var _i = a[i];
		var b = this.exist(_i._method);
		if(b && this.exist(_i._arguments))
		{
			eval(_i._method).apply(null,_i._arguments);
		}else{
			var f = (b)? _i._method : _i;
			eval(f)();
		}
	}
}

_events.prototype.exist = function(o)
{
	return (typeof(o)!='undefined')? true : false;
}

_events.prototype.toString = function()
{
	var s 	= "HK510 Events Class // Generic // v2.45\n";
	s 	+= "-----------------------------------------------------------\n";
	s 	+= "Available Events:\n\n";
	s	+= "   -> onresize (window) \n   -> onload (window)\n\n";
	s 	+= "-----------------------------------------------------------\n";
	s 	+= "Available Methods:\n\n";
	s	+= "   -> register\n   -> remove\n";
	return s;
};

//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Class Instanciation

var __events 	= new _events();

//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Code...

window.onresize = function()
{
	if(__browser.type!='ns4') __events.runEvent('onresize');
};

window.onload = function()
{
	__events.runEvent('onload');
};

//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

