ÿþ/ *   B 
   *   A d v a n c e d A J A X   1 . 1 . 2  
   *   ( c )   2 0 0 5 - 2 0 0 6   L u k a s z   L a c h  
   *     m a i l :   a n a k i n @ p h p 5 . p l  
   *     w w w :     h t t p : / / a d v a j a x . a n a k i n . u s /  
   *                 h t t p : / / a n a k i n . u s /  
   *   h t t p : / / c r e a t i v e c o m m o n s . o r g / l i c e n s e s / L G P L / 2 . 1 /  
   *  
   * /  
  
 f u n c t i o n   a d v A J A X ( )   {  
  
         v a r   o b j   =   n e w   O b j e c t ( ) ;  
  
         o b j . u r l   =   w i n d o w . l o c a t i o n . h r e f ;  
         o b j . m e t h o d   =   " G E T " ;  
         o b j . p a r a m e t e r s   =   n e w   O b j e c t ( ) ;  
         o b j . j s o n P a r a m e t e r s   =   n e w   O b j e c t ( ) ;  
         o b j . h e a d e r s   =   n e w   O b j e c t ( ) ;  
         o b j . a s y n c   =   t r u e ;  
         o b j . m i m e T y p e   =   " t e x t / x m l " ;  
         o b j . u s e r n a m e   =   n u l l ;  
         o b j . p a s s w o r d   =   n u l l ;  
         o b j . f o r m   =   n u l l ;  
         o b j . d i s a b l e F o r m   =   t r u e ;  
  
         o b j . u n i q u e   =   t r u e ;  
         o b j . u n i q u e P a r a m e t e r   =   " _ u n i q i d " ;  
  
         o b j . r e q u e s t D o n e   =   f a l s e ;  
         o b j . q u e r y S t r i n g   =   " " ;  
         o b j . r e s p o n s e T e x t   =   n u l l ;  
         o b j . r e s p o n s e X M L   =   n u l l ;  
         o b j . s t a t u s   =   n u l l ;  
         o b j . s t a t u s T e x t   =   n u l l ;  
         o b j . a b o r t e d   =   f a l s e ;  
         o b j . t i m e o u t   =   0 ;  
         o b j . r e t r y C o u n t   =   0 ;  
         o b j . r e t r y D e l a y   =   1 0 0 0 ;  
         o b j . t a g   =   n u l l ;  
         o b j . g r o u p   =   n u l l ;  
         o b j . p r o g r e s s T i m e r I n t e r v a l   =   5 0 ;  
  
         o b j . x m l H t t p R e q u e s t   =   n u l l ;  
  
         o b j . o n I n i t i a l i z a t i o n   =   n u l l ;  
         o b j . o n F i n a l i z a t i o n   =   n u l l ;  
         o b j . o n R e a d y S t a t e C h a n g e   =   n u l l ;  
         o b j . o n L o a d i n g   =   n u l l ;  
         o b j . o n L o a d e d   =   n u l l ;  
         o b j . o n I n t e r a c t i v e   =   n u l l ;  
         o b j . o n C o m p l e t e   =   n u l l ;  
         o b j . o n P r o g r e s s   =   n u l l ;  
         o b j . o n S u c c e s s   =   n u l l ;  
         o b j . o n F a t a l E r r o r   =   n u l l ;  
         o b j . o n E r r o r   =   n u l l ;  
         o b j . o n T i m e o u t   =   n u l l ;  
         o b j . o n R e t r y D e l a y   =   n u l l ;  
         o b j . o n R e t r y   =   n u l l ;  
         o b j . o n G r o u p E n t e r   =   n u l l ;  
         o b j . o n G r o u p L e a v e   =   n u l l ;  
  
         o b j . c r e a t e X m l H t t p R e q u e s t   =   f u n c t i o n ( )   {  
  
                 i f   ( t y p e o f   X M L H t t p R e q u e s t   ! =   " u n d e f i n e d " )  
                         r e t u r n   n e w   X M L H t t p R e q u e s t ( ) ;  
                 v a r   x h r V e r s i o n   =   [   " M S X M L 2 . X M L H t t p . 5 . 0 " ,   " M S X M L 2 . X M L H t t p . 4 . 0 " , " M S X M L 2 . X M L H t t p . 3 . 0 " ,  
                                 " M S X M L 2 . X M L H t t p " , " M i c r o s o f t . X M L H t t p "   ] ;  
                 f o r   ( v a r   i   =   0 ;   i   <   x h r V e r s i o n . l e n g t h ;   i + + )   {  
                         t r y   {  
                                 v a r   x h r O b j   =   n e w   A c t i v e X O b j e c t ( x h r V e r s i o n [ i ] ) ;  
                                 r e t u r n   x h r O b j ;  
                         }   c a t c h   ( e )   {   }  
                 }  
                 o b j . r a i s e E v e n t ( " F a t a l E r r o r " ) ;  
                 r e t u r n   n u l l ;  
         } ;  
  
         o b j . _ o l d R e s p o n s e L e n g t h   =   n u l l ;  
         o b j . _ p r o g r e s s T i m e r   =   n u l l ;  
         o b j . _ p r o g r e s s S t a r t e d   =   n a v i g a t o r . u s e r A g e n t . i n d e x O f ( ' O p e r a ' )   = =   - 1 ;  
         o b j . _ o n P r o g r e s s   =   f u n c t i o n ( )   {  
  
                 i f   ( t y p e o f   o b j . o n P r o g r e s s   = =   " f u n c t i o n "   & &  
                         t y p e o f   o b j . x m l H t t p R e q u e s t . g e t R e s p o n s e H e a d e r   = =   " f u n c t i o n " )   {  
                         v a r   c o n t e n t L e n g t h   =   o b j . x m l H t t p R e q u e s t . g e t R e s p o n s e H e a d e r ( " C o n t e n t - l e n g t h " ) ;  
                         i f   ( c o n t e n t L e n g t h   ! =   n u l l   & &   c o n t e n t L e n g t h   ! =   ' ' )   {  
                                 v a r   r e s p o n s e L e n g t h   =   o b j . x m l H t t p R e q u e s t . r e s p o n s e T e x t . l e n g t h ;  
                                 i f   ( r e s p o n s e L e n g t h   ! =   o b j . _ o l d R e s p o n s e L e n g t h )   {  
                                         o b j . r a i s e E v e n t ( " P r o g r e s s " ,   o b j ,   r e s p o n s e L e n g t h ,   c o n t e n t L e n g t h ) ;  
                                         o b j . _ o l d R e s p o n s e L e n g t h   =   o b j . x m l H t t p R e q u e s t . r e s p o n s e T e x t . l e n g t h ;  
                                 }  
                         }  
                 }  
                 i f   ( o b j . _ p r o g r e s s S t a r t e d )   r e t u r n ;  
                 o b j . _ p r o g r e s s S t a r t e d   =   t r u e ;  
                 v a r   _ o b j   =   t h i s ;  
                 t h i s . _ _ o n P r o g r e s s   =   f u n c t i o n ( )   {  
                         o b j . _ o n P r o g r e s s ( ) ;  
                         o b j . _ p r o g r e s s T i m e r   =   w i n d o w . s e t T i m e o u t ( _ o b j . _ _ o n P r o g r e s s ,   o b j . p r o g r e s s T i m e r I n t e r v a l ) ;  
                 }  
                 _ o b j . _ _ o n P r o g r e s s ( ) ;  
         }  
  
         o b j . _ o n I n i t i a l i z a t i o n H a n d l e d   =   f a l s e ;  
         o b j . _ i n i t O b j e c t   =   f u n c t i o n ( )   {  
  
                 i f   ( o b j . x m l H t t p R e q u e s t   ! =   n u l l )   {  
                         d e l e t e   o b j . x m l H t t p R e q u e s t [ " o n r e a d y s t a t e c h a n g e " ] ;  
                         o b j . x m l H t t p R e q u e s t   =   n u l l ;  
                 }  
                 i f   ( ( o b j . x m l H t t p R e q u e s t   =   o b j . c r e a t e X m l H t t p R e q u e s t ( ) )   = =   n u l l )  
                         r e t u r n   n u l l ;  
                 i f   ( t y p e o f   o b j . x m l H t t p R e q u e s t . o v e r r i d e M i m e T y p e   ! =   " u n d e f i n e d " )  
                         o b j . x m l H t t p R e q u e s t . o v e r r i d e M i m e T y p e ( o b j . m i m e T y p e ) ;  
                 o b j . x m l H t t p R e q u e s t . o n r e a d y s t a t e c h a n g e   =   f u n c t i o n ( )   {  
  
                         i f   ( o b j   = =   n u l l   | |   o b j . x m l H t t p R e q u e s t   = =   n u l l )  
                                 r e t u r n ;  
                         o b j . r a i s e E v e n t ( " R e a d y S t a t e C h a n g e " ,   o b j ,   o b j . x m l H t t p R e q u e s t . r e a d y S t a t e ) ;  
                         o b j . _ o n P r o g r e s s ( ) ;  
                         s w i t c h   ( o b j . x m l H t t p R e q u e s t . r e a d y S t a t e )   {  
                                 c a s e   1 :   o b j . _ o n L o a d i n g ( ) ;   b r e a k ;  
                                 c a s e   2 :   o b j . _ o n L o a d e d ( ) ;   b r e a k ;  
                                 c a s e   3 :   o b j . _ o n I n t e r a c t i v e ( ) ;   b r e a k ;  
                                 c a s e   4 :   o b j . _ o n C o m p l e t e ( ) ;   b r e a k ;  
                         }  
                 } ;  
                 o b j . _ o n L o a d i n g H a n d l e d   =  
                         o b j . _ o n L o a d e d H a n d l e d   =  
                         o b j . _ o n I n t e r a c t i v e H a n d l e d   =  
                         o b j . _ o n C o m p l e t e H a n d l e d   =   f a l s e ;  
         } ;  
  
         o b j . _ o n L o a d i n g   =   f u n c t i o n ( )   {  
  
                 i f   ( o b j . _ o n L o a d i n g H a n d l e d )  
                         r e t u r n ;  
                 i f   ( ! o b j . _ r e t r y   & &   o b j . g r o u p   ! =   n u l l )   {  
                         i f   ( t y p e o f   a d v A J A X . _ g r o u p D a t a [ o b j . g r o u p ]   = =   " u n d e f i n e d " )  
                                 a d v A J A X . _ g r o u p D a t a [ o b j . g r o u p ]   =   0 ;  
                         a d v A J A X . _ g r o u p D a t a [ o b j . g r o u p ] + + ;  
                         i f   ( t y p e o f   o b j . o n G r o u p E n t e r   = =   " f u n c t i o n "   & &   a d v A J A X . _ g r o u p D a t a [ o b j . g r o u p ]   = =   1 )  
                                 o b j . o n G r o u p E n t e r ( o b j ) ;  
                 }  
                 o b j . r a i s e E v e n t ( " L o a d i n g " ,   o b j ) ;  
                 o b j . _ o n L o a d i n g H a n d l e d   =   t r u e ;  
         } ;  
         o b j . _ o n L o a d e d   =   f u n c t i o n ( )   {  
  
                 i f   ( o b j . _ o n L o a d e d H a n d l e d )  
                         r e t u r n ;  
                 o b j . r a i s e E v e n t ( " L o a d e d " ,   o b j ) ;  
                 o b j . _ o n L o a d e d H a n d l e d   =   t r u e ;  
         } ;  
         o b j . _ o n I n t e r a c t i v e   =   f u n c t i o n ( )   {  
  
                 i f   ( o b j . _ o n I n t e r a c t i v e H a n d l e d )  
                         r e t u r n ;  
                 o b j . r a i s e E v e n t ( " I n t e r a c t i v e " ,   o b j ) ;  
                 o b j . _ o n I n t e r a c t i v e H a n d l e d   =   t r u e ;  
                 i f   ( ! o b j . _ p r o g r e s s S t a r t e d )  
                         o b j . _ o n P r o g r e s s ( ) ;  
         } ;  
         o b j . _ o n C o m p l e t e   =   f u n c t i o n ( )   {  
  
                 i f   ( o b j . _ o n C o m p l e t e H a n d l e d   | |   o b j . a b o r t e d )  
                         r e t u r n ;  
                 i f   ( o b j . _ p r o g r e s s S t a r t e d )   {  
                         w i n d o w . c l e a r I n t e r v a l ( o b j . _ p r o g r e s s T i m e r ) ;  
                         o b j . _ p r o g r e s s S t a r t e d   =   f a l s e ;  
                 }  
                 o b j . r e q u e s t D o n e   =   t r u e ;  
                 w i t h   ( o b j . x m l H t t p R e q u e s t )   {  
                         o b j . r e s p o n s e T e x t   =   r e s p o n s e T e x t ;  
                         o b j . r e s p o n s e X M L   =   r e s p o n s e X M L ;  
                         i f   ( t y p e o f   s t a t u s   ! =   " u n d e f i n e d " )  
                                 o b j . s t a t u s   =   s t a t u s ;  
                         i f   ( t y p e o f   s t a t u s T e x t   ! =   " u n d e f i n e d " )  
                                 o b j . s t a t u s T e x t   =   s t a t u s T e x t ;  
                 }  
                 o b j . r a i s e E v e n t ( " C o m p l e t e " ,   o b j ) ;  
                 o b j . _ o n C o m p l e t e H a n d l e d   =   t r u e ;  
                 i f   ( o b j . s t a t u s   = =   2 0 0 )  
                         o b j . r a i s e E v e n t ( " S u c c e s s " ,   o b j ) ;   e l s e  
                         o b j . r a i s e E v e n t ( " E r r o r " ,   o b j ) ;  
                 d e l e t e   o b j . x m l H t t p R e q u e s t [ ' o n r e a d y s t a t e c h a n g e ' ] ;  
                 o b j . x m l H t t p R e q u e s t   =   n u l l ;  
                 i f   ( o b j . d i s a b l e F o r m )  
                         o b j . s w i t c h F o r m ( t r u e ) ;  
                 o b j . _ g r o u p L e a v e ( ) ;  
                 o b j . r a i s e E v e n t ( " F i n a l i z a t i o n " ,   o b j ) ;  
         } ;  
  
         o b j . _ g r o u p L e a v e   =   f u n c t i o n ( )   {  
  
                 i f   ( o b j . g r o u p   ! =   n u l l )   {  
                         a d v A J A X . _ g r o u p D a t a [ o b j . g r o u p ] - - ;  
                         i f   ( a d v A J A X . _ g r o u p D a t a [ o b j . g r o u p ]   = =   0 )  
                                 o b j . r a i s e E v e n t ( " G r o u p L e a v e " ,   o b j ) ;  
                 }  
         } ;  
  
         o b j . _ r e t r y   =   f a l s e ;  
         o b j . _ r e t r y N o   =   0 ;  
         o b j . _ o n T i m e o u t   =   f u n c t i o n ( )   {  
  
                 i f   ( o b j   = =   n u l l   | |   o b j . x m l H t t p R e q u e s t   = =   n u l l   | |   o b j . _ o n C o m p l e t e H a n d l e d )  
                         r e t u r n ;  
                 o b j . a b o r t e d   =   t r u e ;  
                 o b j . x m l H t t p R e q u e s t . a b o r t ( ) ;  
                 o b j . r a i s e E v e n t ( " T i m e o u t " ,   o b j ) ;  
                 o b j . _ r e t r y   =   t r u e ;  
                 i f   ( o b j . _ r e t r y N o   ! =   o b j . r e t r y C o u n t )   {  
                         o b j . _ i n i t O b j e c t ( ) ;  
                         i f   ( o b j . r e t r y D e l a y   >   0 )   {  
                                 o b j . r a i s e E v e n t ( " R e t r y D e l a y " ,   o b j ) ;  
                                 s t a r t T i m e   =   n e w   D a t e ( ) . g e t T i m e ( ) ;  
                                 w h i l e   ( n e w   D a t e ( ) . g e t T i m e ( )   -   s t a r t T i m e   <   o b j . r e t r y D e l a y ) ;  
                         }  
                         o b j . _ r e t r y N o + + ;  
                         o b j . r a i s e E v e n t ( " R e t r y " ,   o b j ,   o b j . _ r e t r y N o ) ;  
                         o b j . r u n ( ) ;  
                 }   e l s e   {  
                         d e l e t e   o b j . x m l H t t p R e q u e s t [ " o n r e a d y s t a t e c h a n g e " ] ;  
                         o b j . x m l H t t p R e q u e s t   =   n u l l ;  
                         i f   ( o b j . d i s a b l e F o r m )  
                                 o b j . s w i t c h F o r m ( t r u e ) ;  
                         o b j . _ g r o u p L e a v e ( ) ;  
                         o b j . r a i s e E v e n t ( " F i n a l i z a t i o n " ,   o b j ) ;  
                 }  
         } ;  
  
         o b j . r u n   =   f u n c t i o n ( )   {  
  
                 o b j . _ i n i t O b j e c t ( ) ;  
                 i f   ( o b j . x m l H t t p R e q u e s t   = =   n u l l )  
                         r e t u r n   f a l s e ;  
                 o b j . a b o r t e d   =   f a l s e ;  
                 i f   ( ! o b j . _ o n I n i t i a l i z a t i o n H a n d l e d )   {  
                         o b j . r a i s e E v e n t ( " I n i t i a l i z a t i o n " ,   o b j ) ;  
                         o b j . _ o n I n i t i a l i z a t i o n H a n d l e d   =   t r u e ;  
                 }  
                 i f   ( o b j . m e t h o d   = =   " G E T "   & &   o b j . u n i q u e )  
                         o b j . p a r a m e t e r s [ e n c o d e U R I C o m p o n e n t ( o b j . u n i q u e P a r a m e t e r ) ]   =  
                         n e w   D a t e ( ) . g e t T i m e ( ) . t o S t r i n g ( ) . s u b s t r ( 5 )   +   M a t h . f l o o r ( M a t h . r a n d o m ( )   *   1 0 0 ) . t o S t r i n g ( ) ;  
                 i f   ( ! o b j . _ r e t r y )   {  
                         f o r   ( v a r   a   i n   o b j . p a r a m e t e r s )   {  
                                 i f   ( o b j . q u e r y S t r i n g . l e n g t h   >   0 )  
                                         o b j . q u e r y S t r i n g   + =   " & " ;  
                                 i f   ( t y p e o f   o b j . p a r a m e t e r s [ a ]   ! =   " o b j e c t " )  
                                         o b j . q u e r y S t r i n g   + =   e n c o d e U R I C o m p o n e n t ( a )   +   " = "   +   e n c o d e U R I C o m p o n e n t ( o b j . p a r a m e t e r s [ a ] ) ;   e l s e   {  
                                         f o r   ( v a r   i   =   0 ;   i   <   o b j . p a r a m e t e r s [ a ] . l e n g t h ;   i + + )  
                                                 o b j . q u e r y S t r i n g   + =   e n c o d e U R I C o m p o n e n t ( a )   +   " = "   +   e n c o d e U R I C o m p o n e n t ( o b j . p a r a m e t e r s [ a ] [ i ] )   +   " & " ;  
                                         o b j . q u e r y S t r i n g   =   o b j . q u e r y S t r i n g . s l i c e ( 0 ,   - 1 ) ;  
                                 }  
                         }  
                         f o r   ( v a r   a   i n   o b j . j s o n P a r a m e t e r s )   {  
                                 v a r   u s e J s o n   =   t y p e o f   [ ] . t o J S O N S t r i n g   = =   ' f u n c t i o n ' ;  
                                 i f   ( o b j . q u e r y S t r i n g . l e n g t h   >   0 )  
                                         o b j . q u e r y S t r i n g   + =   " & " ;  
                                 o b j . q u e r y S t r i n g   + =   e n c o d e U R I C o m p o n e n t ( a )   +   " = " ;  
                                 i f   ( u s e J s o n )  
                                         o b j . q u e r y S t r i n g   + =   e n c o d e U R I C o m p o n e n t ( o b j . j s o n P a r a m e t e r s [ a ] . t o J S O N S t r i n g ( ) ) ;   e l s e  
                                         o b j . q u e r y S t r i n g   + =   e n c o d e U R I C o m p o n e n t ( o b j . j s o n P a r a m e t e r s [ a ] ) ;  
                         }  
                         i f   ( o b j . m e t h o d   = =   " G E T "   & &   o b j . q u e r y S t r i n g . l e n g t h   >   0 )  
                                 o b j . u r l   + =   ( o b j . u r l . i n d e x O f ( " ? " )   ! =   - 1   ?   " & "   :   " ? " )   +   o b j . q u e r y S t r i n g ;  
                 }  
                 i f   ( o b j . d i s a b l e F o r m )  
                         o b j . s w i t c h F o r m ( f a l s e ) ;  
                 t r y   {  
                         o b j . x m l H t t p R e q u e s t . o p e n ( o b j . m e t h o d ,   o b j . u r l ,   o b j . a s y n c ,   o b j . u s e r n a m e   | |   ' ' ,   o b j . p a s s w o r d   | |   ' ' ) ;  
                 }   c a t c h   ( e )   {  
                         o b j . r a i s e E v e n t ( " F a t a l E r r o r " ,   o b j ,   e ) ;  
                         r e t u r n ;  
                 }  
                 i f   ( o b j . t i m e o u t   >   0 )  
                         s e t T i m e o u t ( o b j . _ o n T i m e o u t ,   o b j . t i m e o u t ) ;  
                 i f   ( t y p e o f   o b j . x m l H t t p R e q u e s t . s e t R e q u e s t H e a d e r   ! =   " u n d e f i n e d " )  
                         f o r   ( v a r   a   i n   o b j . h e a d e r s )  
                                 o b j . x m l H t t p R e q u e s t . s e t R e q u e s t H e a d e r ( e n c o d e U R I C o m p o n e n t ( a ) ,   e n c o d e U R I C o m p o n e n t ( o b j . h e a d e r s [ a ] ) ) ;  
                 i f   ( o b j . m e t h o d   = =   " P O S T "   & &   t y p e o f   o b j . x m l H t t p R e q u e s t . s e t R e q u e s t H e a d e r   ! =   " u n d e f i n e d " )   {  
                         o b j . x m l H t t p R e q u e s t . s e t R e q u e s t H e a d e r ( " C o n t e n t - t y p e " ,   " a p p l i c a t i o n / x - w w w - f o r m - u r l e n c o d e d " ) ;  
                         o b j . x m l H t t p R e q u e s t . s e n d ( o b j . q u e r y S t r i n g ) ;  
                 }   e l s e   i f   ( o b j . m e t h o d   = =   " G E T " )  
                         o b j . x m l H t t p R e q u e s t . s e n d ( ' ' ) ;  
         } ;  
  
         o b j . h a n d l e A r g u m e n t s   =   f u n c t i o n ( a r g s )   {  
  
                 i f   ( t y p e o f   a r g s . f o r m   = =   " o b j e c t "   & &   a r g s . f o r m   ! =   n u l l )   {  
                         o b j . f o r m   =   a r g s . f o r m ;  
                         o b j . a p p e n d F o r m ( ) ;  
                 }  
                 f o r   ( a   i n   a r g s )   {  
                         i f   ( t y p e o f   o b j [ a ]   = =   " u n d e f i n e d " )  
                                 o b j . p a r a m e t e r s [ a ]   =   a r g s [ a ] ;   e l s e   {  
                                 i f   ( a   ! =   " p a r a m e t e r s "   & &   a   ! =   " h e a d e r s " )  
                                         o b j [ a ]   =   a r g s [ a ] ;   e l s e  
                                         f o r   ( b   i n   a r g s [ a ] )  
                                                 o b j [ a ] [ b ]   =   a r g s [ a ] [ b ] ;  
                         }  
                 }  
                 o b j . m e t h o d   =   o b j . m e t h o d . t o U p p e r C a s e ( ) ;  
         } ;  
  
         o b j . s w i t c h F o r m   =   f u n c t i o n ( e n a b l e )   {  
  
                 i f   ( t y p e o f   o b j . f o r m   ! =   " o b j e c t "   | |   o b j . f o r m   = =   n u l l )  
                         r e t u r n ;  
                 w i t h   ( o b j . f o r m )  
                         f o r   ( v a r   n r   =   0 ;   n r   <   e l e m e n t s . l e n g t h ;   n r + + )  
                                 i f   ( ! e n a b l e )   {  
                                         i f   ( e l e m e n t s [ n r ] [ " d i s a b l e d " ] )  
                                                 e l e m e n t s [ n r ] [ " _ d i s a b l e d " ]   =   t r u e ;   e l s e  
                                                 e l e m e n t s [ n r ] [ " d i s a b l e d " ]   =   " d i s a b l e d " ;  
                                 }   e l s e  
                                         i f   ( t y p e o f   e l e m e n t s [ n r ] [ " _ d i s a b l e d " ]   = =   " u n d e f i n e d " )  
                                                 e l e m e n t s [ n r ] . r e m o v e A t t r i b u t e ( " d i s a b l e d " ) ;  
         } ;  
  
         o b j . a p p e n d F o r m   =   f u n c t i o n ( )   {  
  
                 w i t h   ( o b j . f o r m )   {  
                         o b j . m e t h o d   =   g e t A t t r i b u t e ( " m e t h o d " ) . t o U p p e r C a s e ( ) ;  
                         o b j . u r l   =   g e t A t t r i b u t e ( " a c t i o n " ) ;  
                         f o r   ( v a r   n r   =   0 ;   n r   <   e l e m e n t s . l e n g t h ;   n r + + )   {  
                                 v a r   e   =   e l e m e n t s [ n r ] ;  
                                 i f   ( e . d i s a b l e d )  
                                         c o n t i n u e ;  
                                 s w i t c h   ( e . t y p e )   {  
                                         c a s e   " t e x t " :  
                                         c a s e   " p a s s w o r d " :  
                                         c a s e   " h i d d e n " :  
                                         c a s e   " t e x t a r e a " :  
                                                 o b j . a d d P a r a m e t e r ( e . n a m e ,   e . v a l u e ) ;  
                                                 b r e a k ;  
                                         c a s e   " s e l e c t - o n e " :  
                                                 i f   ( e . s e l e c t e d I n d e x   > =   0 )  
                                                         o b j . a d d P a r a m e t e r ( e . n a m e ,   e . o p t i o n s [ e . s e l e c t e d I n d e x ] . v a l u e ) ;  
                                                 b r e a k ;  
                                         c a s e   " s e l e c t - m u l t i p l e " :  
                                                 f o r   ( v a r   n r 2   =   0 ;   n r 2   <   e . o p t i o n s . l e n g t h ;   n r 2 + + )  
                                                         i f   ( e . o p t i o n s [ n r 2 ] . s e l e c t e d )  
                                                                 o b j . a d d P a r a m e t e r ( e . n a m e ,   e . o p t i o n s [ n r 2 ] . v a l u e ) ;  
                                                 b r e a k ;  
                                         c a s e   " c h e c k b o x " :  
                                         c a s e   " r a d i o " :  
                                                 i f   ( e . c h e c k e d )  
                                                         o b j . a d d P a r a m e t e r ( e . n a m e ,   e . v a l u e ) ;  
                                                 b r e a k ;  
                                 }  
                         }  
                 }  
         } ;  
  
         o b j . a d d P a r a m e t e r   =   f u n c t i o n ( n a m e ,   v a l u e )   {  
                 i f   ( t y p e o f   o b j . p a r a m e t e r s [ n a m e ]   = =   " u n d e f i n e d " )  
                         o b j . p a r a m e t e r s [ n a m e ]   =   v a l u e ;   e l s e  
                 i f   ( t y p e o f   o b j . p a r a m e t e r s [ n a m e ]   ! =   " o b j e c t " )  
                         o b j . p a r a m e t e r s [ n a m e ]   =   [   o b j . p a r a m e t e r s [ n a m e ] ,   v a l u e   ] ;   e l s e  
                 o b j . p a r a m e t e r s [ n a m e ] [ o b j . p a r a m e t e r s [ n a m e ] . l e n g t h ]   =   v a l u e ;  
         } ;  
         o b j . d e l P a r a m e t e r   =   f u n c t i o n ( n a m e )   {  
  
                 d e l e t e   o b j . p a r a m e t e r s [ n a m e ] ;  
         } ;  
         o b j . r a i s e E v e n t   =   f u n c t i o n ( n a m e )   {  
                 v a r   a r g s   =   [ ] ;  
                 f o r   ( v a r   i   =   1 ;   i   <   a r g u m e n t s . l e n g t h ;   i + + )  
                         a r g s . p u s h ( a r g u m e n t s [ i ] ) ;  
                 i f   ( t y p e o f   o b j [ " o n "   +   n a m e ]   = =   " f u n c t i o n " )  
                         o b j [ " o n "   +   n a m e ] . a p p l y ( n u l l ,   a r g s ) ;  
                 i f   ( n a m e   = =   " F a t a l E r r o r " )  
                         o b j . r a i s e E v e n t ( " F i n a l i z a t i o n " ,   o b j ) ;  
         }  
  
         i f   ( t y p e o f   a d v A J A X . _ d e f a u l t P a r a m e t e r s   ! =   " u n d e f i n e d " )  
                 o b j . h a n d l e A r g u m e n t s ( a d v A J A X . _ d e f a u l t P a r a m e t e r s ) ;  
         r e t u r n   o b j ;  
 }  
  
 a d v A J A X . g e t   =   f u n c t i o n ( a r g s )   {  
  
         r e t u r n   a d v A J A X . h a n d l e R e q u e s t ( " G E T " ,   a r g s ) ;  
 } ;  
  
 a d v A J A X . p o s t   =   f u n c t i o n ( a r g s )   {  
  
         r e t u r n   a d v A J A X . h a n d l e R e q u e s t ( " P O S T " ,   a r g s ) ;  
 } ;  
  
 a d v A J A X . h e a d   =   f u n c t i o n ( a r g s )   {  
  
         r e t u r n   a d v A J A X . h a n d l e R e q u e s t ( " H E A D " ,   a r g s ) ;  
 } ;  
  
 a d v A J A X . s u b m i t   =   f u n c t i o n ( f o r m ,   a r g s )   {  
  
         i f   ( t y p e o f   a r g s   = =   " u n d e f i n e d "   | |   a r g s   = =   n u l l )  
                 r e t u r n   - 1 ;  
         i f   ( t y p e o f   f o r m   ! =   " o b j e c t "   | |   f o r m   = =   n u l l )  
                 r e t u r n   - 2 ;  
         v a r   r e q u e s t   =   n e w   a d v A J A X ( ) ;  
         a r g s [ " f o r m " ]   =   f o r m ;  
         r e q u e s t . h a n d l e A r g u m e n t s ( a r g s ) ;  
         r e t u r n   r e q u e s t . r u n ( ) ;  
 } ;  
  
 a d v A J A X . a s s i g n   =   f u n c t i o n ( f o r m ,   a r g s )   {  
  
         i f   ( t y p e o f   a r g s   = =   " u n d e f i n e d "   | |   a r g s   = =   n u l l )  
                 r e t u r n   - 1 ;  
         i f   ( t y p e o f   f o r m   ! =   " o b j e c t "   | |   f o r m   = =   n u l l )  
                 r e t u r n   - 2 ;  
         i f   ( t y p e o f   f o r m [ " o n s u b m i t " ]   = =   " f u n c t i o n " )  
                 f o r m [ " _ o n s u b m i t " ]   =   f o r m [ " o n s u b m i t " ] ;  
         f o r m [ " a d v a j a x _ a r g s " ]   =   a r g s ;  
         f o r m [ " o n s u b m i t " ]   =   f u n c t i o n ( )   {  
                 i f   ( t y p e o f   t h i s [ " _ o n s u b m i t " ]   ! =   " u n d e f i n e d "   & &   t h i s [ " _ o n s u b m i t " ] ( )   = = =   f a l s e )  
                         r e t u r n   f a l s e ;  
                 i f   ( a d v A J A X . s u b m i t ( t h i s ,   t h i s [ " a d v a j a x _ a r g s " ] )   = =   f a l s e )  
                         r e t u r n   t r u e ;  
                 r e t u r n   f a l s e ;  
         }  
         r e t u r n   t r u e ;  
 } ;  
  
 a d v A J A X . d o w n l o a d   =   f u n c t i o n ( t a r g e t O b j ,   u r l )   {  
  
         i f   ( t y p e o f   t a r g e t O b j   = =   " s t r i n g " )  
                 t a r g e t O b j   =   d o c u m e n t . g e t E l e m e n t B y I d ( t a r g e t O b j ) ;  
         i f   ( ! t a r g e t O b j )  
                 r e t u r n   - 1 ;  
         a d v A J A X . g e t ( {  
                 u r l :   u r l ,  
                 o n S u c c e s s   :   f u n c t i o n ( o b j )   {  
                         t a r g e t O b j . i n n e r H T M L   =   o b j . r e s p o n s e T e x t ;  
                 }  
         } ) ;  
 } ;  
  
 a d v A J A X . s c a n   =   f u n c t i o n ( )   {  
  
         v a r   o b j   =   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 ( " a " ) ;  
         f o r   ( v a r   i   =   0 ;   i   <   o b j . l e n g t h ; )   {  
                 i f   ( o b j [ i ] . g e t A t t r i b u t e ( " r e l " )   = =   " a d v a n c e d a j a x "   & &   o b j [ i ] . g e t A t t r i b u t e ( " h r e f " )   ! = =   n u l l )   {  
                         v a r   u r l   =   o b j [ i ] . g e t A t t r i b u t e ( " h r e f " ) ;  
                         v a r   d i v   =   d o c u m e n t . c r e a t e E l e m e n t ( " d i v " ) ;  
                         d i v . i n n e r H T M L   =   o b j [ i ] . i n n e r H T M L ;  
                         d i v . c l a s s N a m e   =   o b j [ i ] . c l a s s N a m e ;  
                         v a r   p a r e n t   =   o b j [ i ] . p a r e n t N o d e ;  
                         p a r e n t . i n s e r t B e f o r e ( d i v ,   o b j [ i ] ) ;  
                         p a r e n t . r e m o v e C h i l d ( o b j [ i ] ) ;  
                         a d v A J A X . d o w n l o a d ( d i v ,   u r l ) ;  
                 }   e l s e   i + + ;  
         }  
 } ;  
  
 a d v A J A X . h a n d l e R e q u e s t   =   f u n c t i o n ( r e q u e s t T y p e ,   a r g s )   {  
  
         i f   ( t y p e o f   a r g s   = =   " u n d e f i n e d "   | |   a r g s   = =   n u l l )  
                 r e t u r n   - 1 ;  
         v a r   r e q u e s t   =   n e w   a d v A J A X ( ) ;  
         w i n d o w . a d v a j a x _ o b j   =   r e q u e s t ;  
         r e q u e s t . m e t h o d   =   r e q u e s t T y p e ;  
         r e q u e s t . h a n d l e A r g u m e n t s ( a r g s ) ;  
         r e t u r n   r e q u e s t . r u n ( ) ;  
 } ;  
  
 a d v A J A X . _ d e f a u l t P a r a m e t e r s   =   n e w   O b j e c t ( ) ;  
 a d v A J A X . s e t D e f a u l t P a r a m e t e r s   =   f u n c t i o n ( a r g s )   {  
  
         a d v A J A X . _ d e f a u l t P a r a m e t e r s   =   n e w   O b j e c t ( ) ;  
         f o r   ( a   i n   a r g s )  
                 a d v A J A X . _ d e f a u l t P a r a m e t e r s [ a ]   =   a r g s [ a ] ;  
 } ;  
  
 a d v A J A X . _ g r o u p D a t a   =   n e w   O b j e c t ( ) ; 
