var snowmax = 50;
var snowcolor = new Array("#aaaacc", "#ddddFF", "#ccccDD");
var snowtype = new Array("Arial Black", "Arial Narrow", "Times", "Comic Sans MS");
var snowletter = "*";
var sinkspeed = 0.9;
var snowmaxsize = 40;
var snowminsize = 20;
var snowingzone = 1;
var snow = new Array();
var marginbottom;
var marginright;
var ScrollTop;
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;
var opera = browserinfos.match(/Opera/);
var browserok = ie5 || ns6 || opera;
function randommaker(a) 
{
    rand = Math.floor(a * Math.random());
    return rand
}

function iecompattest()
{
	return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body 
}

function InitHeight() {
	if (ie5 || opera) {
		marginbottom = iecompattest().clientHeight + 5; //clientHeight;
		marginright = iecompattest().scrollWidth + 5; //clientWidth
	}
	else {
		if (ns6) {
			marginbottom = self.innerHeight;
			marginright = self.innerWidth
		}
	}
	ScrollTop = document.body.scrollTop;
	if (ScrollTop == 0) {
		if (window.pageYOffset)
			ScrollTop = window.pageYOffset;
		else
			ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
	}
	marginbottom += ScrollTop;
}

function initsnow() 
{
	InitHeight()
  var a = snowmaxsize - snowminsize;
  for (i = 0;i <= snowmax;i++) 
	{
		crds[i] = 0;
		lftrght[i] = Math.random() * 15;
		x_mv[i] = 0.03 + Math.random() / 10;
		snow[i] = document.getElementById("s" + i);
		snow[i].style.fontFamily = snowtype[randommaker(snowtype.length)];
		snow[i].size = randommaker(a) + snowminsize;
		snow[i].style.fontSize = snow[i].size + "px";
		snow[i].style.color = snowcolor[randommaker(snowcolor.length)];
		snow[i].sink = sinkspeed * snow[i].size / 5;
		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 =  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()
}
 
function movesnow() 
{
	InitHeight();
	for (i = 0; i <= snowmax; i++)
	{
		crds[i] += x_mv[i];
		snow[i].posy += snow[i].sink;
		snow[i].style.left = snow[i].posx + lftrght[i] * Math.sin(crds[i]) + "px";
		snow[i].style.top = snow[i].posy + "px";
		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 = ScrollTop 
		}
	}
	var a = setTimeout("movesnow()", 60) 
}
function hidesnow() 
{
	if (window.timer)	{ clearTimeout(timer) }
	for (i = 0;i <= snowmax;i++)
	{ 
		document.getElementById("s" + i).style.visibility = "hidden"
	}
}


for (i = 0;i <= snowmax;i++)
{
	document.write('<div id="s' + i + '" style="POSITION: absolute; Z-INDEX: 9' + i + "; VISIBILITY: visible; TOP:-" + snowmaxsize + 'px; LEFT: 15px;">' + snowletter + "</div>")
}
if (browserok)
{ initsnow() } 
else 
{ document.write('Votre navigateur ne supporte pas ce Javascript, ') };
