if( typeof( NumSnow ) != 'number' || Math.round( NumSnow ) != NumSnow || NumSnow < 1 ) { NumSnow = 10; }
for( var x = 0; x < NumSnow; x++ ) {
if( document.layers ) { 
document.write('<layer id="snowDiv'+x+'"><img src="'+imgSrc+'" height="'+PicY+'" width="'+PicX+'" alt="*" border="0"></layer>');
} else {
document.write('<div style="position:absolute;" id="snowDiv'+x+'"><img src="'+imgSrc+'" height="'+PicY+'" width="'+PicX+'" alt="*" border="0"></div>');
}
}
var xcoords = new Array(), ycoords = new Array(), snFlkTemp;
for( var x = 0; x < NumSnow; x++ ) {
xcoords[x] = ( x + 1 ) / ( NumSnow + 1 );
do { snFlkTemp = Math.round( ( NumSnow - 1 ) * Math.random() );
} while( typeof( ycoords[snFlkTemp] ) == 'number' );
ycoords[snFlkTemp] = x / NumSnow;
}
function flakeFall() {
if( !getRefToDivNest('snowDiv0') ) { return; }
var scrWidth = 0, scrHeight = 0, scrollHeight = 0, scrollWidth = 0;
if( typeof( window.innerWidth ) == 'number' ) { scrWidth = window.innerWidth; scrHeight = window.innerHeight; } else {
if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
scrWidth = document.documentElement.clientWidth; scrHeight = document.documentElement.clientHeight; } else {
if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
scrWidth = document.body.clientWidth; scrHeight = document.body.clientHeight; } } }
if( typeof( window.pageYOffset ) == 'number' ) { scrollHeight = pageYOffset; scrollWidth = pageXOffset; } else {
if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) { scrollHeight = document.body.scrollTop; scrollWidth = document.body.scrollLeft; } else {
if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) { scrollHeight = document.documentElement.scrollTop; scrollWidth = document.documentElement.scrollLeft; } }
}
for( var x = 0; x < NumSnow; x++ ) {
if( ycoords[x] * scrHeight > scrHeight - PicY ) { ycoords[x] = 0; }
var divRef = getRefToDivNest('snowDiv'+x); if( !divRef ) { return; }
if( divRef.style ) { divRef = divRef.style; }
divRef.top = Math.round( ycoords[x] * scrHeight ) + scrollHeight;
divRef.left = Math.round( ( ( xcoords[x] * scrWidth ) - ( PicX / 2 ) ) + ( ( scrWidth / ( ( NumSnow + 1 ) * 4 ) ) * ( Math.sin( driftRate * ycoords[x] ) - Math.sin( 3 * driftRate * ycoords[x] ) ) ) ) + scrollWidth;
ycoords[x] += fallRate;
}
}

function getRefToDivNest(divName) {
if( document.layers ) { return document.layers[divName]; } 
if( document[divName] ) { return document[divName]; } 
if( document.getElementById ) { return document.getElementById(divName); } 
if( document.all ) { return document.all[divName]; } 
return false;
}

window.setInterval('flakeFall();',100);