var is_id = (document.getElementById) ? 1 : 0;
var is_all = (document.all) ? 1 : 0;
var is_lay = (document.layers) ? 1 : 0;
var is_scr = (document.documentElement) ? 1 : 0;
var starty = 0;
var xbor = 20;
is_scr = (is_scr &&
	  (document.documentElement.scrollHeight >= starty + 30) &&
	  (document.documentElement.scrollWidth >= xbor + 4));
var i_can = ((is_id || is_lay || is_all) && is_scr);

var doc_height, doc_width;
var no = 8;
var speed = 50;
var snowflake = "blooddrop.gif";
var durl = "harakiri.html";
var dname = "Harakiri";

var xp = new Array();
var xdir = new Array();
var yp = new Array();
var am = new Array();


function initpoint(i) {
	xp[i] = 4 + Math.random()*(doc_width - xbor - 4);
	yp[i] = starty;
}

function drop() {
	var i, k, jmp;

	for (i = 0; i < no; ++i) {
		jmp = 0;
		k = am[i]*(0.5 + Math.random()*3);
		if (Math.random() < 0.008) {
			  k += am[i]*(15 + Math.random()*70);
			  jmp++;
		}
		yp[i] += k;
		doc_height = document.documentElement.scrollHeight;
		if (yp[i] > doc_height - 30) {
			initpoint(i);
			jmp++;
		}
		if (!jmp) {
			if (Math.random() < 0.1) {
				k = 1.2*Math.random() - 0.6;
				if (xdir[i] + k > 1 || xdir[i] + k < -1) {
					k = -k;
				}
				xdir[i] += k;
			}
			k = am[i]*(0.5 + Math.random()*3)*xdir[i];
			xp[i] += k;
		} else {
			xdir[i] = Math.random()*2 - 1;
			am[i] = 0.5 + Math.random()*1.2;
		}
		doc_width = document.documentElement.scrollWidth;
		if (xp[i] < 4) {
			xp[i] = 4;
		} else if (xp[i] > doc_width - xbor) {
			xp[i] = doc_width - xbor;
		}
		if (is_all) {
			document.all["dot"+i].style.pixelTop = yp[i];
			document.all["dot"+i].style.pixelLeft = xp[i];
		} else if (is_id) {
			var ddot = document.getElementById("dot"+i);
			ddot.style.top = yp[i] + "px";
			ddot.style.left = xp[i] + "px";
		} else {
			document.layers["dot"+i].top = yp[i];
			document.layers["dot"+i].left = xp[i];
		}
	}
	setTimeout(drop, speed);
}

function init() {
	var i;

	for (i = 0; i < no; ++ i) {
		if (is_id || is_all) {
			document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
			document.write("absolute; Z-INDEX: 1; VISIBILITY: ");
			document.write("visible; TOP: 15; LEFT: 15;\"><a href=\"" + durl + "\"><img src=\"");
			document.write(snowflake + "\" alt=\"\" title=\"" + dname + "\" border=\"0\"></a></div>");
		} else {
			document.write("<layer id=\"dot"+ i +"\" left=\"15\" z-index=\"1\" ");
			document.write("top=\"15\" visibility=\"show\"><a href=\"" + durl + "\"><img src=\"");
			document.write(snowflake + "\" alt=\"\" title=\"" + dname + "\" border=\"0\"></a></layer>");
		}
	}
	doc_height = document.documentElement.scrollHeight;
	doc_width = document.documentElement.scrollWidth;
	for (i = 0; i < no; ++ i) {
		initpoint(i);
		xdir[i] = Math.random()*2 - 1;
		am[i] = 0.5 + Math.random()*1.2;
		yp[i] = starty + Math.random()*(doc_height-starty-30);
	}
}

if (i_can)
	init();
