// Modification utilisateur dans console d'admin : Les trois scripts qui suivent !!!!!


function FormulaireModificationUtilisateur(event) {
  // block default form submit
  
  Event.stop(event);
	  
  Lightview.show({
    href: 'includes/MesScripts/Blocs/FormulaireModificationUtilisateur.php',
    rel: 'ajax',
    options: {
      title: 'Modification de votre profil Utilisateur',
	  menubar: false,
	  topclose: true,
	  autosize: true,
      ajax: {
        parameters: Form.serialize('ModificationsUtilisateur'), // the parameters from the form
		onComplete: function(){
		$('RetourFicheUtilisateur').observe('submit', DetailsUtilisateurPOST);
		$('ValiderModificationsUtilisateur').observe('submit', ModificationUtilisateur);
		}
	  }
    }
  });
}
// Suite....
function DetailsUtilisateurPOST(event) {
	Event.stop(event);
	Lightview.show({
		href: 'includes/MesScripts/Blocs/DetailsUtilisateurs.php',
		rel: 'ajax',
		options: {
			autosize: true,
			topclose: true,
			ajax: {
		        parameters: Form.serialize('RetourFicheUtilisateur'), // the parameters from the form
				onComplete: function(){
				// once the request is complete we observe the form for a submit
				$('ModificationsUtilisateur').observe('submit', FormulaireModificationUtilisateur);
				}
			}
		}
	});
}
//Suite...
function ModificationUtilisateur(event) {
	Event.stop(event);
	Lightview.show({
		href: 'includes/MesScripts/Blocs/ModificationUtilisateur.php',
		rel: 'ajax',
		options: {
			autosize: true,
			topclose: true,
			ajax: {
		        parameters: Form.serialize('form1'), // the parameters from the form
				onComplete: function(){
				// once the request is complete we observe the form for a submit
				$('RetourFicheUtilisateur').observe('submit', DetailsUtilisateurPOST);
				$('ModificationsUtilisateur').observe('submit', FormulaireModificationUtilisateur);
				}
			}
		}
	});
}

// Affichage des résulats d'expertises aux communiquants 

