		/*
		*	Variable globale indispensable pour le système d'écouteur
		* ( n'importe quelle méthode peut désactiver le système en appleant "clearInterval ( interval )"
		*/

		var interval ;

		//	-------------------------------------------------------------------------------------------------------------------
		/*
		*	Méthode permettant d'initialiser l'écouteur, c'est-à-dire d'appeler systématique 
		*	toutes les "time" millisecondes la méthode checkForMessage
		*/

		function listen ( plateform, time, sessionid ) {
			
			checkForMessage ( plateform, sessionid ) ;
			
			interval = setInterval ( "checkForMessage(" + plateform + ",'" + sessionid + "')", time ) ; 
		}

		//	-------------------------------------------------------------------------------------------------------------------
		/*
		*	Méthode destinée à récupérer les messages destinés à l'utilisateur s'il y en a 
		*/

		function checkForMessage ( plateform, sessionid  ) {

			var	url			=	"/gauvain/AjaxEvenement.html?noos=AJAX_LISTENER&value=" + sessionid ;

			var request =  initRequest ();// url , plateform ) ;
			
			//	Traitement de la réponse
			request.onreadystatechange = function () {
			
				if ( request.readyState == 4 ) {
							
					//	Détection d'une réponse de la servlet
					if ( request.status == 200 ) {

						parseMessage ( request, plateform ) ;

						
					} else if ( request.status == 204 ) {
					}
					
				}
				
			}
			
			request.open ( "POST" , url , true ) ;
			
			request.send ( null ) ;

		}

		//	-------------------------------------------------------------------------------------------------------------------
		/*
		*	Parsage des messages reçus par le biais de l'écouteur de message ( la méthode checkForMessage )  
		*/

		function parseMessage ( request, PLATEFORM ) {

			var message_content ;

			if ( PLATEFORM == 2 ) {

				var reponseXml = request.responseXML ;

				var message = reponseXml.getElementsByTagName ( "message" ) [ 0 ]                                                  ;

				if ( message ) {

					var message_content = message.getElementsByTagName ( "message-content" ) [ 0 ].childNodes [ 0 ].nodeValue       	;
				}
			} else if ( PLATEFORM == 1 ) {

				var xmlDoc = new ActiveXObject ( "Microsoft.XMLDOM" ) ;
				xmlDoc.async = "false" ;
				xmlDoc.loadXML ( request.responseText ) ;

				var message_content = xmlDoc.getElementsByTagName ( "message-content" ).item(0).text ;
			}

			//Une fois le message récupéré on l'examine

			if ( message_content == "DECONNEXION" ) {
			
					parent.document.location.href = "close.jsp" ;
					clearInterval ( interval ) ;
					
			} else	{																	
			
				if ( message_content.substr ( 0, 4 ) == "http" ) {
				
					parent.document.location.href = "close.jsp"			;
					parent.document.location.href = message_content ;
					clearInterval ( interval ) ;
					
				} else {
				
					alert ( message_content )  											;

				}
			}	

}
