﻿function ricicloClock(var_annuale, var_numDiv){

	var riciclo_annuale=var_annuale;		//asfalto prodotto in un anno
	var milli_sec_annuali=31536000000;		//quanti millisecondi ci sono in un anno

	//imposto due date
	today=new Date();			//imposto la data odierna
	var inizio=new Date(today.getFullYear(), 0, 01); //imposto la data del primo gennaio
													 //Ricorda: in javascript il range mesi è 0-11

	milli_sec_now = Math.ceil(today.getTime()-inizio.getTime());
	//getTime() restituisce quanti millisecondi ci sono tra 01-gen-1970 e la data specificata
	//quindi devo eseguire una sottrazione se voglio calcolare i millisecondi dal primo gennaio dell'anno corrente fino ad ora

	//equazione che inidica quanto asfalto è stato prodotto dal primo gennaio fino ad ora
	result = 400000000 + (round ((riciclo_annuale*milli_sec_now)/milli_sec_annuali , 0));
	formaFinale = miles_separator(result);


	//var_numDiv specifica l'id del div del body che la richiama
	document.getElementById(var_numDiv).innerHTML = formaFinale;
	setTimeout("ricicloClock("+var_annuale+",'"+var_numDiv+"')", 50);
}


//uso questa funzione per arrotondare il valore della divisione
//con posizioniDecimali specifico quanti numeri voglio dopo la virgola
function round(valore, posizioniDecimali)
{
    var ris = valore * Math.pow(10,posizioniDecimali);
    ris = Math.round(ris);
    return ris / Math.pow(10,posizioniDecimali);
}


//funzione che: dato un numero, restituisce una stringa che rappresenta lo stesso numero però che ha il carattere . che separa le migliaia
function miles_separator(num_real){

	//converto il numero passato come parametro in stringa
	var num_str = num_real.toString();
	//calcolo quanto è lunga
	var str_lungh = num_str.length;
	//creerò una funzione ricorsiva, quindi inizializzo la stringa finale come vuota
	var mil_div = "";

	//finché non ho una stringa di meno di 3 valori, concateno tutti pezzi di 3 valori, alternati ad un punto, e decremento la mia lunghezza di 3 caratteri
	while (str_lungh > 3){
		mil_div = "."+num_str.substr(str_lungh-3,3)+mil_div;
		str_lungh -=3;
	}

	//a questo punto, accodo gli ultimi valori rimasti alla stringa composta finora
	return num_str.substr(0,str_lungh)+mil_div;
}