//// Configuration part
var doSnow = "no";
var snow_number = 10;
var snow_update = 100;
var snow_type = "torrent51";
var num_flakes = 10; // The number of snowflakes
var intervall = 100; // the intervall the snowflakes are updated
var imgurl = "pic/snowflake1.gif"; // image filename
var imgurl1 = "pic/snowflake1.gif"; // image filename
var imgurl2 = "pic/snowflake2.gif"; // image filename
var imgurl3 = "pic/snowflake3.gif"; // image filename
var imgurl4 = "pic/snowflake4.gif"; // image filename
var Random_Pic = 0;
var imgsize = 50; // no need to be exact

//// Browser Detection
var browser_dom = (document.getElementById) ? true : false;
var browser_ns4 = (document.layers) ? true : false;
var browser_ie  = (document.all) ? true : false;

var document_width = 760, document_height=540;

var pos_x = new Array();
var pos_y = new Array();
var drift_x = new Array();
var speed_y = new Array();

function snowNS4() {
	for (i = 0; i < num_flakes; ++ i) {
		pos_x[i] += drift_x[i];
		pos_y[i] += speed_y[i];
		drift_x[i] += Math.random()/5 - 0.1;
		// respect window width
		if (pos_x[i] < 0) { pos_x[i] = 0; }
		if (pos_x[i] > document_width  - imgsize) { pos_x[i] = document_width - imgsize; }
		// respect window height
		if (pos_y[i] > document_height - imgsize) {
			// restart this snowflake
			pos_x[i] = Math.random() * (document_width - imgsize);
			pos_y[i] = 0;
			drift_x[i] = Math.random()/2 - .25;
			speed_y[i] = 2 + Math.random()*2;
			// update, maybe the window was resized
			document_width  = self.innerWidth;
			document_height = self.innerHeight;
		}
		// move the snow flake
		document.layers["flake"+i].top = Math.floor(pos_y[i]);
		document.layers["flake"+i].left = Math.floor(pos_x[i]);
	}
	setTimeout("snowNS4()", intervall);
}

function snowIE() {
	for (i = 0; i < num_flakes; ++ i) {
		pos_x[i] += drift_x[i];
		pos_y[i] += speed_y[i];
		drift_x[i] += Math.random()/5 - 0.1;
		// respect window width
		if (pos_x[i] < 0) { pos_x[i] = 0; }
		if (pos_x[i] > document_width  - imgsize) { pos_x[i] = document_width - imgsize; }
		// respect window height
		if (pos_y[i] > document_height - imgsize) {
			// restart this snowflake
			pos_x[i] = Math.random() * (document_width - imgsize);
			pos_y[i] = 0;
			drift_x[i] = Math.random()/2 - .25;
			speed_y[i] = 2 + Math.random()*2;
			// update, maybe the window was resized
			document_width = document.body.clientWidth;
			document_height = document.body.clientHeight;
		}
		// move the snow flake
		document.all["flake"+i].style.pixelLeft = pos_x[i];
		document.all["flake"+i].style.pixelTop = pos_y[i];
	}
	setTimeout("snowIE()", intervall);
}

function snowDOM() {
	for (i = 0; i < num_flakes; ++ i) {
		pos_x[i] += drift_x[i];
		pos_y[i] += speed_y[i];
		drift_x[i] += Math.random()/5 - 0.1;
		// respect window width
		if (pos_x[i] < 0) { pos_x[i] = 0; }
		if (pos_x[i] > document_width  - imgsize) { pos_x[i] = document_width - imgsize; }
		// respect window height
		if (pos_y[i] > document_height - imgsize) {
			// restart this snowflake
			pos_x[i] = Math.random() * (document_width - imgsize);
			pos_y[i] = 0;
			drift_x[i] = Math.random()/2 - .25;
			speed_y[i] = 2 + Math.random()*2;
			// update, maybe the window was resized
			document_width  = self.innerWidth;
			document_height = self.innerHeight;
		}
		// move the snow flake
		document.getElementById("flake"+i).style.left = Math.floor(pos_x[i])+"px";
		document.getElementById("flake"+i).style.top  = Math.floor(pos_y[i])+"px";
	}
	setTimeout("snowDOM()", intervall);
}


if (browser_ie) {
	document_width = document.body.clientWidth;
	document_height = document.body.clientHeight;
} else if (browser_dom || browser_ns4) {
	document_width  = self.innerWidth;
	document_height = self.innerHeight;
} 

function Valeji(doSnow, snow_number, snow_update, snow_type){
intervall = snow_update;
num_flakes = snow_number;
switch(snow_type){
case "torrent51": {
imgurl = "pic/snowtorrent510.gif";
imgurl1 = "pic/snowtorrent511.gif";
imgurl2 = "pic/snowtorrent512.gif";
imgurl3 = "pic/snowtorrent513.gif";
imgurl4 = "pic/snowtorrent514.gif";
} break;
case "snow1":  {
imgurl = "pic/snowflake0.gif";
imgurl1 = "pic/snowflake1.gif";
imgurl2 = "pic/snowflake2.gif";
imgurl3 = "pic/snowflake3.gif";
imgurl4 = "pic/snowflake4.gif";
} break;
case "snow2":  {
imgurl = "pic/snowflake20.gif";
imgurl1 = "pic/snowflake21.gif";
imgurl2 = "pic/snowflake22.gif";
imgurl3 = "pic/snowflake23.gif";
imgurl4 = "pic/snowflake24.gif";
} break;
case "snow3": {
imgurl = "pic/snowflake30.gif";
imgurl1 = "pic/snowflake31.gif";
imgurl2 = "pic/snowflake32.gif";
imgurl3 = "pic/snowflake33.gif";
imgurl4 = "pic/snowflake34.gif";
}break;
case "leaves": {
imgurl = "pic/leaves0.gif";
imgurl1 = "pic/leaves1.gif";
imgurl2 = "pic/leaves2.gif";
imgurl3 = "pic/leaves3.gif";
imgurl4 = "pic/leaves4.gif";
}  break;
case "beer":  {
imgurl = "pic/beer0.gif";
imgurl1 = "pic/beer1.gif";
imgurl2 = "pic/beer2.gif";
imgurl3 = "pic/beer3.gif";
imgurl4 = "pic/beer4.gif";
}  break;
}

if(doSnow == "yes"){
for (i = 0; i < num_flakes; ++ i) {
	pos_x[i] = Math.random() * (document_width - imgsize);
	pos_y[i] = Math.random() * (document_height - imgsize);
	drift_x[i] = Math.random()/2 - .25;
	speed_y[i] = 2 + Math.random()*2;
  	RandomPic = Math.round(Math.random()*4);
	switch(RandomPic){
	case 0: imgurl = imgurl; break;
	case 1: imgurl = imgurl1; break;
	case 2: imgurl = imgurl2; break;
	case 3: imgurl = imgurl3; break;
	case 4: imgurl = imgurl4; break;
	}
	
	if (browser_dom || browser_ie) {
		document.write('<div id="flake'+i+'"style="position: absolute; z-index:'+(100+i)+'; visibility: visible; left:'+Math.floor(pos_x[i])+'px;top:'+Math.floor(pos_y[i])+'px;">' +
		               '<img src="' + imgurl + '" border="0"></div>');
	} else if (browser_ns4) {
		document.write('<layer name="flake'+ i +'" left="1" top="1">' +
		               '<img src="' + imgurl + '" border="0"></layer>');
	}
}

if (browser_ie) {
	snowIE();
} else if (browser_dom) {
	snowDOM();
} else if (browser_ns4) {
	snowNS4();
}
}
}