/*    Script che genera una nevicata nella pagina web
    creato da Claudio Matarrelli
    claudio.matarrelli@gmail.com
    (C) 2009 www.matarrelli.com
    
    Utilizzabile liberamente, a patto di lasciare visibile il copyright
*/

//variabili di configurazione
var numerofiocchi = 100;
var tempo = 300; //millisecondi
dimensionemassimafiocco = 40; //px
dimensioneminimafiocco = 8; //px
caratterefiocco = "*"; /*consigliati * o punto. In alternativa può essere incerita
                       un'immagine con  un tag <img src="http://indirizzo/immagine.jpg">*/
colorefiocco = "#BFF";
trasparenza = 1; // valori da 0 a 1. 0 è invisibile, 1 è totalmente visibile
//inizializzazione altre variabili
var indice=0;

// funzione che genera un fiocco, cioè un * in un div posizionato assolutamente
function fiocco(idfiocco){
    document.write('<div id="neve'+idfiocco+'" style="z-index:-90;filter:alpha(opacity='+trasparenza * 100+');-moz-opacity:'+trasparenza+';-khtml-opacity:'+trasparenza+';opacity: '+trasparenza+';color:'+colorefiocco+';font-size:'+Math.floor(Math.random()*(dimensionemassimafiocco-dimensioneminimafiocco+1)+dimensioneminimafiocco)+'px; position:fixed; top:'+Math.floor(Math.random()*screen.height*0.7)+'px; left:'+Math.floor(Math.random()*screen.width -40)+'px">'+caratterefiocco+'</div>')
}

//genera un numero di fiocchi pari a numerofiocchi impostato
function generaFiocchi(){
    for(indice=0;indice<numerofiocchi;indice++){
        fiocco(indice)
    }
}
//sposta i fiocchi in modo random ogni volta che passa il tempo impostato
function spostaFiocchi(){
    for(indice=0;indice<numerofiocchi;indice++){
    document.getElementById('neve'+indice).style.top = Math.floor(Math.random()*screen.height*0.7)+'px';
    document.getElementById('neve'+indice).style.left = Math.floor(Math.random()*screen.width -40)+'px';
    }


    setTimeout ("spostaFiocchi()", tempo);

}

// avvia la generazione dei fiocchi
generaFiocchi();

//esegue lo spostamento continuato
spostaFiocchi();

