
var Emission = Class.create();

Emission.prototype = {
	
	/** Constructeur */
	initialize: function(emission, box_resultats, box_player, box_script, jacquard, admin, box_nouveautes) {
		
		/* Membres de l'emission */
		this.id_emission = emission.id_emission;
		this.titre = (emission.titre) ? emission.titre : '';
		this.date_emission = this.formate_date(emission.date_emission);
		this.duree = (emission.duree) ? emission.duree : 0;
		this.script = (emission.script) ? emission.script : '';
		this.script_reduit = (emission.script_reduit) ? emission.script_reduit : '';
		this.audio = (emission.audio) ? emission.audio : false;
		this.mots_cles_associes = (emission.mots_cles_associes) ? emission.mots_cles_associes : false;
		this.valide = (emission.valide) ? emission.valide : false;
		this.box_resultats = box_resultats;
		this.box_player = box_player;
		this.box_script = box_script;
		this.box_nouveautes=box_nouveautes;
		//si true, on est dans l'admin -> plus de droits
		this.jacquard = jacquard;
		//alert (this.jacquard.siteRoot);
		this.admin = admin;
		//alert(this.id_emission);
		this.image_ecouter = "../images/resultats/boutons/lire.jpg";
		this.image_script = "../images/resultats/boutons/script.jpg";
		//ligne suivante ajoutée par JB (bouton magique)
		this.image_enregistrer="../images/resultats/boutons/enregistrer.jpg";
		//this.image_upload = "../images/upload_mp3.gif";
		this.player = "../flash/player_jacquard.swf";
		if(this.audio)
			this.son = "../sons/"+this.id_emission+".mp3";
		else	this.son = undefined;
	},
		/** Affiche l'emission comme un résultat de recherche dans l'infobox des résultats
	 */
	ajoute_resume: function() {
		var zone_emission = document.createElement('div');
		zone_emission.className = "resultat_emission";
		zone_emission.id = "resultat_emission_"+this.id_emission;
		this.box_resultats.ajoute_emission(zone_emission);
		this.maj_resume();
	},
	ajoute_nouveau: function(){
		var zone_emission = document.createElement('div');
		zone_emission.className = "resultat_emission";
		zone_emission.id = "resultat_emission_"+this.id_emission;
		this.box_resultats.ajoute_emission(zone_emission);
		this.maj_resume_nouveau();	
	},
	/** Supprime le résumé de l'émission dans les résultats de recherche */
	supprime_resume: function() {
		var zone_emission = $('resultat_emission_'+this.id_emission);
		if(zone_emission)
			zone_emission.parentNode.removeChild(zone_emission);
	},
	//met a jour l'emission dans la zone nouveautes
		maj_resume_nouveau: function() {
		var zone_emission = $('nouvelle_emission_'+this.id_emission);
		zone_emission.innerHTML = '';

		//titre de l'emission
		var titre = document.createElement('span');
		titre.className = "titre_emission titre_dans_resultats";
		titre.style.cursor = "pointer";
		//titre.innerHTML = 'Émission du ' + this.date_emission + ' : ' + this.titre;
		//titre.innerHTML = 'Émission  : ' + this.titre;
		titre.innerHTML = this.titre;
		
		//Durée de l'émission
		var duree = document.createElement('span');
		duree.className = "resultat_duree";
		duree.innerHTML = '(durée : ' + this.duree + ' s)';

		var zone_titre = document.createElement('div');
		zone_titre.className = 'resultat_zone_titre';
		zone_titre.appendChild(titre);
		
		//bouton "enregistrer
		var bouton_enregistrer = document.createElement('img');
		bouton_enregistrer.src = this.image_enregistrer;
		bouton_enregistrer.alt = "Enregistrer";
		bouton_enregistrer.title = "Enregistrer";
		bouton_enregistrer.style.cursor = "pointer";
		
		var current = this;
		bouton_enregistrer.onclick = function() {
			current.enregistrer();
			//id=this.id_emission;
			//titre=this.titre;
			//alert('en travaux : emission.js ligne 90 id='+id+' titre = '+titre);
		//url="../composants_php/get_emission.php?id="+this.id_emission+"&titre="+this.titre;
		};		
		//Bouton "écouter"
		var bouton_ecouter = document.createElement('img');
		bouton_ecouter.src = this.image_ecouter;
		bouton_ecouter.alt = "Écouter";
		bouton_ecouter.title = "Écouter";
		bouton_ecouter.style.cursor = "pointer";
		var current = this;
		bouton_ecouter.onclick = titre.onclick = function() {
			current.ecouter();
		};

		//Bouton "script"
		var bouton_script = document.createElement('img');
		bouton_script.src = this.image_script;
		bouton_script.alt = "Voir le texte";
		bouton_script.title = "Voir le texte";
		bouton_script.style.cursor = "pointer";
		
		bouton_script.onclick = function() {
			current.remplir_script();
			current.montrer_script();
		};

		//zone de boutons
		var zone_boutons = document.createElement('span');
		zone_boutons.className = "resultat_boutons";
		zone_boutons.appendChild(bouton_ecouter);
		zone_boutons.appendChild(bouton_script);
		zone_boutons.appendChild(bouton_enregistrer);
		zone_titre.appendChild(zone_boutons);

		//Script réduit pour l'accroche
		var zone_accroche = document.createElement('div');
		zone_accroche.className = "resultat_script";
		zone_accroche.innerHTML = this.script_reduit;
		
		var zone_texte = document.createElement('div');
		zone_texte.className = "resultat_zone_texte";
		zone_texte.appendChild(zone_titre);
		//zone_texte.appendChild(zone_accroche);

		zone_emission.appendChild(zone_texte);
	},

		/** Met à jour le résumé de l'émission dans les résultats de recherche */
	maj_resume_nouveau: function() {
		var zone_emission = $('resultat_emission_'+this.id_emission);
		zone_emission.innerHTML = '';

		//titre de l'emission
		var titre = document.createElement('span');
		titre.className = "titre_emission titre_dans_resultats";
		titre.style.cursor = "pointer";
		//titre.innerHTML = 'Émission du ' + this.date_emission + ' : ' + this.titre;
		//titre.innerHTML = 'Émission  : ' + this.titre;
		titre.innerHTML = this.titre;
		
		//Durée de l'émission
		var duree = document.createElement('span');
		duree.className = "resultat_duree";
		duree.innerHTML = '(durée : ' + this.duree + ' s)';

		var zone_titre = document.createElement('div');
		zone_titre.className = 'resultat_zone_titre_nouveau';
		zone_titre.appendChild(titre);
		
		//bouton "enregistrer
		var bouton_enregistrer = document.createElement('img');
		bouton_enregistrer.src = this.image_enregistrer;
		bouton_enregistrer.alt = "Enregistrer";
		bouton_enregistrer.title = "Enregistrer";
		bouton_enregistrer.style.cursor = "pointer";
		
		var current = this;
		bouton_enregistrer.onclick = function() {
			current.enregistrer();
			//id=this.id_emission;
			//titre=this.titre;
			//alert('en travaux : emission.js ligne 90 id='+id+' titre = '+titre);
		//url="../composants_php/get_emission.php?id="+this.id_emission+"&titre="+this.titre;
		};		
		
		
		//Bouton "écouter"
		var bouton_ecouter = document.createElement('img');
		bouton_ecouter.src = this.image_ecouter;
		bouton_ecouter.alt = "Écouter";
		bouton_ecouter.title = "Écouter";
		bouton_ecouter.style.cursor = "pointer";
		
		var current = this;
		bouton_ecouter.onclick = titre.onclick = function() {
			current.ecouter();
		};

		//Bouton "script"
		var bouton_script = document.createElement('img');
		bouton_script.src = this.image_script;
		bouton_script.alt = "Voir le texte";
		bouton_script.title = "Voir le texte";
		bouton_script.style.cursor = "pointer";
		
		bouton_script.onclick = function() {
			current.remplir_script();
			current.montrer_script();
		};

		//zone de boutons
		var zone_boutons = document.createElement('span');
		zone_boutons.className = "resultat_boutons";
		zone_boutons.appendChild(bouton_ecouter);
		zone_boutons.appendChild(bouton_script);
		zone_boutons.appendChild(bouton_enregistrer);
		zone_titre.appendChild(zone_boutons);

		//Script réduit pour l'accroche
		var zone_accroche = document.createElement('div');
		zone_accroche.className = "resultat_script";
		zone_accroche.innerHTML = this.script_reduit;
		var zone_texte = document.createElement('div');
		zone_texte.className = "resultat_zone_texte";
		zone_texte.appendChild(zone_titre);
		zone_texte.appendChild(zone_accroche);
		zone_emission.appendChild(zone_texte);
	},
	
	/** Met à jour le résumé de l'émission dans les résultats de recherche */
	maj_resume: function() {
		var zone_emission = $('resultat_emission_'+this.id_emission);
		zone_emission.innerHTML = '';

		//titre de l'emission
		var titre = document.createElement('span');
		titre.className = "titre_emission titre_dans_resultats";
		titre.style.cursor = "pointer";
		//titre.innerHTML = 'Émission du ' + this.date_emission + ' : ' + this.titre;
		//titre.innerHTML = 'Émission  : ' + this.titre;
		titre.innerHTML = this.titre;
		
		//Durée de l'émission
		var duree = document.createElement('span');
		duree.className = "resultat_duree";
		duree.innerHTML = '(durée : ' + this.duree + ' s)';

		var zone_titre = document.createElement('div');
		zone_titre.className = 'resultat_zone_titre';
		zone_titre.appendChild(titre);
		
		//bouton "enregistrer
		var bouton_enregistrer = document.createElement('img');
		bouton_enregistrer.src = this.image_enregistrer;
		bouton_enregistrer.alt = "Enregistrer";
		bouton_enregistrer.title = "Enregistrer";
		bouton_enregistrer.style.cursor = "pointer";
		
		var current = this;
		bouton_enregistrer.onclick = function() {
			current.enregistrer();
			//id=this.id_emission;
			//titre=this.titre;
			//alert('en travaux : emission.js ligne 90 id='+id+' titre = '+titre);
		//url="../composants_php/get_emission.php?id="+this.id_emission+"&titre="+this.titre;
		};		
		
		
		//Bouton "écouter"
		var bouton_ecouter = document.createElement('img');
		bouton_ecouter.src = this.image_ecouter;
		bouton_ecouter.alt = "Écouter";
		bouton_ecouter.title = "Écouter";
		bouton_ecouter.style.cursor = "pointer";
		
		var current = this;
		bouton_ecouter.onclick = titre.onclick = function() {
			current.ecouter();
		};

		//Bouton "script"
		var bouton_script = document.createElement('img');
		bouton_script.src = this.image_script;
		bouton_script.alt = "Voir le texte";
		bouton_script.title = "Voir le texte";
		bouton_script.style.cursor = "pointer";
		
		bouton_script.onclick = function() {
			current.remplir_script();
			current.montrer_script();
		};

		//zone de boutons
		var zone_boutons = document.createElement('span');
		zone_boutons.className = "resultat_boutons";
		zone_boutons.appendChild(bouton_ecouter);
		zone_boutons.appendChild(bouton_script);
		zone_boutons.appendChild(bouton_enregistrer);
		zone_titre.appendChild(zone_boutons);

		//Script réduit pour l'accroche
		var zone_accroche = document.createElement('div');
		zone_accroche.className = "resultat_script";
		zone_accroche.innerHTML = this.script_reduit;
		
		
		var zone_texte = document.createElement('div');
		zone_texte.className = "resultat_zone_texte";
		zone_texte.appendChild(zone_titre);
		zone_texte.appendChild(zone_accroche);

		zone_emission.appendChild(zone_texte);
	},
	/** Formate une date à partir d'un format aaaa-mm-jj hh:mm:ss */
	formate_date: function(mysql_timestamp) {
		//if(! mysql_timestamp)	return '';

		//date du jour
		if(! mysql_timestamp || mysql_timestamp == '0000-00-00 00:00:00') {
			var date = new Date();
		}
		else {
			var date_seule = mysql_timestamp.split(" ")[0];
			var tableau_date = date_seule.split("-");
			
			//alert('mois : '+tableau_date[1]);
			//alert('mois passé à setMonth : '+parseInt(tableau_date[1]));
			
			var mois_int = parseInt(tableau_date[1].charAt(0)) * 10 + parseInt(tableau_date[1].charAt(1));
			//alert('mois passé à setMonth : '+mois_int);
			
			var date = new Date();
			date.setFullYear(tableau_date[0]);
			date.setDate(tableau_date[2]);
			date.setMonth(mois_int -1);
		}
		
		//alert(date);
		var mois = String(parseInt(date.getMonth())+1);
		mois = (mois.length == 1) ? 0+ mois : mois;
		var jour = String(date.getDate());
		jour = (jour.length == 1) ? 0+jour : jour;
		var date_jacquard = jour+'/'+mois+'/'+date.getFullYear();
		return date_jacquard;
	},
	
	
	/** Met à jour l'émission dans la zone de lecteur
	 */
	maj_lecteur: function() {
		//de coté pour l'instant : on n'affiche pas forcément le script de l'émission qui joue
		//this.remplir_script();
		//rappel du titre de l'émission
		var titre = document.createElement('h2');
		titre.className = "titre_emission titre_dans_player";
		//titre.innerHTML = 'Émission du '+this.date_emission+' : '+this.titre;
		//titre.innerHTML = 'Émission : '+this.titre;
		titre.innerHTML = this.titre;
		var player = document.createElement('div');
		player.className = "zone_player_flash";
		if(this.son) {
			var contenu = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="300" height="70" id="player_jacquard" >';
			contenu += '<param name="allowScriptAccess" value="sameDomain" />';
			contenu += '<param name="movie" value="../flash/player_jacquard.swf" />';
			contenu += '<param name="flashvars" value="file=' + this.son + '" />';
			contenu += '<param name="bgcolor" value="#F6ECC9" />';
			contenu += '<embed src="../flash/player_jacquard.swf" flashvars="file='+this.son+'" bgcolor="#F6ECC9" width="300" height="70" name="player_jacquard" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
			contenu += '</object>';
			player.innerHTML = contenu;
			if(this.admin) {
				player.innerHTML += '<br />Changer le fichier audio : ';
				this.form_maj_audio(player);
			}
		}
		else {
			player.innerHTML = 'Fichier audio introuvable';
			//s'il n'y a pas de fichier lié à l'émission, proposer d'un uploader un (admin)
			if(this.admin) {
				player.innerHTML += '<br />Ajouter un fichier : ';
				this.form_maj_audio(player);
			}
		}
		this.box_player.body.innerHTML = "";
		this.box_player.body.appendChild(titre);
		this.box_player.body.appendChild(player);
	},


	/** Affiche un formulaire d'upload de fichier mp3 dans l'admin
	 */
	form_maj_audio: function(player) {

		var form = document.createElement('form');
		form.action = '../composants_php/submit_fichier.php';
		form.method = 'post';
		form.enctype = 'multipart/form-data';
		player.appendChild(form);
		
		var input_hidden = document.createElement('input');
		input_hidden.type = 'hidden';
		input_hidden.name = 'id_emission';
		input_hidden.value = this.id_emission;
		form.appendChild(input_hidden);
		
		var input_action = document.createElement('input');
		input_action.type = 'hidden';
		input_action.name = 'action';
		input_action.value = 'new';
		form.appendChild(input_action);
		
		var input_file = document.createElement('input');
		input_file.type = 'file';
		input_file.name = 'fichier_emission';
		input_file.id = 'fichier_emission';
		form.appendChild(input_file);
		
		var submit = document.createElement('input');
		submit.type = 'submit';
		submit.value='Envoyer';
		form.appendChild(submit);
	},
	

	/** Charge l'emission courante dans le player, 
	  * et le script dans la zone de script (script pas visible) -> fonctionnalité de coté pour l'instant
	  */
	//var current=this;

	enregistrer: function(){//pour permettre à l'utilisateur de D/L l'émission
	
		//alert("enregistrer dans emission.js ligne 366");
		//on va faire appel à ../composants_php/get_emission.php qui a besoin de l'id et du titre de l'emission
		var id1=this.id_emission;
		var titre1=this.titre;
		url="../composants_php/get_emission.php?id="+id1+"&titre="+titre1;
		w=window.open (url,"_self","menubar=no, status=no, scrollbars=no, menubar=no, width=1, height=1");
		//w.innerHTML="Téléchargement";
		//w.hide();
		//alert('en travaux : emission.js ligne 269 id='+id1+' titre = '+titre1);
	},
	
	ecouter: function() {
		//on réduit les autres fenêtres : résultats, podcast et script
		this.jacquard.box_mot_cle.collapse();
		this.jacquard.box_resultats.collapse();
		this.jacquard.box_script.collapse();
		this.maj_lecteur();
		var current = this;
		this.box_player.icone_script.onclick = function() {
			current.remplir_script();
			current.montrer_script();
		};
		this.box_player.icone_enregistrer.onclick = function(){
			//alert('enregistrer');
			current.enregistrer();
		}
		//Ouverture de la zone du lecteur
		this.box_player.open();
		this.box_player.expand();
		//on se place sur la zone du lecteur
		window.location = '#lecteur';
	},
	
	/** Affiche le script déja chargé dans la zone de script */
	montrer_script: function() {
		//on réduit les autres fenêtres : résultats, podcast et script
		this.jacquard.box_mot_cle.collapse();
		this.jacquard.box_resultats.collapse();
		this.box_script.open();
		this.box_script.expand();
		//on se place sur la zone de script
		window.location = '#script';
	},

	
	maj_script: function() {
		//mise à jour de la zone d'affichage
		//this.box_script.titre_emission.className = 'titre_emission titre_dans_script';
		//this.box_script.titre_emission.innerHTML = 'Émission du '+this.date_emission+' : '+this.titre;
		this.box_script.titre_emission.innerHTML = 'Émission du '+this.date_emission+' : '+this.titre;
		//this.box_script.zone_script.className = 'script';
		this.box_script.zone_script.innerHTML = this.script;
		
		if(this.admin) {
			this.maj_formulaire_script();
		}
			
		//on cache le formulaire
		this.cacheFormulaire_script();
	},
	
	/** Chargement du script dans la zone de script, sans afficher la zone si elle est cachée */
	remplir_script: function() {
		var current = this;
		this.box_script.icone_print.onclick = function() {
			window.open('../site/emission_imprimable.php?id_emission='+current.id_emission, '_blank', 'width=600,height=600,scrollbars=yes');
		};
		this.box_script.icone_player.onclick = function() {
			current.ecouter();
		};
		if(this.admin) {
			//this.setFormulaire();
			this.setBehaviour();
		}
		this.maj_script();
	},
	
	
	/** fonctions pour l'admin
	 *		- afficher tous les paramètres de l'émission
	 *		- au clic sur une zone : formulaire de modification de la zone
	 *		  (enregistrement automatique à intervalles réguliers ? TODO)
	 */
	/** Met à jour les données d'un formulaire déja existant
	 */
	maj_formulaire_script: function() {
		//alert('met à jour le formulaire');
		
		$('id_emission').value = this.id_emission;
		$('titre').value = this.titre;
		$('date_emission').value = this.date_emission;
		$('duree').value = this.duree;
		var oEditor = FCKeditorAPI.GetInstance('script');
		oEditor.SetHTML(this.script);
		//remplissage de la liste 'source' avec tous les mots-clés
		var option_mot_cle;
		for(var i=0; i<this.jacquard.mots_cles.length; i++) {
	
			option_mot_cle = document.createElement('option');
			option_mot_cle.id = 'mots_cles['+this.jacquard.mots_cles[i].id_mot_cle+']';
			option_mot_cle.value = this.jacquard.mots_cles[i].id_mot_cle;
			option_mot_cle.text = this.jacquard.mots_cles[i].nom;
			
			try {
				$('mots_cles_non_lies').add(option_mot_cle, null);
			}catch(e) {
				$('mots_cles_non_lies').add(option_mot_cle);
			}
		}
		//vidage de la liste 'destination'
		for(var i=0; i<$('mots_cles_lies').options.length; i++) {
			$('mots_cles_lies').remove($('mots_cles_lies').i);
			i--;
		}
		
		//selection des mots-clés liés
		for(i=0; i<this.mots_cles_associes.length; i++) {
			$('mots_cles['+this.mots_cles_associes[i]+']').selected = true;
		}
		DeplacerItemDeVers('mots_cles_non_lies', 'mots_cles_lies');
		
		
		//validation de l'émission :
		if(this.valide)
			$('valide').checked = true;
		else
			$('valide').checked = false;
	},
	/** Ajoute un formulaire en dessous de l'affichage du script, 
	  * au clic, on bascule de l'affichage simple au formulaire
	  */
	/*setFormulaire: function() {
		//détermine le comportement au clic et au submit		
		this.setBehaviour();
	},*/
	/** 
	 *	Initialise le comportement de la zone de script au clic
	 */
	setBehaviour: function() {
		var current = this;
		
		$('bouton_ajouter_mot_cle').onclick = function() {
			//alert('ajouter');
			//DeplacerItemDeVers(current.select_mots_cles_in, current.select_mots_cles_out);
			DeplacerItemDeVers('mots_cles_non_lies', 'mots_cles_lies');
		};
		
		$('bouton_retirer_mot_cle').onclick = function() {
			//alert('retirer');
			DeplacerItemDeVers('mots_cles_lies', 'mots_cles_non_lies');
		};
		
		this.box_script.zone_affichage.onclick = function() {
			if(current.box_script.div_formulaire.style.display == 'none')
				current.afficheFormulaire_script();
			/*else 
				current.cacheFormulaire();*/
		};

		this.box_script.form_maj.onsubmit = function() {
			//alert('enregistrement');
			current.soumettre_formulaire_script(this);
		};
		
		this.box_script.form_delete.onsubmit = function() {
			if(confirm('Cette action va supprimer définitivement l\'émission courante, êtes-vous sûr ?')) {
				current.soumettre_formulaire_script(this);
			}
		};

		this.box_script.form_maj.onreset = function() {
			if(current.id_emission > 0) {
				//current.remplir_script();
				//current.maj_script();
				current.cacheFormulaire_script();
			}
			else
				current.box_script.close();
		};

	},
	
	
	/** Envoi d'une requête au serveur */
	soumettre_formulaire_script: function(form) {
		//arrêt de la requete en cours s'il y en a une
		if(this.ajax && this.ajax.transport && this.ajax.transport.readyState != 4) {
			this.ajax.transport.abort();
		}
		//traiter les cas selon de quel formulaire il s'agit
		if(form == this.box_script.form_maj){
			//on selectionne tous les mots-clés de la liste 'destination'
			SelectionnerItems('mots_cles_lies');

			//lancement d'une nouvelle requete
			var params = 'id_emission='+$F('id_emission');
			params += '&action='+$F('action');
			params += '&titre='+encodeURIComponent($F('titre'));
			params += '&date_emission='+$F('date_emission');
			params += '&duree='+$F('duree');
			
			if($F('valide') == 'on')
				params += '&valide';

			//alert(params);

			var oEditor = FCKeditorAPI.GetInstance('script');
			script_formate = encodeURIComponent(oEditor.GetXHTML(false));
			params += '&script='+script_formate;

			//alert($F('mots_cles_lies'));
			params += '&mots_cles='+$F('mots_cles_lies');
			
			/*var checks = document.getElementsByName('mots_cles[]');
			//alert(checks.length);
			var checks_value = '';
			for(var i=0; i<checks.length; i++) {
				if($F(checks[i])) {
					params += '&mot_cle'+encodeURIComponent('[]')+'='+$F(checks[i]);
					checks_value += '&mot_cle'+encodeURIComponent('[]')+'='+$F(checks[i]);
				}
			}
			alert(checks_value);*/
			//return;
			//alert(params);
			
		}
		else {
			var params = Form.serialize(form);
			//alert(params);
		}
		//alert("params = "+params);


		var current = this;
		
		this.ajax = new Ajax.Request('../composants_php/submit_emission.php', {
			method: 'post',
			parameters: params,
			
			onSuccess: function(xhr) {
				current.traite_resultats(xhr);
			},
			
			onFailure: function(xhr) {
				current.traite_erreur(xhr);
			},
			
			onException: function(xhr, e) {
				current.traite_exception(xhr, e);
			}
		});
		
	},

/*                                                                                 BIG PROBLEME *********************************** */
	/** Traite les résultats après soumission du formulaire */	
	traite_resultats: function(xhr) {
		// code provisoire : on supprime tout ce qui est dans xhr.responseText avant l'accolade, ceci pour palier un bug qui fait que des infos de débuggage aparaissent dans le xhr
		var emission = xhr.responseText;
		var longueur = emission.length ;
		var trouverAccolade = emission.indexOf("{",0);
		var trimmedXHR = emission.substring(trouverAccolade,longueur);
		// on évalue le résultat ==> syntaxe originale de Lucille Chanel
		//alert('complet = \r'+emission+'\rréruit==>'+trimmedXHR+'\rfin');
		
		eval('var emission = '+trimmedXHR+';');
		
		// syntaxe alternative de JB
		//var emission = eval('(' + trimmedXHR + ')');
				
		//mise à jour des membres de l'emission dans la fenêtre de script
		// code d'origine :   eval('var emission = '+xhr.responseText+';');
	


		if(emission.id_emission > 0) {

			this.id_emission = emission.id_emission;
			this.titre = emission.titre;
			this.date_emission = this.formate_date(emission.date_emission);
			this.duree = emission.duree;
			this.script = emission.script;
			this.script_reduit = emission.script_reduit;
			this.mots_cles_associes = emission.mots_cles_associes;
			this.valide = emission.valide;

			//this.remplir_script();
			this.maj_script();
			
			
			//mise à jour dans la fenêtre de résultats
			var zone_emission_resultats = $('resultat_emission_'+this.id_emission);
	
			if(! zone_emission_resultats) {
				this.ajoute_resume();
			}
			else {
				/*  mise à jour du résumé de cette émission
				 *  si le titre est modifié, mise à jour dans le lecteur aussi
				 */
				this.maj_resume();
				this.maj_lecteur();
			}
		}
		else {
			this.box_script.close();
			this.box_player.close();
			
			this.supprime_resume();
			this.box_resultats.expand();

			this.id_emission = emission.id_emission;
			this.titre = emission.titre;
			this.date_emission = this.formate_date(emission.date_emission);
			this.duree = emission.duree;
			this.script = emission.script;
			this.script_reduit = emission.script_reduit;
			this.mots_cles_associes = emission.mots_cles_associes;
			this.valide = emission.valide;
		}
		
		
	},

	traite_erreur: function(xhr) {
		alert(xhr.statusText);
	},

	traite_exception: function(xhr, e) {
		alert(e.message+' : ligne '+e.lineNumber+', fichier '+e.fileName);
	},


	/** Ajoute un formulaire pour modifier l'emission */
	afficheFormulaire_script: function() {
		this.box_script.div_formulaire.style.display = '';
		this.box_script.zone_affichage.style.display = 'none';

		if ( !document.all )
		{
			try {
				var oEditor = FCKeditorAPI.GetInstance( 'script' ) ;
				
				if (  oEditor.EditMode == FCK_EDITMODE_WYSIWYG )
					oEditor.MakeEditable() ;
			}catch(e){}
		}
	},

	/** Cache le formulaire de modifications */
	cacheFormulaire_script: function() {
		this.box_script.div_formulaire.style.display = 'none';
		this.box_script.zone_affichage.style.display = '';
	}


	
}