function AffichageExpertise(IDCom) {
	var contenant = $('ContenantFormulaire');
	$('ContenantFormulaire').innerHTML=loading;
	var IDComValue = IDCom ;
	var url = 'includes/MesScripts/Blocs/LectureDecisionFinale.php';
	var params = $H({ ID : IDComValue });
	new Ajax.Updater(contenant, url, {
		parameters: params.toQueryString(),
		evalScripts: true,
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;	
}

// Fonction de désignation/modification des experts pour une proposition

function MisajourExpert(IDCom,Expert1ou2,ligne,Page) {
	var QuellePage = Page;
	var nbLigne = ligne;
	var IDValue = IDCom;
	var Expert1ou2Value = Expert1ou2;
	var QuelSelect = 'ChoixExpert'+nbLigne;
	var ExpertValue = $F(QuelSelect);	
	var params = $H({ ID : IDValue , Expert1ou2 : Expert1ou2Value , ChoixExpert : ExpertValue });
	var url = 'includes/MesScripts/Actions/UpdateExpert.php';
	var ajax = new Ajax.Request(url,{
        	method: 'post',
			parameters: params.toQueryString(),
            onComplete: function Fade() { 
			var QuelleDiv = 'LignePropositions'+nbLigne;
			if (QuellePage == 'Non') $(QuelleDiv).fade();
			return false;
			}
			});
	return false;
}

// Variable définissant un message d'attente de type Loading...

var loading = '<div style="font-size:20px; padding:50px; width:auto; text-align:center"><p>Recherche dans la base de données</p><br /><br /><img src="images/loadingAnimation.gif" /><br /><br /><p>Merci de patienter...</p></div>';

// Fonction permettant d'afficher le formulaire de décision finale pour une communication

function DecisionFinale(Quoi,PostExpert,PostChamp,PostValeur) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var IDValue = Quoi ;
	var ExpertValue = PostExpert;
	var ChampValue = PostChamp;
	var ValeurValue = PostValeur;
	var url = 'includes/MesScripts/Blocs/FormulaireDecisionFinale.php';
	var params = $H({ ID : IDValue, IDExpert : ExpertValue, Champ : ChampValue, Valeur : ValeurValue });
	new Ajax.Updater(contenant, url, {
		parameters: params.toQueryString(),
		evalScripts: true,
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;	
}



// Voir les titres des communications suite aux décision des experts ou de la décision finale

function LecturePropositionsDecisions(IDparam,Champparam,Valeurparam) { // ID si le résulat correspond au travail d'un expert, 0 n'étant pas le cas // Champ si on s'intéresse à l'acceptation ou au format // Valeur si on recherche les coms acceptées, ou bien refusées...
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var url = 'includes/MesScripts/Actions/LecturePropositionsDecisions.php';
	var IDValue = IDparam ;
	var ChampValue = Champparam ;
	var ValeurValue = Valeurparam ;
	var params = $H({ IDExpert : IDValue, Champ : ChampValue, Valeur : ValeurValue });
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;	
}

// Voir les expertises faites pour une communication donnée...

function VoirExpertises(quoi) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var url = 'includes/MesScripts/Blocs/BilanDeuxExpertises.php';
	var IDValue = quoi;
	var params = $H({ ID : IDValue });
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;	
}

// Fonction permettant l'affichage de la confrontation des expertises (2 oui, 1 oui ou un non, 2 non...)

function ConfrontationExpertises(requete) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var ActionValue = requete;
	var params = $H({ Action : ActionValue });
	var url = 'includes/MesScripts/Actions/LecturePropositionsAcceptees.php';
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;	
}

// Fonction permettant de changer le contenant à partir des paramètres d'appel de la fonction

function ChangeContenant(repertoire,fichier) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var ou = repertoire ;
	var quoi = fichier ;
	var url = 'includes/MesScripts/'+ou+'/'+quoi+'.php';
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;	
}

// Appel de la fenêtre Expertise

function FormulaireExpertise(requete,quoi) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var url = 'includes/MesScripts/Blocs/FormulaireExpertise.php';
	var ActionValue = requete;
	var IDValue = quoi;
	var params = $H({ Action : ActionValue, ID : IDValue });
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;	
}


// Affichage des communications à expertiser/déjà expertisées

function ListeComExpertise(attribue) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var url = 'includes/MesScripts/Actions/LecturePropositionsExpertise.php';
	var ExpertiseValue = attribue;
	var params = $H({ Expertise : ExpertiseValue });
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;
}



// Affichage des communications à distribuer pour expertise

function ListeComAttribution(attribue) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML=loading;
	var url = 'includes/MesScripts/Actions/LecturePropositionsAttribution.php';
	var AttributionValue = attribue;
	var params = $H({ Attribution : AttributionValue });
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;
}

//Fonction pour actualiser le détail d'un utilisateur
function ModifStatutUtilisateur(Page,AfterRepertoire,AfterPage) {
	var contenant = $('PartieCentrale');
	var quoi = Page;
	var url = 'includes/MesScripts/Actions/'+quoi+'.php';
	var ajax = new Ajax.Request(url,{
        	method: 'post',
       		parameters: Form.serialize('StatutUtilisateurModification'), // the parameters from the form
			evalScripts:true,
			onloaded:contenant.innerHTML=loading,
			onSuccess : StatutUtilisateurDetails(AfterRepertoire,AfterPage)	
            });
	return false;
}

//Fonction pour actualiser le détail d'un utilisateur

function StatutUtilisateurDetails(Repertoire,Page) {
	setTimeout(Temporisation,500);	
		function Temporisation() {
			var contenant = $('PartieCentrale');
			var ou = Repertoire;
			var quoi = Page;
			$('PartieCentrale').innerHTML='';
			var url = 'includes/MesScripts/'+ou+'/'+quoi+'.php';
			new Ajax.Updater(contenant, url, {
				parameters: Form.serialize('StatutUtilisateurForm'), // the parameters from the form
				evalScripts:true,
				});
			return false;
		}
}

