
var registerEvent_Holder = Array();

function registerEvent(sEvent, sFunction){
	if (typeof(registerEvent_Holder[sEvent]) != "object") {
	    registerEvent_Holder[sEvent] = Array();
	}

	for (i = 0; i < registerEvent_Holder[sEvent].length; i++) {
		if ( registerEvent_Holder[sEvent][i] == sFunction) {
			return;
		}
	}
	registerEvent_Holder[sEvent][registerEvent_Holder[sEvent].length] = sFunction;
}


function registerEvent_execute(sEvent) {
	if(typeof registerEvent_Holder[sEvent] == "undefined") 
		return;
	for (var i = 0; i < registerEvent_Holder[sEvent].length; i++) {
		try{
			eval( registerEvent_Holder[sEvent][i] );
		}
		catch(e){
		}
	}   
}

/*onload*/
if(typeof window.onload=='function' && window.onload.toString().search(/registerEvent_execute/) == -1){
	this.on=onload;
	window.onload=function(){
		registerEvent_execute("onload");
		this.on();
	};
}
else{
	window.onload=function(){
		registerEvent_execute("onload");
	};
}

/*onunload*/
if(typeof window.onunload=='function' && window.onunload.toString().search(/registerEvent_execute/) == -1){
	this.on=onunload;
	window.onunload=function(){
		registerEvent_execute("onunload");
		this.on();
	};
}
else{
	window.onunload=function(){
		registerEvent_execute("onunload");
	};
}