/* 
 * Simpleview 2008 by FatAss
 * Requires: jQuery 1.2+
 */
(function($){
	$.fn.bubbles = function(options){
		
		var defaults = {
			total: 10,
			popPoint: 370,
			imgroot: '.',
			parentObj: 'body',
			containerW: $(window).width()
		};
		
		var browser = '';
		var version = '';
		
		 $.each($.browser, function(i, val) {
			if(i=='version'){version = val;}
			if (i=='msie' && version == 6.0){browser='msie6';}
		});
		 
		if (browser != "msie6"){
			
			var options = $.extend(defaults,options);
		
			preloadPic = new Image(100,100);
			preloadPic.src = options.imgroot + '/includes/images/shell/splat6.gif'
		
			return this.each (function() {
				var winH = $(window).height() + $(window).scrollTop(); 
				var winW = $(window).width(); // + $(window).scrollLeft()
				//$(".bubbles").css({'display': 'block','top': winH});
				var minSpeed = 40000;
				var maxSpeed = 5000;
				for(var i = 1; i <= options.total; i++){
					var size = Math.floor(Math.random() * (100-25)) + 25;
					var speed = Math.round((minSpeed - ((size/100) * minSpeed)) + maxSpeed);
					
					var imgNode = document.createElement('img');
					imgNode.id = 'bubble' + i;
					imgNode.className = 'bubbles bubbles' + i;
					imgNode.src = options.imgroot + '/includes/images/shell/bubbles.png';
					imgNode.width = Math.round(78 * ('.' + size));
					imgNode.height = Math.round(77 * ('.' + size));
					imgNode.style.zIndex = 0;
					imgNode.style.top = (winH - 77) + 'px';
					imgNode.style.left = (Math.floor(Math.random() * options.containerW  -  77) + Math.round((winW - options.containerW) / 2) ) + 'px';
					document.getElementById(options.parentObj).appendChild(imgNode);
				
					//$('#bubble' + i).css('opacity',size/100)
					$('#bubble' + i).attr('alt',speed);
					
					$('#bubble' + i).animate({'top': options.popPoint}, speed,'linear', respawn);  //-77 
					$('#bubble' + i).mouseover( function() {
						$(this).css("cursor","pointer");							 
					});
					$('#bubble' + i).click( function(){
						$(this).stop();
						
						$(this).attr('src',options.imgroot + '/includes/images/shell/splat7.gif');
						var curL = $(this).css("left");
						$(this).animate({left:curL}, 300,'', killPNG); //zoom delay to show splat
						
					});
				}
				
				function respawn() {
					$(this).attr({src: options.imgroot + '/includes/images/shell/splat7.gif'});
					var curL = $(this).css("left");
					$(this).animate({left:curL}, 300,'', killPNG); //zoom delay to show splat
					
				}
				
				function killPNG() {
					var thisItem = $(this);
					$(this).remove();
					//if(!$(this)){
						rebuild();
						cleanBubbles();
					//}
				}
				
				function cleanBubbles(){
					$(".bubbles:not(:animated)").remove();
				}
				
				function rebuild() {
					var winH = $(window).height() + $(window).scrollTop(); 
					var winW = $(window).width(); // + $(window).scrollLeft()
					var d = new Date();
					var i = d.getMilliseconds();
					var size = Math.floor(Math.random() * (100-25)) + 25;
					var speed = Math.round((minSpeed - ((size/100) * minSpeed)) + maxSpeed);
					
					var imgNode = document.createElement('img');
					imgNode.id = 'bubble' + i;
					imgNode.className = 'bubbles bubbles' + i;
					imgNode.src = options.imgroot + '/includes/images/shell/bubbles.png';
					imgNode.width = Math.round(78 * ('.' + size));
					imgNode.height = Math.round(77 * ('.' + size));
					imgNode.style.zIndex = 0;
					imgNode.style.top = (winH - 77) + 'px';
					imgNode.style.left = (Math.floor(Math.random() * options.containerW  -  77) + Math.round((winW - options.containerW) / 2) ) + 'px';
					document.getElementById(options.parentObj).appendChild(imgNode);
				
					//$('#bubble' + i).css('opacity',size/100)
					$('#bubble' + i).attr('alt',speed);
					
					$('#bubble' + i).animate({'top': options.popPoint}, speed,'linear', respawn);  //-77 
					$('#bubble' + i).mouseover( function() {
						$(this).css("cursor","pointer");							 
					});
					$('#bubble' + i).click( function(){
						$(this).stop();
						
						$(this).attr('src',options.imgroot + '/includes/images/shell/splat7.gif');
						var curL = $(this).css("left");
						$(this).animate({left:curL}, 300,'', killPNG); //zoom delay to show splat
						
					});
				}
				
			});	
		} else { return $ };
	};
})(jQuery);