var VELOCITY = .2; //default .2
var PARTICLES = Math.random()*150;
if (PARTICLES < 90) {PARTICLES = 90; }
			
var mouse = {x:0, y:0};
var particles = [];
var colors = [ "#0000ff","#FF0000","#FFFF00" ];

//set color variable for radial gradiant used
var colorsr = '160,247,255';
var colorsg = '0,255,132';
var colorsb = '53,192,205';
var colorsz = [ colorsr,colorsg,colorsb ];

var canvas = document.getElementById('projector');
var context;
			
			if (canvas && canvas.getContext) {
				context = canvas.getContext('2d');

				for( var i = 0; i < PARTICLES; i++ ) {

					if((i%35)==0){var SiZe=5+Math.random()*70;}
					else{var SiZe=1+Math.random()*3;}

					particles.push( { 
						x: Math.random()*900, 
						y: Math.random()*155, 
						vx: ((Math.random()*(VELOCITY*2))-VELOCITY),
						vy: ((Math.random()*(VELOCITY*2))-VELOCITY),
						size: SiZe,
						color: colors[ Math.floor( Math.random() * colors.length ) ],
						colorz: colorsz[ Math.floor( Math.random() * colorsz.length ) ]
					} );
				}
				
				Initialize();
			}
			
			function Initialize() {
				canvas.addEventListener('mousemove', MouseMove, false);
				window.addEventListener('mousedown', MouseDown, false);
				window.addEventListener('resize', ResizeCanvas, false);
				setInterval( TimeUpdate, 40 );
				
				ResizeCanvas();
			}
			
			function TimeUpdate(e) {
				context.clearRect(0, 0, 900, 155);
				
				var len = particles.length;
				var particle;
				
				for( var i = 0; i < len; i++ ) {
					particle = particles[i];
					
					if (!particle.frozen) {
						particle.x += particle.vx;
						particle.y += particle.vy;

						var distanceFactor = DistanceBetween( mouse, particle );
						distanceFactor = Math.max( Math.min( 5 - ( distanceFactor / 10 ), 10 ), 1 );

						if (particle.x > 900) {
							particle.vx = -VELOCITY;
						}
						else if (particle.x < 0) {
							particle.vx = VELOCITY;
						}
						else {
							//particle.vx *= 1 + (Math.random() *(.01/distanceFactor));
							particle.vy *= 1 + (Math.random() * .00005);
						}
						
						if (particle.y > 155) {
							particle.vy = -VELOCITY;
						}
						else if (particle.y < 0) {
							particle.vy = VELOCITY;
						}
						else {
							//particle.vy *= 1 + (Math.random() *(.01/distanceFactor));
							particle.vy *= 1 + (Math.random() * .00005);
						}
						
						
						
						//comment line below to disable pasrticle resizing
						particle.currentSize = particle.size*distanceFactor;
						
						//particle.currentSize = particle.size;
					}

						  context.beginPath();
                                                  context.arc(particle.x,particle.y,particle.currentSize,0,Math.PI*2,true);

						  context.closePath();

						  g = context.createRadialGradient(particle.x,particle.y,0,particle.x,particle.y,particle.currentSize);
						  g.addColorStop(0, 'rgba(' + particle.colorz + ',.4)');	
						  g.addColorStop(1, 'rgba(' + particle.colorz + ',.02)');
						  context.fillStyle = g;

						  context.fill();
					
				}
			}
			
			function MouseMove(e) {
				mouse.x = e.layerX;
				mouse.y = e.layerY;
			}
			
			function MouseDown(e) {
				var len = particles.length;
				
				var closestIndex = 0;
				var closestDistance = 10;
				
				for( var i = 0; i < len; i++ ) {
					var thisDistance = DistanceBetween( particles[i], mouse );
					
					if( thisDistance < closestDistance ) {
						closestDistance = thisDistance;
						closestIndex = i;
					}
					
				}
				
				if (closestDistance < particles[closestIndex].currentSize) {
					particles[closestIndex].frozen = true;
				}
			}
			
			function ResizeCanvas(e) {
/*
				canvas.width = window.innerWidth;
				canvas.height = window.innerHeight;
*/
				canvas.width = 900;
				canvas.height = 155;
var img=new Image();
img.src="header.jpg";
context.drawImage(img,0,0);

			}
			
			function DistanceBetween(p1,p2) {
				var dx = p2.x-p1.x;
				var dy = p2.y-p1.y;
				return Math.sqrt(dx*dx + dy*dy);
			}

