/*********************************************
** RossPortal Javascript
*********************************************/

/* Queue load and unload function */
function addLoad(func, scope) {
	func = {func : func, scope : scope || this};
	
	if (!this.loads) {
		var load = function() {
			var obj;
			for (var i in this.loads) {
				obj = this.loads[i];
				if (obj && obj.func) obj.func.call(obj.scope);
			}
			
			if (window.detachEvent) window.detachEvent('onload', load);
			else if (window.removeEventListener) window.removeEventListener('load', load, false);
		};
		
		if (window.attachEvent) window.attachEvent('onload', load);
		else if (window.addEventListener) window.addEventListener('load', load, false);
		
		this.loads = [func];
	} 
	else this.loads.push(func);
	
	return func;
}
	
function addUnLoad(func, scope) {
	func = {func : func, scope : scope || this};
	
	if (!this.unloads) {
		var unload = function() {
			var obj;
			for (var i in this.unloads) {
				obj = this.unloads[i];
				if (obj && obj.func) obj.func.call(obj.scope);
			}
			
			if (window.detachEvent) window.detachEvent('onunload', unload);
			else if (window.removeEventListener) window.removeEventListener('unload', unload, false);
		};
		
		if (window.attachEvent) window.attachEvent('onunload', unload);
		else if (window.addEventListener) window.addEventListener('unload', unload, false);
		
		this.unloads = [func];
	} 
	else this.unloads.push(func);
	
	return func;
}

