(function ($) {
	if (!$) return;

	var loader = function (arg)
	{
		loader.init ();
		if ($.isArray(arg))
			loader.queue = $.merge(loader.queue, arg);
		else if ($.isFunction(arg))
			loader.queue.push (arg);

		return loader.queue;
	};

	$.extend ({loader: $.extend(loader,
	{
		init: function ()
		{
			if (!loader.ready) $(loader.run);
			loader.ready = true;
		},
		run: function ()
		{
			while (loader.queue && loader.queue.length)
				try { (loader.queue.shift())(); }
				catch (e) {}
			loader.ready = false;
		},
		queue: [],
		ready: false
	})});

})(jQuery);
