SnowLib Manual

Enhancements: Added cross browser functionality
Converted Wind Controls to images to cut down on font problems
Added new button to Netscape controls to allow manual reset
Created lite version of library that contains just snow functionality
Purpose: Provide a quick way to add snow to a web page. It uses DHTML to create a layer encompassing the available width and height of the window. A number of layers are then created in this new layer which contain the actual snowflakes. These flakes are randomly placed along the top of the screen. Each flake is given a random delay before starting to fall as well as a random fall rate all lending to the illusion that it is snowing. To enhance the effect, snow will actually accumulate at the bottom of the screen. You can also provide the user controls to manipulate the effect such as wind direction, fall rate and the ability to plow the accumulation.
Usage: Add this library to your webpage using the following syntax: <SCRIPT LANGUAGE="JavaScript1.2" SRC="SnowLib_es.js"></SCRIPT> Add an OnLoad=setParams(); to the BODY tag of your HTML page. Also add the following layer tag to the HTML page you want it to snow on:

<DIV ID="snowlayer" STYLE="position:absolute; width:3; height:3; z-index:2; visibility:visible; top:0; left:0; "></DIV>

Copy the snow directory provided with this library into the same directory your html file is in. Feel free to replace the individual snow flake images with your own. There are also corresponding images for the wind control interface which can also be changed The constants at the top of this JavaScript can be altered to produce the desired effects.

Limitations: Width the release of NS4.5, The Netscape client no longer recognizes the OnResize event. To help with this problem a button was added to the wind controls to allow for manual resize.
Restrictions: This library is free for non-profit use as long as this header remains with the code. For all other uses, please contact the author at: eddiesoft@mtco.com.
Special Thanks:
Ron Stalter: Invaluable assistance in ALL aspects of web development
Rowland Nicholson: Invaluable <Layer> assistance
Derek Wickersham: Invaluable window sizing, <Layer> and <Div>assistance
Authors of Dynamic
HTML Unleashed:
DHTML reference
www.htmlguru.com: An invaluable resource for DHTML developers
Danny Goodman: JavaScript Bible & Dynamic HTML: The Definitive Reference author
Feedback: Any feedback would be greatly appreciated. Send these to eddiesoft@mtco.com
Configurable Parameters:
windControls: display wind controls
ctrlOffset: distance wind controls created from right edge of screen
flakeWidth: pixel width of snowflake images
flakeHeight: pixel height of snowflake images
numFlakeImgs: number of individual flake images
numFlakes: total number of flakes to use
baseHeight: size of snow base
peakHeight: height of snow peak image
accumulation: rate at which snow base grows
flakeAccum: number of flakes that must land for base to accumulate
fallRange: range limit for flake fall rate
delayRate: snow fall delay rate range
wind: wind direction neg left, 0 down, pos right
dropDelay: distance above screen for starting flake placement
timeOut: timer delay between flake updates
plowSize: width of plow blade
controlFontPt: wind control font size
speedMin: minimum wind speed allowed for controls
Standard Disclaimer: The software (SnowLib) is provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. The entire risk arising out of use or performance of the software remains with the user. In no event shall the author or any other party be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use the software even if the author has been advised of the possibility of such damages. The author expressly disclaims any liability for errors or omissions in the content of the software. The user accepts full responsibility for any damages, consequential or otherwise resulting from using the software.