//début sripts de neige :
// déclare les variables:
// Placez le nombre de : flocons de neige (entre 30 & 40 recommandés) ou d'images voulues (environ 8)
var snowmax=8;
// Placez les couleurs pour la neige. Ajoutez autant de couleurs que vous voudrez
var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD");
// Placez les polices, celles créant les flocons de neige. Ajoutez autant de polices que vous voudrez
var snowtype=new Array("Arial Black","Arial Narrow","Times","Verdana","sans-serif");
// Placez la lettre qui crée votre flocon de neige (recommandé: * ) :
//var snowletter1="*";
var snowletter1=""; //init à valeur vide;
var snowletter2=""; //init à valeur vide;
var snowletter3=""; //init à valeur vide;
var snowletter4=""; //init à valeur vide;
// ou bien placez vos images voulues (selon période de l'année) :
// maintenant les images sont choisis automatiquement selon la période de l'année dans function detecte_date()
// Placez la vitesse de la descente (gamme recommandée de valeurs de 0,3 à 2 mais la décimale est le point ".")
var sinkspeed=0.5 ;
// Placez la taille maximale de vos flocons
var snowmaxsize=35 ; //cette taille ne sera pas utilisé si vous mettez des images car elle dependra de la taille max des images !
// Placez la taille minimale de vos flocons
var snowminsize=5 ;
// Placez la zone à neiger
// Placez 1 pour tout-au-dessus, placez 2 pour le côté-gauche-chute de neige
// L'ensemble 3 pour centrer-neiger, ou placé 4 pour le côté-droit-chute de neige
var snowingzone=1 ;
var activite_moment="rien";
///////////////////////////////////////////////////////////////////////////
// LA CONFIGURATION FINI ICI
///////////////////////////////////////////////////////////////////////////
// N'éditez pas au-dessous de cette ligne (sauf pour activez/désactiver ce script par "window.onload=initsnow" plus bas)
var i=0;
var snow=new Array();
var marginbottom ; //hauteur fenetre explorateur web "visible" (sans barre d'état ni de titre, etc...)
var marginright ; //largeur fenetre explorateur web "visible"
var timer ;
var i_snow=0 ;
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent ;
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/) ;
var ns6=document.getElementById&&!document.all ; //firefox,...
var opera=browserinfos.match(/Opera/) ;
var browserok=ie5||ns6||opera ;
// fonctions :
function randommaker(range) {
rand=Math.floor(range*Math.random()) ; //entier inferieur à range*nbre compris entre 0 & 1 (inclus)
return rand ;
}
function detecte_date() {
var date_jour=new Date();
var Annee=date_jour.getFullYear();
// calcul de la fete de paques (min = 22 mars , max = 25 avril) :
a= Annee % 4;
b= Annee % 7;
c= Annee % 19;
m = 24;
n = 5;
d=(19*c + m ) % 30;
e=(2*a + 4*b + 6*d + n) % 7;
datepaques=22+d+e;
x= d+e-9;
if (datepaques>31) {
CalculPaques = x.toString(10) + "-04-" + Annee.toString(10);
jourPaques=x; moispaques=3;
} else {
CalculPaques= x.toString(10) + "-03-" + Annee.toString(10);
jourPaques=x; moispaques=2;
}
if ((d==29) && (e==6)) { CalculPaques="10-04-" + Annee.toString(10); jourPaques=10; moispaques=3; }
if ((d==28) && (e==6)) { CalculPaques="18-04-" + Annee.toString(10); jourPaques=18; moispaques=3; }
// fin calcul de fete de paques
var jour_aujourdhui=date_jour.getDate(); // (de 1 à 31)
switch(date_jour.getMonth()){
case 0 : snowletter1="*"; snowletter2="*"; snowletter3="*"; snowletter4="*";snowmax=30;activite_moment="neige";
if (jour_aujourdhui== 1) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; snowmax=8;activite_moment="bonne année & bon anniversaire papa"; }
if (jour_aujourdhui== 6) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; snowmax=8; activite_moment="epiphanie";}
if ((jour_aujourdhui==jour_chinois)&&(mois_chinois==1)) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="nouvel an chinois";}
// janvier = neige + 1er bonne-annee.jpg + 6 epiphanie.jpg + mini an chinois = 21/01
break;
case 1 :
if ((jour_aujourdhui==jour_chinois)&&(mois_chinois==2)) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="nouvel an chinois";}
if (jour_aujourdhui== 14) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="St Valentin";}
if (jour_aujourdhui== 23) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="sculpture sur glace a Andernos";}
// fevrier = 14 valentin.gif + 23: sculpture sur glace à Andernos + max nouvel-an-chinois.jpg = 20/02 (change tout les ans)
break;
case 2 : if (jour_aujourdhui== 17) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="St Patrick";}
if ((moispaques==2)&&(jour_aujourdhui>19)) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="fete de paques";}
// mars = 17 patrick.gif' + mini de fete de paques = le 22/03
break;
case 3 : if ((moispaques==3)&&(jour_aujourdhuijourPaques-8)) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="fete de paques";}
if (jour_aujourdhui== 1) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="poisson d'avril";}
if (jour_aujourdhui== 17) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="fête des secrétaires";}
// avril (1er poisson.gif' + max de paques = 25/04, affiche paque 7 jour avant et 5 jours apres + 17 : fetes des secretaires)
break;
case 4 : if (jour_aujourdhui<27 && jour_aujourdhui>16) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="festival de cannes";}
if (jour_aujourdhui<6) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="anniversaire Laura (04/05/2007)";}
if (jour_aujourdhui== 1) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4="";activite_moment="fete du travail"; }
// mai = muguet + travail + festival de cannes + naissance Laura le 04/05/2007
break;
case 5 :
if (jour_aujourdhui==3) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="fete des meres";}
if (jour_aujourdhui==17) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="fete des peres";}
if (jour_aujourdhui==21) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="fete de la musique";}
if (jour_aujourdhui>23) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4="";activite_moment="fete du cinema";}
// juin = 3 fete des meres + 17 fete des peres + 21 musique + cinema (dernier dimanche du mois+lundi et mardi suivant)
break;
case 6 : if (jour_aujourdhui==14) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="fete nationale";}
// juillet = 14 fete nationale
break;
case 7 : snowletter1=""; snowletter2=""; snowletter3=""; snowletter4="";
// aout = vacances hamac + piscine hamac2.jpg
activite_moment="vacances";
break;
case 8 : snowletter1=""; snowletter2=""; snowletter3=""; snowletter4="";
// septembre = fete du patrimoine
activite_moment="fete du patrimoine";
break;
case 9 : activite_moment="rien";
if (jour_aujourdhui==9) { activite_moment="fête à Denis"; snowletter1=""; snowletter2="";snowletter3="";snowletter4=""; }
if (jour_aujourdhui==18) { activite_moment="anniversaire à Denis"; snowletter1=""; snowletter2="";snowletter3="";snowletter4=""; }
if (jour_aujourdhui==31) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="halloween";}
// octobre = 31 halloween.gif , 9 fete Denis + anniv Flo, 18 anniv Denis
break;
case 10 : snowletter1="*"; snowletter2="*"; snowletter3="*"; snowletter4="*";activite_moment="neige";
if (jour_aujourdhui==29) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4="";activite_moment="mon anniversaire";}
// novembre = neige + 29 moi RESIS.ICO & favicon.ico & logo_pat.gif & logo_pat1.gif
break;
case 11 : snowletter1="*"; snowletter2="*"; snowletter3="*"; snowletter4="*";activite_moment="neige";
if (jour_aujourdhui<29 && jour_aujourdhui>23) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="pére noël";}
if (jour_aujourdhui>29) {
snowletter1=""; snowletter2=""; snowletter3=""; snowletter4=""; activite_moment="réveillon";}
// decembre = neige + pére noel + reveillon
break;
// rien par defaut
default : snowletter1=""; snowletter2=""; snowletter3=""; snowletter4="";activite_moment="rien";
} // fin switch
} // fin function detecte_date()
function initsnow() {
var snowsizerange=snowmaxsize-snowminsize ;
if (browserok) {
if (ie5 || opera) {
// internet explorer , opera, ...
marginbottom = document.documentElement.clientHeight + document.documentElement.scrollTop; //au lieu de window.document.body.clientHeight;
marginright = document.documentElement.clientWidth + document.documentElement.scrollLeft; //window.document.body.clientWidth;
} else {
if (ns6) {
// firefox,...
// marginbottom = window.innerHeight; //hauteur page visible a l'ecran (donc sans la partie caché par les "ascenseurs")
marginbottom = window.scrollMaxX + document.documentElement.clientWidth; //hauteur page totale
marginright = window.innerWidth;
}
}
for (i=0;i<=snowmax;i++) {
crds[i] = 0;
lftrght[i] = Math.random()*15; //decimale de 0 à 15
x_mv[i] = 0.03 + Math.random()/10; //decimale de 0,03 à 0,13
// creation des ID pour les images de "neige" :
detecte_date();
switch(i % 4 ){
case 0 : document.write(""+snowletter1+"<\/span>") ;
break;
case 1 : document.write(""+snowletter2+"<\/span>") ;
break;
case 2 : document.write(""+snowletter3+"<\/span>") ;
break;
case 3 : document.write(""+snowletter4+"<\/span>") ;
break;
default : document.write("*");
} // fin switch
// !!!! beaucoup de parametre non reconnus par IE < 8 dans code suivant (a faire en CSS) :
snow[i]=document.getElementById("s"+i) ; // selectionne l'ID créer dans le script
snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)] ; //utile seulement pour du texte, et pas des images
snow[i].size=randommaker(snowsizerange)+snowminsize ; //seulement utile pour du texte
snow[i].style.fontSize=snow[i].size+"px" ; //seulement utile pour du texte
snow[i].style.color=snowcolor[randommaker(snowcolor.length)]; //seulement utile pour du texte , en RGB decimale.
snow[i].sink=sinkspeed*snow[i].size/5 ; // sink=évier (en GB), pour la vitesse de defilement de la neige
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size);} //differente facon de faire tomber la neige
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size);}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4;}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2;}
snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size) ;
snow[i].style.left=snow[i].posx+"px";
snow[i].style.top=snow[i].posy +"px";
}
movesnow() ;
}
// fin function initsnow()
}
function movesnow() {
for (i=0;i<=snowmax;i++) {
if (snowletter1 != "") {
crds[i] += x_mv[i]; //vitesse decalage sur axe X.
snow[i].posy+=snow[i].sink ; //vitesse descente neige.
snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i])+"px";
snow[i].style.top=snow[i].posy+"px" ;
//parseInt convertit chaine en nombre
if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size);}
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size);}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4;}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2;}
snow[i].posy=0 ;
}
} //fin if snowletter1 different de chaine nulle
} //fin for
setTimeout("movesnow()",50) ; // 50=5s
} // fin function movesnow()
// appel des fonctions:
// window.onload non implemente sous IE7 en xhtml :
//if (browserok) {
// window.onload=initsnow();
//}
initsnow();
//fin du script de neige