function UtilisateurDetails() {
	var contenant = $('PartieCentrale');
	$('PartieCentrale').innerHTML='';
	var url = 'includes/MesScripts/Actions/LecturePreinscrits.php';
	new Ajax.Updater(contenant, url, {
        parameters: Form.serialize('StatutUtilisateurForm'), // the parameters from the form
		evalScripts:true,		
		});
	return false;
}

// Fonction pour afficher l'utilisateur (en vue de chnager son statut)

function StatutUtilisateur() {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML='';
	var url = 'includes/MesScripts/Actions/LectureStatutUtilisateur.php';
	AJAXNoParamEvalScripts(contenant,url);
	return false;
}


// Fonction pour lister les préinscrits

function ListePreinscrit() {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML='';
	var url = 'includes/MesScripts/Actions/LecturePreinscrits.php';
	AJAXNoParam(contenant,url);
	return false;
}

// Fonction pour lister les propositions de communication soumises

function ListePropositions(option) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML='';
	var url = 'includes/MesScripts/Actions/LecturePropositions.php';
	var triValue = option;
	var params = $H({ Tri : triValue });
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onLoading: function Loading() {
			$('ContenantAdmin').innerHTML=loading;
			},
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;
}


// Fonction pour lister les symposiums proposés


function ListeSymposiums() {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML='';
	var url = 'includes/MesScripts/Actions/LectureSymposiums.php';
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		onLoading: function Loading() {
			$('ContenantAdmin').innerHTML=loading;
		},
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
		return false;
		}		
	});
	return false;
}


// Fonction pour trier les propositions par symposium ou thème

function ListePropositionsTRI (TypeRecu,IDRecu,Nom) {
	var contenant = $('ContenantAdmin');
	$('ContenantAdmin').innerHTML='';
	var url = 'includes/MesScripts/Actions/LecturePropositions.php';
	var TypeValue = TypeRecu;
	var IDValue = IDRecu;
	var NomValue = Nom;
	var params = $H({ Type : TypeValue, ID : IDValue , Nom : NomValue });
	new Ajax.Updater(contenant, url, {
		evalScripts: true,
		parameters: params.toQueryString(),
		onLoading: function Loading() {
			$('ContenantAdmin').innerHTML=loading;
			},
		onComplete: function Appear() {
			$('form').appear({ duration: 1.0 });
			return false;
			}		
		});
	return false;
}


// Fonction pour insérer/supprimer un auteur 

function RendreSortable() {
	Sortable.create('ListeCoAuteursModification',{tag:'div', overlap:'horizontal', constraint:'horizontal', onUpdate:updateListeModif});
}

function InsertionAuteur() {
	var contenant = $('ListeCoAuteurs');
	var url = 'includes/MesScripts/Actions/InsertionAuteurs.php';
	var AuteurValue = $F('AuteurPrincipal');
	var NomValue = $F('Nom');
	var PrenomValue = $F('Prenom');
	var InstitutionValue = $F('Institution');
	var IDValue = $F('ID');
	var IDPropositionValue = $F('IDProposition');
	if (NomValue == '' || PrenomValue == '' || InstitutionValue == '') {
	var MessageAlerte = $('MessageAlerte');
	MessageAlerte.innerHTML='Merci de completer tous les champs';
	}
	else {
	var params = $H({ Auteur : AuteurValue, Nom : NomValue, Prenom : PrenomValue, Institution : InstitutionValue, ID : IDValue, IDProposition : IDPropositionValue });
	AJAXOnComplete(contenant,url,params);
	$('Nom').value='';
	$('Prenom').value='';
	$('Institution').value='';
	$('MessageAlerte').innerHTML='';
	return false;
	}
}

