
	function HTML_AJAX_LOADING_afficher() {
	        var element = document.getElementById('HTML_AJAX_LOADING') ;
	        if ( element ) element.style.display = 'block';
	
	}

	function HTML_AJAX_LOADING_masquer() {
	        var element = document.getElementById('HTML_AJAX_LOADING') ;
	        if ( element ) element.style.display = 'none';
	}

	function application_launch() {
		
		if ( arguments.length < 4 ) {
			alert("Erreur : fonction application_launch : arguments manquants ") ;
			return false ;
		}
		
		var to_post = '' ;
		to_post += 'fenetre='+fenetre ;
		to_post += '&objet='+arguments[0] ;
		to_post += '&action='+(action=arguments[1]) ;
		to_post += '&id='+arguments[2] ;
		to_post += '&option='+arguments[3] ;
		
		for ( var i=4; i < arguments.length; i++ ) {
			for ( arg in arguments[i] ) {
				to_post += '&'+arg+'='+arguments[i][arg] ; 
			}
		}

		if ( ( action != '5' ) || ( confirm ('Etes-vous sûr(e) ?') && confirm ('Cette suppression sera définitive.\nEtes-vous vraiment sûr(e) ?') ) ) {
			HTML_AJAX_LOADING_afficher() ;
			new Ajax.Request('index.php', {
			  method:'post',
			  parameters: to_post,
			  onFailure: function() { alert('Erreur !'); },
			  onComplete: function() { return true ; },
			  //onException: function(xhr,e) { alert('Exception ' + xhr.url + "?" + xhr.body + ' = ' + e ) ; },
			  onSuccess: function(transport) { var result = transport.responseText ; if ( result.isJSON() ) var result = result.evalJSON() ; doResult(result) ; bb_save_state(); }
			});
		}

	}
	
	/*
	 * GESTION DES APPELS ( AVEC FORMULAIRE )
	 *
	 */
	function application_post() {
	
		if ( arguments.length < 5 ) {
			alert("Erreur : fonction application_post : arguments manquants ") ;
			return false ;
		}
		
		var to_post = '' ;
		to_post += 'fenetre='+fenetre ;
		to_post += '&objet='+arguments[0] ;
		to_post += '&action='+(action=arguments[1]) ;
		to_post += '&id='+arguments[2] ;
		to_post += '&option='+arguments[3] ;
		
		if ( isString(form) ) { 
			var form = document.getElementById(arguments[4]) ;
		} else {
			var form = arguments[4] ;
		}
		
		if ( form ) {
			if ( form.elements ) {
				for(var i = 0; i < form.elements.length; i++) {
					if (form.elements[i].name){
						if (form.elements[i].name.substring(0,4) == "tiny"){
							var editeur = tinyMCE.getInstanceById(form.elements[i].name);
							form.elements[i].value = editeur.getHTML();
						}
					}
				}
			}
			to_post += '&'+Form.serialize(form) ;
		} else {
			alert("Erreur : fonction application_post : échec de l'envoi du formulaire\n\n"+to_post) ;
			return false ;
		}
	
		for ( var i=5; i < arguments.length; i++ ) {
			to_post += '&'+arguments[i][0]+'='+arguments[i][1] ; 
		}
	
		HTML_AJAX_LOADING_afficher();

		new Ajax.Request('index.php', {
		  method:'post',
		  parameters: to_post,
		  onFailure: function() { alert('Erreur !'); },
		  onComplete: function() { return true ; },
		  //onException: function(xhr,e) { alert('Exception ' + xhr.url + "?" + xhr.body + ' = ' + e ) ; },
		  onSuccess: function(transport) { var result = transport.responseText ; if ( result.isJSON() ) var result = result.evalJSON() ; doResult(result) ; bb_save_state(); }
		});
		
		return true ;
	}
	
	/*
	 * GESTION DES RETOURS
	 *
	 */
	function doResult (result) {
			HTML_AJAX_LOADING_masquer();
			if ( isString(result) ) {
				if ( result.trim() != "" ) alert(result) ;
			} else {
				for ( id in result ) {
					// Affichage d'un message d'alerte
					if ( ( id == "alert" ) && ( result["alert"] != "" ) ) alert(result[id]) ;
					// Affichage d'un message de confirmation
					if ( ( id == "confirm" ) && ( result["confirm"] != "" ) ) application_launch(result[id][0],result[id][1],result[id][2],result[id][3],['confirm',confirm(result[id][4])]) ;
					// Exécution d'un code JAVASCRIPT
					else if ( id == "javascript" ) { /* alert(result[id]); */ eval(result[id]); } 
					// FOCUS sur un élément
					else if ( id == "focus" ) { var element = document.getElementById(result["focus"]) ; if ( element ) element.focus() ; }
					// Lancement d'un appel AJAX
					else if ( id == "launch" ) {
						if ( ( result["launch"]["objet"] >= 0 )
						&& ( result["launch"]["action"] >= 0 )
						&& ( result["launch"]["id"] >= 0 )
						&& ( result["launch"]["option"] ) >= 0 )
						application_launch(result["launch"]["objet"],result["launch"]["action"],result["launch"]["id"],result["launch"]["option"]) ;
					} else {
						var element = document.getElementById(id) ;
						if ( element && ( result[id] != null ) ) {
							if ( result[id] == "NULL" )	{
								element.innerHTML = "" ;
								element.style.visibility='visible' ;
								element.style.display='block' ;
							} else if ( result[id] == "MASK" )	{
								element.style.visibility='hidden' ;
								element.style.display='none' ;
							} else if ( result[id] == "UNMASK" )	{
								element.style.visibility='visible' ;
								element.style.display='block' ;
							} else if ( result[id] == "" )	{
								element.innerHTML = "" ;
								element.style.visibility='hidden' ;
								element.style.display='none' ;
							} else {
								element.innerHTML = result[id] ;
								element.style.visibility='visible' ;
								element.style.display='block' ;
							}
						}
					}
				}
			}
			return true ;
	}