var nieve_cantidad = 35;  //  Numero de copos, recomendados entre 30 y 40
var nieve_colorr = ["#aaaacc", "#ddddFF", "#ccccDD"];  //  Colores de los copos se mostraran de forma aleatoria
var nieve_tipo = ["Arial Black", "Arial Narrow", "Times", "Comic Sans MS"];  //  Tipo de letra de los copos
var nieve_letra = "*";  //  Valor o letra de los copos
var nieve_velocidad = 0.6;  //  velocidad de caida
var nieve_cantidadsize = 30;  //  tamaño mas grande de los copos
var nieve_chico = 8;  //  tamaño mas pequeño de los copos
var nieve_zona = 1;  //  1 toda la pagina - 2 zona izquierda - 3 centro de pagina - 4 zona derecha

var nieve = [];
var marginbottom;
var marginright;
var timer;
var i_nieve = 0;
var x_mv = [];
var crds = [];
var lftrght = [];
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;
var i;

function aleatorio(range) {
	var rand = Math.floor(range * Math.random());
return rand;
}

function movenieve() {
for (i = 0; i <= nieve_cantidad; i++) {
	crds[i] += x_mv[i];
	nieve[i].posy += nieve[i].sink;
	nieve[i].style.left = nieve[i].posx + lftrght[i] * Math.sin(crds[i]);
	nieve[i].style.top = nieve[i].posy;

	if (nieve[i].posy >= marginbottom - 2 * nieve[i].size || parseInt(nieve[i].style.left, 10) > (marginright - 3 * lftrght[i])) {
		if (nieve_zona === 1) { 
			nieve[i].posx = aleatorio(marginright - nieve[i].size); 
		}
		if (nieve_zona === 2) { 
			nieve[i].posx = aleatorio(marginright / 2 - nieve[i].size); 
		}
		if (nieve_zona === 3) { 
			nieve[i].posx = aleatorio(marginright / 2 - nieve[i].size) + marginright / 4; 
		}
		if (nieve_zona === 4) { 
			nieve[i].posx = aleatorio(marginright / 2 - nieve[i].size) + marginright / 2; 
		}
		nieve[i].posy = 0;
	}
}
var timer = setTimeout("movenieve()", 50);
}

function initnieve() {
	if (ie5 || opera) {
		marginbottom = document.body.clientHeight;
		marginright = document.body.clientWidth;
	} else if (ns6) {
		marginbottom = window.innerHeight;
		marginright = window.innerWidth;
	}
	var nievesizerange = nieve_cantidadsize - nieve_chico;	
	for (i = 0; i <= nieve_cantidad; i++) {
		crds[i] = 0;
		lftrght[i] = Math.random() * 15;
		x_mv[i] = 0.03 + Math.random() / 10;
		nieve[i] = document.getElementById("s" + i);
		nieve[i].style.fontFamily = nieve_tipo[aleatorio(nieve_tipo.length)];
		nieve[i].size = aleatorio(nievesizerange) + nieve_chico;
		nieve[i].style.fontSize = nieve[i].size;
		nieve[i].style.color = nieve_colorr[aleatorio(nieve_colorr.length)];
		nieve[i].sink = nieve_velocidad * nieve[i].size / 5;
		
		if (nieve_zona === 1) { 
			nieve[i].posx = aleatorio(marginright - nieve[i].size); 
		}
		
		if (nieve_zona === 2) { 
			nieve[i].posx = aleatorio(marginright / 2 - nieve[i].size); 
		}
		
		if (nieve_zona === 3) { 
			nieve[i].posx = aleatorio(marginright / 2 - nieve[i].size) + marginright / 4; 
		}
		
		if (nieve_zona === 4) { 
			nieve[i].posx = aleatorio(marginright / 2 - nieve[i].size) + marginright / 2; 
		}
		
		nieve[i].posy = aleatorio(2 * marginbottom - marginbottom - 2 * nieve[i].size);
		nieve[i].style.left = nieve[i].posx;
		nieve[i].style.top = nieve[i].posy;
	}
	movenieve();
}


for (i = 0; i <= nieve_cantidad; i++) {
	document.write("<span id='s" + i + "' style='position:absolute;top:-" + nieve_cantidadsize + "'>" + nieve_letra + "</span>");
}
if (browserok) {
	window.onload = initnieve;
}