function ModificationAuteur() {
	var contenant = $('ListeCoAuteursModification');
	var url = 'includes/MesScripts/Actions/InsertionAuteurs.php?Version=Modification';
	var AuteurValue = $F('AuteurPrincipalModification');
	var NomValue = $F('NomModification');
	var PrenomValue = $F('PrenomModification');
	var InstitutionValue = $F('InstitutionModification');
	var IDValue = $F('IDModification');
	var IDPropositionValue = $F('IDPropositionModification');
	if (NomValue == '' || PrenomValue == '' || InstitutionValue == '') {
	var MessageAlerte = $('MessageAlerteModification');
	MessageAlerte.innerHTML='Merci de completer tous les champs';
	}
	else {
	var params = $H({ Auteur : AuteurValue, Nom : NomValue, Prenom : PrenomValue, Institution : InstitutionValue, ID : IDValue, IDProposition : IDPropositionValue });
	AJAXOnCompleteModification(contenant,url,params);
	$('NomModification').value='';
	$('PrenomModification').value='';
	$('InstitutionModification').value='';
	$('MessageAlerteModification').innerHTML='';
	return false;
	}
}

function AJAXOnComplete(contenant,url,params) {
		new Ajax.Updater(contenant, url, {
		parameters: params.toQueryString(),
		onComplete: function() {
					Sortable.create('ListeCoAuteurs',{tag:'div', overlap:'horizontal', onUpdate:updateListe});
		}
		});
}

function AJAXOnCompleteModification(contenant,url,params) {
		new Ajax.Updater(contenant, url, {
		parameters: params.toQueryString(),
		onComplete: function() {
					Sortable.create('ListeCoAuteursModification',{tag:'div', overlap:'horizontal', constraint:'horizontal', onUpdate:updateListeModif});
		}
		});
}

function updateListe(container) {
		var url = 'includes/MesScripts/Actions/UpdateListeAuteur.php';
        var params = Sortable.serialize(container.id);
        var ajax = new Ajax.Request(url,{
        	method: 'post',
            parameters: params,
            onLoading: function(){$('workingMsg').show()},
            onLoaded: function(){$('workingMsg').hide()}
            });
}

function updateListeModif(container) {
		var url = 'includes/MesScripts/Actions/UpdateListeAuteur.php?Version=Modification';
        var params = Sortable.serialize(container.id);
        var ajax = new Ajax.Request(url,{
        	method: 'post',
            parameters: params,
            onLoading: function(){$('workingMsgModification').show()},
            onLoaded: function(){$('workingMsgModification').hide()}
            });
}


function DeleteAuteurs(IDAuteur,OrdreAuteur) {
	var contenant = $('ListeCoAuteurs');
	var url = 'includes/MesScripts/Actions/SuppressionAuteurs.php';
	var AuteurValue = $F('AuteurPrincipal');
	var IDPropositionValue = $F('IDProposition');
	//IDAuteur : ID de l'auteur à supprimer !
	var IDAuteurValue = IDAuteur;
	var OrdreAuteurValue = OrdreAuteur;
	var params = $H({ Auteur : AuteurValue, IDProposition : IDPropositionValue, IDAuteur : IDAuteurValue, OrdreAuteur : OrdreAuteurValue });
	AJAXOnComplete(contenant,url,params);
	return false;
}



function DeleteAuteursModification(IDAuteur,OrdreAuteur) {
	var contenant = $('ListeCoAuteursModification');
	var url = 'includes/MesScripts/Actions/SuppressionAuteurs.php?Version=Modification';
	var AuteurValue = $F('AuteurPrincipalModification');
	var IDPropositionValue = $F('IDPropositionModification');
	//IDAuteur : ID de l'auteur à supprimer !
	var IDAuteurValue = IDAuteur;
	var OrdreAuteurValue = OrdreAuteur;
	var params = $H({ Auteur : AuteurValue, IDProposition : IDPropositionValue, IDAuteur : IDAuteurValue, OrdreAuteur : OrdreAuteurValue });
	AJAXOnCompleteModification(contenant,url,params);
	return false;
}

