var d = document.createElement('div');
document.body.appendChild (d);

var a = document.getElementsByTagName('a');
for (var i = 0; i < a.length; i ++) {
	(function(b) {
		var title = b.title;
		b.title = '';
		b.onmouseover = function() { d.innerHTML = title; };
		b.onmouseout = function() { d.innerHTML = ''; };
	})(a[i]);
}

var p = document.getElementsByTagName('p')[0];
document.body.style.overflowX = 'hidden';
p.style.position = 'absolute';
p.style.left = '0';
p.style.paddingTop = '0';
p.style.top = '100px';
p.style.width = '100%';

var pp = p.cloneNode(true);
pp.style.display = 'none';
pp.style.pointerEvents = 'none';
document.body.appendChild (pp);

var s = [0x35, 0x34, 0x33];
var e = [0x8B, 0x86, 0x85];
function setColorIntensity(i) {
	var r = s[0] + (e[0] - s[0]) * i;
	var g = s[1] + (e[1] - s[1]) * i;
	var b = s[2] + (e[2] - s[2]) * i;
	var z = function(x) { return Math.round(x); }
	var c = 'rgb(' + z(r) + ',' + z(g) + ',' + z(b) + ')';
	for (var j = 0; j < a.length; j ++) {
		a[j].style.color = c;
	}
	p.style.color = c;
}

function animation() {
	var startTime = new Date().getTime();
	function frame() {
		var elapsedTime = (new Date().getTime() - startTime) / 1000;
		if (elapsedTime > 1) elapsedTime = 1;
		var v = Math.pow(2 * Math.min(elapsedTime, 0.5), 2);
		setColorIntensity (v);
		p.style.MozTransform = 'scale(' + v + ')';
		p.style.WebkitTransform = 'scale(' + v + ')';
		if (elapsedTime > 0.5) {
			var w = (elapsedTime - 0.5) * 2;
			pp.style.display = '';
			var o = Math.pow(1 - w, 2);
			pp.style.opacity = o;
			var s = (1 + w * 2);
			pp.style.MozTransform = 'scale(' + s + ')';
			pp.style.WebkitTransform = 'scale(' + s + ') translateZ(0)';
			if (elapsedTime == 1) {
				pp.style.display = 'none';
			}
		}
		if (elapsedTime < 1) setTimeout(frame, 1);
	}
	frame ();
}
animation ();

