// e. dziewa december 2009

var arr = new Array;
var end;
var iterator = 0;
var oe = 0;

var all = [ '&nbsp;', '_', ' ', '.', "E", "e", "T", "t", "A", "a", "O", "o", "N", "n", "R", "r", "I", "i", "S", "s", "H", "h", "D", "d", "L", "l", "F", "f", "C", "c", "M", "m", "U", "u", "G", "g", "Y", "y", "P", "p", "W", "w", "B", "b", '!', "V", "v", "K", "k", "X", "x", "J", "j", "Q", "q", "Z", "z" ];

// In English, the space is slightly (107%) more frequent than the top letter, and the non-alphabetic characters (digits, punctuation, etc.) occupy the fourth position, between T and A.

var bcolor = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' ];
var running = 0;

function retcolor() {
	retval = 'rgba(';
	retval = retval + String( Math.floor( Math.random() * 206 + 50 ) ) + ',';
	retval = retval + String( Math.floor( Math.random() * 206 + 50 ) ) + ',';
	retval = retval + String( Math.floor( Math.random() * 50 + 206 ) ) + ',0.9)';
	//rgba( 255, 255, 255, 0.2 );
	return retval;
}
function m_over(gg) {
   document.getElementById(gg).style.color = retcolor();
}   

function l_prompt(y) {
	if ( oe % 2 ) {
		y.innerHTML = "_";
	}
	else { y.innerHTML = "&nbsp;"; }
	oe++;
	return;
}

function escroll(v,w) { // letter, classname object
		if ( all[iterator] == v ) {
			if ( all[iterator] == " " ) {
				w.innerHTML = '&nbsp;';
			}
			else {
				w.innerHTML = v;
				w.style.color = retcolor();
			}
			iterator = 0;
			arr.shift();
			control_flow();
			return;
		}
		else {
			w.innerHTML = all[iterator];
		}
	iterator++;
	return;
}

function findspans() {
	s_me = document.getElementsByClassName("escroll");
	ours = new Array;
	for ( i = 0; i <= s_me.length; i++ ) {
			ours.push( s_me[i] );
	}
	return ours;
}

function control_flow() {
	try {
		clearInterval(end);
	} catch(e){ return; };
	if (arr.length > 2) {
		end = setInterval( function() {
				//escroll( arr[0].id.charAt(0), arr[0] );
				escroll( arr[0].id.charAt(arr[0].id.length-1), arr[0] );
		}, 1 );
	}
	else {
		running = 0;
		end = setInterval( function() {
				l_prompt( arr[0] );
		}, 1000 );
	}
}

function restart() {
	if (running) return;
	else {
		running = 1;
		trunc = document.getElementsByClassName("escroll");
		for ( i = 0; i < trunc.length; i++ ) {
			trunc[i].innerHTML = '&nbsp;';
		}
		arr = findspans();
		control_flow();
	}
}

window.onload = function() {
	arr = findspans();
	control_flow();
}