//Fonction d'appel du script d'envoi de mail

function EnvoiEmail() {
	var contenant = $('ContenantAdmin');
	var url = 'includes/MesScripts/Actions/EnvoiEmail.php';
	var DestinatairesValue = $F('Destinataires');
	var ObjetValue = $F('Objet');
	var TexteValue = $F('TexteMail');
	var params = $H({ Destinataires : DestinatairesValue, Objet : ObjetValue, Texte : TexteValue });
	$('ContenantAdmin').innerHTML=loading;
	AJAX(contenant,url,params);
	return false;
}

function Email(Qui) {
	var contenant = $('ContenantAdmin');
	var url = 'includes/MesScripts/Blocs/Admin_Mail.php';
	var DestinatairesValue = Qui;
	var params = $H({ Destinataires : DestinatairesValue });
	$('ContenantAdmin').innerHTML=loading;
	AJAXEvalScripts(contenant,url,params);
	return false;
}

// Fonction pour lire et écrire le contenu des tables

function EcritureTables() {
	var contenant = $('ContenantAdmin');
	var url = 'includes/MesScripts/Actions/EcritureTables.php';
	var TableValue = window.document.forms['EcritureTable'].elements['Table'].value;
	var params = $H({ table : TableValue });
	$('ContenantAdmin').innerHTML=loading;
	AJAX(contenant,url,params);
	return false;
}

function ContenuTables(name) {
	var contenant = $('ContenantAdmin');
	var url = 'includes/MesScripts/Actions/ContenuTables.php';
	var TableValue = name;
	var params = $H({ table : TableValue });
	$('ContenantAdmin').innerHTML=loading;
	AJAXEvalScripts(contenant,url,params);
	return false;
}


//fonction pour mettre à jour un password en Ajax !!

function ReloadPassword() {
	var contenant = $('ChampsPassword');
	var url = 'includes/MesScripts/Blocs/UpdatePassword.php';
	var IDUserValue = window.document.forms['ChangePassword'].elements['IDUser'].value;
	var params = $H({ IDUser : IDUserValue });
	AJAX(contenant,url,params);
	return false;
}

function UpdatePassword() {
	var contenant = $('ChampsPassword');
	var url = 'includes/MesScripts/Actions/UpdatePassword.php';
	var IDUserValue = window.document.forms['ChangePassword'].elements['IDuser'].value;	
	var NewPassword1Value = window.document.forms['ChangePassword'].elements['NewPassword1'].value;	
	var NewPassword2Value = window.document.forms['ChangePassword'].elements['NewPassword2'].value;	
	var params = $H({ IDUser : IDUserValue, NewPassword1 : NewPassword1Value, NewPassword2 : NewPassword2Value });
	AJAX(contenant,url,params);
	return false;
}












//Update en AJAX via prototype avec paramètres !

function AJAX(contenant,url,params) {
		var AjaxUpdate = new Ajax.Updater(contenant, url, {
		parameters: params.toQueryString()
		});
}

//Requête AJAX avec evaluation des scripts

function AJAXEvalScripts(contenant,url,params) {
		var AjaxUpdate = new Ajax.Updater(contenant, url, {
		evalScripts: true,		
		parameters: params.toQueryString()
		});
}

// REQUETE AJAX sans paramètres !	

function AJAXNoParam(contenant,url) {
		new Ajax.Updater(contenant, url);
}

// REQUETE AJAX sans paramètres:  Evaluation du code Javascript dans le retour AJAX !

function AJAXNoParamEvalScripts(contenant,url) {
		new Ajax.Updater(contenant, url, {
		evalScripts: true,
		});
}
 
// REQUETE AJAX sans paramètres : Evaluation du code Javascript dans le retour AJAX + lancement d'un script JS après achèvement de la requête AJAX!

function AJAXNoParamEvalScriptsOnComplete(contenant,url) {
		new Ajax.Updater(contenant, url, {
		evalScripts: true,
		onComplete: function() {
			//A compléter par le script de ton choix
			}
		});
}