(function($){

	$.fn.sparks = function(userDefinedSettings){
		
		var settings = $.extend({
			
			/*  DEFAULTS  */
			sparks:	{
				smallSpark: 	{
					number:	3,
					speed:	5,
					img:	'http://www.lee-johnson.com/me/img/google.png'
				},
				
				mediumSpark:	{
					number:	3,
					speed:	3,
					img:	'http://www.lee-johnson.com/me/img/bing.png'
				},
				
				largeSpark:		{
					number: 3,
					speed:	4,
					img:	'http://www.lee-johnson.com/me/img/yahoo.png'
				},
				
			}
			
		}, userDefinedSettings);
		
		for (var spark in settings.sparks){
			for (var i=0; i<settings.sparks[spark].number; i++){
				var pageWidth = parseInt($(document).width());
				var pageHeight = parseInt($(document).height());
				
				var posLeft = Math.floor(Math.random() * (pageWidth - 80));
				var posTop = Math.floor(Math.random() * (pageHeight - 90));
				
				var time = 20000 / settings.sparks[spark].speed;
				
				$('<div/>')
					.attr('id',spark + '_' + (i + 1))
					.addClass(spark)
					.append('<img src="' + settings.sparks[spark].img + '" />')
					.css('position','absolute')
					.css('left',posLeft)
					.css('top',posTop)
					.appendTo('body');
				
				$(document).sparks.animateSparks(time, spark + '_' + (i + 1));
			}
		}
		
		
		
		return this;
	};
	
	
	
	$.fn.sparks.animateSparks = function (time, id){
		var pageWidth = parseInt($(document).width());
		var pageHeight = parseInt($(document).height());
		
		var posLeft = Math.floor(Math.random() * (pageWidth - 80));
		var posTop = Math.floor(Math.random() * (pageHeight - 90));
		
		$('#' + id).animate({
			left: posLeft,
			top: posTop
		},time,function(){
			$(document).sparks.animateSparks(time, id);
		});
	};
	
})(jQuery);



$(document).sparks();