(function($){
	$.fn.preloadImages = function(options){
		var defaults = {
			'trigger': '#preloader'
		};
		var options = $.extend(defaults,options);
		var urls = [];
		var loaded = 0;
		this.each(function(){
			urls.push($(this).attr('src'));
		});
		
		load();
		
		function load()
		{
			if (urls&&urls.length&&urls[loaded])
			{
				var img = new Image();
				$(img).bind('error load onreadystatechange', complete);
				img.src = urls[loaded];
			} else complete();
		}
		
		function complete()
		{
			if (urls&&urls.length&&++loaded<urls.length) load();
			else $(options.trigger).trigger('preload.complete');
		}
	};
})(jQuery);
