ÿþ/ /  
 / /   C o p y r i g h t   ( C )   2 0 0 8   b y   F a b i a n   S c h l i e p e r  
 / /   S c h n e e   v 1 . 2  
 / /   h t t p : / / w w w . f a b i . m e /  
 / /   O h n e   d i e s e s   C o p y r i g h t   d a r f   d i e s e r   C o d e   n i c h t   v e r w e n d e t   w e r d e n !  
 / /  
  
 / /   d i e   I D   d e s   H T M L - E l e m e n t s ,   i n   d e m   e s   s c h n e i e n   s o l l  
 v a r   s n o w _ a r e a _ i d   =   ' w i n t e r ' ;  
  
 / /   m a x i m a l e   A n z a h l   d e r   s i c h t b a r e n   S c h n e e f l o c k e n  
 v a r   s n o w _ f l a k e _ c o u n t   =   3 5 0 ;  
  
 / /   d i e   v e r s c h i e d e n e n   F a r b e ,   d i e   d i e   S c h n e e f l o c k e n   h a b e n   s o l l e n  
 v a r   s n o w _ c o l o r s   =   n e w   A r r a y ( ' # F F F F F F ' , ' # E F E F E F ' , ' # E E E E E E ' , ' # F F F F F F ' , ' # F E F F F F ' ) ;  
  
 / /   d i e   S c h r i f t a r t e n ,   a u s   d e n e n   d i e   S c h n e e f l o c k e n   b e s t e h e n   s o l l e n  
 v a r   s n o w _ f o n t s     =   n e w   A r r a y ( ' A r i a l   B l a c k ' ,   ' A r i a l   N a r r o w ' ,   ' T i m e s ' ,   ' C o m i c   S a n s   M S ' ) ;  
  
 v a r   s n o w _ c h a r   =   ' Ï%' ; 	 	 / /   d a s   Z e i c h e n ,   d a s   a l s   S c h n e e f l o c k e   v e r w e n d e t   w i r d  
 v a r   s n o w _ g r a v i t y   =   0 . 8 ; 	 	 / /   w i e   s c h n e l l   d i e   S c h n e e f l o c k e n   f a l l e n  
 v a r   s n o w _ m a x _ s i z e   =   2 2 ; 	 	 / /   d i e   m a x i m a l e   S c h r i f t g r ö ß e   e i n e r   S c h n e e f l o c k e  
 v a r   s n o w _ m i n _ s i z e   =   1 0 ; 	 	 / /   d i e   m i n i m a l e   S c h r i f t g r ö ß e   e i n e r   S c h n e e f l o c k e  
  
 v a r   s n o w _ i n i t _ d e l a y   =   5 0 ; 	 / /   V e r z ö g e r u n g s z e i t   i n   M i l l i s e k u n d e n ,   b e v o r   e s   z u   s c h n e i e n   a n f ä n g t  
  
  
 / /   # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #  
 / /   H I E R   E N D E T   D I E   K O N F I G U R A T I O N .   Ä N D E R U N G E N   I M   F O L G E N D E N   S E T Z E N   J A V S C R I P T - K E N N T N I S S E   V O R A U S  
 / /   # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #  
  
 v a r   s n o w _ i n i t _ t i m e   =   0 ;  
 v a r   s n o w f l a k e s   =   n e w   A r r a y ( ) ;  
 v a r   s n o w _ a r e a _ e l   =   n u l l ;  
  
 f u n c t i o n   c r e a t e S n o w f l a k e s ( )  
 {  
 	 v a r   s t y l e   =   ' p o s i t i o n : a b s o l u t e ;   t o p : - '   +   s n o w _ m a x _ s i z e   +   ' p x ;   z - i n d e x : 9 9 ; ' ;  
 	 f o r   ( v a r   i   =   0 ;   i   < =   s n o w _ f l a k e _ c o u n t ;   i + + )  
 	 	 d o c u m e n t . w r i t e ( ' < s p '   +   ' a n   i d = " s n w f l k '   +   i   +   ' "   s t y l e = " '   +   s t y l e   +   ' " > '   +   s n o w _ c h a r   +   ' < / s p '   +   ' a n > ' ) ;  
 }  
  
 f u n c t i o n   r a n d I n t ( r a n g e )   {   r e t u r n   M a t h . f l o o r ( M a t h . r a n d o m ( )   *   r a n g e ) ;   }  
  
 f u n c t i o n   i n i t S n o w ( )  
 { 	  
 	 s n o w _ a r e a _ e l   =   d o c u m e n t . g e t E l e m e n t B y I d ( s n o w _ a r e a _ i d ) ;  
 	  
 	 / /   r e a p e a t   u n t i l   w e   h a v e   t h e   s n o w _ a r e a _ e l  
 	 i f ( ! s n o w _ a r e a _ e l   | |   s n o w _ a r e a _ e l . o f f s e t W i d t h   < =   s n o w _ m a x _ s i z e   | |   s n o w _ a r e a _ e l . o f f s e t H e i g h t   < =   s n o w _ m a x _ s i z e )   {  
 	 	 / /   a f t e r   5   s e c s   c a n c e l  
 	 	 i f ( s n o w _ i n i t _ t i m e   <   5 0 0 0 )  
 	 	 	 w i n d o w . s e t T i m e o u t ( ' i n i t S n o w ( ) ' ,   5 0 ) ;  
 	 	 	  
 	 	 s n o w _ i n i t _ t i m e   + =   5 0 ;  
 	 	 r e t u r n ;  
 	 }  
 	  
 	 / /   o f f e s t   f i x  
 	 s n o w _ a r e a _ e l . s t y l e . p o s i t i o n   =   ' r e l a t i v e ' ; 	  
 	 	 	  
 	 f o r   ( v a r   i   =   0 ;   i   < =   s n o w _ f l a k e _ c o u n t ;   i + + )  
 	 { 	  
 	 	 s n o w f l a k e s [ i ]   =   d o c u m e n t . g e t E l e m e n t B y I d ( ' s n w f l k '   +   i ) ;  
 	 	  
 	 	 s n o w f l a k e s [ i ] . s i z e   =   ( r a n d I n t ( s n o w _ m a x _ s i z e   -   s n o w _ m i n _ s i z e )   +   s n o w _ m i n _ s i z e ) ; 	 	  
 	 	 s n o w f l a k e s [ i ] . p o s x   =   - s n o w f l a k e s [ i ] . s i z e ;  
 	 	 s n o w f l a k e s [ i ] . p o s y   =   - s n o w f l a k e s [ i ] . s i z e ;  
 	 	 s n o w f l a k e s [ i ] . s i n k   =   ( s n o w _ g r a v i t y   *   s n o w f l a k e s [ i ] . s i z e   /   s n o w _ m i n _ s i z e ) ;  
 	 	 s n o w f l a k e s [ i ] . w o b a m p   =   ( M a t h . r a n d o m ( )   *   ( s n o w f l a k e s [ i ] . s i z e ) ) ;  
 	 	 s n o w f l a k e s [ i ] . w o b   =   0 . 0 ;  
 	 	 s n o w f l a k e s [ i ] . w o b s p e e d   =   ( 0 . 0 3   +   M a t h . r a n d o m ( )   /   1 0 . 0 ) ;  
 	 	  
 	 	 s n o w f l a k e s [ i ] . s t y l e . f o n t F a m i l y   =   s n o w _ f o n t s [ r a n d I n t ( s n o w _ f o n t s . l e n g t h ) ] ;  
 	 	 s n o w f l a k e s [ i ] . s t y l e . f o n t S i z e   =   s n o w f l a k e s [ i ] . s i z e   +   ' p x ' ;  
 	 	 s n o w f l a k e s [ i ] . s t y l e . c o l o r   =   s n o w _ c o l o r s [ r a n d I n t ( s n o w _ c o l o r s . l e n g t h ) ] ;  
 	 }  
 	  
 	 w i n d o w . s e t I n t e r v a l ( ' u p d a t e S n o w ( ) ' ,   5 0 ) ;  
 }  
  
 f u n c t i o n   u p d a t e S n o w ( )  
 {  
 	 v a r   b l   =   s n o w _ a r e a _ e l . o f f s e t L e f t ;  
 	 v a r   b t   =   s n o w _ a r e a _ e l . o f f s e t T o p ;  
 	 v a r   b w   =   s n o w _ a r e a _ e l . o f f s e t W i d t h ;  
 	 v a r   b h   =   s n o w _ a r e a _ e l . o f f s e t H e i g h t ; 	  
 	 v a r   b r   =   b l   +   b w ; 	  
 	 v a r   b b   =   b t   +   b h ; 	  
 	 	  
 	 f o r   ( v a r   i   =   0 ;   i   < =   s n o w _ f l a k e _ c o u n t ;   i + + )  
 	 {  
 	 	 s n o w f l a k e s [ i ] . w o b   + =   s n o w f l a k e s [ i ] . w o b s p e e d ;  
 	 	 v a r   x   =   s n o w f l a k e s [ i ] . p o s x   +   ( s n o w f l a k e s [ i ] . w o b a m p   *   M a t h . s i n ( s n o w f l a k e s [ i ] . w o b ) ) ; 	 	  
 	 	 s n o w f l a k e s [ i ] . p o s y   + =   s n o w f l a k e s [ i ] . s i n k ;  
 	 	  
 	 	 s n o w f l a k e s [ i ] . s t y l e . l e f t   =   M a t h . r o u n d ( x )   +   ' p x ' ;  
 	 	 s n o w f l a k e s [ i ] . s t y l e . t o p   =   M a t h . r o u n d ( s n o w f l a k e s [ i ] . p o s y )   +   ' p x ' ;  
 	 	  
 	 	 v a r   s   =   s n o w f l a k e s [ i ] . s i z e ; 	 	  
 	 	 / /   c h e c k   b o u n d s  
 	 	 i f   ( s n o w f l a k e s [ i ] . p o s y   >   ( b b   -   s )   | |   x   <   b l   | |   x     >   ( b r   -   s ) )  
 	 	 {  
 	 	 	 s n o w f l a k e s [ i ] . p o s x   =   b l   +   s   +   r a n d I n t ( b w   -   ( 3   *   s ) ) ;  
 	 	 	  
 	 	 	 i f ( s n o w f l a k e s [ i ] . p o s y   <   0 )  
 	 	 	 	 s n o w f l a k e s [ i ] . p o s y   =   b t   +   r a n d I n t ( b h   -   2   *   s ) ;  
 	 	 	 e l s e  
 	 	 	 	 s n o w f l a k e s [ i ] . p o s y   =   b t ;  
 	 	 }  
 	 }  
 }  
  
 / /   S c h n e e   i n i t i a l i s i e r e n  
 c r e a t e S n o w f l a k e s ( ) ;  
 w i n d o w . s e t T i m e o u t ( ' i n i t S n o w ( ) ' ,   M a t h . m a x ( 5 0 ,   s n o w _ i n i t _ d e l a y ) ) ; 
