////////////////////////////////////////
// FP 10/2001
// background fade function
////////////////////////////////////////
var numSteps=100;
var startingRed=0;
var startingGreen=0;
var startingBlue=0;
var endingRed=Math.round(Math.random() * 255);;
var endingGreen=Math.round(Math.random() * 255);
var endingBlue=Math.round(Math.random() * 255);
var deltaRed=0;
var deltaGreen=0;
var deltaBlue=0;
var currentRed=0;
var currentGreen=0;
var currentBlue=0;
var currentStep=0;
var timerID=0;

////////////////////////////////////////
// fade timer
////////////////////////////////////////
function startFadeDec(startR, startG, startB, 
   endR, endG, endB, nSteps)
{
//alert("sf");
	// need to parse, otherwise it thinks it's not a number
  	currentRed=startingRed=parseInt(startR, 10);
  	currentGreen=startingGreen=parseInt(startG, 10);
  	currentBlue=startingBlue=parseInt(startB, 10);
  	endingRed=parseInt(endR, 10);
  	endingGreen=parseInt(endG, 10);
  	endingBlue=parseInt(endB, 10);
  	numSteps=parseInt(nSteps, 10);
  	deltaRed=(endingRed-startingRed)/numSteps;
  	deltaGreen=(endingGreen-startingGreen)/numSteps;
	deltaBlue=(endingBlue-startingBlue)/numSteps;
	currentStep=0;
  	fade();
}
  
////////////////////////////////////////
// fade timer
////////////////////////////////////////
function fade()
{
//	alert(color);
//  	alert(document.bgColor);
  	
  	currentStep++;
  	// if not done yet, change the backround
  	if (currentStep<=numSteps)
  	{
		// convert to hex	
		var hexRed=decToHex(currentRed);
		var hexGreen=decToHex(currentGreen);
		var hexBlue=decToHex(currentBlue);
		var color="#"+hexRed+""+hexGreen+""+hexBlue+"";
		// here selects and change dom elements from space4future website
	  
	  	document.body.style.backgroundColor=color;
	  	
		/*if(document.getElementById) {
		document.getElementById("header").style.backgroundColor=color;
		
		document.getElementById("clock").style.backgroundColor=color;
		document.getElementById("intermissionPics").style.color=color;
		document.getElementById("intermissionLinks").style.color=color;
		document.getElementById("now").style.color=color;
		document.getElementById("twitterMagazine").style.backgroundColor=color;
		if(document.getElementsByTagName) {
			var links = document.getElementById("intermissionLinks").getElementsByTagName("a");
				for(i=0; i < links.length; i++){
			links[i].style.color=color;
			}
		}
		document.getElementById("footer").style.color=color;
		
		if(document.getElementsByTagName) {
			var links = document.getElementById("footer").getElementsByTagName("a");
			for(i=0; i < links.length; i++){
				links[i].style.color=color;
			}
		}
	}*/
		
		currentRed+=deltaRed;
		currentGreen+=deltaGreen;
		currentBlue+=deltaBlue;
	  	timerID=setTimeout("fade()", 200); // sets timer so that this function will
                  		   		      // be called every 10 miliseconds
   }
}

////////////////////////////////////////
// convert decimal to hexadecimal number
////////////////////////////////////////
function decToHex(decNum)
{
//alert ("1");
	decNum=Math.floor(decNum);
	var decString=""+decNum;
	// make sure the number is valid
	for (var i=0; i<decString.length; i++)
	{
//alert ("2");
	
		if (decString.charAt(i)>='0' && decString.charAt(i)<='9')
		{
		}
		else
		{
			alert(decString+" is not a valid decimal number because it contains "+decString.charAt(i));
 			return decNum;
		}
	}
	var result=decNum;
	var remainder="";
	// use string because math operation won't work with hex alphabet
	var hexNum="";

	var hexAlphabet=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
//	alert("converting "+decNum+" to "+hexNum);
	while (result>0)
	{
		result=Math.floor(decNum/16);
		remainder=decNum%16;
		decNum=result;
		hexNum=""+hexAlphabet[remainder]+""+hexNum;
	};
//	alert("converting "+decNum+" to "+hexNum);
	// make sure to have at least 2 digits
	if (hexNum.length==1)
		hexNum="0"+hexNum;
	else if (hexNum.length==0)
		hexNum="00";
	return hexNum;
}   

function fadeRandom()
{
var sR=endingRed;
var sG=endingGreen;
var sB=endingBlue;
var eR=Math.round(Math.random() * 255);
var eG=Math.round(Math.random() * 255);
var eB=Math.round(Math.random() * 255);
if (eR<100){
eR +=100;
}
if (eG<100){
eG +=100;
}
if (eB<100){
eB +=100;
}
startFadeDec(sR, sG, sB, eR, eG, eB, 200);
}

/* Gestisce e disegna Google Map*/
function load() {
      if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
		map.setCenter(new GLatLng(45.75783, 12.254595), 6);
		map.setMapType(G_HYBRID_MAP);
		
		var polyline = new GPolyline([
  		new GLatLng(90, 12.254595),
  		new GLatLng(-90, 12.254595)
		], "#eeeeee", 5, 0.9);
		map.addOverlay(polyline);
    	
		var polyline2 = new GPolyline([
 		new GLatLng(45.75783, -90),
  		new GLatLng(45.75783, 90)
  		], "#eeeeee", 5, 0.9);
		map.addOverlay(polyline2);
	}

}

/* Antispam email*/
function emailCloak() {
	if (document.getElementById) {
			var user = "paolotonon";
			var website = "gmail.com";
			var newText = user+"@"+website;
			placeholder = document.getElementById("myEmailCloak");
			var oldText = placeholder.firstChild;
			var a = document.createElement("a");
			a.href = "mailto:"+newText;
			var address = document.createTextNode(newText);
			a.appendChild(address);
			placeholder.replaceChild(a,oldText);
	}
}


//aggiorna
function aggiorna(){ 
fadeRandom();
setTimeout("aggiorna()",55000);
}

/* Inizializza la pagina */
function inizializza(){
load();
emailCloak();
}

window.onload = inizializza;