/*
* @author Simon Kühn
* @link http://simon-kuehn.de/
* 
*/


// addEvent for W3C and IE
// dean edwards: Cross Browser Object Detection
var addEvent;
if (document.addEventListener) {
	addEvent = function(element, type, handler) {
		element.addEventListener(type, handler, false);
	};
} else if (document.attachEvent) {
	addEvent = function(element, type, handler) {
		element.attachEvent("on" + type, handler);
	};
} else {
	addEvent = new Function; // not supported
}


addEvent(window, 'load', function() {
	
	var header = document.getElementById('header');
	
	header.onmouseover = function () {
		
		header.onmouseover = null;
		fadeIn();
		
	};
	
	/*header.onmouseout = function () {
		
		fadeOut();
		
		header.onmouseover = function () {
			fadeIn();
			header.onmouseover = null;
		};
	};*/
	
});

function fadeIn (){
		fadeElement('headline','' ,'' ,'#F8F9FE')
		fadeElement('subhead','' ,'' ,'#F8F9FE')
}

function fadeOut () {
		fadeElement('headline','' ,'' ,'', '#F8F9FE')
		fadeElement('subhead','' ,'' ,'', '#F8F9FE')
	}

function fadeElement(id, fps, duration, from, to) {
	if (!fps) fps = 30;
	if (!duration) duration = 700;
	if (!from || from == "#") from = "#FFFFFF";
	if (!to) to = "#800000";
	
	var frames = Math.round(fps * (duration / 1000));
	var interval = duration / frames;
	var delay = interval;
	var frame = 0;
	
	if (from.length < 7) from += from.substr(1,3);
	if (to.length < 7) to += to.substr(1,3);
		
	var rf = parseInt(from.substr(1,2),16);
	var gf = parseInt(from.substr(3,2),16);
	var bf = parseInt(from.substr(5,2),16);
	var rt = parseInt(to.substr(1,2),16);
	var gt = parseInt(to.substr(3,2),16);
	var bt = parseInt(to.substr(5,2),16);
		
	var r,g,b,h;
	while (frame < frames)
	{
		r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));
		g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));
		b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));
		h = makeHex(r,g,b);
	
		setTimeout("setColor('" + id + "','" + h + "')", delay);
			frame++;
		delay = interval * frame; 
	}
	setTimeout("setColor('" + id + "','" + to + "')", delay);
}


function makeHex(r,g,b) {
	r = r.toString(16); if (r.length == 1) r = '0' + r;
	g = g.toString(16); if (g.length == 1) g = '0' + g;
	b = b.toString(16); if (b.length == 1) b = '0' + b;
	return "#" + r + g + b;
}


function setColor(id, c) {
	var o = document.getElementById(id);
	o.style.color = c;
}
