ÿþ/ *     C o p y r i g h t   M i h a i   B a z o n ,   2 0 0 2 - 2 0 0 5     |     w w w . b a z o n . n e t / m i s h o o  
   *   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
   *  
   *   T h e   D H T M L   C a l e n d a r ,   v e r s i o n   1 . 0   " I t   i s   h a p p e n i n g   a g a i n "  
   *  
   *   D e t a i l s   a n d   l a t e s t   v e r s i o n   a t :  
   *   w w w . d y n a r c h . c o m / p r o j e c t s / c a l e n d a r  
   *  
   *   T h i s   s c r i p t   i s   d e v e l o p e d   b y   D y n a r c h . c o m .     V i s i t   u s   a t   w w w . d y n a r c h . c o m .  
   *  
   *   T h i s   s c r i p t   i s   d i s t r i b u t e d   u n d e r   t h e   G N U   L e s s e r   G e n e r a l   P u b l i c   L i c e n s e .  
   *   R e a d   t h e   e n t i r e   l i c e n s e   t e x t   h e r e :   h t t p : / / w w w . g n u . o r g / l i c e n s e s / l g p l . h t m l  
   * /  
  
 / /   $ I d :   c a l e n d a r . j s , v   1 . 5 1   2 0 0 5 / 0 3 / 0 7   1 6 : 4 4 : 3 1   m i s h o o   E x p   $  
  
  
 f u n c t i o n   A B C ( i d ) {  
 	         s h o w C a l e n d a r ( i d ,   " % d - % m - % Y " ,   " s t r i n g " ,   f a l s e ) ;  
 	         a l e r t ( _ d y n a r c h _ p o p u p C a l e n d a r . s e l . v a l u e ) ;  
 	         d o c u m e n t . g e t E l e m e n t B y I d ( i d ) . v a l u e = _ d y n a r c h _ p o p u p C a l e n d a r . s e l . v a l u e ; 	         	          
 	 }  
                 f u n c t i o n   s e l e c t e d ( c a l ,   d a t e )   {  
 	 	 	 c a l . s e l . v a l u e   =   d a t e ;    
 	 	 	  
 	 	 	 / / i f   ( c a l . d a t e C l i c k e d   & &   ( c a l . s e l . i d   = =   " d a t e F r o m "   | |   c a l . s e l . i d   = =   " d a t e T o "   | |  
 	 	 	 / /         c a l . s e l . i d   = =   " u p l F r o m "   | |   c a l . s e l . i d   = =   " u p l T o "   | |   c a l . s e l . i d   = =   " f o r m "   | |   c a l . s e l . i d   = =   " t o " ) )  
 	 	         / / c a l . c a l l C l o s e H a n d l e r ( ) ;  
 	 	 	 	 i f ( c a l . d a t e C l i c k e d )   c a l . c a l l C l o s e H a n d l e r ( ) ;  
 	 	 	 	 i f ( c a l . s e l . i d . t o L o w e r C a s e ( ) = = " f i l l t e r 1 _ t x t d a t e t o "   | |   c a l . s e l . i d . t o L o w e r C a s e ( ) = = " f i l l t e r 1 _ t x t d a t e f r o m " )  
 	 	 	 	 {  
 	 	 	 	         i f ( c a l . s e l . i d . t o L o w e r C a s e ( ) = = " f i l l t e r 1 _ t x t d a t e t o " )  
 	 	 	 	         {  
 	 	 	 	                 d o c u m e n t . g e t E l e m e n t B y I d ( " t x t h D t " ) . v a l u e = d o c u m e n t . g e t E l e m e n t B y I d ( c a l . s e l . i d ) . v a l u e ;  
 	 	 	 	         }  
 	 	 	 	         e l s e   i f ( c a l . s e l . i d . t o L o w e r C a s e ( ) = = " f i l l t e r 1 _ t x t d a t e f r o m " )  
 	 	 	 	         {  
 	 	 	 	                 d o c u m e n t . g e t E l e m e n t B y I d ( " t x t h D f " ) . v a l u e = d o c u m e n t . g e t E l e m e n t B y I d ( c a l . s e l . i d ) . v a l u e ;  
 	 	 	 	         } 	 	 	 	         	 	 	 	  
 	 	 	 	         v a r   s = d o c u m e n t . g e t E l e m e n t B y I d ( c a l . s e l . i d ) . v a l u e . s p l i t ( ' / ' ) ; 	 	 	 	          
 	 	 	 	         d o c u m e n t . g e t E l e m e n t B y I d ( c a l . s e l . i d ) . v a l u e =   " N g à y   " +   s [ 0 ] +   "   t h á n g   " +   s [ 1 ] ; 	 	 	 	            
 	 	 	 	 } 	 	 	 	 	 	 	 	  
 	 	 }  
 	 	  
                 f u n c t i o n   c l o s e H a n d l e r ( c a l )   {  
                  
 	 	 	 c a l . h i d e ( ) ; 	 	 	 	  
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r   =   n u l l ;  
 	 	  
 	 	 }  
  
                 / *  
                         S h o w   t i m e r  
                 * /  
 	 	 f u n c t i o n   s h o w T i m e r ( i d ,   f o r m a t ,   s h o w s T i m e ,   s h o w s O t h e r M o n t h s )   {  
 	 	 	 v a r   e l   =   d o c u m e n t . g e t E l e m e n t B y I d ( i d ) ;  
 	 	 	 i f   ( _ d y n a r c h _ p o p u p C a l e n d a r   ! =   n u l l )   {  
 	 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . h i d e ( ) ;  
 	 	 	 }   e l s e   {  
 	 	 	 	 v a r   c a l   =   n e w   C a l e n d a r ( 1 ,   n u l l ,   s e l e c t e d ,   c l o s e H a n d l e r ) ;  
 	 	 	 	 i f   ( t y p e o f   s h o w s T i m e   = =   " s t r i n g " )   {  
 	 	 	 	 c a l . s h o w s T i m e   =   t r u e ;  
 	 	 	 	 c a l . t i m e 2 4   =   ( s h o w s T i m e   = =   " 2 4 " ) ;  
 	 	 	 	 }  
 	 	 	 	 i f   ( s h o w s O t h e r M o n t h s )   {  
 	 	 	 	 c a l . s h o w s O t h e r M o n t h s   =   t r u e ;  
 	 	 	 	 }  
 	 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r   =   c a l ;    
 	 	 	 	 c a l . s e t R a n g e ( 1 9 0 0 ,   2 0 7 0 ) ;  
 	 	 	 	 c a l . c r e a t e ( ) ;  
 	 	 	 	  
 	 	 	 }  
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . s e t D a t e F o r m a t ( f o r m a t ) ;  
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . p a r s e D a t e ( e l . v a l u e ) ;  
 	 	 	  
 	 	 	  
 	 	 	  
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . s e l   =   e l ;  
  
                              
 	 	 	 / / _ d y n a r c h _ p o p u p C a l e n d a r . s h o w A t E l e m e n t ( e l ,   " B r " ) ;  
  
 	 	 	 r e t u r n   f a l s e ;  
 	 	 } / / o n l o a d = " s t a r t R e f r e s h ( ) ; "  
 	 	  
                 / *  
                         S h o w   c a l e n d a r  
                 * /  
                  
 	 	 f u n c t i o n   s h o w C a l e n d a r ( i d ,   f o r m a t ,   s h o w s T i m e ,   s h o w s O t h e r M o n t h s )   { 	 	  
 	 	 	 v a r   e l   =   d o c u m e n t . g e t E l e m e n t B y I d ( i d ) ;  
 	 	 	 i f   ( _ d y n a r c h _ p o p u p C a l e n d a r   ! =   n u l l )   {  
 	 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . h i d e ( ) ;  
 	 	 	 }   e l s e   {  
 	 	 	 	 v a r   c a l   =   n e w   C a l e n d a r ( 1 ,   n u l l ,   s e l e c t e d ,   c l o s e H a n d l e r ) ;  
 	 	 	 	 i f   ( t y p e o f   s h o w s T i m e   = =   " s t r i n g " )   {  
 	 	 	 	 c a l . s h o w s T i m e   =   t r u e ;  
 	 	 	 	 c a l . t i m e 2 4   =   ( s h o w s T i m e   = =   " 2 4 " ) ;  
 	 	 	 	 }  
 	 	 	 	 i f   ( s h o w s O t h e r M o n t h s )   {  
 	 	 	 	 c a l . s h o w s O t h e r M o n t h s   =   t r u e ; 	 	 	 	  
 	 	 	 	 }  
 	 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r   =   c a l ;    
 	 	 	 	 c a l . s e t R a n g e ( 1 9 0 0 ,   2 0 7 0 ) ;  
 	 	 	 	 c a l . c r e a t e ( ) ; 	 	 	 	 	 	 	  
 	 	 	 }  
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . s e t D a t e F o r m a t ( f o r m a t ) ;  
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . p a r s e D a t e ( e l . v a l u e ) ;  
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . s e l   =   e l ;                          
 	 	 	 _ d y n a r c h _ p o p u p C a l e n d a r . s h o w A t E l e m e n t ( e l ,   " B r " ) ;  
  
 	 	 	 r e t u r n   f a l s e ;  
 	 	 } / / o n l o a d = " s t a r t R e f r e s h ( ) ; "  
 	 	  
 / * *   T h e   C a l e n d a r   o b j e c t   c o n s t r u c t o r .   * /  
 C a l e n d a r   =   f u n c t i o n   ( f i r s t D a y O f W e e k ,   d a t e S t r ,   o n S e l e c t e d ,   o n C l o s e )   {  
 	 / /   m e m b e r   v a r i a b l e s  
 	 t h i s . a c t i v e D i v   =   n u l l ;  
 	 t h i s . c u r r e n t D a t e E l   =   n u l l ;  
 	 t h i s . g e t D a t e S t a t u s   =   n u l l ;  
 	 t h i s . g e t D a t e T o o l T i p   =   n u l l ;  
 	 t h i s . g e t D a t e T e x t   =   n u l l ;  
 	 t h i s . t i m e o u t   =   n u l l ;  
 	 t h i s . o n S e l e c t e d   =   o n S e l e c t e d   | |   n u l l ;  
 	 t h i s . o n C l o s e   =   o n C l o s e   | |   n u l l ;  
 	 t h i s . d r a g g i n g   =   f a l s e ;  
 	 t h i s . h i d d e n   =   f a l s e ;  
 	 t h i s . m i n Y e a r   =   1 9 7 0 ;  
 	 t h i s . m a x Y e a r   =   2 0 5 0 ;  
 	 t h i s . d a t e F o r m a t   =   C a l e n d a r . _ T T [ " D E F _ D A T E _ F O R M A T " ] ;  
 	 t h i s . t t D a t e F o r m a t   =   C a l e n d a r . _ T T [ " T T _ D A T E _ F O R M A T " ] ;  
 	 t h i s . i s P o p u p   =   t r u e ;  
 	 t h i s . w e e k N u m b e r s   =   t r u e ;  
 	 t h i s . f i r s t D a y O f W e e k   =   t y p e o f   f i r s t D a y O f W e e k   = =   " n u m b e r "   ?   f i r s t D a y O f W e e k   :   C a l e n d a r . _ F D ;   / /   0   f o r   S u n d a y ,   1   f o r   M o n d a y ,   e t c .  
 	 t h i s . s h o w s O t h e r M o n t h s   =   f a l s e ;  
 	 t h i s . d a t e S t r   =   d a t e S t r ;  
 	 t h i s . a r _ d a y s   =   n u l l ;  
 	 t h i s . s h o w s T i m e   =   f a l s e ;  
 	 t h i s . t i m e 2 4   =   t r u e ;  
 	 t h i s . y e a r S t e p   =   4 ;  
 	 t h i s . h i l i t e T o d a y   =   t r u e ;  
 	 t h i s . m u l t i p l e   =   n u l l ;  
 	 / /   H T M L   e l e m e n t s  
 	 t h i s . t a b l e   =   n u l l ;  
 	 t h i s . e l e m e n t   =   n u l l ;  
 	 t h i s . t b o d y   =   n u l l ;  
 	 t h i s . f i r s t d a y n a m e   =   n u l l ;  
 	 / /   C o m b o   b o x e s  
 	 t h i s . m o n t h s C o m b o   =   n u l l ;  
 	 t h i s . y e a r s C o m b o   =   n u l l ;  
 	 t h i s . h i l i t e d M o n t h   =   n u l l ;  
 	 t h i s . a c t i v e M o n t h   =   n u l l ;  
 	 t h i s . h i l i t e d Y e a r   =   n u l l ;  
 	 t h i s . a c t i v e Y e a r   =   n u l l ;  
 	 / /   I n f o r m a t i o n  
 	 t h i s . d a t e C l i c k e d   =   f a l s e ;  
  
 	 / /   o n e - t i m e   i n i t i a l i z a t i o n s  
 	 i f   ( t y p e o f   C a l e n d a r . _ S D N   = =   " u n d e f i n e d " )   {  
 	 	 / /   t a b l e   o f   s h o r t   d a y   n a m e s  
 	 	 i f   ( t y p e o f   C a l e n d a r . _ S D N _ l e n   = =   " u n d e f i n e d " )  
 	 	 	 C a l e n d a r . _ S D N _ l e n   =   3 ;  
 	 	 v a r   a r   =   n e w   A r r a y ( ) ;  
 	 	 f o r   ( v a r   i   =   8 ;   i   >   0 ; )   {  
 	 	 	 a r [ - - i ]   =   C a l e n d a r . _ D N [ i ] . s u b s t r ( 0 ,   C a l e n d a r . _ S D N _ l e n ) ;  
 	 	 }  
 	 	 C a l e n d a r . _ S D N   =   a r ;  
 	 	 / /   t a b l e   o f   s h o r t   m o n t h   n a m e s  
 	 	 i f   ( t y p e o f   C a l e n d a r . _ S M N _ l e n   = =   " u n d e f i n e d " )  
 	 	 	 C a l e n d a r . _ S M N _ l e n   =   3 ;  
 	 	 a r   =   n e w   A r r a y ( ) ;  
 	 	 f o r   ( v a r   i   =   1 2 ;   i   >   0 ; )   {  
 	 	 	 a r [ - - i ]   =   C a l e n d a r . _ M N [ i ] . s u b s t r ( 0 ,   C a l e n d a r . _ S M N _ l e n ) ;  
 	 	 }  
 	 	 C a l e n d a r . _ S M N   =   a r ;  
 	 }  
 } ;  
  
 / /   * *   c o n s t a n t s  
  
 / / /   " s t a t i c " ,   n e e d e d   f o r   e v e n t   h a n d l e r s .  
 C a l e n d a r . _ C   =   n u l l ;  
  
 / / /   d e t e c t   a   s p e c i a l   c a s e   o f   " w e b   b r o w s e r "  
 C a l e n d a r . i s _ i e   =   (   / m s i e / i . t e s t ( n a v i g a t o r . u s e r A g e n t )   & &  
 	 	       ! / o p e r a / i . t e s t ( n a v i g a t o r . u s e r A g e n t )   ) ;  
  
 C a l e n d a r . i s _ i e 5   =   (   C a l e n d a r . i s _ i e   & &   / m s i e   5 \ . 0 / i . t e s t ( n a v i g a t o r . u s e r A g e n t )   ) ;  
  
 / / /   d e t e c t   O p e r a   b r o w s e r  
 C a l e n d a r . i s _ o p e r a   =   / o p e r a / i . t e s t ( n a v i g a t o r . u s e r A g e n t ) ;  
  
 / / /   d e t e c t   K H T M L - b a s e d   b r o w s e r s  
 C a l e n d a r . i s _ k h t m l   =   / K o n q u e r o r | S a f a r i | K H T M L / i . t e s t ( n a v i g a t o r . u s e r A g e n t ) ;  
  
 / /   B E G I N :   U T I L I T Y   F U N C T I O N S ;   b e w a r e   t h a t   t h e s e   m i g h t   b e   m o v e d   i n t o   a   s e p a r a t e  
 / /                 l i b r a r y ,   a t   s o m e   p o i n t .  
  
 C a l e n d a r . g e t A b s o l u t e P o s   =   f u n c t i o n ( e l )   {  
 	 v a r   S L   =   0 ,   S T   =   0 ;  
 	 v a r   i s _ d i v   =   / ^ d i v $ / i . t e s t ( e l . t a g N a m e ) ;  
 	 i f   ( i s _ d i v   & &   e l . s c r o l l L e f t )  
 	 	 S L   =   e l . s c r o l l L e f t ;  
 	 i f   ( i s _ d i v   & &   e l . s c r o l l T o p )  
 	 	 S T   =   e l . s c r o l l T o p ;  
 	 v a r   r   =   {   x :   e l . o f f s e t L e f t   -   S L ,   y :   e l . o f f s e t T o p   -   S T   } ;  
 	 i f   ( e l . o f f s e t P a r e n t )   {  
 	 	 v a r   t m p   =   t h i s . g e t A b s o l u t e P o s ( e l . o f f s e t P a r e n t ) ;  
 	 	 r . x   + =   t m p . x ;  
 	 	 r . y   + =   t m p . y ;  
 	 }  
 	 r e t u r n   r ;  
 } ;  
  
 C a l e n d a r . i s R e l a t e d   =   f u n c t i o n   ( e l ,   e v t )   {  
 	 v a r   r e l a t e d   =   e v t . r e l a t e d T a r g e t ;  
 	 i f   ( ! r e l a t e d )   {  
 	 	 v a r   t y p e   =   e v t . t y p e ;  
 	 	 i f   ( t y p e   = =   " m o u s e o v e r " )   {  
 	 	 	 r e l a t e d   =   e v t . f r o m E l e m e n t ;  
 	 	 }   e l s e   i f   ( t y p e   = =   " m o u s e o u t " )   {  
 	 	 	 r e l a t e d   =   e v t . t o E l e m e n t ;  
 	 	 }  
 	 }  
 	 w h i l e   ( r e l a t e d )   {  
 	 	 i f   ( r e l a t e d   = =   e l )   {  
 	 	 	 r e t u r n   t r u e ;  
 	 	 }  
 	 	 r e l a t e d   =   r e l a t e d . p a r e n t N o d e ;  
 	 }  
 	 r e t u r n   f a l s e ;  
 } ;  
  
 C a l e n d a r . r e m o v e C l a s s   =   f u n c t i o n ( e l ,   c l a s s N a m e )   {  
 	 i f   ( ! ( e l   & &   e l . c l a s s N a m e ) )   {  
 	 	 r e t u r n ;  
 	 }  
 	 v a r   c l s   =   e l . c l a s s N a m e . s p l i t ( "   " ) ;  
 	 v a r   a r   =   n e w   A r r a y ( ) ;  
 	 f o r   ( v a r   i   =   c l s . l e n g t h ;   i   >   0 ; )   {  
 	 	 i f   ( c l s [ - - i ]   ! =   c l a s s N a m e )   {  
 	 	 	 a r [ a r . l e n g t h ]   =   c l s [ i ] ;  
 	 	 }  
 	 }  
 	 e l . c l a s s N a m e   =   a r . j o i n ( "   " ) ;  
 } ;  
  
 C a l e n d a r . a d d C l a s s   =   f u n c t i o n ( e l ,   c l a s s N a m e )   {  
 	 C a l e n d a r . r e m o v e C l a s s ( e l ,   c l a s s N a m e ) ;  
 	 e l . c l a s s N a m e   + =   "   "   +   c l a s s N a m e ;  
 } ;  
  
 / /   F I X M E :   t h e   f o l l o w i n g   2   f u n c t i o n s   t o t a l l y   s u c k ,   a r e   u s e l e s s   a n d   s h o u l d   b e   r e p l a c e d   i m m e d i a t e l y .  
 C a l e n d a r . g e t E l e m e n t   =   f u n c t i o n ( e v )   {  
 	 v a r   f   =   C a l e n d a r . i s _ i e   ?   w i n d o w . e v e n t . s r c E l e m e n t   :   e v . c u r r e n t T a r g e t ;  
 	 w h i l e   ( f . n o d e T y p e   ! =   1   | |   / ^ d i v $ / i . t e s t ( f . t a g N a m e ) )  
 	 	 f   =   f . p a r e n t N o d e ;  
 	 r e t u r n   f ;  
 } ;  
  
 C a l e n d a r . g e t T a r g e t E l e m e n t   =   f u n c t i o n ( e v )   {  
 	 v a r   f   =   C a l e n d a r . i s _ i e   ?   w i n d o w . e v e n t . s r c E l e m e n t   :   e v . t a r g e t ;  
 	 w h i l e   ( f . n o d e T y p e   ! =   1 )  
 	 	 f   =   f . p a r e n t N o d e ;  
 	 r e t u r n   f ;  
 } ;  
  
 C a l e n d a r . s t o p E v e n t   =   f u n c t i o n ( e v )   {  
 	 e v   | |   ( e v   =   w i n d o w . e v e n t ) ;  
 	 i f   ( C a l e n d a r . i s _ i e )   {  
 	 	 e v . c a n c e l B u b b l e   =   t r u e ;  
 	 	 e v . r e t u r n V a l u e   =   f a l s e ;  
 	 }   e l s e   {  
 	 	 e v . p r e v e n t D e f a u l t ( ) ;  
 	 	 e v . s t o p P r o p a g a t i o n ( ) ;  
 	 }  
 	 r e t u r n   f a l s e ;  
 } ;  
  
 C a l e n d a r . a d d E v e n t   =   f u n c t i o n ( e l ,   e v n a m e ,   f u n c )   {  
 	 i f   ( e l . a t t a c h E v e n t )   {   / /   I E  
 	 	 e l . a t t a c h E v e n t ( " o n "   +   e v n a m e ,   f u n c ) ;  
 	 }   e l s e   i f   ( e l . a d d E v e n t L i s t e n e r )   {   / /   G e c k o   /   W 3 C  
 	 	 e l . a d d E v e n t L i s t e n e r ( e v n a m e ,   f u n c ,   t r u e ) ;  
 	 }   e l s e   {  
 	 	 e l [ " o n "   +   e v n a m e ]   =   f u n c ;  
 	 }  
 } ;  
  
 C a l e n d a r . r e m o v e E v e n t   =   f u n c t i o n ( e l ,   e v n a m e ,   f u n c )   {  
 	 i f   ( e l . d e t a c h E v e n t )   {   / /   I E  
 	 	 e l . d e t a c h E v e n t ( " o n "   +   e v n a m e ,   f u n c ) ;  
 	 }   e l s e   i f   ( e l . r e m o v e E v e n t L i s t e n e r )   {   / /   G e c k o   /   W 3 C  
 	 	 e l . r e m o v e E v e n t L i s t e n e r ( e v n a m e ,   f u n c ,   t r u e ) ;  
 	 }   e l s e   {  
 	 	 e l [ " o n "   +   e v n a m e ]   =   n u l l ;  
 	 }  
 } ;  
  
 C a l e n d a r . c r e a t e E l e m e n t   =   f u n c t i o n ( t y p e ,   p a r e n t )   {  
 	 v a r   e l   =   n u l l ;  
 	 i f   ( d o c u m e n t . c r e a t e E l e m e n t N S )   {  
 	 	 / /   u s e   t h e   X H T M L   n a m e s p a c e ;   I E   w o n ' t   n o r m a l l y   g e t   h e r e   u n l e s s  
 	 	 / /   _ t h e y _   " f i x "   t h e   D O M 2   i m p l e m e n t a t i o n .  
 	 	 e l   =   d o c u m e n t . c r e a t e E l e m e n t N S ( " h t t p : / / w w w . w 3 . o r g / 1 9 9 9 / x h t m l " ,   t y p e ) ;  
 	 }   e l s e   {  
 	 	 e l   =   d o c u m e n t . c r e a t e E l e m e n t ( t y p e ) ;  
 	 }  
 	 i f   ( t y p e o f   p a r e n t   ! =   " u n d e f i n e d " )   {  
 	 	 p a r e n t . a p p e n d C h i l d ( e l ) ;  
 	 }  
 	 r e t u r n   e l ;  
 } ;  
  
 / /   E N D :   U T I L I T Y   F U N C T I O N S  
  
 / /   B E G I N :   C A L E N D A R   S T A T I C   F U N C T I O N S  
  
 / * *   I n t e r n a l   - -   a d d s   a   s e t   o f   e v e n t s   t o   m a k e   s o m e   e l e m e n t   b e h a v e   l i k e   a   b u t t o n .   * /  
 C a l e n d a r . _ a d d _ e v s   =   f u n c t i o n ( e l )   {  
 	 w i t h   ( C a l e n d a r )   {  
 	 	 a d d E v e n t ( e l ,   " m o u s e o v e r " ,   d a y M o u s e O v e r ) ;  
 	 	 a d d E v e n t ( e l ,   " m o u s e d o w n " ,   d a y M o u s e D o w n ) ;  
 	 	 a d d E v e n t ( e l ,   " m o u s e o u t " ,   d a y M o u s e O u t ) ;  
 	 	 i f   ( i s _ i e )   {  
 	 	 	 a d d E v e n t ( e l ,   " d b l c l i c k " ,   d a y M o u s e D b l C l i c k ) ;  
 	 	 	 e l . s e t A t t r i b u t e ( " u n s e l e c t a b l e " ,   t r u e ) ;  
 	 	 }  
 	 }  
 } ;  
  
 C a l e n d a r . f i n d M o n t h   =   f u n c t i o n ( e l )   {  
 	 i f   ( t y p e o f   e l . m o n t h   ! =   " u n d e f i n e d " )   {  
 	 	 r e t u r n   e l ;  
 	 }   e l s e   i f   ( t y p e o f   e l . p a r e n t N o d e . m o n t h   ! =   " u n d e f i n e d " )   {  
 	 	 r e t u r n   e l . p a r e n t N o d e ;  
 	 }  
 	 r e t u r n   n u l l ;  
 } ;  
  
 C a l e n d a r . f i n d Y e a r   =   f u n c t i o n ( e l )   {  
 	 i f   ( t y p e o f   e l . y e a r   ! =   " u n d e f i n e d " )   {  
 	 	 r e t u r n   e l ;  
 	 }   e l s e   i f   ( t y p e o f   e l . p a r e n t N o d e . y e a r   ! =   " u n d e f i n e d " )   {  
 	 	 r e t u r n   e l . p a r e n t N o d e ;  
 	 }  
 	 r e t u r n   n u l l ;  
 } ;  
  
 C a l e n d a r . s h o w M o n t h s C o m b o   =   f u n c t i o n   ( )   {  
 	 v a r   c a l   =   C a l e n d a r . _ C ;  
 	 i f   ( ! c a l )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 v a r   c a l   =   c a l ;  
 	 v a r   c d   =   c a l . a c t i v e D i v ;  
 	 v a r   m c   =   c a l . m o n t h s C o m b o ;  
 	 i f   ( c a l . h i l i t e d M o n t h )   {  
 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d M o n t h ,   " h i l i t e " ) ;  
 	 }  
 	 i f   ( c a l . a c t i v e M o n t h )   {  
 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . a c t i v e M o n t h ,   " a c t i v e " ) ;  
 	 }  
 	 v a r   m o n   =   c a l . m o n t h s C o m b o . g e t E l e m e n t s B y T a g N a m e ( " d i v " ) [ c a l . d a t e . g e t M o n t h ( ) ] ;  
 	 C a l e n d a r . a d d C l a s s ( m o n ,   " a c t i v e " ) ;  
 	 c a l . a c t i v e M o n t h   =   m o n ;  
 	 v a r   s   =   m c . s t y l e ;  
 	 s . d i s p l a y   =   " b l o c k " ;  
 	 i f   ( c d . n a v t y p e   <   0 )  
 	 	 s . l e f t   =   c d . o f f s e t L e f t   +   " p x " ;  
 	 e l s e   {  
 	 	 v a r   m c w   =   m c . o f f s e t W i d t h ;  
 	 	 i f   ( t y p e o f   m c w   = =   " u n d e f i n e d " )  
 	 	 	 / /   K o n q u e r o r   b r a i n - d e a d   t e c h n i q u e s  
 	 	 	 m c w   =   5 0 ;  
 	 	 s . l e f t   =   ( c d . o f f s e t L e f t   +   c d . o f f s e t W i d t h   -   m c w )   +   " p x " ;  
 	 }  
 	 s . t o p   =   ( c d . o f f s e t T o p   +   c d . o f f s e t H e i g h t )   +   " p x " ;  
 } ;  
  
 C a l e n d a r . s h o w Y e a r s C o m b o   =   f u n c t i o n   ( f w d )   {  
 	 v a r   c a l   =   C a l e n d a r . _ C ;  
 	 i f   ( ! c a l )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 v a r   c a l   =   c a l ;  
 	 v a r   c d   =   c a l . a c t i v e D i v ;  
 	 v a r   y c   =   c a l . y e a r s C o m b o ;  
 	 i f   ( c a l . h i l i t e d Y e a r )   {  
 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d Y e a r ,   " h i l i t e " ) ;  
 	 }  
 	 i f   ( c a l . a c t i v e Y e a r )   {  
 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . a c t i v e Y e a r ,   " a c t i v e " ) ;  
 	 }  
 	 c a l . a c t i v e Y e a r   =   n u l l ;  
 	 v a r   Y   =   c a l . d a t e . g e t F u l l Y e a r ( )   +   ( f w d   ?   1   :   - 1 ) ;  
 	 v a r   y r   =   y c . f i r s t C h i l d ;  
 	 v a r   s h o w   =   f a l s e ;  
 	 f o r   ( v a r   i   =   1 2 ;   i   >   0 ;   - - i )   {  
 	 	 i f   ( Y   > =   c a l . m i n Y e a r   & &   Y   < =   c a l . m a x Y e a r )   {  
 	 	 	 y r . i n n e r H T M L   =   Y ;  
 	 	 	 y r . y e a r   =   Y ;  
 	 	 	 y r . s t y l e . d i s p l a y   =   " b l o c k " ;  
 	 	 	 s h o w   =   t r u e ;  
 	 	 }   e l s e   {  
 	 	 	 y r . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 	 }  
 	 	 y r   =   y r . n e x t S i b l i n g ;  
 	 	 Y   + =   f w d   ?   c a l . y e a r S t e p   :   - c a l . y e a r S t e p ;  
 	 }  
 	 i f   ( s h o w )   {  
 	 	 v a r   s   =   y c . s t y l e ;  
 	 	 s . d i s p l a y   =   " b l o c k " ;  
 	 	 i f   ( c d . n a v t y p e   <   0 )  
 	 	 	 s . l e f t   =   c d . o f f s e t L e f t   +   " p x " ;  
 	 	 e l s e   {  
 	 	 	 v a r   y c w   =   y c . o f f s e t W i d t h ;  
 	 	 	 i f   ( t y p e o f   y c w   = =   " u n d e f i n e d " )  
 	 	 	 	 / /   K o n q u e r o r   b r a i n - d e a d   t e c h n i q u e s  
 	 	 	 	 y c w   =   5 0 ;  
 	 	 	 s . l e f t   =   ( c d . o f f s e t L e f t   +   c d . o f f s e t W i d t h   -   y c w )   +   " p x " ;  
 	 	 }  
 	 	 s . t o p   =   ( c d . o f f s e t T o p   +   c d . o f f s e t H e i g h t )   +   " p x " ;  
 	 }  
 } ;  
  
 / /   e v e n t   h a n d l e r s  
  
 C a l e n d a r . t a b l e M o u s e U p   =   f u n c t i o n ( e v )   {  
 	 v a r   c a l   =   C a l e n d a r . _ C ;  
 	 i f   ( ! c a l )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 i f   ( c a l . t i m e o u t )   {  
 	 	 c l e a r T i m e o u t ( c a l . t i m e o u t ) ;  
 	 }  
 	 v a r   e l   =   c a l . a c t i v e D i v ;  
 	 i f   ( ! e l )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 v a r   t a r g e t   =   C a l e n d a r . g e t T a r g e t E l e m e n t ( e v ) ;  
 	 e v   | |   ( e v   =   w i n d o w . e v e n t ) ;  
 	 C a l e n d a r . r e m o v e C l a s s ( e l ,   " a c t i v e " ) ;  
 	 i f   ( t a r g e t   = =   e l   | |   t a r g e t . p a r e n t N o d e   = =   e l )   {  
 	 	 C a l e n d a r . c e l l C l i c k ( e l ,   e v ) ;  
 	 }  
 	 v a r   m o n   =   C a l e n d a r . f i n d M o n t h ( t a r g e t ) ;  
 	 v a r   d a t e   =   n u l l ;  
 	 i f   ( m o n )   {  
 	 	 d a t e   =   n e w   D a t e ( c a l . d a t e ) ;  
 	 	 i f   ( m o n . m o n t h   ! =   d a t e . g e t M o n t h ( ) )   {  
 	 	 	 d a t e . s e t M o n t h ( m o n . m o n t h ) ;  
 	 	 	 c a l . s e t D a t e ( d a t e ) ;  
 	 	 	 c a l . d a t e C l i c k e d   =   f a l s e ;  
 	 	 	 c a l . c a l l H a n d l e r ( ) ;  
 	 	 }  
 	 }   e l s e   {  
 	 	 v a r   y e a r   =   C a l e n d a r . f i n d Y e a r ( t a r g e t ) ;  
 	 	 i f   ( y e a r )   {  
 	 	 	 d a t e   =   n e w   D a t e ( c a l . d a t e ) ;  
 	 	 	 i f   ( y e a r . y e a r   ! =   d a t e . g e t F u l l Y e a r ( ) )   {  
 	 	 	 	 d a t e . s e t F u l l Y e a r ( y e a r . y e a r ) ;  
 	 	 	 	 c a l . s e t D a t e ( d a t e ) ;  
 	 	 	 	 c a l . d a t e C l i c k e d   =   f a l s e ;  
 	 	 	 	 c a l . c a l l H a n d l e r ( ) ;  
 	 	 	 }  
 	 	 }  
 	 }  
 	 w i t h   ( C a l e n d a r )   {  
 	 	 r e m o v e E v e n t ( d o c u m e n t ,   " m o u s e u p " ,   t a b l e M o u s e U p ) ;  
 	 	 r e m o v e E v e n t ( d o c u m e n t ,   " m o u s e o v e r " ,   t a b l e M o u s e O v e r ) ;  
 	 	 r e m o v e E v e n t ( d o c u m e n t ,   " m o u s e m o v e " ,   t a b l e M o u s e O v e r ) ;  
 	 	 c a l . _ h i d e C o m b o s ( ) ;  
 	 	 _ C   =   n u l l ;  
 	 	 r e t u r n   s t o p E v e n t ( e v ) ;  
 	 }  
 } ;  
  
 C a l e n d a r . t a b l e M o u s e O v e r   =   f u n c t i o n   ( e v )   {  
 	 v a r   c a l   =   C a l e n d a r . _ C ;  
 	 i f   ( ! c a l )   {  
 	 	 r e t u r n ;  
 	 }  
 	 v a r   e l   =   c a l . a c t i v e D i v ;  
 	 v a r   t a r g e t   =   C a l e n d a r . g e t T a r g e t E l e m e n t ( e v ) ;  
 	 i f   ( t a r g e t   = =   e l   | |   t a r g e t . p a r e n t N o d e   = =   e l )   {  
 	 	 C a l e n d a r . a d d C l a s s ( e l ,   " h i l i t e   a c t i v e " ) ;  
 	 	 C a l e n d a r . a d d C l a s s ( e l . p a r e n t N o d e ,   " r o w h i l i t e " ) ;  
 	 }   e l s e   {  
 	 	 i f   ( t y p e o f   e l . n a v t y p e   = =   " u n d e f i n e d "   | |   ( e l . n a v t y p e   ! =   5 0   & &   ( e l . n a v t y p e   = =   0   | |   M a t h . a b s ( e l . n a v t y p e )   >   2 ) ) )  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( e l ,   " a c t i v e " ) ;  
 	 	 C a l e n d a r . r e m o v e C l a s s ( e l ,   " h i l i t e " ) ;  
 	 	 C a l e n d a r . r e m o v e C l a s s ( e l . p a r e n t N o d e ,   " r o w h i l i t e " ) ;  
 	 }  
 	 e v   | |   ( e v   =   w i n d o w . e v e n t ) ;  
 	 i f   ( e l . n a v t y p e   = =   5 0   & &   t a r g e t   ! =   e l )   {  
 	 	 v a r   p o s   =   C a l e n d a r . g e t A b s o l u t e P o s ( e l ) ;  
 	 	 v a r   w   =   e l . o f f s e t W i d t h ;  
 	 	 v a r   x   =   e v . c l i e n t X ;  
 	 	 v a r   d x ;  
 	 	 v a r   d e c r e a s e   =   t r u e ;  
 	 	 i f   ( x   >   p o s . x   +   w )   {  
 	 	 	 d x   =   x   -   p o s . x   -   w ;  
 	 	 	 d e c r e a s e   =   f a l s e ;  
 	 	 }   e l s e  
 	 	 	 d x   =   p o s . x   -   x ;  
  
 	 	 i f   ( d x   <   0 )   d x   =   0 ;  
 	 	 v a r   r a n g e   =   e l . _ r a n g e ;  
 	 	 v a r   c u r r e n t   =   e l . _ c u r r e n t ;  
 	 	 v a r   c o u n t   =   M a t h . f l o o r ( d x   /   1 0 )   %   r a n g e . l e n g t h ;  
 	 	 f o r   ( v a r   i   =   r a n g e . l e n g t h ;   - - i   > =   0 ; )  
 	 	 	 i f   ( r a n g e [ i ]   = =   c u r r e n t )  
 	 	 	 	 b r e a k ;  
 	 	 w h i l e   ( c o u n t - -   >   0 )  
 	 	 	 i f   ( d e c r e a s e )   {  
 	 	 	 	 i f   ( - - i   <   0 )  
 	 	 	 	 	 i   =   r a n g e . l e n g t h   -   1 ;  
 	 	 	 }   e l s e   i f   (   + + i   > =   r a n g e . l e n g t h   )  
 	 	 	 	 i   =   0 ;  
 	 	 v a r   n e w v a l   =   r a n g e [ i ] ;  
 	 	 e l . i n n e r H T M L   =   n e w v a l ;  
  
 	 	 c a l . o n U p d a t e T i m e ( ) ;  
 	 }  
 	 v a r   m o n   =   C a l e n d a r . f i n d M o n t h ( t a r g e t ) ;  
 	 i f   ( m o n )   {  
 	 	 i f   ( m o n . m o n t h   ! =   c a l . d a t e . g e t M o n t h ( ) )   {  
 	 	 	 i f   ( c a l . h i l i t e d M o n t h )   {  
 	 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d M o n t h ,   " h i l i t e " ) ;  
 	 	 	 }  
 	 	 	 C a l e n d a r . a d d C l a s s ( m o n ,   " h i l i t e " ) ;  
 	 	 	 c a l . h i l i t e d M o n t h   =   m o n ;  
 	 	 }   e l s e   i f   ( c a l . h i l i t e d M o n t h )   {  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d M o n t h ,   " h i l i t e " ) ;  
 	 	 }  
 	 }   e l s e   {  
 	 	 i f   ( c a l . h i l i t e d M o n t h )   {  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d M o n t h ,   " h i l i t e " ) ;  
 	 	 }  
 	 	 v a r   y e a r   =   C a l e n d a r . f i n d Y e a r ( t a r g e t ) ;  
 	 	 i f   ( y e a r )   {  
 	 	 	 i f   ( y e a r . y e a r   ! =   c a l . d a t e . g e t F u l l Y e a r ( ) )   {  
 	 	 	 	 i f   ( c a l . h i l i t e d Y e a r )   {  
 	 	 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d Y e a r ,   " h i l i t e " ) ;  
 	 	 	 	 }  
 	 	 	 	 C a l e n d a r . a d d C l a s s ( y e a r ,   " h i l i t e " ) ;  
 	 	 	 	 c a l . h i l i t e d Y e a r   =   y e a r ;  
 	 	 	 }   e l s e   i f   ( c a l . h i l i t e d Y e a r )   {  
 	 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d Y e a r ,   " h i l i t e " ) ;  
 	 	 	 }  
 	 	 }   e l s e   i f   ( c a l . h i l i t e d Y e a r )   {  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . h i l i t e d Y e a r ,   " h i l i t e " ) ;  
 	 	 }  
 	 }  
 	 r e t u r n   C a l e n d a r . s t o p E v e n t ( e v ) ;  
 } ;  
  
 C a l e n d a r . t a b l e M o u s e D o w n   =   f u n c t i o n   ( e v )   {  
 	 i f   ( C a l e n d a r . g e t T a r g e t E l e m e n t ( e v )   = =   C a l e n d a r . g e t E l e m e n t ( e v ) )   {  
 	 	 r e t u r n   C a l e n d a r . s t o p E v e n t ( e v ) ;  
 	 }  
 } ;  
  
 C a l e n d a r . c a l D r a g I t   =   f u n c t i o n   ( e v )   {  
 	 v a r   c a l   =   C a l e n d a r . _ C ;  
 	 i f   ( ! ( c a l   & &   c a l . d r a g g i n g ) )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 v a r   p o s X ;  
 	 v a r   p o s Y ;  
 	 i f   ( C a l e n d a r . i s _ i e )   {  
 	 	 p o s Y   =   w i n d o w . e v e n t . c l i e n t Y   +   d o c u m e n t . b o d y . s c r o l l T o p ;  
 	 	 p o s X   =   w i n d o w . e v e n t . c l i e n t X   +   d o c u m e n t . b o d y . s c r o l l L e f t ;  
 	 }   e l s e   {  
 	 	 p o s X   =   e v . p a g e X ;  
 	 	 p o s Y   =   e v . p a g e Y ;  
 	 }  
 	 c a l . h i d e S h o w C o v e r e d ( ) ;  
 	 v a r   s t   =   c a l . e l e m e n t . s t y l e ;  
 	 s t . l e f t   =   ( p o s X   -   c a l . x O f f s )   +   " p x " ;  
 	 s t . t o p   =   ( p o s Y   -   c a l . y O f f s )   +   " p x " ;  
 	 r e t u r n   C a l e n d a r . s t o p E v e n t ( e v ) ;  
 } ;  
  
 C a l e n d a r . c a l D r a g E n d   =   f u n c t i o n   ( e v )   {  
 	 v a r   c a l   =   C a l e n d a r . _ C ;  
 	 i f   ( ! c a l )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 c a l . d r a g g i n g   =   f a l s e ;  
 	 w i t h   ( C a l e n d a r )   {  
 	 	 r e m o v e E v e n t ( d o c u m e n t ,   " m o u s e m o v e " ,   c a l D r a g I t ) ;  
 	 	 r e m o v e E v e n t ( d o c u m e n t ,   " m o u s e u p " ,   c a l D r a g E n d ) ;  
 	 	 t a b l e M o u s e U p ( e v ) ;  
 	 }  
 	 c a l . h i d e S h o w C o v e r e d ( ) ;  
 } ;  
  
 C a l e n d a r . d a y M o u s e D o w n   =   f u n c t i o n ( e v )   {  
 	 v a r   e l   =   C a l e n d a r . g e t E l e m e n t ( e v ) ;  
 	 i f   ( e l . d i s a b l e d )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 v a r   c a l   =   e l . c a l e n d a r ;  
 	 c a l . a c t i v e D i v   =   e l ;  
 	 C a l e n d a r . _ C   =   c a l ;  
 	 i f   ( e l . n a v t y p e   ! =   3 0 0 )   w i t h   ( C a l e n d a r )   {  
 	 	 i f   ( e l . n a v t y p e   = =   5 0 )   {  
 	 	 	 e l . _ c u r r e n t   =   e l . i n n e r H T M L ;  
 	 	 	 a d d E v e n t ( d o c u m e n t ,   " m o u s e m o v e " ,   t a b l e M o u s e O v e r ) ;  
 	 	 }   e l s e  
 	 	 	 a d d E v e n t ( d o c u m e n t ,   C a l e n d a r . i s _ i e 5   ?   " m o u s e m o v e "   :   " m o u s e o v e r " ,   t a b l e M o u s e O v e r ) ;  
 	 	 a d d C l a s s ( e l ,   " h i l i t e   a c t i v e " ) ;  
 	 	 a d d E v e n t ( d o c u m e n t ,   " m o u s e u p " ,   t a b l e M o u s e U p ) ;  
 	 }   e l s e   i f   ( c a l . i s P o p u p )   {  
 	 	 c a l . _ d r a g S t a r t ( e v ) ;  
 	 }  
 	 i f   ( e l . n a v t y p e   = =   - 1   | |   e l . n a v t y p e   = =   1 )   {  
 	 	 i f   ( c a l . t i m e o u t )   c l e a r T i m e o u t ( c a l . t i m e o u t ) ;  
 	 	 c a l . t i m e o u t   =   s e t T i m e o u t ( " C a l e n d a r . s h o w M o n t h s C o m b o ( ) " ,   2 5 0 ) ;  
 	 }   e l s e   i f   ( e l . n a v t y p e   = =   - 2   | |   e l . n a v t y p e   = =   2 )   {  
 	 	 i f   ( c a l . t i m e o u t )   c l e a r T i m e o u t ( c a l . t i m e o u t ) ;  
 	 	 c a l . t i m e o u t   =   s e t T i m e o u t ( ( e l . n a v t y p e   >   0 )   ?   " C a l e n d a r . s h o w Y e a r s C o m b o ( t r u e ) "   :   " C a l e n d a r . s h o w Y e a r s C o m b o ( f a l s e ) " ,   2 5 0 ) ;  
 	 }   e l s e   {  
 	 	 c a l . t i m e o u t   =   n u l l ;  
 	 }  
 	 r e t u r n   C a l e n d a r . s t o p E v e n t ( e v ) ;  
 } ;  
  
 C a l e n d a r . d a y M o u s e D b l C l i c k   =   f u n c t i o n ( e v )   {  
 	 C a l e n d a r . c e l l C l i c k ( C a l e n d a r . g e t E l e m e n t ( e v ) ,   e v   | |   w i n d o w . e v e n t ) ;  
 	 i f   ( C a l e n d a r . i s _ i e )   {  
 	 	 d o c u m e n t . s e l e c t i o n . e m p t y ( ) ;  
 	 }  
 } ;  
  
 C a l e n d a r . d a y M o u s e O v e r   =   f u n c t i o n ( e v )   {  
 	 v a r   e l   =   C a l e n d a r . g e t E l e m e n t ( e v ) ;  
 	 i f   ( C a l e n d a r . i s R e l a t e d ( e l ,   e v )   | |   C a l e n d a r . _ C   | |   e l . d i s a b l e d )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 i f   ( e l . t t i p )   {  
 	 	 i f   ( e l . t t i p . s u b s t r ( 0 ,   1 )   = =   " _ " )   {  
 	 	 	 e l . t t i p   =   e l . c a l d a t e . p r i n t ( e l . c a l e n d a r . t t D a t e F o r m a t )   +   e l . t t i p . s u b s t r ( 1 ) ;  
 	 	 }  
 	 	 e l . c a l e n d a r . t o o l t i p s . i n n e r H T M L   =   e l . t t i p ;  
 	 }  
 	 i f   ( e l . n a v t y p e   ! =   3 0 0 )   {  
 	 	 C a l e n d a r . a d d C l a s s ( e l ,   " h i l i t e " ) ;  
 	 	 i f   ( e l . c a l d a t e )   {  
 	 	 	 C a l e n d a r . a d d C l a s s ( e l . p a r e n t N o d e ,   " r o w h i l i t e " ) ;  
 	 	 }  
 	 }  
 	 r e t u r n   C a l e n d a r . s t o p E v e n t ( e v ) ;  
 } ;  
  
 C a l e n d a r . d a y M o u s e O u t   =   f u n c t i o n ( e v )   {  
 	 w i t h   ( C a l e n d a r )   {  
 	 	 v a r   e l   =   g e t E l e m e n t ( e v ) ;  
 	 	 i f   ( i s R e l a t e d ( e l ,   e v )   | |   _ C   | |   e l . d i s a b l e d )  
 	 	 	 r e t u r n   f a l s e ;  
 	 	 r e m o v e C l a s s ( e l ,   " h i l i t e " ) ;  
 	 	 i f   ( e l . c a l d a t e )  
 	 	 	 r e m o v e C l a s s ( e l . p a r e n t N o d e ,   " r o w h i l i t e " ) ;  
 	 	 i f   ( e l . c a l e n d a r )  
 	 	 	 e l . c a l e n d a r . t o o l t i p s . i n n e r H T M L   =   _ T T [ " S E L _ D A T E " ] ;  
 	 	 r e t u r n   s t o p E v e n t ( e v ) ;  
 	 }  
 } ;  
  
 / * *  
   *     A   g e n e r i c   " c l i c k "   h a n d l e r   : )   h a n d l e s   a l l   t y p e s   o f   b u t t o n s   d e f i n e d   i n   t h i s  
   *     c a l e n d a r .  
   * /  
 C a l e n d a r . c e l l C l i c k   =   f u n c t i o n ( e l ,   e v )   {  
 	 v a r   c a l   =   e l . c a l e n d a r ;  
 	 v a r   c l o s i n g   =   f a l s e ;  
 	 v a r   n e w d a t e   =   f a l s e ;  
 	 v a r   d a t e   =   n u l l ;  
 	 i f   ( t y p e o f   e l . n a v t y p e   = =   " u n d e f i n e d " )   {  
 	 	 i f   ( c a l . c u r r e n t D a t e E l )   {  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c a l . c u r r e n t D a t e E l ,   " s e l e c t e d " ) ;  
 	 	 	 C a l e n d a r . a d d C l a s s ( e l ,   " s e l e c t e d " ) ;  
 	 	 	 c l o s i n g   =   ( c a l . c u r r e n t D a t e E l   = =   e l ) ;  
 	 	 	 i f   ( ! c l o s i n g )   {  
 	 	 	 	 c a l . c u r r e n t D a t e E l   =   e l ;  
 	 	 	 }  
 	 	 }  
 	 	 c a l . d a t e . s e t D a t e O n l y ( e l . c a l d a t e ) ;  
 	 	 d a t e   =   c a l . d a t e ;  
 	 	 v a r   o t h e r _ m o n t h   =   ! ( c a l . d a t e C l i c k e d   =   ! e l . o t h e r M o n t h ) ;  
 	 	 i f   ( ! o t h e r _ m o n t h   & &   ! c a l . c u r r e n t D a t e E l )  
 	 	 	 c a l . _ t o g g l e M u l t i p l e D a t e ( n e w   D a t e ( d a t e ) ) ;  
 	 	 e l s e  
 	 	 	 n e w d a t e   =   ! e l . d i s a b l e d ;  
 	 	 / /   a   d a t e   w a s   c l i c k e d  
 	 	 i f   ( o t h e r _ m o n t h )  
 	 	 	 c a l . _ i n i t ( c a l . f i r s t D a y O f W e e k ,   d a t e ) ;  
 	 }   e l s e   {  
 	 	 i f   ( e l . n a v t y p e   = =   2 0 0 )   {  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( e l ,   " h i l i t e " ) ;  
 	 	 	 c a l . c a l l C l o s e H a n d l e r ( ) ;  
 	 	 	 r e t u r n ;  
 	 	 }  
 	 	 d a t e   =   n e w   D a t e ( c a l . d a t e ) ;  
 	 	 i f   ( e l . n a v t y p e   = =   0 )  
 	 	 	 d a t e . s e t D a t e O n l y ( n e w   D a t e ( ) ) ;   / /   T O D A Y  
 	 	 / /   u n l e s s   " t o d a y "   w a s   c l i c k e d ,   w e   a s s u m e   n o   d a t e   w a s   c l i c k e d   s o  
 	 	 / /   t h e   s e l e c t e d   h a n d l e r   w i l l   k n o w   n o t   t o   c l o s e   t h e   c a l e n a r   w h e n  
 	 	 / /   i n   s i n g l e - c l i c k   m o d e .  
 	 	 / /   c a l . d a t e C l i c k e d   =   ( e l . n a v t y p e   = =   0 ) ;  
 	 	 c a l . d a t e C l i c k e d   =   f a l s e ;  
 	 	 v a r   y e a r   =   d a t e . g e t F u l l Y e a r ( ) ;  
 	 	 v a r   m o n   =   d a t e . g e t M o n t h ( ) ;  
 	 	 f u n c t i o n   s e t M o n t h ( m )   {  
 	 	 	 v a r   d a y   =   d a t e . g e t D a t e ( ) ;  
 	 	 	 v a r   m a x   =   d a t e . g e t M o n t h D a y s ( m ) ;  
 	 	 	 i f   ( d a y   >   m a x )   {  
 	 	 	 	 d a t e . s e t D a t e ( m a x ) ;  
 	 	 	 }  
 	 	 	 d a t e . s e t M o n t h ( m ) ;  
 	 	 } ;  
 	 	 s w i t c h   ( e l . n a v t y p e )   {  
 	 	         c a s e   4 0 0 :  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( e l ,   " h i l i t e " ) ;  
 	 	 	 v a r   t e x t   =   C a l e n d a r . _ T T [ " A B O U T " ] ;  
 	 	 	 i f   ( t y p e o f   t e x t   ! =   " u n d e f i n e d " )   {  
 	 	 	 	 t e x t   + =   c a l . s h o w s T i m e   ?   C a l e n d a r . _ T T [ " A B O U T _ T I M E " ]   :   " " ;  
 	 	 	 }   e l s e   {  
 	 	 	 	 / /   F I X M E :   t h i s   s h o u l d   b e   r e m o v e d   a s   s o o n   a s   l a n g   f i l e s   g e t   u p d a t e d !  
 	 	 	 	 t e x t   =   " H e l p   a n d   a b o u t   b o x   t e x t   i s   n o t   t r a n s l a t e d   i n t o   t h i s   l a n g u a g e . \ n "   +  
 	 	 	 	 	 " I f   y o u   k n o w   t h i s   l a n g u a g e   a n d   y o u   f e e l   g e n e r o u s   p l e a s e   u p d a t e \ n "   +  
 	 	 	 	 	 " t h e   c o r r e s p o n d i n g   f i l e   i n   \ " l a n g \ "   s u b d i r   t o   m a t c h   c a l e n d a r - e n . j s \ n "   +  
 	 	 	 	 	 " a n d   s e n d   i t   b a c k   t o   < m i h a i _ b a z o n @ y a h o o . c o m >   t o   g e t   i t   i n t o   t h e   d i s t r i b u t i o n     ; - ) \ n \ n "   +  
 	 	 	 	 	 " T h a n k   y o u ! \ n "   +  
 	 	 	 	 	 " h t t p : / / d y n a r c h . c o m / m i s h o o / c a l e n d a r . e p l \ n " ;  
 	 	 	 }  
 	 	 	 a l e r t ( t e x t ) ;  
 	 	 	 r e t u r n ;  
 	 	         c a s e   - 2 :  
 	 	 	 i f   ( y e a r   >   c a l . m i n Y e a r )   {  
 	 	 	 	 d a t e . s e t F u l l Y e a r ( y e a r   -   1 ) ;  
 	 	 	 }  
 	 	 	 b r e a k ;  
 	 	         c a s e   - 1 :  
 	 	 	 i f   ( m o n   >   0 )   {  
 	 	 	 	 s e t M o n t h ( m o n   -   1 ) ;  
 	 	 	 }   e l s e   i f   ( y e a r - -   >   c a l . m i n Y e a r )   {  
 	 	 	 	 d a t e . s e t F u l l Y e a r ( y e a r ) ;  
 	 	 	 	 s e t M o n t h ( 1 1 ) ;  
 	 	 	 }  
 	 	 	 b r e a k ;  
 	 	         c a s e   1 :  
 	 	 	 i f   ( m o n   <   1 1 )   {  
 	 	 	 	 s e t M o n t h ( m o n   +   1 ) ;  
 	 	 	 }   e l s e   i f   ( y e a r   <   c a l . m a x Y e a r )   {  
 	 	 	 	 d a t e . s e t F u l l Y e a r ( y e a r   +   1 ) ;  
 	 	 	 	 s e t M o n t h ( 0 ) ;  
 	 	 	 }  
 	 	 	 b r e a k ;  
 	 	         c a s e   2 :  
 	 	 	 i f   ( y e a r   <   c a l . m a x Y e a r )   {  
 	 	 	 	 d a t e . s e t F u l l Y e a r ( y e a r   +   1 ) ;  
 	 	 	 }  
 	 	 	 b r e a k ;  
 	 	         c a s e   1 0 0 :  
 	 	 	 c a l . s e t F i r s t D a y O f W e e k ( e l . f d o w ) ;  
 	 	 	 r e t u r n ;  
 	 	         c a s e   5 0 :  
 	 	 	 v a r   r a n g e   =   e l . _ r a n g e ;  
 	 	 	 v a r   c u r r e n t   =   e l . i n n e r H T M L ;  
 	 	 	 f o r   ( v a r   i   =   r a n g e . l e n g t h ;   - - i   > =   0 ; )  
 	 	 	 	 i f   ( r a n g e [ i ]   = =   c u r r e n t )  
 	 	 	 	 	 b r e a k ;  
 	 	 	 i f   ( e v   & &   e v . s h i f t K e y )   {  
 	 	 	 	 i f   ( - - i   <   0 )  
 	 	 	 	 	 i   =   r a n g e . l e n g t h   -   1 ;  
 	 	 	 }   e l s e   i f   (   + + i   > =   r a n g e . l e n g t h   )  
 	 	 	 	 i   =   0 ;  
 	 	 	 v a r   n e w v a l   =   r a n g e [ i ] ;  
 	 	 	 e l . i n n e r H T M L   =   n e w v a l ;  
 	 	 	 c a l . o n U p d a t e T i m e ( ) ;  
 	 	 	 r e t u r n ;  
 	 	         c a s e   0 :  
 	 	 	 / /   T O D A Y   w i l l   b r i n g   u s   h e r e  
 	 	 	 i f   ( ( t y p e o f   c a l . g e t D a t e S t a t u s   = =   " f u n c t i o n " )   & &  
 	 	 	         c a l . g e t D a t e S t a t u s ( d a t e ,   d a t e . g e t F u l l Y e a r ( ) ,   d a t e . g e t M o n t h ( ) ,   d a t e . g e t D a t e ( ) ) )   {  
 	 	 	 	 r e t u r n   f a l s e ;  
 	 	 	 }  
 	 	 	 b r e a k ;  
 	 	 }  
 	 	 i f   ( ! d a t e . e q u a l s T o ( c a l . d a t e ) )   {  
 	 	 	 c a l . s e t D a t e ( d a t e ) ;  
 	 	 	 n e w d a t e   =   t r u e ;  
 	 	 }   e l s e   i f   ( e l . n a v t y p e   = =   0 )  
 	 	 	 n e w d a t e   =   c l o s i n g   =   t r u e ;  
 	 }  
 	 i f   ( n e w d a t e )   {  
 	 	 e v   & &   c a l . c a l l H a n d l e r ( ) ;  
 	 }  
 	 i f   ( c l o s i n g )   {  
 	 	 C a l e n d a r . r e m o v e C l a s s ( e l ,   " h i l i t e " ) ;  
 	 	 e v   & &   c a l . c a l l C l o s e H a n d l e r ( ) ;  
 	 }  
 } ;  
  
 / /   E N D :   C A L E N D A R   S T A T I C   F U N C T I O N S  
  
 / /   B E G I N :   C A L E N D A R   O B J E C T   F U N C T I O N S  
  
 / * *  
   *     T h i s   f u n c t i o n   c r e a t e s   t h e   c a l e n d a r   i n s i d e   t h e   g i v e n   p a r e n t .     I f   _ p a r   i s  
   *     n u l l   t h a n   i t   c r e a t e s   a   p o p u p   c a l e n d a r   i n s i d e   t h e   B O D Y   e l e m e n t .     I f   _ p a r   i s  
   *     a n   e l e m e n t ,   b e   i t   B O D Y ,   t h e n   i t   c r e a t e s   a   n o n - p o p u p   c a l e n d a r   ( s t i l l  
   *     h i d d e n ) .     S o m e   p r o p e r t i e s   n e e d   t o   b e   s e t   b e f o r e   c a l l i n g   t h i s   f u n c t i o n .  
   * /  
 C a l e n d a r . p r o t o t y p e . c r e a t e   =   f u n c t i o n   ( _ p a r )   {  
 	 v a r   p a r e n t   =   n u l l ;  
 	 i f   ( !   _ p a r )   {  
 	 	 / /   d e f a u l t   p a r e n t   i s   t h e   d o c u m e n t   b o d y ,   i n   w h i c h   c a s e   w e   c r e a t e  
 	 	 / /   a   p o p u p   c a l e n d a r .  
 	 	 p a r e n t   =   d o c u m e n t . g e t E l e m e n t s B y T a g N a m e ( " b o d y " ) [ 0 ] ;  
 	 	 t h i s . i s P o p u p   =   t r u e ;  
 	 }   e l s e   {  
 	 	 p a r e n t   =   _ p a r ;  
 	 	 t h i s . i s P o p u p   =   f a l s e ;  
 	 }  
 	 t h i s . d a t e   =   t h i s . d a t e S t r   ?   n e w   D a t e ( t h i s . d a t e S t r )   :   n e w   D a t e ( ) ;  
  
 	 v a r   t a b l e   =   C a l e n d a r . c r e a t e E l e m e n t ( " t a b l e " ) ;  
 	 t h i s . t a b l e   =   t a b l e ;  
 	 t a b l e . c e l l S p a c i n g   =   0 ;  
 	 t a b l e . c e l l P a d d i n g   =   0 ;  
 	 t a b l e . c a l e n d a r   =   t h i s ;  
 	 C a l e n d a r . a d d E v e n t ( t a b l e ,   " m o u s e d o w n " ,   C a l e n d a r . t a b l e M o u s e D o w n ) ;  
  
 	 v a r   d i v   =   C a l e n d a r . c r e a t e E l e m e n t ( " d i v " ) ;  
 	 t h i s . e l e m e n t   =   d i v ;  
 	 d i v . c l a s s N a m e   =   " c a l e n d a r " ;  
 	 i f   ( t h i s . i s P o p u p )   {  
 	 	 d i v . s t y l e . p o s i t i o n   =   " a b s o l u t e " ;  
 	 	 d i v . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 }  
 	 d i v . a p p e n d C h i l d ( t a b l e ) ;  
  
 	 v a r   t h e a d   =   C a l e n d a r . c r e a t e E l e m e n t ( " t h e a d " ,   t a b l e ) ;  
 	 v a r   c e l l   =   n u l l ;  
 	 v a r   r o w   =   n u l l ;  
  
 	 v a r   c a l   =   t h i s ;  
 	 v a r   h h   =   f u n c t i o n   ( t e x t ,   c s ,   n a v t y p e )   {  
 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 c e l l . c o l S p a n   =   c s ;  
 	 	 c e l l . c l a s s N a m e   =   " b u t t o n " ;  
 	 	 i f   ( n a v t y p e   ! =   0   & &   M a t h . a b s ( n a v t y p e )   < =   2 )  
 	 	 	 c e l l . c l a s s N a m e   + =   "   n a v " ;  
 	 	 C a l e n d a r . _ a d d _ e v s ( c e l l ) ;  
 	 	 c e l l . c a l e n d a r   =   c a l ;  
 	 	 c e l l . n a v t y p e   =   n a v t y p e ;  
 	 	 c e l l . i n n e r H T M L   =   " < d i v     u n s e l e c t a b l e = ' o n ' > "   +   t e x t   +   " < / d i v > " ;  
 	 	 r e t u r n   c e l l ;  
 	 } ;  
  
 	 r o w   =   C a l e n d a r . c r e a t e E l e m e n t ( " t r " ,   t h e a d ) ;  
 	 v a r   t i t l e _ l e n g t h   =   6 ;  
 	 ( t h i s . i s P o p u p )   & &   - - t i t l e _ l e n g t h ;  
 	 ( t h i s . w e e k N u m b e r s )   & &   + + t i t l e _ l e n g t h ;  
  
 	 h h ( " ? " ,   1 ,   4 0 0 ) . t t i p   =   C a l e n d a r . _ T T [ " I N F O " ] ;  
 	 t h i s . t i t l e   =   h h ( " " ,   t i t l e _ l e n g t h ,   3 0 0 ) ;  
 	 t h i s . t i t l e . c l a s s N a m e   =   " t i t l e " ;  
 	 i f   ( t h i s . i s P o p u p )   {  
 	 	 t h i s . t i t l e . t t i p   =   C a l e n d a r . _ T T [ " D R A G _ T O _ M O V E " ] ;  
 	 	 t h i s . t i t l e . s t y l e . c u r s o r   =   " m o v e " ;  
 	 	 h h ( " & # x 0 0 d 7 ; " ,   1 ,   2 0 0 ) . t t i p   =   C a l e n d a r . _ T T [ " C L O S E " ] ;  
 	 }  
  
 	 r o w   =   C a l e n d a r . c r e a t e E l e m e n t ( " t r " ,   t h e a d ) ;  
 	 r o w . c l a s s N a m e   =   " h e a d r o w " ;  
  
 	 t h i s . _ n a v _ p y   =   h h ( " & # x 0 0 a b ; " ,   1 ,   - 2 ) ;  
 	 t h i s . _ n a v _ p y . t t i p   =   C a l e n d a r . _ T T [ " P R E V _ Y E A R " ] ;  
  
 	 t h i s . _ n a v _ p m   =   h h ( " & # x 2 0 3 9 ; " ,   1 ,   - 1 ) ;  
 	 t h i s . _ n a v _ p m . t t i p   =   C a l e n d a r . _ T T [ " P R E V _ M O N T H " ] ;  
  
 	 t h i s . _ n a v _ n o w   =   h h ( C a l e n d a r . _ T T [ " T O D A Y " ] ,   t h i s . w e e k N u m b e r s   ?   4   :   3 ,   0 ) ;  
 	 t h i s . _ n a v _ n o w . t t i p   =   C a l e n d a r . _ T T [ " G O _ T O D A Y " ] ;  
  
 	 t h i s . _ n a v _ n m   =   h h ( " & # x 2 0 3 a ; " ,   1 ,   1 ) ;  
 	 t h i s . _ n a v _ n m . t t i p   =   C a l e n d a r . _ T T [ " N E X T _ M O N T H " ] ;  
  
 	 t h i s . _ n a v _ n y   =   h h ( " & # x 0 0 b b ; " ,   1 ,   2 ) ;  
 	 t h i s . _ n a v _ n y . t t i p   =   C a l e n d a r . _ T T [ " N E X T _ Y E A R " ] ;  
  
 	 / /   d a y   n a m e s  
 	 r o w   =   C a l e n d a r . c r e a t e E l e m e n t ( " t r " ,   t h e a d ) ;  
 	 r o w . c l a s s N a m e   =   " d a y n a m e s " ;  
 	 i f   ( t h i s . w e e k N u m b e r s )   {  
 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 c e l l . c l a s s N a m e   =   " n a m e   w n " ;  
 	 	 c e l l . i n n e r H T M L   =   C a l e n d a r . _ T T [ " W K " ] ;  
 	 }  
 	 f o r   ( v a r   i   =   7 ;   i   >   0 ;   - - i )   {  
 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 i f   ( ! i )   {  
 	 	 	 c e l l . n a v t y p e   =   1 0 0 ;  
 	 	 	 c e l l . c a l e n d a r   =   t h i s ;  
 	 	 	 C a l e n d a r . _ a d d _ e v s ( c e l l ) ;  
 	 	 }  
 	 }  
 	 t h i s . f i r s t d a y n a m e   =   ( t h i s . w e e k N u m b e r s )   ?   r o w . f i r s t C h i l d . n e x t S i b l i n g   :   r o w . f i r s t C h i l d ;  
 	 t h i s . _ d i s p l a y W e e k d a y s ( ) ;  
  
 	 v a r   t b o d y   =   C a l e n d a r . c r e a t e E l e m e n t ( " t b o d y " ,   t a b l e ) ;  
 	 t h i s . t b o d y   =   t b o d y ;  
  
 	 f o r   ( i   =   6 ;   i   >   0 ;   - - i )   {  
 	 	 r o w   =   C a l e n d a r . c r e a t e E l e m e n t ( " t r " ,   t b o d y ) ;  
 	 	 i f   ( t h i s . w e e k N u m b e r s )   {  
 	 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 }  
 	 	 f o r   ( v a r   j   =   7 ;   j   >   0 ;   - - j )   {  
 	 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 	 c e l l . c a l e n d a r   =   t h i s ;  
 	 	 	 C a l e n d a r . _ a d d _ e v s ( c e l l ) ;  
 	 	 }  
 	 }  
  
 	 i f   ( t h i s . s h o w s T i m e )   {  
 	 	 r o w   =   C a l e n d a r . c r e a t e E l e m e n t ( " t r " ,   t b o d y ) ;  
 	 	 r o w . c l a s s N a m e   =   " t i m e " ;  
  
 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 c e l l . c l a s s N a m e   =   " t i m e " ;  
 	 	 c e l l . c o l S p a n   =   2 ;  
 	 	 c e l l . i n n e r H T M L   =   C a l e n d a r . _ T T [ " T I M E " ]   | |   " & n b s p ; " ;  
  
 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 c e l l . c l a s s N a m e   =   " t i m e " ;  
 	 	 c e l l . c o l S p a n   =   t h i s . w e e k N u m b e r s   ?   4   :   3 ;  
  
 	 	 ( f u n c t i o n ( ) {  
 	 	 	 f u n c t i o n   m a k e T i m e P a r t ( c l a s s N a m e ,   i n i t ,   r a n g e _ s t a r t ,   r a n g e _ e n d )   {  
 	 	 	 	 v a r   p a r t   =   C a l e n d a r . c r e a t e E l e m e n t ( " s p a n " ,   c e l l ) ;  
 	 	 	 	 p a r t . c l a s s N a m e   =   c l a s s N a m e ;  
 	 	 	 	 p a r t . i n n e r H T M L   =   i n i t ;  
 	 	 	 	 p a r t . c a l e n d a r   =   c a l ;  
 	 	 	 	 p a r t . t t i p   =   C a l e n d a r . _ T T [ " T I M E _ P A R T " ] ;  
 	 	 	 	 p a r t . n a v t y p e   =   5 0 ;  
 	 	 	 	 p a r t . _ r a n g e   =   [ ] ;  
 	 	 	 	 i f   ( t y p e o f   r a n g e _ s t a r t   ! =   " n u m b e r " )  
 	 	 	 	 	 p a r t . _ r a n g e   =   r a n g e _ s t a r t ;  
 	 	 	 	 e l s e   {  
 	 	 	 	 	 f o r   ( v a r   i   =   r a n g e _ s t a r t ;   i   < =   r a n g e _ e n d ;   + + i )   {  
 	 	 	 	 	 	 v a r   t x t ;  
 	 	 	 	 	 	 i f   ( i   <   1 0   & &   r a n g e _ e n d   > =   1 0 )   t x t   =   ' 0 '   +   i ;  
 	 	 	 	 	 	 e l s e   t x t   =   ' '   +   i ;  
 	 	 	 	 	 	 p a r t . _ r a n g e [ p a r t . _ r a n g e . l e n g t h ]   =   t x t ;  
 	 	 	 	 	 }  
 	 	 	 	 }  
 	 	 	 	 C a l e n d a r . _ a d d _ e v s ( p a r t ) ;  
 	 	 	 	 r e t u r n   p a r t ;  
 	 	 	 } ;  
 	 	 	 v a r   h r s   =   c a l . d a t e . g e t H o u r s ( ) ;  
 	 	 	 v a r   m i n s   =   c a l . d a t e . g e t M i n u t e s ( ) ;  
 	 	 	 v a r   t 1 2   =   ! c a l . t i m e 2 4 ;  
 	 	 	 v a r   p m   =   ( h r s   >   1 2 ) ;  
 	 	 	 i f   ( t 1 2   & &   p m )   h r s   - =   1 2 ;  
 	 	 	 v a r   H   =   m a k e T i m e P a r t ( " h o u r " ,   h r s ,   t 1 2   ?   1   :   0 ,   t 1 2   ?   1 2   :   2 3 ) ;  
 	 	 	 v a r   s p a n   =   C a l e n d a r . c r e a t e E l e m e n t ( " s p a n " ,   c e l l ) ;  
 	 	 	 s p a n . i n n e r H T M L   =   " : " ;  
 	 	 	 s p a n . c l a s s N a m e   =   " c o l o n " ;  
 	 	 	 v a r   M   =   m a k e T i m e P a r t ( " m i n u t e " ,   m i n s ,   0 ,   5 9 ) ;  
 	 	 	 v a r   A P   =   n u l l ;  
 	 	 	 c e l l   =   C a l e n d a r . c r e a t e E l e m e n t ( " t d " ,   r o w ) ;  
 	 	 	 c e l l . c l a s s N a m e   =   " t i m e " ;  
 	 	 	 c e l l . c o l S p a n   =   2 ;  
 	 	 	 i f   ( t 1 2 )  
 	 	 	 	 A P   =   m a k e T i m e P a r t ( " a m p m " ,   p m   ?   " p m "   :   " a m " ,   [ " a m " ,   " p m " ] ) ;  
 	 	 	 e l s e  
 	 	 	 	 c e l l . i n n e r H T M L   =   " & n b s p ; " ;  
  
 	 	 	 c a l . o n S e t T i m e   =   f u n c t i o n ( )   {  
 	 	 	 	 v a r   p m ,   h r s   =   t h i s . d a t e . g e t H o u r s ( ) ,  
 	 	 	 	 	 m i n s   =   t h i s . d a t e . g e t M i n u t e s ( ) ;  
 	 	 	 	 i f   ( t 1 2 )   {  
 	 	 	 	 	 p m   =   ( h r s   > =   1 2 ) ;  
 	 	 	 	 	 i f   ( p m )   h r s   - =   1 2 ;  
 	 	 	 	 	 i f   ( h r s   = =   0 )   h r s   =   1 2 ;  
 	 	 	 	 	 A P . i n n e r H T M L   =   p m   ?   " p m "   :   " a m " ;  
 	 	 	 	 }  
 	 	 	 	 H . i n n e r H T M L   =   ( h r s   <   1 0 )   ?   ( " 0 "   +   h r s )   :   h r s ;  
 	 	 	 	 M . i n n e r H T M L   =   ( m i n s   <   1 0 )   ?   ( " 0 "   +   m i n s )   :   m i n s ;  
 	 	 	 } ;  
  
 	 	 	 c a l . o n U p d a t e T i m e   =   f u n c t i o n ( )   {  
 	 	 	 	 v a r   d a t e   =   t h i s . d a t e ;  
 	 	 	 	 v a r   h   =   p a r s e I n t ( H . i n n e r H T M L ,   1 0 ) ;  
 	 	 	 	 i f   ( t 1 2 )   {  
 	 	 	 	 	 i f   ( / p m / i . t e s t ( A P . i n n e r H T M L )   & &   h   <   1 2 )  
 	 	 	 	 	 	 h   + =   1 2 ;  
 	 	 	 	 	 e l s e   i f   ( / a m / i . t e s t ( A P . i n n e r H T M L )   & &   h   = =   1 2 )  
 	 	 	 	 	 	 h   =   0 ;  
 	 	 	 	 }  
 	 	 	 	 v a r   d   =   d a t e . g e t D a t e ( ) ;  
 	 	 	 	 v a r   m   =   d a t e . g e t M o n t h ( ) ;  
 	 	 	 	 v a r   y   =   d a t e . g e t F u l l Y e a r ( ) ;  
 	 	 	 	 d a t e . s e t H o u r s ( h ) ;  
 	 	 	 	 d a t e . s e t M i n u t e s ( p a r s e I n t ( M . i n n e r H T M L ,   1 0 ) ) ;  
 	 	 	 	 d a t e . s e t F u l l Y e a r ( y ) ;  
 	 	 	 	 d a t e . s e t M o n t h ( m ) ;  
 	 	 	 	 d a t e . s e t D a t e ( d ) ;  
 	 	 	 	 t h i s . d a t e C l i c k e d   =   f a l s e ;  
 	 	 	 	 t h i s . c a l l H a n d l e r ( ) ;  
 	 	 	 } ;  
 	 	 } ) ( ) ;  
 	 }   e l s e   {  
 	 	 t h i s . o n S e t T i m e   =   t h i s . o n U p d a t e T i m e   =   f u n c t i o n ( )   { } ;  
 	 }  
  
 	 v a r   t f o o t   =   C a l e n d a r . c r e a t e E l e m e n t ( " t f o o t " ,   t a b l e ) ;  
  
 	 r o w   =   C a l e n d a r . c r e a t e E l e m e n t ( " t r " ,   t f o o t ) ;  
 	 r o w . c l a s s N a m e   =   " f o o t r o w " ;  
  
 	 c e l l   =   h h ( C a l e n d a r . _ T T [ " S E L _ D A T E " ] ,   t h i s . w e e k N u m b e r s   ?   8   :   7 ,   3 0 0 ) ;  
 	 c e l l . c l a s s N a m e   =   " t t i p " ;  
 	 i f   ( t h i s . i s P o p u p )   {  
 	 	 c e l l . t t i p   =   C a l e n d a r . _ T T [ " D R A G _ T O _ M O V E " ] ;  
 	 	 c e l l . s t y l e . c u r s o r   =   " m o v e " ;  
 	 }  
 	 t h i s . t o o l t i p s   =   c e l l ;  
  
 	 d i v   =   C a l e n d a r . c r e a t e E l e m e n t ( " d i v " ,   t h i s . e l e m e n t ) ;  
 	 t h i s . m o n t h s C o m b o   =   d i v ;  
 	 d i v . c l a s s N a m e   =   " c o m b o " ;  
 	 f o r   ( i   =   0 ;   i   <   C a l e n d a r . _ M N . l e n g t h ;   + + i )   {  
 	 	 v a r   m n   =   C a l e n d a r . c r e a t e E l e m e n t ( " d i v " ) ;  
 	 	 m n . c l a s s N a m e   =   C a l e n d a r . i s _ i e   ?   " l a b e l - I E f i x "   :   " l a b e l " ;  
 	 	 m n . m o n t h   =   i ;  
 	 	 m n . i n n e r H T M L   =   C a l e n d a r . _ S M N [ i ] ;  
 	 	 d i v . a p p e n d C h i l d ( m n ) ;  
 	 }  
  
 	 d i v   =   C a l e n d a r . c r e a t e E l e m e n t ( " d i v " ,   t h i s . e l e m e n t ) ;  
 	 t h i s . y e a r s C o m b o   =   d i v ;  
 	 d i v . c l a s s N a m e   =   " c o m b o " ;  
 	 f o r   ( i   =   1 2 ;   i   >   0 ;   - - i )   {  
 	 	 v a r   y r   =   C a l e n d a r . c r e a t e E l e m e n t ( " d i v " ) ;  
 	 	 y r . c l a s s N a m e   =   C a l e n d a r . i s _ i e   ?   " l a b e l - I E f i x "   :   " l a b e l " ;  
 	 	 d i v . a p p e n d C h i l d ( y r ) ;  
 	 }  
  
 	 t h i s . _ i n i t ( t h i s . f i r s t D a y O f W e e k ,   t h i s . d a t e ) ;  
 	 p a r e n t . a p p e n d C h i l d ( t h i s . e l e m e n t ) ;  
 } ;  
  
 / * *   k e y b o a r d   n a v i g a t i o n ,   o n l y   f o r   p o p u p   c a l e n d a r s   * /  
 C a l e n d a r . _ k e y E v e n t   =   f u n c t i o n ( e v )   {  
 	 v a r   c a l   =   w i n d o w . _ d y n a r c h _ p o p u p C a l e n d a r ;  
 	 i f   ( ! c a l   | |   c a l . m u l t i p l e )  
 	 	 r e t u r n   f a l s e ;  
 	 ( C a l e n d a r . i s _ i e )   & &   ( e v   =   w i n d o w . e v e n t ) ;  
 	 v a r   a c t   =   ( C a l e n d a r . i s _ i e   | |   e v . t y p e   = =   " k e y p r e s s " ) ,  
 	 	 K   =   e v . k e y C o d e ;  
 	 i f   ( e v . c t r l K e y )   {  
 	 	 s w i t c h   ( K )   {  
 	 	         c a s e   3 7 :   / /   K E Y   l e f t  
 	 	 	 a c t   & &   C a l e n d a r . c e l l C l i c k ( c a l . _ n a v _ p m ) ;  
 	 	 	 b r e a k ;  
 	 	         c a s e   3 8 :   / /   K E Y   u p  
 	 	 	 a c t   & &   C a l e n d a r . c e l l C l i c k ( c a l . _ n a v _ p y ) ;  
 	 	 	 b r e a k ;  
 	 	         c a s e   3 9 :   / /   K E Y   r i g h t  
 	 	 	 a c t   & &   C a l e n d a r . c e l l C l i c k ( c a l . _ n a v _ n m ) ;  
 	 	 	 b r e a k ;  
 	 	         c a s e   4 0 :   / /   K E Y   d o w n  
 	 	 	 a c t   & &   C a l e n d a r . c e l l C l i c k ( c a l . _ n a v _ n y ) ;  
 	 	 	 b r e a k ;  
 	 	         d e f a u l t :  
 	 	 	 r e t u r n   f a l s e ;  
 	 	 }  
 	 }   e l s e   s w i t c h   ( K )   {  
 	         c a s e   3 2 :   / /   K E Y   s p a c e   ( n o w )  
 	 	 C a l e n d a r . c e l l C l i c k ( c a l . _ n a v _ n o w ) ;  
 	 	 b r e a k ;  
 	         c a s e   2 7 :   / /   K E Y   e s c  
 	 	 a c t   & &   c a l . c a l l C l o s e H a n d l e r ( ) ;  
 	 	 b r e a k ;  
 	         c a s e   3 7 :   / /   K E Y   l e f t  
 	         c a s e   3 8 :   / /   K E Y   u p  
 	         c a s e   3 9 :   / /   K E Y   r i g h t  
 	         c a s e   4 0 :   / /   K E Y   d o w n  
 	 	 i f   ( a c t )   {  
 	 	 	 v a r   p r e v ,   x ,   y ,   n e ,   e l ,   s t e p ;  
 	 	 	 p r e v   =   K   = =   3 7   | |   K   = =   3 8 ;  
 	 	 	 s t e p   =   ( K   = =   3 7   | |   K   = =   3 9 )   ?   1   :   7 ;  
 	 	 	 f u n c t i o n   s e t V a r s ( )   {  
 	 	 	 	 e l   =   c a l . c u r r e n t D a t e E l ;  
 	 	 	 	 v a r   p   =   e l . p o s ;  
 	 	 	 	 x   =   p   &   1 5 ;  
 	 	 	 	 y   =   p   > >   4 ;  
 	 	 	 	 n e   =   c a l . a r _ d a y s [ y ] [ x ] ;  
 	 	 	 } ; s e t V a r s ( ) ;  
 	 	 	 f u n c t i o n   p r e v M o n t h ( )   {  
 	 	 	 	 v a r   d a t e   =   n e w   D a t e ( c a l . d a t e ) ;  
 	 	 	 	 d a t e . s e t D a t e ( d a t e . g e t D a t e ( )   -   s t e p ) ;  
 	 	 	 	 c a l . s e t D a t e ( d a t e ) ;  
 	 	 	 } ;  
 	 	 	 f u n c t i o n   n e x t M o n t h ( )   {  
 	 	 	 	 v a r   d a t e   =   n e w   D a t e ( c a l . d a t e ) ;  
 	 	 	 	 d a t e . s e t D a t e ( d a t e . g e t D a t e ( )   +   s t e p ) ;  
 	 	 	 	 c a l . s e t D a t e ( d a t e ) ;  
 	 	 	 } ;  
 	 	 	 w h i l e   ( 1 )   {  
 	 	 	 	 s w i t c h   ( K )   {  
 	 	 	 	         c a s e   3 7 :   / /   K E Y   l e f t  
 	 	 	 	 	 i f   ( - - x   > =   0 )  
 	 	 	 	 	 	 n e   =   c a l . a r _ d a y s [ y ] [ x ] ;  
 	 	 	 	 	 e l s e   {  
 	 	 	 	 	 	 x   =   6 ;  
 	 	 	 	 	 	 K   =   3 8 ;  
 	 	 	 	 	 	 c o n t i n u e ;  
 	 	 	 	 	 }  
 	 	 	 	 	 b r e a k ;  
 	 	 	 	         c a s e   3 8 :   / /   K E Y   u p  
 	 	 	 	 	 i f   ( - - y   > =   0 )  
 	 	 	 	 	 	 n e   =   c a l . a r _ d a y s [ y ] [ x ] ;  
 	 	 	 	 	 e l s e   {  
 	 	 	 	 	 	 p r e v M o n t h ( ) ;  
 	 	 	 	 	 	 s e t V a r s ( ) ;  
 	 	 	 	 	 }  
 	 	 	 	 	 b r e a k ;  
 	 	 	 	         c a s e   3 9 :   / /   K E Y   r i g h t  
 	 	 	 	 	 i f   ( + + x   <   7 )  
 	 	 	 	 	 	 n e   =   c a l . a r _ d a y s [ y ] [ x ] ;  
 	 	 	 	 	 e l s e   {  
 	 	 	 	 	 	 x   =   0 ;  
 	 	 	 	 	 	 K   =   4 0 ;  
 	 	 	 	 	 	 c o n t i n u e ;  
 	 	 	 	 	 }  
 	 	 	 	 	 b r e a k ;  
 	 	 	 	         c a s e   4 0 :   / /   K E Y   d o w n  
 	 	 	 	 	 i f   ( + + y   <   c a l . a r _ d a y s . l e n g t h )  
 	 	 	 	 	 	 n e   =   c a l . a r _ d a y s [ y ] [ x ] ;  
 	 	 	 	 	 e l s e   {  
 	 	 	 	 	 	 n e x t M o n t h ( ) ;  
 	 	 	 	 	 	 s e t V a r s ( ) ;  
 	 	 	 	 	 }  
 	 	 	 	 	 b r e a k ;  
 	 	 	 	 }  
 	 	 	 	 b r e a k ;  
 	 	 	 }  
 	 	 	 i f   ( n e )   {  
 	 	 	 	 i f   ( ! n e . d i s a b l e d )  
 	 	 	 	 	 C a l e n d a r . c e l l C l i c k ( n e ) ;  
 	 	 	 	 e l s e   i f   ( p r e v )  
 	 	 	 	 	 p r e v M o n t h ( ) ;  
 	 	 	 	 e l s e  
 	 	 	 	 	 n e x t M o n t h ( ) ;  
 	 	 	 }  
 	 	 }  
 	 	 b r e a k ;  
 	         c a s e   1 3 :   / /   K E Y   e n t e r  
 	 	 i f   ( a c t )  
 	 	 	 C a l e n d a r . c e l l C l i c k ( c a l . c u r r e n t D a t e E l ,   e v ) ;  
 	 	 b r e a k ;  
 	         d e f a u l t :  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 r e t u r n   C a l e n d a r . s t o p E v e n t ( e v ) ;  
 } ;  
  
 / * *  
   *     ( R E ) I n i t i a l i z e s   t h e   c a l e n d a r   t o   t h e   g i v e n   d a t e   a n d   f i r s t D a y O f W e e k  
   * /  
 C a l e n d a r . p r o t o t y p e . _ i n i t   =   f u n c t i o n   ( f i r s t D a y O f W e e k ,   d a t e )   {  
 	 v a r   t o d a y   =   n e w   D a t e ( ) ,  
 	 	 T Y   =   t o d a y . g e t F u l l Y e a r ( ) ,  
 	 	 T M   =   t o d a y . g e t M o n t h ( ) ,  
 	 	 T D   =   t o d a y . g e t D a t e ( ) ;  
 	 t h i s . t a b l e . s t y l e . v i s i b i l i t y   =   " h i d d e n " ;  
 	 v a r   y e a r   =   d a t e . g e t F u l l Y e a r ( ) ;  
 	 i f   ( y e a r   <   t h i s . m i n Y e a r )   {  
 	 	 y e a r   =   t h i s . m i n Y e a r ;  
 	 	 d a t e . s e t F u l l Y e a r ( y e a r ) ;  
 	 }   e l s e   i f   ( y e a r   >   t h i s . m a x Y e a r )   {  
 	 	 y e a r   =   t h i s . m a x Y e a r ;  
 	 	 d a t e . s e t F u l l Y e a r ( y e a r ) ;  
 	 }  
 	 t h i s . f i r s t D a y O f W e e k   =   f i r s t D a y O f W e e k ;  
 	 t h i s . d a t e   =   n e w   D a t e ( d a t e ) ;  
 	 v a r   m o n t h   =   d a t e . g e t M o n t h ( ) ;  
 	 v a r   m d a y   =   d a t e . g e t D a t e ( ) ;  
 	 v a r   n o _ d a y s   =   d a t e . g e t M o n t h D a y s ( ) ;  
  
 	 / /   c a l e n d a r   v o o d o o   f o r   c o m p u t i n g   t h e   f i r s t   d a y   t h a t   w o u l d   a c t u a l l y   b e  
 	 / /   d i s p l a y e d   i n   t h e   c a l e n d a r ,   e v e n   i f   i t ' s   f r o m   t h e   p r e v i o u s   m o n t h .  
 	 / /   W A R N I N G :   t h i s   i s   m a g i c .   ; - )  
 	 d a t e . s e t D a t e ( 1 ) ;  
 	 v a r   d a y 1   =   ( d a t e . g e t D a y ( )   -   t h i s . f i r s t D a y O f W e e k )   %   7 ;  
 	 i f   ( d a y 1   <   0 )  
 	 	 d a y 1   + =   7 ;  
 	 d a t e . s e t D a t e ( - d a y 1 ) ;  
 	 d a t e . s e t D a t e ( d a t e . g e t D a t e ( )   +   1 ) ;  
  
 	 v a r   r o w   =   t h i s . t b o d y . f i r s t C h i l d ;  
 	 v a r   M N   =   C a l e n d a r . _ S M N [ m o n t h ] ;  
 	 v a r   a r _ d a y s   =   t h i s . a r _ d a y s   =   n e w   A r r a y ( ) ;  
 	 v a r   w e e k e n d   =   C a l e n d a r . _ T T [ " W E E K E N D " ] ;  
 	 v a r   d a t e s   =   t h i s . m u l t i p l e   ?   ( t h i s . d a t e s C e l l s   =   { } )   :   n u l l ;  
 	 f o r   ( v a r   i   =   0 ;   i   <   6 ;   + + i ,   r o w   =   r o w . n e x t S i b l i n g )   {  
 	 	 v a r   c e l l   =   r o w . f i r s t C h i l d ;  
 	 	 i f   ( t h i s . w e e k N u m b e r s )   {  
 	 	 	 c e l l . c l a s s N a m e   =   " d a y   w n " ;  
 	 	 	 c e l l . i n n e r H T M L   =   d a t e . g e t W e e k N u m b e r ( ) ;  
 	 	 	 c e l l   =   c e l l . n e x t S i b l i n g ;  
 	 	 }  
 	 	 r o w . c l a s s N a m e   =   " d a y s r o w " ;  
 	 	 v a r   h a s d a y s   =   f a l s e ,   i d a y ,   d p o s   =   a r _ d a y s [ i ]   =   [ ] ;  
 	 	 f o r   ( v a r   j   =   0 ;   j   <   7 ;   + + j ,   c e l l   =   c e l l . n e x t S i b l i n g ,   d a t e . s e t D a t e ( i d a y   +   1 ) )   {  
 	 	 	 i d a y   =   d a t e . g e t D a t e ( ) ;  
 	 	 	 v a r   w d a y   =   d a t e . g e t D a y ( ) ;  
 	 	 	 c e l l . c l a s s N a m e   =   " d a y " ;  
 	 	 	 c e l l . p o s   =   i   < <   4   |   j ;  
 	 	 	 d p o s [ j ]   =   c e l l ;  
 	 	 	 v a r   c u r r e n t _ m o n t h   =   ( d a t e . g e t M o n t h ( )   = =   m o n t h ) ;  
 	 	 	 i f   ( ! c u r r e n t _ m o n t h )   {  
 	 	 	 	 i f   ( t h i s . s h o w s O t h e r M o n t h s )   {  
 	 	 	 	 	 c e l l . c l a s s N a m e   + =   "   o t h e r m o n t h " ;  
 	 	 	 	 	 c e l l . o t h e r M o n t h   =   t r u e ;  
 	 	 	 	 }   e l s e   {  
 	 	 	 	 	 c e l l . c l a s s N a m e   =   " e m p t y c e l l " ;  
 	 	 	 	 	 c e l l . i n n e r H T M L   =   " & n b s p ; " ;  
 	 	 	 	 	 c e l l . d i s a b l e d   =   t r u e ;  
 	 	 	 	 	 c o n t i n u e ;  
 	 	 	 	 }  
 	 	 	 }   e l s e   {  
 	 	 	 	 c e l l . o t h e r M o n t h   =   f a l s e ;  
 	 	 	 	 h a s d a y s   =   t r u e ;  
 	 	 	 }  
 	 	 	 c e l l . d i s a b l e d   =   f a l s e ;  
 	 	 	 c e l l . i n n e r H T M L   =   t h i s . g e t D a t e T e x t   ?   t h i s . g e t D a t e T e x t ( d a t e ,   i d a y )   :   i d a y ;  
 	 	 	 i f   ( d a t e s )  
 	 	 	 	 d a t e s [ d a t e . p r i n t ( " % Y % m % d " ) ]   =   c e l l ;  
 	 	 	 i f   ( t h i s . g e t D a t e S t a t u s )   {  
 	 	 	 	 v a r   s t a t u s   =   t h i s . g e t D a t e S t a t u s ( d a t e ,   y e a r ,   m o n t h ,   i d a y ) ;  
 	 	 	 	 i f   ( t h i s . g e t D a t e T o o l T i p )   {  
 	 	 	 	 	 v a r   t o o l T i p   =   t h i s . g e t D a t e T o o l T i p ( d a t e ,   y e a r ,   m o n t h ,   i d a y ) ;  
 	 	 	 	 	 i f   ( t o o l T i p )  
 	 	 	 	 	 	 c e l l . t i t l e   =   t o o l T i p ;  
 	 	 	 	 }  
 	 	 	 	 i f   ( s t a t u s   = = =   t r u e )   {  
 	 	 	 	 	 c e l l . c l a s s N a m e   + =   "   d i s a b l e d " ;  
 	 	 	 	 	 c e l l . d i s a b l e d   =   t r u e ;  
 	 	 	 	 }   e l s e   {  
 	 	 	 	 	 i f   ( / d i s a b l e d / i . t e s t ( s t a t u s ) )  
 	 	 	 	 	 	 c e l l . d i s a b l e d   =   t r u e ;  
 	 	 	 	 	 c e l l . c l a s s N a m e   + =   "   "   +   s t a t u s ;  
 	 	 	 	 }  
 	 	 	 }  
 	 	 	 i f   ( ! c e l l . d i s a b l e d )   {  
 	 	 	 	 c e l l . c a l d a t e   =   n e w   D a t e ( d a t e ) ;  
 	 	 	 	 c e l l . t t i p   =   " _ " ;  
 	 	 	 	 i f   ( ! t h i s . m u l t i p l e   & &   c u r r e n t _ m o n t h  
 	 	 	 	         & &   i d a y   = =   m d a y   & &   t h i s . h i l i t e T o d a y )   {  
 	 	 	 	 	 c e l l . c l a s s N a m e   + =   "   s e l e c t e d " ;  
 	 	 	 	 	 t h i s . c u r r e n t D a t e E l   =   c e l l ;  
 	 	 	 	 }  
 	 	 	 	 i f   ( d a t e . g e t F u l l Y e a r ( )   = =   T Y   & &  
 	 	 	 	         d a t e . g e t M o n t h ( )   = =   T M   & &  
 	 	 	 	         i d a y   = =   T D )   {  
 	 	 	 	 	 c e l l . c l a s s N a m e   + =   "   t o d a y " ;  
 	 	 	 	 	 c e l l . t t i p   + =   C a l e n d a r . _ T T [ " P A R T _ T O D A Y " ] ;  
 	 	 	 	 }  
 	 	 	 	 i f   ( w e e k e n d . i n d e x O f ( w d a y . t o S t r i n g ( ) )   ! =   - 1 )  
 	 	 	 	 	 c e l l . c l a s s N a m e   + =   c e l l . o t h e r M o n t h   ?   "   o w e e k e n d "   :   "   w e e k e n d " ;  
 	 	 	 }  
 	 	 }  
 	 	 i f   ( ! ( h a s d a y s   | |   t h i s . s h o w s O t h e r M o n t h s ) )  
 	 	 	 r o w . c l a s s N a m e   =   " e m p t y r o w " ;  
 	 }  
 	 t h i s . t i t l e . i n n e r H T M L   =   C a l e n d a r . _ M N [ m o n t h ]   +   " ,   "   +   y e a r ;  
 	 t h i s . o n S e t T i m e ( ) ;  
 	 t h i s . t a b l e . s t y l e . v i s i b i l i t y   =   " v i s i b l e " ;  
 	 t h i s . _ i n i t M u l t i p l e D a t e s ( ) ;  
 	 / /   P R O F I L E  
 	 / /   t h i s . t o o l t i p s . i n n e r H T M L   =   " G e n e r a t e d   i n   "   +   ( ( n e w   D a t e ( ) )   -   t o d a y )   +   "   m s " ;  
 } ;  
  
 C a l e n d a r . p r o t o t y p e . _ i n i t M u l t i p l e D a t e s   =   f u n c t i o n ( )   {  
 	 i f   ( t h i s . m u l t i p l e )   {  
 	 	 f o r   ( v a r   i   i n   t h i s . m u l t i p l e )   {  
 	 	 	 v a r   c e l l   =   t h i s . d a t e s C e l l s [ i ] ;  
 	 	 	 v a r   d   =   t h i s . m u l t i p l e [ i ] ;  
 	 	 	 i f   ( ! d )  
 	 	 	 	 c o n t i n u e ;  
 	 	 	 i f   ( c e l l )  
 	 	 	 	 c e l l . c l a s s N a m e   + =   "   s e l e c t e d " ;  
 	 	 }  
 	 }  
 } ;  
  
 C a l e n d a r . p r o t o t y p e . _ t o g g l e M u l t i p l e D a t e   =   f u n c t i o n ( d a t e )   {  
 	 i f   ( t h i s . m u l t i p l e )   {  
 	 	 v a r   d s   =   d a t e . p r i n t ( " % Y % m % d " ) ;  
 	 	 v a r   c e l l   =   t h i s . d a t e s C e l l s [ d s ] ;  
 	 	 i f   ( c e l l )   {  
 	 	 	 v a r   d   =   t h i s . m u l t i p l e [ d s ] ;  
 	 	 	 i f   ( ! d )   {  
 	 	 	 	 C a l e n d a r . a d d C l a s s ( c e l l ,   " s e l e c t e d " ) ;  
 	 	 	 	 t h i s . m u l t i p l e [ d s ]   =   d a t e ;  
 	 	 	 }   e l s e   {  
 	 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c e l l ,   " s e l e c t e d " ) ;  
 	 	 	 	 d e l e t e   t h i s . m u l t i p l e [ d s ] ;  
 	 	 	 }  
 	 	 }  
 	 }  
 } ;  
  
 C a l e n d a r . p r o t o t y p e . s e t D a t e T o o l T i p H a n d l e r   =   f u n c t i o n   ( u n a r y F u n c t i o n )   {  
 	 t h i s . g e t D a t e T o o l T i p   =   u n a r y F u n c t i o n ;  
 } ;  
  
 / * *  
   *     C a l l s   _ i n i t   f u n c t i o n   a b o v e   f o r   g o i n g   t o   a   c e r t a i n   d a t e   ( b u t   o n l y   i f   t h e  
   *     d a t e   i s   d i f f e r e n t   t h a n   t h e   c u r r e n t l y   s e l e c t e d   o n e ) .  
   * /  
 C a l e n d a r . p r o t o t y p e . s e t D a t e   =   f u n c t i o n   ( d a t e )   {  
 	 i f   ( ! d a t e . e q u a l s T o ( t h i s . d a t e ) )   {  
 	 	 t h i s . _ i n i t ( t h i s . f i r s t D a y O f W e e k ,   d a t e ) ;  
 	 }  
 } ;  
  
 / * *  
   *     R e f r e s h e s   t h e   c a l e n d a r .     U s e f u l   i f   t h e   " d i s a b l e d H a n d l e r "   f u n c t i o n   i s  
   *     d y n a m i c ,   m e a n i n g   t h a t   t h e   l i s t   o f   d i s a b l e d   d a t e   c a n   c h a n g e   a t   r u n t i m e .  
   *     J u s t   *   c a l l   t h i s   f u n c t i o n   i f   y o u   t h i n k   t h a t   t h e   l i s t   o f   d i s a b l e d   d a t e s  
   *     s h o u l d   *   c h a n g e .  
   * /  
 C a l e n d a r . p r o t o t y p e . r e f r e s h   =   f u n c t i o n   ( )   {  
 	 t h i s . _ i n i t ( t h i s . f i r s t D a y O f W e e k ,   t h i s . d a t e ) ;  
 } ;  
  
 / * *   M o d i f i e s   t h e   " f i r s t D a y O f W e e k "   p a r a m e t e r   ( p a s s   0   f o r   S y n d a y ,   1   f o r   M o n d a y ,   e t c . ) .   * /  
 C a l e n d a r . p r o t o t y p e . s e t F i r s t D a y O f W e e k   =   f u n c t i o n   ( f i r s t D a y O f W e e k )   {  
 	 t h i s . _ i n i t ( f i r s t D a y O f W e e k ,   t h i s . d a t e ) ;  
 	 t h i s . _ d i s p l a y W e e k d a y s ( ) ;  
 } ;  
  
 / * *  
   *     A l l o w s   c u s t o m i z a t i o n   o f   w h a t   d a t e s   a r e   e n a b l e d .     T h e   " u n a r y F u n c t i o n "  
   *     p a r a m e t e r   m u s t   b e   a   f u n c t i o n   o b j e c t   t h a t   r e c e i v e s   t h e   d a t e   ( a s   a   J S   D a t e  
   *     o b j e c t )   a n d   r e t u r n s   a   b o o l e a n   v a l u e .     I f   t h e   r e t u r n e d   v a l u e   i s   t r u e   t h e n  
   *     t h e   p a s s e d   d a t e   w i l l   b e   m a r k e d   a s   d i s a b l e d .  
   * /  
 C a l e n d a r . p r o t o t y p e . s e t D a t e S t a t u s H a n d l e r   =   C a l e n d a r . p r o t o t y p e . s e t D i s a b l e d H a n d l e r   =   f u n c t i o n   ( u n a r y F u n c t i o n )   {  
 	 t h i s . g e t D a t e S t a t u s   =   u n a r y F u n c t i o n ;  
 } ;  
  
 / * *   C u s t o m i z a t i o n   o f   a l l o w e d   y e a r   r a n g e   f o r   t h e   c a l e n d a r .   * /  
 C a l e n d a r . p r o t o t y p e . s e t R a n g e   =   f u n c t i o n   ( a ,   z )   {  
 	 t h i s . m i n Y e a r   =   a ;  
 	 t h i s . m a x Y e a r   =   z ;  
 } ;  
  
 / * *   C a l l s   t h e   f i r s t   u s e r   h a n d l e r   ( s e l e c t e d H a n d l e r ) .   * /  
 C a l e n d a r . p r o t o t y p e . c a l l H a n d l e r   =   f u n c t i o n   ( )   {  
 	 i f   ( t h i s . o n S e l e c t e d )   {  
 	 	 t h i s . o n S e l e c t e d ( t h i s ,   t h i s . d a t e . p r i n t ( t h i s . d a t e F o r m a t ) ) ;  
 	 }  
 } ;  
  
 / * *   C a l l s   t h e   s e c o n d   u s e r   h a n d l e r   ( c l o s e H a n d l e r ) .   * /  
 C a l e n d a r . p r o t o t y p e . c a l l C l o s e H a n d l e r   =   f u n c t i o n   ( )   {  
 	 i f   ( t h i s . o n C l o s e )   {  
 	 	 t h i s . o n C l o s e ( t h i s ) ;  
 	 }  
 	 t h i s . h i d e S h o w C o v e r e d ( ) ;  
 } ;  
  
 / * *   R e m o v e s   t h e   c a l e n d a r   o b j e c t   f r o m   t h e   D O M   t r e e   a n d   d e s t r o y s   i t .   * /  
 C a l e n d a r . p r o t o t y p e . d e s t r o y   =   f u n c t i o n   ( )   {  
 	 v a r   e l   =   t h i s . e l e m e n t . p a r e n t N o d e ;  
 	 e l . r e m o v e C h i l d ( t h i s . e l e m e n t ) ;  
 	 C a l e n d a r . _ C   =   n u l l ;  
 	 w i n d o w . _ d y n a r c h _ p o p u p C a l e n d a r   =   n u l l ;  
 } ;  
  
 / * *  
   *     M o v e s   t h e   c a l e n d a r   e l e m e n t   t o   a   d i f f e r e n t   s e c t i o n   i n   t h e   D O M   t r e e   ( c h a n g e s  
   *     i t s   p a r e n t ) .  
   * /  
 C a l e n d a r . p r o t o t y p e . r e p a r e n t   =   f u n c t i o n   ( n e w _ p a r e n t )   {  
 	 v a r   e l   =   t h i s . e l e m e n t ;  
 	 e l . p a r e n t N o d e . r e m o v e C h i l d ( e l ) ;  
 	 n e w _ p a r e n t . a p p e n d C h i l d ( e l ) ;  
 } ;  
  
 / /   T h i s   g e t s   c a l l e d   w h e n   t h e   u s e r   p r e s s e s   a   m o u s e   b u t t o n   a n y w h e r e   i n   t h e  
 / /   d o c u m e n t ,   i f   t h e   c a l e n d a r   i s   s h o w n .     I f   t h e   c l i c k   w a s   o u t s i d e   t h e   o p e n  
 / /   c a l e n d a r   t h i s   f u n c t i o n   c l o s e s   i t .  
 C a l e n d a r . _ c h e c k C a l e n d a r   =   f u n c t i o n ( e v )   {  
 	 v a r   c a l e n d a r   =   w i n d o w . _ d y n a r c h _ p o p u p C a l e n d a r ;  
 	 i f   ( ! c a l e n d a r )   {  
 	 	 r e t u r n   f a l s e ;  
 	 }  
 	 v a r   e l   =   C a l e n d a r . i s _ i e   ?   C a l e n d a r . g e t E l e m e n t ( e v )   :   C a l e n d a r . g e t T a r g e t E l e m e n t ( e v ) ;  
 	 f o r   ( ;   e l   ! =   n u l l   & &   e l   ! =   c a l e n d a r . e l e m e n t ;   e l   =   e l . p a r e n t N o d e ) ;  
 	 i f   ( e l   = =   n u l l )   {  
 	 	 / /   c a l l s   c l o s e H a n d l e r   w h i c h   s h o u l d   h i d e   t h e   c a l e n d a r .  
 	 	 w i n d o w . _ d y n a r c h _ p o p u p C a l e n d a r . c a l l C l o s e H a n d l e r ( ) ;  
 	 	 r e t u r n   C a l e n d a r . s t o p E v e n t ( e v ) ;  
 	 }  
 } ;  
  
 / * *   S h o w s   t h e   c a l e n d a r .   * /  
 C a l e n d a r . p r o t o t y p e . s h o w   =   f u n c t i o n   ( )   {  
 	 v a r   r o w s   =   t h i s . t a b l e . g e t E l e m e n t s B y T a g N a m e ( " t r " ) ;  
 	 f o r   ( v a r   i   =   r o w s . l e n g t h ;   i   >   0 ; )   {  
 	 	 v a r   r o w   =   r o w s [ - - i ] ;  
 	 	 C a l e n d a r . r e m o v e C l a s s ( r o w ,   " r o w h i l i t e " ) ;  
 	 	 v a r   c e l l s   =   r o w . g e t E l e m e n t s B y T a g N a m e ( " t d " ) ;  
 	 	 f o r   ( v a r   j   =   c e l l s . l e n g t h ;   j   >   0 ; )   {  
 	 	 	 v a r   c e l l   =   c e l l s [ - - j ] ;  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c e l l ,   " h i l i t e " ) ;  
 	 	 	 C a l e n d a r . r e m o v e C l a s s ( c e l l ,   " a c t i v e " ) ;  
 	 	 }  
 	 }  
 	 t h i s . e l e m e n t . s t y l e . d i s p l a y   =   " b l o c k " ;  
 	 t h i s . h i d d e n   =   f a l s e ;  
 	 i f   ( t h i s . i s P o p u p )   {  
 	 	 w i n d o w . _ d y n a r c h _ p o p u p C a l e n d a r   =   t h i s ;  
 	 	 C a l e n d a r . a d d E v e n t ( d o c u m e n t ,   " k e y d o w n " ,   C a l e n d a r . _ k e y E v e n t ) ;  
 	 	 C a l e n d a r . a d d E v e n t ( d o c u m e n t ,   " k e y p r e s s " ,   C a l e n d a r . _ k e y E v e n t ) ;  
 	 	 C a l e n d a r . a d d E v e n t ( d o c u m e n t ,   " m o u s e d o w n " ,   C a l e n d a r . _ c h e c k C a l e n d a r ) ;  
 	 }  
 	 t h i s . h i d e S h o w C o v e r e d ( ) ;  
 } ;  
  
 / * *  
   *     H i d e s   t h e   c a l e n d a r .     A l s o   r e m o v e s   a n y   " h i l i t e "   f r o m   t h e   c l a s s   o f   a n y   T D  
   *     e l e m e n t .  
   * /  
 C a l e n d a r . p r o t o t y p e . h i d e   =   f u n c t i o n   ( )   {  
 	 i f   ( t h i s . i s P o p u p )   {  
 	 	 C a l e n d a r . r e m o v e E v e n t ( d o c u m e n t ,   " k e y d o w n " ,   C a l e n d a r . _ k e y E v e n t ) ;  
 	 	 C a l e n d a r . r e m o v e E v e n t ( d o c u m e n t ,   " k e y p r e s s " ,   C a l e n d a r . _ k e y E v e n t ) ;  
 	 	 C a l e n d a r . r e m o v e E v e n t ( d o c u m e n t ,   " m o u s e d o w n " ,   C a l e n d a r . _ c h e c k C a l e n d a r ) ;  
 	 }  
 	 t h i s . e l e m e n t . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 t h i s . h i d d e n   =   t r u e ;  
 	 t h i s . h i d e S h o w C o v e r e d ( ) ;  
 } ;  
  
 / * *  
   *     S h o w s   t h e   c a l e n d a r   a t   a   g i v e n   a b s o l u t e   p o s i t i o n   ( b e w a r e   t h a t ,   d e p e n d i n g   o n  
   *     t h e   c a l e n d a r   e l e m e n t   s t y l e   - -   p o s i t i o n   p r o p e r t y   - -   t h i s   m i g h t   b e   r e l a t i v e  
   *     t o   t h e   p a r e n t ' s   c o n t a i n i n g   r e c t a n g l e ) .  
   * /  
 C a l e n d a r . p r o t o t y p e . s h o w A t   =   f u n c t i o n   ( x ,   y )   {  
 	 v a r   s   =   t h i s . e l e m e n t . s t y l e ;  
 	 s . l e f t   =   x   +   " p x " ;  
 	 s . t o p   =   y   +   " p x " ;  
 	 t h i s . s h o w ( ) ;  
 } ;  
  
 / * *   S h o w s   t h e   c a l e n d a r   n e a r   a   g i v e n   e l e m e n t .   * /  
 C a l e n d a r . p r o t o t y p e . s h o w A t E l e m e n t   =   f u n c t i o n   ( e l ,   o p t s )   {  
 	 v a r   s e l f   =   t h i s ;  
 	 v a r   p   =   C a l e n d a r . g e t A b s o l u t e P o s ( e l ) ;  
 	 i f   ( ! o p t s   | |   t y p e o f   o p t s   ! =   " s t r i n g " )   {  
 	 	 t h i s . s h o w A t ( p . x ,   p . y   +   e l . o f f s e t H e i g h t ) ;  
 	 	 r e t u r n   t r u e ;  
 	 }  
 	 f u n c t i o n   f i x P o s i t i o n ( b o x )   {  
 	 	 i f   ( b o x . x   <   0 )  
 	 	 	 b o x . x   =   0 ;  
 	 	 i f   ( b o x . y   <   0 )  
 	 	 	 b o x . y   =   0 ;  
 	 	 v a r   c p   =   d o c u m e n t . c r e a t e E l e m e n t ( " d i v " ) ;  
 	 	 v a r   s   =   c p . s t y l e ;  
 	 	 s . p o s i t i o n   =   " a b s o l u t e " ;  
 	 	 s . r i g h t   =   s . b o t t o m   =   s . w i d t h   =   s . h e i g h t   =   " 0 p x " ;  
 	 	 d o c u m e n t . b o d y . a p p e n d C h i l d ( c p ) ;  
 	 	 v a r   b r   =   C a l e n d a r . g e t A b s o l u t e P o s ( c p ) ;  
 	 	 d o c u m e n t . b o d y . r e m o v e C h i l d ( c p ) ;  
 	 	 i f   ( C a l e n d a r . i s _ i e )   {  
 	 	 	 b r . y   + =   d o c u m e n t . b o d y . s c r o l l T o p ;  
 	 	 	 b r . x   + =   d o c u m e n t . b o d y . s c r o l l L e f t ;  
 	 	 }   e l s e   {  
 	 	 	 b r . y   + =   w i n d o w . s c r o l l Y ;  
 	 	 	 b r . x   + =   w i n d o w . s c r o l l X ;  
 	 	 }  
 	 	 v a r   t m p   =   b o x . x   +   b o x . w i d t h   -   b r . x ;  
 	 	 i f   ( t m p   >   0 )   b o x . x   - =   t m p ;  
 	 	 t m p   =   b o x . y   +   b o x . h e i g h t   -   b r . y ;  
 	 	 i f   ( t m p   >   0 )   b o x . y   - =   t m p ;  
 	 } ;  
 	 t h i s . e l e m e n t . s t y l e . d i s p l a y   =   " b l o c k " ;  
 	 C a l e n d a r . c o n t i n u a t i o n _ f o r _ t h e _ f u c k i n g _ k h t m l _ b r o w s e r   =   f u n c t i o n ( )   {  
 	 	 v a r   w   =   s e l f . e l e m e n t . o f f s e t W i d t h ;  
 	 	 v a r   h   =   s e l f . e l e m e n t . o f f s e t H e i g h t ;  
 	 	 s e l f . e l e m e n t . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 	 v a r   v a l i g n   =   o p t s . s u b s t r ( 0 ,   1 ) ;  
 	 	 v a r   h a l i g n   =   " l " ;  
 	 	 i f   ( o p t s . l e n g t h   >   1 )   {  
 	 	 	 h a l i g n   =   o p t s . s u b s t r ( 1 ,   1 ) ;  
 	 	 }  
 	 	 / /   v e r t i c a l   a l i g n m e n t  
 	 	 s w i t c h   ( v a l i g n )   {  
 	 	         c a s e   " T " :   p . y   - =   h ;   b r e a k ;  
 	 	         c a s e   " B " :   p . y   + =   e l . o f f s e t H e i g h t ;   b r e a k ;  
 	 	         c a s e   " C " :   p . y   + =   ( e l . o f f s e t H e i g h t   -   h )   /   2 ;   b r e a k ;  
 	 	         c a s e   " t " :   p . y   + =   e l . o f f s e t H e i g h t   -   h ;   b r e a k ;  
 	 	         c a s e   " b " :   b r e a k ;   / /   a l r e a d y   t h e r e  
 	 	 }  
 	 	 / /   h o r i z o n t a l   a l i g n m e n t  
 	 	 s w i t c h   ( h a l i g n )   {  
 	 	         c a s e   " L " :   p . x   - =   w ;   b r e a k ;  
 	 	         c a s e   " R " :   p . x   + =   e l . o f f s e t W i d t h ;   b r e a k ;  
 	 	         c a s e   " C " :   p . x   + =   ( e l . o f f s e t W i d t h   -   w )   /   2 ;   b r e a k ;  
 	 	         c a s e   " l " :   p . x   + =   e l . o f f s e t W i d t h   -   w ;   b r e a k ;  
 	 	         c a s e   " r " :   b r e a k ;   / /   a l r e a d y   t h e r e  
 	 	 }  
 	 	 p . w i d t h   =   w ;  
 	 	 p . h e i g h t   =   h   +   4 0 ;  
 	 	 s e l f . m o n t h s C o m b o . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 	 f i x P o s i t i o n ( p ) ;  
 	 	 s e l f . s h o w A t ( p . x ,   p . y ) ;  
 	 } ;  
 	 i f   ( C a l e n d a r . i s _ k h t m l )  
 	 	 s e t T i m e o u t ( " C a l e n d a r . c o n t i n u a t i o n _ f o r _ t h e _ f u c k i n g _ k h t m l _ b r o w s e r ( ) " ,   1 0 ) ;  
 	 e l s e  
 	 	 C a l e n d a r . c o n t i n u a t i o n _ f o r _ t h e _ f u c k i n g _ k h t m l _ b r o w s e r ( ) ;  
 } ;  
  
 / * *   S h o w s   t h e   c a l e n d a r   n e a r   a   g i v e n   e l e m e n t .   * /  
 C a l e n d a r . p r o t o t y p e . s h o w A t E l e m e n t E x   =   f u n c t i o n   ( e l ,   o p t s )   {  
 	 v a r   s e l f   =   t h i s ;  
 	 v a r   p   =   C a l e n d a r . g e t A b s o l u t e P o s ( e l ) ;  
 	 i f ( e l . i d = = " d a t e F r o m E x " ) {  
 	         p . y   + =   8 0 ;  
 	 } e l s e {  
 	         p . y   + =   6 0 ;  
 	 }  
 	 i f   ( ! o p t s   | |   t y p e o f   o p t s   ! =   " s t r i n g " )   {  
 	 	 t h i s . s h o w A t ( p . x ,   p . y   +   e l . o f f s e t H e i g h t ) ;  
 	 	 r e t u r n   t r u e ;  
 	 }  
 	 f u n c t i o n   f i x P o s i t i o n ( b o x )   {  
 	 	 i f   ( b o x . x   <   0 )  
 	 	 	 b o x . x   =   0 ;  
 	 	 i f   ( b o x . y   <   0 )  
 	 	 	 b o x . y   =   0 ;  
 	 	 v a r   c p   =   d o c u m e n t . c r e a t e E l e m e n t ( " d i v " ) ;  
 	 	 v a r   s   =   c p . s t y l e ;  
 	 	 s . p o s i t i o n   =   " a b s o l u t e " ;  
 	 	 s . r i g h t   =   s . b o t t o m   =   s . w i d t h   =   s . h e i g h t   =   " 0 p x " ;  
 	 	 d o c u m e n t . b o d y . a p p e n d C h i l d ( c p ) ;  
 	 	 v a r   b r   =   C a l e n d a r . g e t A b s o l u t e P o s ( c p ) ;  
 	 	 d o c u m e n t . b o d y . r e m o v e C h i l d ( c p ) ;  
 	 	 i f   ( C a l e n d a r . i s _ i e )   {  
 	 	 	 b r . y   + =   d o c u m e n t . b o d y . s c r o l l T o p ;  
 	 	 	 b r . x   + =   d o c u m e n t . b o d y . s c r o l l L e f t ;  
 	 	 }   e l s e   {  
 	 	 	 b r . y   + =   w i n d o w . s c r o l l Y ;  
 	 	 	 b r . x   + =   w i n d o w . s c r o l l X ;  
 	 	 }  
 	 	 v a r   t m p   =   b o x . x   +   b o x . w i d t h   -   b r . x ;  
 	 	 i f   ( t m p   >   0 )   b o x . x   - =   t m p ;  
 	 	 t m p   =   b o x . y   +   b o x . h e i g h t   -   b r . y ;  
 	 	 i f   ( t m p   >   0 )   b o x . y   - =   t m p ;  
 	 } ;  
 	 t h i s . e l e m e n t . s t y l e . d i s p l a y   =   " b l o c k " ;  
 	 C a l e n d a r . c o n t i n u a t i o n _ f o r _ t h e _ f u c k i n g _ k h t m l _ b r o w s e r   =   f u n c t i o n ( )   {  
 	 	 v a r   w   =   s e l f . e l e m e n t . o f f s e t W i d t h ;  
 	 	 v a r   h   =   s e l f . e l e m e n t . o f f s e t H e i g h t ;  
 	 	 s e l f . e l e m e n t . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 	 v a r   v a l i g n   =   o p t s . s u b s t r ( 0 ,   1 ) ;  
 	 	 v a r   h a l i g n   =   " l " ;  
 	 	 i f   ( o p t s . l e n g t h   >   1 )   {  
 	 	 	 h a l i g n   =   o p t s . s u b s t r ( 1 ,   1 ) ;  
 	 	 }  
 	 	 / /   v e r t i c a l   a l i g n m e n t  
 	 	 s w i t c h   ( v a l i g n )   {  
 	 	         c a s e   " T " :   p . y   - =   h ;   b r e a k ;  
 	 	         c a s e   " B " :   p . y   + =   e l . o f f s e t H e i g h t ;   b r e a k ;  
 	 	         c a s e   " C " :   p . y   + =   ( e l . o f f s e t H e i g h t   -   h )   /   2 ;   b r e a k ;  
 	 	         c a s e   " t " :   p . y   + =   e l . o f f s e t H e i g h t   -   h ;   b r e a k ;  
 	 	         c a s e   " b " :   b r e a k ;   / /   a l r e a d y   t h e r e  
 	 	 }  
 	 	 / /   h o r i z o n t a l   a l i g n m e n t  
 	 	 s w i t c h   ( h a l i g n )   {  
 	 	         c a s e   " L " :   p . x   - =   w ;   b r e a k ;  
 	 	         c a s e   " R " :   p . x   + =   e l . o f f s e t W i d t h ;   b r e a k ;  
 	 	         c a s e   " C " :   p . x   + =   ( e l . o f f s e t W i d t h   -   w )   /   2 ;   b r e a k ;  
 	 	         c a s e   " l " :   p . x   + =   e l . o f f s e t W i d t h   -   w ;   b r e a k ;  
 	 	         c a s e   " r " :   b r e a k ;   / /   a l r e a d y   t h e r e  
 	 	 }  
 	 	 p . w i d t h   =   w ;  
 	 	 p . h e i g h t   =   h   +   4 0 ;  
 	 	 s e l f . m o n t h s C o m b o . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 	 f i x P o s i t i o n ( p ) ;  
 	 	 s e l f . s h o w A t ( p . x ,   p . y ) ;  
 	 } ;  
 	 i f   ( C a l e n d a r . i s _ k h t m l )  
 	 	 s e t T i m e o u t ( " C a l e n d a r . c o n t i n u a t i o n _ f o r _ t h e _ f u c k i n g _ k h t m l _ b r o w s e r ( ) " ,   1 0 ) ;  
 	 e l s e  
 	 	 C a l e n d a r . c o n t i n u a t i o n _ f o r _ t h e _ f u c k i n g _ k h t m l _ b r o w s e r ( ) ;  
 } ;  
  
 / * *   C u s t o m i z e s   t h e   d a t e   f o r m a t .   * /  
 C a l e n d a r . p r o t o t y p e . s e t D a t e F o r m a t   =   f u n c t i o n   ( s t r )   {  
 	 t h i s . d a t e F o r m a t   =   s t r ;  
 } ;  
  
 / * *   C u s t o m i z e s   t h e   t o o l t i p   d a t e   f o r m a t .   * /  
 C a l e n d a r . p r o t o t y p e . s e t T t D a t e F o r m a t   =   f u n c t i o n   ( s t r )   {  
 	 t h i s . t t D a t e F o r m a t   =   s t r ;  
 } ;  
  
 / * *  
   *     T r i e s   t o   i d e n t i f y   t h e   d a t e   r e p r e s e n t e d   i n   a   s t r i n g .     I f   s u c c e s s f u l   i t   a l s o  
   *     c a l l s   t h i s . s e t D a t e   w h i c h   m o v e s   t h e   c a l e n d a r   t o   t h e   g i v e n   d a t e .  
   * /  
 C a l e n d a r . p r o t o t y p e . p a r s e D a t e   =   f u n c t i o n ( s t r ,   f m t )   {  
 	 i f   ( ! f m t )  
 	 	 f m t   =   t h i s . d a t e F o r m a t ;  
 	 t h i s . s e t D a t e ( D a t e . p a r s e D a t e ( s t r ,   f m t ) ) ;  
 } ;  
  
 C a l e n d a r . p r o t o t y p e . h i d e S h o w C o v e r e d   =   f u n c t i o n   ( )   {  
 	 i f   ( ! C a l e n d a r . i s _ i e   & &   ! C a l e n d a r . i s _ o p e r a )  
 	 	 r e t u r n ;  
 	 f u n c t i o n   g e t V i s i b ( o b j ) {  
 	 	 v a r   v a l u e   =   o b j . s t y l e . v i s i b i l i t y ;  
 	 	 i f   ( ! v a l u e )   {  
 	 	 	 i f   ( d o c u m e n t . d e f a u l t V i e w   & &   t y p e o f   ( d o c u m e n t . d e f a u l t V i e w . g e t C o m p u t e d S t y l e )   = =   " f u n c t i o n " )   {   / /   G e c k o ,   W 3 C  
 	 	 	 	 i f   ( ! C a l e n d a r . i s _ k h t m l )  
 	 	 	 	 	 v a l u e   =   d o c u m e n t . d e f a u l t V i e w .  
 	 	 	 	 	 	 g e t C o m p u t e d S t y l e ( o b j ,   " " ) . g e t P r o p e r t y V a l u e ( " v i s i b i l i t y " ) ;  
 	 	 	 	 e l s e  
 	 	 	 	 	 v a l u e   =   ' ' ;  
 	 	 	 }   e l s e   i f   ( o b j . c u r r e n t S t y l e )   {   / /   I E  
 	 	 	 	 v a l u e   =   o b j . c u r r e n t S t y l e . v i s i b i l i t y ;  
 	 	 	 }   e l s e  
 	 	 	 	 v a l u e   =   ' ' ;  
 	 	 }  
 	 	 r e t u r n   v a l u e ;  
 	 } ;  
  
 	 / / v a r   t a g s   =   n e w   A r r a y ( " a p p l e t " ,   " i f r a m e " ,   " s e l e c t " ) ;  
 	 v a r   t a g s   =   n e w   A r r a y ( " a p p l e t " ,   " s e l e c t " ) ;  
 	 v a r   e l   =   t h i s . e l e m e n t ;  
  
 	 v a r   p   =   C a l e n d a r . g e t A b s o l u t e P o s ( e l ) ;  
 	 v a r   E X 1   =   p . x ;  
 	 v a r   E X 2   =   e l . o f f s e t W i d t h   +   E X 1 ;  
 	 v a r   E Y 1   =   p . y ;  
 	 v a r   E Y 2   =   e l . o f f s e t H e i g h t   +   E Y 1 ;  
  
 	 f o r   ( v a r   k   =   t a g s . l e n g t h ;   k   >   0 ;   )   {  
 	 	 v a r   a r   =   d o c u m e n t . g e t E l e m e n t s B y T a g N a m e ( t a g s [ - - k ] ) ;  
 	 	 v a r   c c   =   n u l l ;  
  
 	 	 f o r   ( v a r   i   =   a r . l e n g t h ;   i   >   0 ; )   {  
 	 	 	 c c   =   a r [ - - i ] ;  
  
 	 	 	 p   =   C a l e n d a r . g e t A b s o l u t e P o s ( c c ) ;  
 	 	 	 v a r   C X 1   =   p . x ;  
 	 	 	 v a r   C X 2   =   c c . o f f s e t W i d t h   +   C X 1 ;  
 	 	 	 v a r   C Y 1   =   p . y ;  
 	 	 	 v a r   C Y 2   =   c c . o f f s e t H e i g h t   +   C Y 1 ;  
  
 	 	 	 i f   ( t h i s . h i d d e n   | |   ( C X 1   >   E X 2 )   | |   ( C X 2   <   E X 1 )   | |   ( C Y 1   >   E Y 2 )   | |   ( C Y 2   <   E Y 1 ) )   {  
 	 	 	 	 i f   ( ! c c . _ _ m s h _ s a v e _ v i s i b i l i t y )   {  
 	 	 	 	 	 c c . _ _ m s h _ s a v e _ v i s i b i l i t y   =   g e t V i s i b ( c c ) ;  
 	 	 	 	 }  
 	 	 	 	 c c . s t y l e . v i s i b i l i t y   =   c c . _ _ m s h _ s a v e _ v i s i b i l i t y ;  
 	 	 	 }   e l s e   {  
 	 	 	 	 i f   ( ! c c . _ _ m s h _ s a v e _ v i s i b i l i t y )   {  
 	 	 	 	 	 c c . _ _ m s h _ s a v e _ v i s i b i l i t y   =   g e t V i s i b ( c c ) ;  
 	 	 	 	 }  
 	 	 	 	 c c . s t y l e . v i s i b i l i t y   =   " h i d d e n " ;  
 	 	 	 }  
 	 	 }  
 	 }  
 	 / / N b v a n   b u a  
 	 i f ( w i n d o w . f r a m e s [ " U p l o a d " ]   ! =   n u l l )   {  
 	 	 f o r   ( v a r   k   =   t a g s . l e n g t h ;   k   >   0 ;   )   {  
 	 	 	 v a r   a r   =   w i n d o w . f r a m e s [ " U p l o a d " ] . d o c u m e n t . g e t E l e m e n t s B y T a g N a m e ( t a g s [ - - k ] ) ;  
 	 	 	 v a r   c c   =   n u l l ;  
  
 	 	 	 f o r   ( v a r   i   =   a r . l e n g t h ;   i   >   0 ; )   {  
 	 	 	 	 c c   =   a r [ - - i ] ;  
  
 	 	 	 	 p   =   C a l e n d a r . g e t A b s o l u t e P o s ( c c ) ;  
 	 	 	 	 v a r   C X 1   =   p . x ;  
 	 	 	 	 v a r   C X 2   =   c c . o f f s e t W i d t h   +   C X 1 ;  
 	 	 	 	 v a r   C Y 1   =   p . y ;  
 	 	 	 	 v a r   C Y 2   =   c c . o f f s e t H e i g h t   +   C Y 1 ;  
  
 	 	 	 	 i f   ( t h i s . h i d d e n   | |   ( C X 1   >   E X 2 )   | |   ( C X 2   <   E X 1 )   | |   ( C Y 1   >   E Y 2 )   | |   ( C Y 2   <   E Y 1 ) )   {  
 	 	 	 	 	 i f   ( ! c c . _ _ m s h _ s a v e _ v i s i b i l i t y )   {  
 	 	 	 	 	 	 c c . _ _ m s h _ s a v e _ v i s i b i l i t y   =   g e t V i s i b ( c c ) ;  
 	 	 	 	 	 }  
 	 	 	 	 	 c c . s t y l e . v i s i b i l i t y   =   c c . _ _ m s h _ s a v e _ v i s i b i l i t y ;  
 	 	 	 	 }   e l s e   {  
 	 	 	 	 	 i f   ( ! c c . _ _ m s h _ s a v e _ v i s i b i l i t y )   {  
 	 	 	 	 	 	 c c . _ _ m s h _ s a v e _ v i s i b i l i t y   =   g e t V i s i b ( c c ) ;  
 	 	 	 	 	 }  
 	 	 	 	 	 c c . s t y l e . v i s i b i l i t y   =   " h i d d e n " ;  
 	 	 	 	 }  
 	 	 	 }  
 	 	 }  
 	 }  
 } ;  
  
 / * *   I n t e r n a l   f u n c t i o n ;   i t   d i s p l a y s   t h e   b a r   w i t h   t h e   n a m e s   o f   t h e   w e e k d a y .   * /  
 C a l e n d a r . p r o t o t y p e . _ d i s p l a y W e e k d a y s   =   f u n c t i o n   ( )   {  
 	 v a r   f d o w   =   t h i s . f i r s t D a y O f W e e k ;  
 	 v a r   c e l l   =   t h i s . f i r s t d a y n a m e ;  
 	 v a r   w e e k e n d   =   C a l e n d a r . _ T T [ " W E E K E N D " ] ;  
 	 f o r   ( v a r   i   =   0 ;   i   <   7 ;   + + i )   {  
 	 	 c e l l . c l a s s N a m e   =   " d a y   n a m e " ;  
 	 	 v a r   r e a l d a y   =   ( i   +   f d o w )   %   7 ;  
 	 	 i f   ( i )   {  
 	 	 	 c e l l . t t i p   =   C a l e n d a r . _ T T [ " D A Y _ F I R S T " ] . r e p l a c e ( " % s " ,   C a l e n d a r . _ D N [ r e a l d a y ] ) ;  
 	 	 	 c e l l . n a v t y p e   =   1 0 0 ;  
 	 	 	 c e l l . c a l e n d a r   =   t h i s ;  
 	 	 	 c e l l . f d o w   =   r e a l d a y ;  
 	 	 	 C a l e n d a r . _ a d d _ e v s ( c e l l ) ;  
 	 	 }  
 	 	 i f   ( w e e k e n d . i n d e x O f ( r e a l d a y . t o S t r i n g ( ) )   ! =   - 1 )   {  
 	 	 	 C a l e n d a r . a d d C l a s s ( c e l l ,   " w e e k e n d " ) ;  
 	 	 }  
 	 	 c e l l . i n n e r H T M L   =   C a l e n d a r . _ S D N [ ( i   +   f d o w )   %   7 ] ;  
 	 	 c e l l   =   c e l l . n e x t S i b l i n g ;  
 	 }  
 } ;  
  
 / * *   I n t e r n a l   f u n c t i o n .     H i d e s   a l l   c o m b o   b o x e s   t h a t   m i g h t   b e   d i s p l a y e d .   * /  
 C a l e n d a r . p r o t o t y p e . _ h i d e C o m b o s   =   f u n c t i o n   ( )   {  
 	 t h i s . m o n t h s C o m b o . s t y l e . d i s p l a y   =   " n o n e " ;  
 	 t h i s . y e a r s C o m b o . s t y l e . d i s p l a y   =   " n o n e " ;  
 } ;  
  
 / * *   I n t e r n a l   f u n c t i o n .     S t a r t s   d r a g g i n g   t h e   e l e m e n t .   * /  
 C a l e n d a r . p r o t o t y p e . _ d r a g S t a r t   =   f u n c t i o n   ( e v )   {  
 	 i f   ( t h i s . d r a g g i n g )   {  
 	 	 r e t u r n ;  
 	 }  
 	 t h i s . d r a g g i n g   =   t r u e ;  
 	 v a r   p o s X ;  
 	 v a r   p o s Y ;  
 	 i f   ( C a l e n d a r . i s _ i e )   {  
 	 	 p o s Y   =   w i n d o w . e v e n t . c l i e n t Y   +   d o c u m e n t . b o d y . s c r o l l T o p ;  
 	 	 p o s X   =   w i n d o w . e v e n t . c l i e n t X   +   d o c u m e n t . b o d y . s c r o l l L e f t ;  
 	 }   e l s e   {  
 	 	 p o s Y   =   e v . c l i e n t Y   +   w i n d o w . s c r o l l Y ;  
 	 	 p o s X   =   e v . c l i e n t X   +   w i n d o w . s c r o l l X ;  
 	 }  
 	 v a r   s t   =   t h i s . e l e m e n t . s t y l e ;  
 	 t h i s . x O f f s   =   p o s X   -   p a r s e I n t ( s t . l e f t ) ;  
 	 t h i s . y O f f s   =   p o s Y   -   p a r s e I n t ( s t . t o p ) ;  
 	 w i t h   ( C a l e n d a r )   {  
 	 	 a d d E v e n t ( d o c u m e n t ,   " m o u s e m o v e " ,   c a l D r a g I t ) ;  
 	 	 a d d E v e n t ( d o c u m e n t ,   " m o u s e u p " ,   c a l D r a g E n d ) ;  
 	 }  
 } ;  
  
 / /   B E G I N :   D A T E   O B J E C T   P A T C H E S  
  
 / * *   A d d s   t h e   n u m b e r   o f   d a y s   a r r a y   t o   t h e   D a t e   o b j e c t .   * /  
 D a t e . _ M D   =   n e w   A r r a y ( 3 1 , 2 8 , 3 1 , 3 0 , 3 1 , 3 0 , 3 1 , 3 1 , 3 0 , 3 1 , 3 0 , 3 1 ) ;  
  
 / * *   C o n s t a n t s   u s e d   f o r   t i m e   c o m p u t a t i o n s   * /  
 D a t e . S E C O N D   =   1 0 0 0   / *   m i l l i s e c o n d s   * / ;  
 D a t e . M I N U T E   =   6 0   *   D a t e . S E C O N D ;  
 D a t e . H O U R       =   6 0   *   D a t e . M I N U T E ;  
 D a t e . D A Y         =   2 4   *   D a t e . H O U R ;  
 D a t e . W E E K       =     7   *   D a t e . D A Y ;  
  
 D a t e . p a r s e D a t e   =   f u n c t i o n ( s t r ,   f m t )   {  
 	 v a r   t o d a y   =   n e w   D a t e ( ) ;  
 	 v a r   y   =   0 ;  
 	 v a r   m   =   - 1 ;  
 	 v a r   d   =   0 ;  
 	 v a r   a   =   s t r . s p l i t ( / \ W + / ) ;  
 	 v a r   b   =   f m t . m a t c h ( / % . / g ) ;  
 	 v a r   i   =   0 ,   j   =   0 ;  
 	 v a r   h r   =   0 ;  
 	 v a r   m i n   =   0 ;  
 	 f o r   ( i   =   0 ;   i   <   a . l e n g t h ;   + + i )   {  
 	 	 i f   ( ! a [ i ] )  
 	 	 	 c o n t i n u e ;  
 	 	 s w i t c h   ( b [ i ] )   {  
 	 	         c a s e   " % d " :  
 	 	         c a s e   " % e " :  
 	 	 	 d   =   p a r s e I n t ( a [ i ] ,   1 0 ) ;  
 	 	 	 b r e a k ;  
  
 	 	         c a s e   " % m " :  
 	 	 	 m   =   p a r s e I n t ( a [ i ] ,   1 0 )   -   1 ;  
 	 	 	 b r e a k ;  
  
 	 	         c a s e   " % Y " :  
 	 	         c a s e   " % y " :  
 	 	 	 y   =   p a r s e I n t ( a [ i ] ,   1 0 ) ;  
 	 	 	 ( y   <   1 0 0 )   & &   ( y   + =   ( y   >   2 9 )   ?   1 9 0 0   :   2 0 0 0 ) ;  
 	 	 	 b r e a k ;  
  
 	 	         c a s e   " % b " :  
 	 	         c a s e   " % B " :  
 	 	 	 f o r   ( j   =   0 ;   j   <   1 2 ;   + + j )   {  
 	 	 	 	 i f   ( C a l e n d a r . _ M N [ j ] . s u b s t r ( 0 ,   a [ i ] . l e n g t h ) . t o L o w e r C a s e ( )   = =   a [ i ] . t o L o w e r C a s e ( ) )   {   m   =   j ;   b r e a k ;   }  
 	 	 	 }  
 	 	 	 b r e a k ;  
  
 	 	         c a s e   " % H " :  
 	 	         c a s e   " % I " :  
 	 	         c a s e   " % k " :  
 	 	         c a s e   " % l " :  
 	 	 	 h r   =   p a r s e I n t ( a [ i ] ,   1 0 ) ;  
 	 	 	 b r e a k ;  
  
 	 	         c a s e   " % P " :  
 	 	         c a s e   " % p " :  
 	 	 	 i f   ( / p m / i . t e s t ( a [ i ] )   & &   h r   <   1 2 )  
 	 	 	 	 h r   + =   1 2 ;  
 	 	 	 e l s e   i f   ( / a m / i . t e s t ( a [ i ] )   & &   h r   > =   1 2 )  
 	 	 	 	 h r   - =   1 2 ;  
 	 	 	 b r e a k ;  
  
 	 	         c a s e   " % M " :  
 	 	 	 m i n   =   p a r s e I n t ( a [ i ] ,   1 0 ) ;  
 	 	 	 b r e a k ;  
 	 	 }  
 	 }  
 	 i f   ( i s N a N ( y ) )   y   =   t o d a y . g e t F u l l Y e a r ( ) ;  
 	 i f   ( i s N a N ( m ) )   m   =   t o d a y . g e t M o n t h ( ) ;  
 	 i f   ( i s N a N ( d ) )   d   =   t o d a y . g e t D a t e ( ) ;  
 	 i f   ( i s N a N ( h r ) )   h r   =   t o d a y . g e t H o u r s ( ) ;  
 	 i f   ( i s N a N ( m i n ) )   m i n   =   t o d a y . g e t M i n u t e s ( ) ;  
 	 i f   ( y   ! =   0   & &   m   ! =   - 1   & &   d   ! =   0 )  
 	 	 r e t u r n   n e w   D a t e ( y ,   m ,   d ,   h r ,   m i n ,   0 ) ;  
 	 y   =   0 ;   m   =   - 1 ;   d   =   0 ;  
 	 f o r   ( i   =   0 ;   i   <   a . l e n g t h ;   + + i )   {  
 	 	 i f   ( a [ i ] . s e a r c h ( / [ a - z A - Z ] + / )   ! =   - 1 )   {  
 	 	 	 v a r   t   =   - 1 ;  
 	 	 	 f o r   ( j   =   0 ;   j   <   1 2 ;   + + j )   {  
 	 	 	 	 i f   ( C a l e n d a r . _ M N [ j ] . s u b s t r ( 0 ,   a [ i ] . l e n g t h ) . t o L o w e r C a s e ( )   = =   a [ i ] . t o L o w e r C a s e ( ) )   {   t   =   j ;   b r e a k ;   }  
 	 	 	 }  
 	 	 	 i f   ( t   ! =   - 1 )   {  
 	 	 	 	 i f   ( m   ! =   - 1 )   {  
 	 	 	 	 	 d   =   m + 1 ;  
 	 	 	 	 }  
 	 	 	 	 m   =   t ;  
 	 	 	 }  
 	 	 }   e l s e   i f   ( p a r s e I n t ( a [ i ] ,   1 0 )   < =   1 2   & &   m   = =   - 1 )   {  
 	 	 	 m   =   a [ i ] - 1 ;  
 	 	 }   e l s e   i f   ( p a r s e I n t ( a [ i ] ,   1 0 )   >   3 1   & &   y   = =   0 )   {  
 	 	 	 y   =   p a r s e I n t ( a [ i ] ,   1 0 ) ;  
 	 	 	 ( y   <   1 0 0 )   & &   ( y   + =   ( y   >   2 9 )   ?   1 9 0 0   :   2 0 0 0 ) ;  
 	 	 }   e l s e   i f   ( d   = =   0 )   {  
 	 	 	 d   =   a [ i ] ;  
 	 	 }  
 	 }  
 	 i f   ( y   = =   0 )  
 	 	 y   =   t o d a y . g e t F u l l Y e a r ( ) ;  
 	 i f   ( m   ! =   - 1   & &   d   ! =   0 )  
 	 	 r e t u r n   n e w   D a t e ( y ,   m ,   d ,   h r ,   m i n ,   0 ) ;  
 	 r e t u r n   t o d a y ;  
 } ;  
  
 / * *   R e t u r n s   t h e   n u m b e r   o f   d a y s   i n   t h e   c u r r e n t   m o n t h   * /  
 D a t e . p r o t o t y p e . g e t M o n t h D a y s   =   f u n c t i o n ( m o n t h )   {  
 	 v a r   y e a r   =   t h i s . g e t F u l l Y e a r ( ) ;  
 	 i f   ( t y p e o f   m o n t h   = =   " u n d e f i n e d " )   {  
 	 	 m o n t h   =   t h i s . g e t M o n t h ( ) ;  
 	 }  
 	 i f   ( ( ( 0   = =   ( y e a r % 4 ) )   & &   (   ( 0   ! =   ( y e a r % 1 0 0 ) )   | |   ( 0   = =   ( y e a r % 4 0 0 ) ) ) )   & &   m o n t h   = =   1 )   {  
 	 	 r e t u r n   2 9 ;  
 	 }   e l s e   {  
 	 	 r e t u r n   D a t e . _ M D [ m o n t h ] ;  
 	 }  
 } ;  
  
 / * *   R e t u r n s   t h e   n u m b e r   o f   d a y   i n   t h e   y e a r .   * /  
 D a t e . p r o t o t y p e . g e t D a y O f Y e a r   =   f u n c t i o n ( )   {  
 	 v a r   n o w   =   n e w   D a t e ( t h i s . g e t F u l l Y e a r ( ) ,   t h i s . g e t M o n t h ( ) ,   t h i s . g e t D a t e ( ) ,   0 ,   0 ,   0 ) ;  
 	 v a r   t h e n   =   n e w   D a t e ( t h i s . g e t F u l l Y e a r ( ) ,   0 ,   0 ,   0 ,   0 ,   0 ) ;  
 	 v a r   t i m e   =   n o w   -   t h e n ;  
 	 r e t u r n   M a t h . f l o o r ( t i m e   /   D a t e . D A Y ) ;  
 } ;  
  
 / * *   R e t u r n s   t h e   n u m b e r   o f   t h e   w e e k   i n   y e a r ,   a s   d e f i n e d   i n   I S O   8 6 0 1 .   * /  
 D a t e . p r o t o t y p e . g e t W e e k N u m b e r   =   f u n c t i o n ( )   {  
 	 v a r   d   =   n e w   D a t e ( t h i s . g e t F u l l Y e a r ( ) ,   t h i s . g e t M o n t h ( ) ,   t h i s . g e t D a t e ( ) ,   0 ,   0 ,   0 ) ;  
 	 v a r   D o W   =   d . g e t D a y ( ) ;  
 	 d . s e t D a t e ( d . g e t D a t e ( )   -   ( D o W   +   6 )   %   7   +   3 ) ;   / /   N e a r e s t   T h u  
 	 v a r   m s   =   d . v a l u e O f ( ) ;   / /   G M T  
 	 d . s e t M o n t h ( 0 ) ;  
 	 d . s e t D a t e ( 4 ) ;   / /   T h u   i n   W e e k   1  
 	 r e t u r n   M a t h . r o u n d ( ( m s   -   d . v a l u e O f ( ) )   /   ( 7   *   8 6 4 e 5 ) )   +   1 ;  
 } ;  
  
 / * *   C h e c k s   d a t e   a n d   t i m e   e q u a l i t y   * /  
 D a t e . p r o t o t y p e . e q u a l s T o   =   f u n c t i o n ( d a t e )   {  
 	 r e t u r n   ( ( t h i s . g e t F u l l Y e a r ( )   = =   d a t e . g e t F u l l Y e a r ( ) )   & &  
 	 	 ( t h i s . g e t M o n t h ( )   = =   d a t e . g e t M o n t h ( ) )   & &  
 	 	 ( t h i s . g e t D a t e ( )   = =   d a t e . g e t D a t e ( ) )   & &  
 	 	 ( t h i s . g e t H o u r s ( )   = =   d a t e . g e t H o u r s ( ) )   & &  
 	 	 ( t h i s . g e t M i n u t e s ( )   = =   d a t e . g e t M i n u t e s ( ) ) ) ;  
 } ;  
  
 / * *   S e t   o n l y   t h e   y e a r ,   m o n t h ,   d a t e   p a r t s   ( k e e p   e x i s t i n g   t i m e )   * /  
 D a t e . p r o t o t y p e . s e t D a t e O n l y   =   f u n c t i o n ( d a t e )   {  
 	 v a r   t m p   =   n e w   D a t e ( d a t e ) ;  
 	 t h i s . s e t D a t e ( 1 ) ;  
 	 t h i s . s e t F u l l Y e a r ( t m p . g e t F u l l Y e a r ( ) ) ;  
 	 t h i s . s e t M o n t h ( t m p . g e t M o n t h ( ) ) ;  
 	 t h i s . s e t D a t e ( t m p . g e t D a t e ( ) ) ;  
 } ;  
  
 / * *   P r i n t s   t h e   d a t e   i n   a   s t r i n g   a c c o r d i n g   t o   t h e   g i v e n   f o r m a t .   * /  
 D a t e . p r o t o t y p e . p r i n t   =   f u n c t i o n   ( s t r )   {  
 	 v a r   m   =   t h i s . g e t M o n t h ( ) ;  
 	 v a r   d   =   t h i s . g e t D a t e ( ) ;  
 	 v a r   y   =   t h i s . g e t F u l l Y e a r ( ) ;  
 	 v a r   w n   =   t h i s . g e t W e e k N u m b e r ( ) ;  
 	 v a r   w   =   t h i s . g e t D a y ( ) ;  
 	 v a r   s   =   { } ;  
 	 v a r   h r   =   t h i s . g e t H o u r s ( ) ;  
 	 v a r   p m   =   ( h r   > =   1 2 ) ;  
 	 v a r   i r   =   ( p m )   ?   ( h r   -   1 2 )   :   h r ;  
 	 v a r   d y   =   t h i s . g e t D a y O f Y e a r ( ) ;  
 	 i f   ( i r   = =   0 )  
 	 	 i r   =   1 2 ;  
 	 v a r   m i n   =   t h i s . g e t M i n u t e s ( ) ;  
 	 v a r   s e c   =   t h i s . g e t S e c o n d s ( ) ;  
 	 s [ " % a " ]   =   C a l e n d a r . _ S D N [ w ] ;   / /   a b b r e v i a t e d   w e e k d a y   n a m e   [ F I X M E :   I 1 8 N ]  
 	 s [ " % A " ]   =   C a l e n d a r . _ D N [ w ] ;   / /   f u l l   w e e k d a y   n a m e  
 	 s [ " % b " ]   =   C a l e n d a r . _ S M N [ m ] ;   / /   a b b r e v i a t e d   m o n t h   n a m e   [ F I X M E :   I 1 8 N ]  
 	 s [ " % B " ]   =   C a l e n d a r . _ M N [ m ] ;   / /   f u l l   m o n t h   n a m e  
 	 / /   F I X M E :   % c   :   p r e f e r r e d   d a t e   a n d   t i m e   r e p r e s e n t a t i o n   f o r   t h e   c u r r e n t   l o c a l e  
 	 s [ " % C " ]   =   1   +   M a t h . f l o o r ( y   /   1 0 0 ) ;   / /   t h e   c e n t u r y   n u m b e r  
 	 s [ " % d " ]   =   ( d   <   1 0 )   ?   ( " 0 "   +   d )   :   d ;   / /   t h e   d a y   o f   t h e   m o n t h   ( r a n g e   0 1   t o   3 1 )  
 	 s [ " % e " ]   =   d ;   / /   t h e   d a y   o f   t h e   m o n t h   ( r a n g e   1   t o   3 1 )  
 	 / /   F I X M E :   % D   :   a m e r i c a n   d a t e   s t y l e :   % m / % d / % y  
 	 / /   F I X M E :   % E ,   % F ,   % G ,   % g ,   % h   ( m a n   s t r f t i m e )  
 	 s [ " % H " ]   =   ( h r   <   1 0 )   ?   ( " 0 "   +   h r )   :   h r ;   / /   h o u r ,   r a n g e   0 0   t o   2 3   ( 2 4 h   f o r m a t )  
 	 s [ " % I " ]   =   ( i r   <   1 0 )   ?   ( " 0 "   +   i r )   :   i r ;   / /   h o u r ,   r a n g e   0 1   t o   1 2   ( 1 2 h   f o r m a t )  
 	 s [ " % j " ]   =   ( d y   <   1 0 0 )   ?   ( ( d y   <   1 0 )   ?   ( " 0 0 "   +   d y )   :   ( " 0 "   +   d y ) )   :   d y ;   / /   d a y   o f   t h e   y e a r   ( r a n g e   0 0 1   t o   3 6 6 )  
 	 s [ " % k " ]   =   h r ; 	 	 / /   h o u r ,   r a n g e   0   t o   2 3   ( 2 4 h   f o r m a t )  
 	 s [ " % l " ]   =   i r ; 	 	 / /   h o u r ,   r a n g e   1   t o   1 2   ( 1 2 h   f o r m a t )  
 	 s [ " % m " ]   =   ( m   <   9 )   ?   ( " 0 "   +   ( 1 + m ) )   :   ( 1 + m ) ;   / /   m o n t h ,   r a n g e   0 1   t o   1 2  
 	 s [ " % M " ]   =   ( m i n   <   1 0 )   ?   ( " 0 "   +   m i n )   :   m i n ;   / /   m i n u t e ,   r a n g e   0 0   t o   5 9  
 	 s [ " % n " ]   =   " \ n " ; 	 	 / /   a   n e w l i n e   c h a r a c t e r  
 	 s [ " % p " ]   =   p m   ?   " P M "   :   " A M " ;  
 	 s [ " % P " ]   =   p m   ?   " p m "   :   " a m " ;  
 	 / /   F I X M E :   % r   :   t h e   t i m e   i n   a m / p m   n o t a t i o n   % I : % M : % S   % p  
 	 / /   F I X M E :   % R   :   t h e   t i m e   i n   2 4 - h o u r   n o t a t i o n   % H : % M  
 	 s [ " % s " ]   =   M a t h . f l o o r ( t h i s . g e t T i m e ( )   /   1 0 0 0 ) ;  
 	 s [ " % S " ]   =   ( s e c   <   1 0 )   ?   ( " 0 "   +   s e c )   :   s e c ;   / /   s e c o n d s ,   r a n g e   0 0   t o   5 9  
 	 s [ " % t " ]   =   " \ t " ; 	 	 / /   a   t a b   c h a r a c t e r  
 	 / /   F I X M E :   % T   :   t h e   t i m e   i n   2 4 - h o u r   n o t a t i o n   ( % H : % M : % S )  
 	 s [ " % U " ]   =   s [ " % W " ]   =   s [ " % V " ]   =   ( w n   <   1 0 )   ?   ( " 0 "   +   w n )   :   w n ;  
 	 s [ " % u " ]   =   w   +   1 ; 	 / /   t h e   d a y   o f   t h e   w e e k   ( r a n g e   1   t o   7 ,   1   =   M O N )  
 	 s [ " % w " ]   =   w ; 	 	 / /   t h e   d a y   o f   t h e   w e e k   ( r a n g e   0   t o   6 ,   0   =   S U N )  
 	 / /   F I X M E :   % x   :   p r e f e r r e d   d a t e   r e p r e s e n t a t i o n   f o r   t h e   c u r r e n t   l o c a l e   w i t h o u t   t h e   t i m e  
 	 / /   F I X M E :   % X   :   p r e f e r r e d   t i m e   r e p r e s e n t a t i o n   f o r   t h e   c u r r e n t   l o c a l e   w i t h o u t   t h e   d a t e  
 / /   v h p h u c 	 s [ " % y " ]   =   ( ' '   +   y ) . s u b s t r ( 2 ,   2 ) ;   / /   y e a r   w i t h o u t   t h e   c e n t u r y   ( r a n g e   0 0   t o   9 9 )  
         s [ " % y " ]   =   ( ' '   +   y ) . s u b s t r ( 0 ,   4 ) ;   / /   y e a r   w i t h o u t   t h e   c e n t u r y   ( r a n g e   0 0   t o   9 9 )  
 	 s [ " % Y " ]   =   y ; 	 	 / /   y e a r   w i t h   t h e   c e n t u r y  
 	 s [ " % % " ]   =   " % " ; 	 	 / /   a   l i t e r a l   ' % '   c h a r a c t e r  
  
 	 v a r   r e   =   / % . / g ;  
 	 i f   ( ! C a l e n d a r . i s _ i e 5   & &   ! C a l e n d a r . i s _ k h t m l )  
 	 	 r e t u r n   s t r . r e p l a c e ( r e ,   f u n c t i o n   ( p a r )   {   r e t u r n   s [ p a r ]   | |   p a r ;   } ) ;  
  
 	 v a r   a   =   s t r . m a t c h ( r e ) ;  
 	 f o r   ( v a r   i   =   0 ;   i   <   a . l e n g t h ;   i + + )   {  
 	 	 v a r   t m p   =   s [ a [ i ] ] ;  
 	 	 i f   ( t m p )   {  
 	 	 	 r e   =   n e w   R e g E x p ( a [ i ] ,   ' g ' ) ;  
 	 	 	 s t r   =   s t r . r e p l a c e ( r e ,   t m p ) ;  
 	 	 }  
 	 }  
  
 	 r e t u r n   s t r ;  
 } ;  
  
 D a t e . p r o t o t y p e . _ _ m s h _ o l d S e t F u l l Y e a r   =   D a t e . p r o t o t y p e . s e t F u l l Y e a r ;  
 D a t e . p r o t o t y p e . s e t F u l l Y e a r   =   f u n c t i o n ( y )   {  
 	 v a r   d   =   n e w   D a t e ( t h i s ) ;  
 	 d . _ _ m s h _ o l d S e t F u l l Y e a r ( y ) ;  
 	 i f   ( d . g e t M o n t h ( )   ! =   t h i s . g e t M o n t h ( ) )  
 	 	 t h i s . s e t D a t e ( 2 8 ) ;  
 	 t h i s . _ _ m s h _ o l d S e t F u l l Y e a r ( y ) ;  
 } ;  
  
 / /   E N D :   D A T E   O B J E C T   P A T C H E S  
  
  
 / /   g l o b a l   o b j e c t   t h a t   r e m e m b e r s   t h e   c a l e n d a r  
 w i n d o w . _ d y n a r c h _ p o p u p C a l e n d a r   =   n u l l ;  
 
