В хтмл-верх

Код:
<script language="JavaScript">
/*
Скрипт сердечек
*/

// Число  (больше 40 не рекомендую)
var snowmax=35

// Цвета для сердечек, добавлять сколько угодно;
var snowcolor=new Array("#FF3333","#FFFFFF","#FF0066","#FF33FF","#FFFFFF")

// Шрифт  (можете экспериментировать)
var snowtype=new Array("Times")

// Форма того что падает (на 14 февраля можно взять "♥","♀" или"♂" Увы, работает пока только с чем-то одним(( )
 var snowletter="♡"

// Скорость а (рекомендовано от 0.3 до 2)
var sinkspeed=0.3

// Максимальный размер 
var snowmaxsize=35

// Минимальный размер 
var snowminsize=10

// Зона 
//  1 для всех зон, 2 по левой стороне
// 3 для центра, 4 по правой стороне
var snowingzone=1

///////////////////////////////////////////////////////////////////////////
// Конец конфигурации
///////////////////////////////////////////////////////////////////////////


// Ниже ничего не трогать
var snow=new Array()
var marginbottom
var marginright
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(range) {
        rand=Math.floor(range*Math.random())
    return rand
}

function initsnow() {
        if (ie5 || opera) {
                marginbottom = document.body.scrollHeight
                marginright = document.body.clientWidth-15
        }
        else if (ns6) {
                marginbottom = document.body.scrollHeight
                marginright = window.innerWidth-15
        }
        var snowsizerange=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(snowsizerange)+snowminsize
                snow[i].style.fontSize=snow[i].size+'px';
                snow[i].style.color=snowcolor[randommaker(snowcolor.length)]
                snow[i].style.zIndex=1000
                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() {
        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=0
                }
        }
        var timer=setTimeout("movesnow()",50)
}

for (i=0;i<=snowmax;i++) {
        document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>")
}
if (browserok) {
        window.onload=initsnow
}
</script>

Автор: ruslan_as
В скрипте есть все пояснения, например...

// Число  (больше 40 не рекомендую)
var snowmax=35

Значение, выделенное красным, меняем на свое...

// Цвета для сердечек, добавлять сколько угодно;
var snowcolor=new Array("#FF3333","#FFFFFF","#FF0066","#FF33FF","#FFFFFF")

Свои цвета добавляем через запятую, в скобках ""
Таблица хтмл-цветов

// Скорость а (рекомендовано от 0.3 до 2)
var sinkspeed=0.3

Выделенное красным можно менять на свое