var sys = {
	
	ready_functions : [],
	load_functions : [],
	
	initialised : false,
	
	add_ready_function : function ( func ) {
		if ( typeof func == 'function' ) {
			sys.ready_functions.push( func );
		}
	},
	
	add_load_function : function ( func ) {
		if ( typeof func == 'func' ) {
			sys.load_functions.push( func );
		}
	},
	
	invoke_ready_functions : function () {
		for ( var i = 0; i < sys.ready_functions.length; i++ ) {
			var func = sys.ready_functions[i];
			func();
		}
	},
	
	invoke_load_functions : function () {
		for ( var i = 0; i < sys.load_functions.length; i++ ) {
			var func = sys.load_functions[i];
			func();
		}
	},
	
	initialise : function () {
		if ( ! sys.initialised ) {
			
			$(document).ready( 	function () { sys.invoke_ready_functions(); } );
			$(window).load( 	function () { sys.invoke_load_functions();  } );
			
			sys.initialised = true;
		}
	}
};

sys.initialise();
