
/*
 * Digital raindrop falling acrobatics
 * Embed these codes in body of file: <script src="digitalRaindrop.js" type="text/javascript"></script>
 * @adapter Gene Christian
 */
if (document.all) {
	var columnAmount = 6;
	var columnLength = 24;
	var columnWidth = 10;
	var columnLeft = new Array();
	var columnTop = new Array();
	var text = new Array();
	var textSize = 10;
	//var textMainColor = "#008800";
	var textMainColor = "#336633";
	//var textMinorColor = "#00ff00";
	var textMinorColor = "#99FF33";
	var textHeads = new Array(0, 1);
	var textHead = new Array();
	var textLength = new Array();
	var mixSpace = new Array();
	var speed = new Array();
	var minSpeed = 20;
	var maxSpeed = 30;
	/*
 * Define div's columns and all initial falling parameters
 * At last invoke the cycle function to start falling actions
 */
	document.write("<div id='Container' style='position:absolute;top:0;left:-" + columnWidth + "'>");
	document.write("<div style='position:relative'>");
	var left = columnWidth;
	for (i = 0; i < columnAmount; i++) {
		columnLeft[i] = left += columnWidth;
		document.write("<div id='A' style='position:absolute;top:0;line-height:1.3em;font-family:Arial;font-size:" + textSize + "px;left:" + columnLeft[i] + ";width:" + textSize + "px;height:0px;color:" + textMainColor + ";visibility:hidden'></div>");
	}
	document.write("</div></div>");
	for (j = 0; j < columnAmount; j++) {
		columnTop[j] = 0;
		speed[j] = Math.round(minSpeed + Math.random() * maxSpeed);
		textLength[j] = 1 + Math.round(Math.random() * columnLength);
		var temporary = "";
		for (k = 0; k < textLength[j]; k++) {
			if (k == 0) {
				temporary = "";
			}
			text[j] = temporary += Math.round(Math.random() * 1) + " ";
		}
	}
	cycle();
	/*
 * When a column fall out the screen the parameters of this column will be changed 
 * Revise value of setTimeout to change the general falling speed
 */
	function cycle() {
		Container.style.top = window.document.body.scrollTop;
		for (j = 0; j < columnAmount; j++) {
			var index = Math.floor(Math.random() * textHeads.length);
			textHead[j] = "<font color=" + textMinorColor + ">" + textHeads[index] + "</font>";
			columnTop[j] += speed[j];
			if (columnTop[j] > window.document.body.clientHeight) {
				speed[j] = Math.round(minSpeed + Math.random() * maxSpeed);
				textLength[j] = 1 + Math.round(Math.random() * columnLength);
				columnTop[j] = -textSize * text[j].length / 1.5;
				A[j].style.visibility = "visible";
				var temporary = "";
				for (k = 0; k < textLength[j]; k++) {
					mixSpace[k] = Math.round(Math.random() * 1) + " ";
					mixSpace[Math.floor(Math.random() * j)] = "&nbsp;" + " ";
					if (k == 0) {
						temporary = "";
					}
					text[j] = temporary += mixSpace[k];
				}
			}
			A[j].style.top = columnTop[j];
			A[j].innerHTML = text[j] + "" + textHead[j] + "";
		}
		setTimeout("cycle()", 20);
	}
}

