// Anzahl der Schritte bei der Farbänderung
var steps = 25;

// Geschwindigkeit der Änderung (kleinere Werte = schneller)
var speed = 25;

var abdunkelungLightbox = 20;

/*
// Farben
var farbenArray = new Array();
	farbenArray[0] = '#660066';
	farbenArray[1] = '#003300';
	farbenArray[2] = '#330000';
	farbenArray[3] = '#000033';
*/

// Allgemeine Variablen
var ccR;
var ccG;
var ccR;

var tcB;
var tcG;
var tcB;

var stepR;
var stepG;
var stepB;

var timer;
var pagecolorArr;

var targetcolor;

function get_hex_color (r, g, b) {
	var hexstring = "0123456789abcdef"; 
	var hex_color = hexstring . charAt (Math . floor (r / 16)) + hexstring . charAt (r % 16) 
	+ hexstring . charAt (Math . floor (g / 16)) 
	+ hexstring . charAt (g % 16) + hexstring . charAt (Math . floor (b / 16)) 
	+ hexstring . charAt (b % 16); return hex_color; 
}

function doFade(starting){
	if(starting || (Math.abs(tcR - ccR) > Math.abs(stepR) || Math.abs(tcG - ccG) > Math.abs(stepG) || Math.abs(tcB - ccB) > Math.abs(stepB))){
		ccR += stepR;
		ccG += stepG;
		ccB += stepB;
		
		thecolor = get_hex_color (ccR, ccG, ccB);
		document.body.style.backgroundColor = "#"+thecolor;
		
		setTimeout('doFade();', 25)
	}
}

function rgbToArr(rgb){
	if(rgb.substr(0,3)=='rgb'){
		rgb        = rgb.substr(4);
		rgb        = rgb.substr(0, rgb.length-1);
		var rgbArr = rgb.split(',');
		
		for(n=0;n<3;n++){
			rgbArr[n] = parseInt(rgbArr[n]);
		}
	}else{
		var rgbArr = new Array();
		rgbArr[0] = parseInt(rgb.substr(1,2), 16);
		rgbArr[1] = parseInt(rgb.substr(3,2), 16);
		rgbArr[2] = parseInt(rgb.substr(5,2), 16);
	}
	
	return rgbArr;
}

function fadeTo(colorNr){
	currentcolorArr = rgbToArr(document.body.style.backgroundColor);
	
	ccR = currentcolorArr[0];
	ccG = currentcolorArr[1];
	ccB = currentcolorArr[2];
	
	if(colorNr != null){
		color = farbenArray[colorNr];
		targetcolor = color;
		tcR = parseInt(color.substr(1,2), 16);
		tcG = parseInt(color.substr(3,2), 16);
		tcB = parseInt(color.substr(5,2), 16);
	}else{
		tcR = pagecolorArr[0];
		tcG = pagecolorArr[1];
		tcB = pagecolorArr[2];
	}
	
	stepR = (tcR - ccR)/steps;
	stepG = (tcG - ccG)/steps;
	stepB = (tcB - ccB)/steps;
	
	timer = setTimeout('doFade(true);', 25);
}

function changeNavicolorAndFade(theDIV, colorNr){
	if(colorNr != null){
		color = farbenArray[colorNr];
		theDIV.style.backgroundColor =  farbenArray[colorNr];
	}else{
		theDIV.style.backgroundColor =  '';
	}
	fadeTo(colorNr);
}

function init(){
	if(1==2){
		
	}else{
		pagecolorArr = rgbToArr(document.body.style.backgroundColor);
		var bgHEX    = get_hex_color (pagecolorArr[0]-abdunkelungLightbox, pagecolorArr[1]-abdunkelungLightbox, pagecolorArr[2]-abdunkelungLightbox);
		//document.getElementById('overlay').style.background  = "#"+bgHEX;
	}
}
