// JavaScript Document
var time;

// ------ parametres ------

	//seuil jour/nuit (de 0 à 256)
	var Snuit = 15; //luminosité mini. (la nuit)
	var Sjour = 256; //luminosité maxi. (le jour)
	
	//aube & crépuscule
	var aube = 120; //durée de l'aube en min
	var crep = 120; //durée du crépuscule en min
	
	var aubeD = 360; //heure debut de l'aube *60
	var crepD = 1200; //heure debut du crépuscule *60
	
	//couleur du jour en %
	var rouge = 53;
	var vert = 81;
	var bleu = 92;
	
	//-- DO NOT TOUCH--//
	var aubeF = aubeD+aube;
	var crepF = crepD+crep;

// -------------------------


function crepu(){
	tn=new Date();
	minutes = heure(tn);
	color = timetocolor(minutes);
	document.body.style.backgroundColor = color;
	document.body.style.backgroundImage = 'none';
}

function heure(t){
	time = t.getHours()*60 + t.getMinutes();
	return time;
}

function timetocolor(minute){
	var level;
	var hexa;
	
	//levé et couché : minute to niveau
		//la nuit
	if(minute<aubeD || minute>crepF){
		level = Snuit;
	}
		//l'aube
	else if(minute>=aubeD && minute<=aubeF){
		level = Snuit+Math.round(((minute-aubeD)*(256-Snuit-(256-Sjour)))/aube);
	}
		//crépuscule
	else if(minute>=crepD && minute<=crepF){
		level = Snuit+Math.round(((crep-(minute-crepD))*(256-Snuit-(256-Sjour)))/crep);
	}
		//le jour
	else if(minute>aubeF || minute<crepD){
		level = Sjour;
	}
	
	//calcul des canneaux
	hexaR = decitohexa(level,"R");
	hexaV = decitohexa(level,"V");
	hexaB = decitohexa(level,"B");
	
	couleur = "#"+hexaR+hexaV+hexaB;
	return couleur;
}

function decitohexa(deci,channel){
		
	// décalage niveau RVB en %
	var DKB = Math.round(deci*(100-bleu)/100);
	var DKV = Math.round(deci*(100-vert)/100);
	var DKR = Math.round(deci*(100-rouge)/100);
	
	switch(channel){
		case "R":
		deci_decal = deci-DKR;
		break;
		case "V":
		deci_decal = deci-DKV;
		break;
		case "B":
		deci_decal = deci-DKB;
		break;
	}
	
	//translation niveau en hexa
	table = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
	
	n1 = Math.floor(deci_decal/16);
	n2 = deci_decal-(n1*16);
	
	h1 = table[n1];
	h2 = table[n2];
	
	h = h1 + h2;
	return h;
}


