function initScroll() {
	generateInitial();
	setInterval(animate, 200);
}

var numSets = 6;
var linesPerSet = 15;
var speedFastest = 0.05;
var speedSlowest = 10;

var sets = new Array();
function generateInitial() {
	var bgdiv = document.getElementById('background');
	var colors = ['18abff', '00b8fc'];
	var crgba = ['24,171,255', '0,184,252', '194,230,255', '9,92,214', '205,205,255'];
	var now = getNowSecs();
	
	for (var i = 1; i <= numSets; i++) {
		var speed = Math.random()*60*speedSlowest + 60*speedFastest;
		var y = Math.random()*120 - 20;
		var setdiv = document.createElement('div');
		setdiv.className = 'set';
		setdiv.style.top = y+'%';
		setdiv.speed = speed;
		setdiv.startTime = now - (100-y)/100 * speed;
		
		for(var j = 1; j < linesPerSet; j++) {
			var length = Math.random()*6+4;
			var size = (Math.random()*80+20)/100 * 4;
			var line = (Math.random()*50+50)/100 * 2;
			var opacity = Math.random()*70 + 30;
			var copacity = Math.round(Math.random()*50) + 20;
			
			x = Math.round(Math.random()*960);
			y = Math.round(Math.random()*400);
			var linediv = document.createElement('div');
			linediv.className='line';
			linediv.style.top = y+'px';
			linediv.style.left = x+'px';
			// linediv.style.color = '#'+colors[Math.round(Math.random()*2)];
			linediv.style.color = 'rgba('+crgba[Math.round(Math.random()*4)]+',.'+copacity+')';
			linediv.style.fontSize = size+'em';
			linediv.style.opacity = opacity;
			
			for (var k = 1; k < length; k++) {
				linediv.innerHTML = linediv.innerHTML + Math.round(Math.random()*9) + '<br/>';
			}
			
			setdiv.appendChild(linediv);
		}
		
		sets[i] = setdiv;
		bgdiv.appendChild(setdiv);
	}
}

function animate() {
	var now = getNowSecs();
	
	for (var i = 1; i <= numSets; i++) {
		var setdiv = sets[i];
		var y = (100 - (now-setdiv.startTime)/setdiv.speed*100);
		setdiv.style.top = y+"%";
		
		if (y < -100) {
			setdiv.style.top = '100%';
			setdiv.speed = Math.random()*60*speedSlowest + 60*speedFastest; /* 早く！ */
			setdiv.startTime = now;
		}
	}
}

function getNowSecs() {
	var d = new Date();
	return (new Date()).getTime() * 0.001;
}