// Set the number of hearts
var heartmax=20;
var heartimage="<img src=\"../images/heart.gif\" />";

// Set the speed of sinking (recommended values range from 0.3 to 2)
var sinkspeed=0.6;
// Set the maximal-size of your heart
var heartmaxsize=40;
// Set the minimal-size of your heart
var heartminsize=20;
// Set the heart falling-zone
// Set 1 for all-over-hearting, set 2 for left-side-hearting
// Set 3 for center-hearting, set 4 for right-side-hearting
var heartingzone=1;

///////////////////////////////////////////////////////////////////////////
// CONFIGURATION ENDS HERE
///////////////////////////////////////////////////////////////////////////

var heart=new Array();
var marginbottom=null;
var marginright=null;
var timer=null;
var i_heart=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(range){
	rand=Math.floor(range*Math.random());
    return rand;
}

function initheart(){
	if (ie5 || opera) {
      marginbottom = document.body.clientHeight;
      marginright = document.body.clientWidth;
   }
   else if (ns6) {
      marginbottom = window.innerHeight;
      marginright = window.innerWidth;
   }
	var heartsizerange=heartmaxsize-heartminsize;
	for (i=0;i<=heartmax;i++) {
		crds[i] = 0;
    	lftrght[i] = Math.random()*15;
    	x_mv[i] = 0.03 + Math.random()/10;
		heart[i]=document.getElementById("s"+i);
		heart[i].size=randommaker(heartsizerange)+heartminsize;
		heart[i].style.fontSize=heart[i].size;
		heart[i].sink=sinkspeed*heart[i].size/5;
		if (heartingzone==1) {heart[i].posx=randommaker(marginright-heart[i].size);}
		if (heartingzone==2) {heart[i].posx=randommaker(marginright/2-heart[i].size);}
		if (heartingzone==3) {heart[i].posx=randommaker(marginright/2-heart[i].size)+marginright/4;}
		if (heartingzone==4) {heart[i].posx=randommaker(marginright/2-heart[i].size)+marginright/2;}
		heart[i].posy=randommaker(2*marginbottom-marginbottom-2*heart[i].size);
		heart[i].style.left=heart[i].posx+"px";
		heart[i].style.top=heart[i].posy+"px";
	}
	moveheart();
}

function moveheart() {
	for (i=0;i<=heartmax;i++) {
		crds[i] += x_mv[i];
		heart[i].posy+=heart[i].sink;
		heart[i].style.left=heart[i].posx+lftrght[i]*Math.sin(crds[i])+"px";
		heart[i].style.top=heart[i].posy+"px";

		if (heart[i].posy>=marginbottom-2*heart[i].size || parseInt(heart[i].style.left)>(marginright-3*lftrght[i])){
			if (heartingzone==1) {heart[i].posx=randommaker(marginright-heart[i].size);}
			if (heartingzone==2) {heart[i].posx=randommaker(marginright/2-heart[i].size);}
			if (heartingzone==3) {heart[i].posx=randommaker(marginright/2-heart[i].size)+marginright/4;}
			if (heartingzone==4) {heart[i].posx=randommaker(marginright/2-heart[i].size)+marginright/2;}
			heart[i].posy=0;
		}
	}
	var timer=setTimeout("moveheart()",50);
}

for (i=0;i<=heartmax;i++) {
	document.write("<span id='s"+i+"' style='position:absolute;top:-"+heartmaxsize+"px;'>"+heartimage+"</span>");
}
if (browserok) {
	window.onload=initheart;
}