2008-08-26 21:38:35 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/ * 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-25 18:40:12 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  StatusNet  -  a  distributed  open - source  microblogging  tool 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Copyright  ( C )  2008 ,  StatusNet ,  Inc . 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-26 21:38:35 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  This  program  is  free  software :  you  can  redistribute  it  and / or  modify 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  it  under  the  terms  of  the  GNU  Affero  General  Public  License  as  published  by 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  the  Free  Software  Foundation ,  either  version  3  of  the  License ,  or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  This  program  is  distributed  in  the  hope  that  it  will  be  useful , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .   See  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  GNU  Affero  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  You  should  have  received  a  copy  of  the  GNU  Affero  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  along  with  this  program .   If  not ,  see  < http : //www.gnu.org/licenses/>.
 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:49:47 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ category   UI  interaction 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ package    StatusNet 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ author     Sarven  Capadisli  < csarven @ status . net > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ author     Evan  Prodromou  < evan @ status . net > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ copyright  2009  StatusNet ,  Inc . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ license    http : //www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ link       http : //status.net/
 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-26 21:38:35 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 * / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 12:40:08 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								var  SN  =  {  // StatusNet
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    C :  {  // Config
 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:59:17 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        I :  {  // Init
 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            CounterBlackout :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            MaxLength :  140 , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            PatternUsername :  /^[0-9a-zA-Z\-_.]*$/ , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            HTTP20x30x :  [ 200 ,  201 ,  202 ,  203 ,  204 ,  205 ,  206 ,  300 ,  301 ,  302 ,  303 ,  304 ,  305 ,  306 ,  307 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 16:21:03 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 12:40:08 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        S :  {  // Selector
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Disabled :  'disabled' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Warning :  'warning' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            Error :  'error' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:16:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            Success :  'success' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            Processing :  'processing' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            CommandResult :  'command_result' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            FormNotice :  'form_notice' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NoticeDataText :  'notice_data-text' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NoticeTextCount :  'notice_text-count' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NoticeInReplyTo :  'notice_in-reply-to' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NoticeDataAttach :  'notice_data-attach' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:16:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            NoticeDataAttachSelected :  'notice_data-attach_selected' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:47:32 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            NoticeActionSubmit :  'notice_action-submit' 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 12:40:08 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    U :  {  // Utils
 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        FormNoticeEnhancements :  function ( form )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            form _id  =  form . attr ( 'id' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:56:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) . unbind ( 'keyup' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) . unbind ( 'keydown' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( maxLength  >  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) . bind ( 'keyup' ,  function ( e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    SN . U . Counter ( form ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                // run once in case there's something in there
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                SN . U . Counter ( form ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) . bind ( 'keydown' ,  function ( e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                SN . U . SubmitOnReturn ( e ,  form ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if ( $ ( 'body' ) [ 0 ] . id  !=  'conversation' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $ ( '#' + form _id + ' textarea' ) . focus ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:31:57 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        SubmitOnReturn :  function ( event ,  el )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( event . keyCode  ==  13  ||  event . keyCode  ==  10 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                el . submit ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                event . preventDefault ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                event . stopPropagation ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 16:55:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                $ ( '#' + el [ 0 ] . id + ' #' + SN . C . S . NoticeDataText ) . blur ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $ ( 'body' ) . focus ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:31:57 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        Counter :  function ( form )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            SN . C . I . FormNoticeCurrent  =  form ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            form _id  =  form . attr ( 'id' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( typeof ( maxLength )  ==  "undefined" )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                 maxLength  =  SN . C . I . MaxLength ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( maxLength  <=  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            var  remaining  =  maxLength  -  $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) . val ( ) . length ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            var  counter  =  $ ( '#' + form _id + ' #' + SN . C . S . NoticeTextCount ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( remaining . toString ( )  !=  counter . text ( ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                if  ( ! SN . C . I . CounterBlackout  ||  remaining  ===  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    if  ( counter . text ( )  !=  String ( remaining ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        counter . text ( remaining ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( remaining  <  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        form . addClass ( SN . C . S . Warning ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        form . removeClass ( SN . C . S . Warning ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    // Skip updates for the next 500ms.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    // On slower hardware, updating on every keypress is unpleasant.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( ! SN . C . I . CounterBlackout )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        SN . C . I . CounterBlackout  =  true ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        SN . C . I . FormNoticeCurrent  =  form ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        window . setTimeout ( "SN.U.ClearCounterBlackout(SN.C.I.FormNoticeCurrent);" ,  500 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        ClearCounterBlackout :  function ( form )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            // Allow keyup events to poke the counter again
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            SN . C . I . CounterBlackout  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            // Check if the string changed since we last looked
 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            SN . U . Counter ( form ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:43:41 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 12:40:08 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        FormXHR :  function ( f )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            f . bind ( 'submit' ,  function ( e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                form _id  =  $ ( this ) [ 0 ] . id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $ . ajax ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    type :  'POST' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:59:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    dataType :  'xml' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 12:40:08 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    url :  $ ( this ) [ 0 ] . action , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    data :  $ ( this ) . serialize ( )  +  '&ajax=1' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    beforeSend :  function ( xhr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $ ( '#' + form _id ) . addClass ( SN . C . S . Processing ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $ ( '#' + form _id + ' .submit' ) . addClass ( SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $ ( '#' + form _id + ' .submit' ) . attr ( SN . C . S . Disabled ,  SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    error :  function  ( xhr ,  textStatus ,  errorThrown )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        alert ( errorThrown  ||  textStatus ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    success :  function ( data ,  textStatus )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 16:06:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        if  ( typeof ( $ ( 'form' ,  data ) [ 0 ] )  !=  'undefined' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            form _new  =  document . _importNode ( $ ( 'form' ,  data ) [ 0 ] ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 15:59:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            $ ( '#' + form _id ) . replaceWith ( form _new ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 12:40:08 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            $ ( '#' + form _new . id ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            $ ( '#' + form _id ) . replaceWith ( document . _importNode ( $ ( 'p' ,  data ) [ 0 ] ,  true ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        FormNoticeXHR :  function ( form )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            form _id  =  form . attr ( 'id' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            form . append ( '<input type="hidden" name="ajax" value="1"/>' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            form . ajaxForm ( { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 16:21:03 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                dataType :  'xml' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 21:11:56 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                timeout :  '60000' , 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                beforeSend :  function ( xhr )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    if  ( $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) [ 0 ] . value . length  ===  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        form . addClass ( SN . C . S . Warning ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    form . addClass ( SN . C . S . Processing ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + form _id + ' #' + SN . C . S . NoticeActionSubmit ) . addClass ( SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + form _id + ' #' + SN . C . S . NoticeActionSubmit ) . attr ( SN . C . S . Disabled ,  SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                error :  function  ( xhr ,  textStatus ,  errorThrown )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    form . removeClass ( SN . C . S . Processing ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + form _id + ' #' + SN . C . S . NoticeActionSubmit ) . removeClass ( SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + form _id + ' #' + SN . C . S . NoticeActionSubmit ) . removeAttr ( SN . C . S . Disabled ,  SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    if  ( textStatus  ==  'timeout' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        alert  ( 'Sorry! We had trouble sending your notice. The servers are overloaded. Please try again, and contact the site administrator if this problem persists' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        if  ( $ ( '.' + SN . C . S . Error ,  xhr . responseXML ) . length  >  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            form . append ( document . _importNode ( $ ( '.' + SN . C . S . Error ,  xhr . responseXML ) [ 0 ] ,  true ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            if ( jQuery . inArray ( parseInt ( xhr . status ) ,  SN . C . I . HTTP20x30x )  <  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                alert ( 'Sorry! We had trouble sending your notice (' + xhr . status + ' ' + xhr . statusText + '). Please report the problem to the site administrator if this happens again.' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) . val ( '' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:56:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                SN . U . FormNoticeEnhancements ( $ ( '#' + form _id ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                success :  function ( data ,  textStatus )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    var  result ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    if  ( $ ( '#' + SN . C . S . Error ,  data ) . length  >  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        result  =  document . _importNode ( $ ( 'p' ,  data ) [ 0 ] ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        alert ( result . textContent  ||  result . innerHTML ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        if ( $ ( 'body' ) [ 0 ] . id  ==  'bookmarklet' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            self . close ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        if  ( $ ( '#' + SN . C . S . CommandResult ,  data ) . length  >  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            result  =  document . _importNode ( $ ( 'p' ,  data ) [ 0 ] ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            alert ( result . textContent  ||  result . innerHTML ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 21:11:56 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                             notice  =  document . _importNode ( $ ( 'li' ,  data ) [ 0 ] ,  true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                             if  ( $ ( '#' + notice . id ) . length  ===  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                var  notice _irt _value  =  $ ( '#' + SN . C . S . NoticeInReplyTo ) . val ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                var  notice _irt  =  '#notices_primary #notice-' + notice _irt _value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                if ( $ ( 'body' ) [ 0 ] . id  ==  'conversation' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                    if ( notice _irt _value . length  >  0  &&  $ ( notice _irt + ' .notices' ) . length  <  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                        $ ( notice _irt ) . append ( '<ul class="notices"></ul>' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 21:11:56 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                    $ ( $ ( notice _irt + ' .notices' ) [ 0 ] ) . append ( notice ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 21:11:56 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                    $ ( "#notices_primary .notices" ) . prepend ( notice ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                $ ( '#' + notice . id ) . css ( { display : 'none' } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                $ ( '#' + notice . id ) . fadeIn ( 2500 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:16:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                SN . U . NoticeAttachments ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:56:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                                SN . U . NoticeReply ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                             } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataText ) . val ( '' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataAttach ) . val ( '' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $ ( '#' + form _id + ' #' + SN . C . S . NoticeInReplyTo ) . val ( '' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $ ( '#' + form _id + ' #' + SN . C . S . NoticeDataAttachSelected ) . remove ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        SN . U . FormNoticeEnhancements ( $ ( '#' + form _id ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                complete :  function ( xhr ,  textStatus )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    form . removeClass ( SN . C . S . Processing ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + form _id + ' #' + SN . C . S . NoticeActionSubmit ) . removeAttr ( SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + form _id + ' #' + SN . C . S . NoticeActionSubmit ) . removeClass ( SN . C . S . Disabled ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:15:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:56:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NoticeReply :  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( $ ( '#' + SN . C . S . NoticeDataText ) . length  >  0  &&  $ ( '#content .notice_reply' ) . length  >  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $ ( '#content .notice' ) . each ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    var  notice  =  $ ( this ) [ 0 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( $ ( '.notice_reply' ,  notice ) [ 0 ] ) . click ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        var  nickname  =  ( $ ( '.author .nickname' ,  notice ) . length  >  0 )  ?  $ ( $ ( '.author .nickname' ,  notice ) [ 0 ] )  :  $ ( '.author .nickname.uid' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        SN . U . NoticeReplySet ( nickname . text ( ) ,  $ ( $ ( '.notice_id' ,  notice ) [ 0 ] ) . text ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:56:53 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        NoticeReplySet :  function ( nick , id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:56:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            if  ( nick . match ( SN . C . I . PatternUsername ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                var  text  =  $ ( '#' + SN . C . S . NoticeDataText ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( text . length )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    replyto  =  '@'  +  nick  +  ' ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    text . val ( replyto  +  text . val ( ) . replace ( RegExp ( replyto ,  'i' ) ,  '' ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + SN . C . S . FormNotice + ' input#' + SN . C . S . NoticeInReplyTo ) . val ( id ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 13:28:14 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    if  ( text [ 0 ] . setSelectionRange )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:56:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        var  len  =  text . val ( ) . length ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 13:28:14 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        text [ 0 ] . setSelectionRange ( len , len ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        text [ 0 ] . focus ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 13:56:01 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  true ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:02:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NoticeAttachments :  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $ . fn . jOverlay . options  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                method  :  'GET' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                data  :  '' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                url  :  '' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                color  :  '#000' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                opacity  :  '0.6' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                zIndex  :  99 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                center  :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                imgLoading  :  $ ( 'address .url' ) [ 0 ] . href + 'theme/base/images/illustrations/illu_progress_loading-01.gif' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                bgClickToClose  :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                success  :  function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-01 20:53:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    $ ( '#jOverlayContent' ) . append ( '<button class="close">×</button>' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:02:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    $ ( '#jOverlayContent button' ) . click ( $ . closeOverlay ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                timeout  :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                autoHide  :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                css  :  { 'max-width' : '542px' ,  'top' : '5%' ,  'left' : '32.5%' } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $ ( '#content .notice a.attachment' ) . click ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $ ( ) . jOverlay ( { url :  $ ( 'address .url' ) [ 0 ] . href + 'attachment/'  +  ( $ ( this ) . attr ( 'id' ) . substring ( 'attachment' . length  +  1 ) )  +  '/ajax' } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            var  t ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $ ( "body:not(#shownotice) #content .notice a.thumbnail" ) . hover ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    var  anchor  =  $ ( this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( "a.thumbnail" ) . children ( 'img' ) . hide ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    anchor . closest ( ".entry-title" ) . addClass ( 'ov' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    if  ( anchor . children ( 'img' ) . length  ===  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:02:51 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        t  =  setTimeout ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            $ . get ( $ ( 'address .url' ) [ 0 ] . href + 'attachment/'  +  ( anchor . attr ( 'id' ) . substring ( 'attachment' . length  +  1 ) )  +  '/thumbnail' ,  null ,  function ( data )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                anchor . append ( data ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } ,  500 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        anchor . children ( 'img' ) . show ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    clearTimeout ( t ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( "a.thumbnail" ) . children ( 'img' ) . hide ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( this ) . closest ( ".entry-title" ) . removeClass ( 'ov' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:16:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NoticeDataAttach :  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NDA  =  $ ( '#' + SN . C . S . NoticeDataAttach ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NDA . change ( function ( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-01 20:53:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                S  =  '<div id="' + SN . C . S . NoticeDataAttachSelected + '" class="' + SN . C . S . Success + '"><code>' + $ ( this ) . val ( ) + '</code> <button class="close">×</button></div>' ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:16:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                NDAS  =  $ ( '#' + SN . C . S . NoticeDataAttachSelected ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                if  ( NDAS . length  >  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    NDAS . replaceWith ( S ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + SN . C . S . FormNotice ) . append ( S ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 14:16:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                $ ( '#' + SN . C . S . NoticeDataAttachSelected + ' button' ) . click ( function ( ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '#' + SN . C . S . NoticeDataAttachSelected ) . remove ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    NDA . val ( '' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 16:14:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NewDirectMessage :  function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NDM  =  $ ( '.entity_send-a-message a' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NDM . attr ( { 'href' : NDM . attr ( 'href' ) + '&ajax=1' } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            NDM . click ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                var  NDMF  =  $ ( '.entity_send-a-message form' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                if  ( NDMF . length  ===  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 16:14:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    $ . get ( NDM . attr ( 'href' ) ,  null ,  function ( data )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 13:28:14 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        $ ( '.entity_send-a-message' ) . append ( document . _importNode ( $ ( 'form' ,  data ) [ 0 ] ,  true ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:01:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        NDMF  =  $ ( '.entity_send-a-message .form_notice' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:56:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        SN . U . FormNoticeXHR ( NDMF ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 18:55:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        SN . U . FormNoticeEnhancements ( NDMF ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-01 20:53:25 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        NDMF . append ( '<button class="close">×</button>' ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-31 16:14:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        $ ( '.entity_send-a-message button' ) . click ( function ( ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            NDMF . hide ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    NDMF . show ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $ ( '.entity_send-a-message textarea' ) . focus ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-10-30 12:40:08 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								$ ( document ) . ready ( function ( ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( $ ( 'body.user_in' ) . length  >  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:56:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        $ ( '.' + SN . C . S . FormNotice ) . each ( function ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            SN . U . FormNoticeXHR ( $ ( this ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            SN . U . FormNoticeEnhancements ( $ ( this ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-11-02 17:06:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ ( '.form_user_subscribe' ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ ( '.form_user_unsubscribe' ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ ( '.form_favor' ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ ( '.form_disfavor' ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ ( '.form_group_join' ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ ( '.form_group_leave' ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ ( '.form_user_nudge' ) . each ( function ( )  {  SN . U . FormXHR ( $ ( this ) ) ;  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SN . U . NoticeReply ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SN . U . NoticeDataAttach ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SN . U . NewDirectMessage ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    SN . U . NoticeAttachments ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} ) ;