ÿþf u n c t i o n   C a n H a v e C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t )  
 { r e t u r n ( ( e l e m e n t ! = n u l l ) & & ( e l e m e n t . c l a s s N a m e ! = n u l l ) ) ; }  
 f u n c t i o n   H a s A n y C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t )  
 { r e t u r n ( C a n H a v e C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t ) & & ( e l e m e n t . c l a s s N a m e . l e n g t h > 0 ) ) ; }  
 f u n c t i o n   H a s C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , s p e c i f i c C l a s s )  
 { r e t u r n ( H a s A n y C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t ) & & ( e l e m e n t . c l a s s N a m e . i n d e x O f ( s p e c i f i c C l a s s ) > - 1 ) ) ; }  
 f u n c t i o n   A d d C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , c l a s s T o A d d )  
 { i f ( H a s A n y C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t ) )  
 { i f ( ! H a s C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , c l a s s T o A d d ) )  
 { e l e m e n t . c l a s s N a m e = e l e m e n t . c l a s s N a m e + "   " + c l a s s T o A d d ; } }  
 e l s e   i f ( C a n H a v e C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t ) )  
 { e l e m e n t . c l a s s N a m e = c l a s s T o A d d ; } }  
 f u n c t i o n   A d d C l a s s U p w a r d _ _ C s s F r i e n d l y A d a p t e r s ( s t a r t E l e m e n t , s t o p P a r e n t C l a s s , c l a s s T o A d d )  
 { v a r   e l e m e n t O r P a r e n t = s t a r t E l e m e n t ; w h i l e ( ( e l e m e n t O r P a r e n t ! = n u l l ) & & ( ! H a s C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t O r P a r e n t , t o p m o s t C l a s s ) ) )  
 { A d d C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t O r P a r e n t , c l a s s T o A d d ) ; e l e m e n t O r P a r e n t = e l e m e n t O r P a r e n t . p a r e n t N o d e ; } }  
 f u n c t i o n   S w a p C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , o l d C l a s s , n e w C l a s s )  
 { i f ( H a s A n y C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t ) )  
 { e l e m e n t . c l a s s N a m e = e l e m e n t . c l a s s N a m e . r e p l a c e ( n e w   R e g E x p ( o l d C l a s s , " g i " ) , n e w C l a s s ) ; } }  
 f u n c t i o n   S w a p O r A d d C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , o l d C l a s s , n e w C l a s s )  
 { i f ( H a s C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , o l d C l a s s ) )  
 { S w a p C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , o l d C l a s s , n e w C l a s s ) ; }  
 e l s e  
 { A d d C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , n e w C l a s s ) ; } }  
 f u n c t i o n   R e m o v e C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , c l a s s T o R e m o v e )  
 { S w a p C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t , c l a s s T o R e m o v e , " " ) ; }  
 f u n c t i o n   R e m o v e C l a s s U p w a r d _ _ C s s F r i e n d l y A d a p t e r s ( s t a r t E l e m e n t , s t o p P a r e n t C l a s s , c l a s s T o R e m o v e )  
 { v a r   e l e m e n t O r P a r e n t = s t a r t E l e m e n t ; w h i l e ( ( e l e m e n t O r P a r e n t ! = n u l l ) & & ( ! H a s C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t O r P a r e n t , t o p m o s t C l a s s ) ) )  
 { R e m o v e C l a s s _ _ C s s F r i e n d l y A d a p t e r s ( e l e m e n t O r P a r e n t , c l a s s T o R e m o v e ) ; e l e m e n t O r P a r e n t = e l e m e n t O r P a r e n t . p a r e n t N o d e ; } }  
 f u n c t i o n   I s E n t e r K e y ( )  
 { v a r   r e t V a l = f a l s e ; v a r   k e y c o d e = 0 ; i f ( ( t y p e o f ( w i n d o w . e v e n t ) ! = " u n d e f i n e d " ) & & ( w i n d o w . e v e n t ! = n u l l ) )  
 { k e y c o d e = w i n d o w . e v e n t . k e y C o d e ; }  
 e l s e   i f ( ( t y p e o f ( e ) ! = " u n d e f i n e d " ) & & ( e ! = n u l l ) )  
 { k e y c o d e = e . w h i c h ; }  
 i f ( k e y c o d e = = 1 3 )  
 { r e t V a l = t r u e ; }  
 r e t u r n   r e t V a l ; }  
  
 
