			var SCREEN_WIDTH = window.innerWidth;
			var SCREEN_HEIGHT = window.innerHeight;

			var stats;
			var container;

			var particle;

			var camera;
			var scene;
			var renderer;

			var mouseX = 0;
			var mouseY = 0;

			var windowHalfX = window.innerWidth / 2;
			var windowHalfY = window.innerHeight / 2;

			init();
			setInterval(loop, 1000 / 60);


			function light()
				{
				camera.position.x = Math.random() * 1500 ;
				container.style.backgroundColor = "#222";
				container.style.opacity=".7";
				}


			function dark()
				{
				container.style.opacity=".4";
				container.style.backgroundColor = "#000";
				}
							
	
			function init() {

				container = document.createElement('div');
				container.style.position="fixed";
				container.style.zIndex="-3";
				
				container.style.opacity=".4";
				
					
				document.body.appendChild(container);


				camera = new THREE.Camera( 50, SCREEN_WIDTH / SCREEN_HEIGHT, 0.0001, 10000 );
				
				// nice
				camera.position.z = 400;

				scene = new THREE.Scene();

				renderer = new THREE.CanvasRenderer();
				renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);

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

															
					particle = new THREE.Particle( new THREE.ColorFillMaterial( Math.random() * 0x808008 + 0x808080 , 100 ) );
					particle.size = Math.random() * 40 + 1 ;
					particle.position.x = Math.random() * 2000 - 1000;
					particle.position.y = Math.random() * 2000 - 1000;
					particle.position.z = Math.random() * 2000 - 1000;
					scene.add(particle);
				}

				container.appendChild(renderer.domElement);
				document.addEventListener('mousemove', onDocumentMouseMove, false);

			}



			function onDocumentMouseMove(event) {

				mouseX = event.clientX - windowHalfX;
				mouseY = event.clientY - windowHalfY;
			}

			
			//

			function loop() {

				camera.position.x += (mouseX - camera.position.x) * .05;
				camera.position.y += (-mouseY - camera.position.y) * .05;
				renderer.render(scene, camera);

			}