// JavaScript Document
function getXMLHTTP()
{
	var xhr=null;
	
	if( window.XMLHttpRequest ) // Firefox et autres
	{ 
		xhr = new XMLHttpRequest() ;
	}
	else if( window.ActiveXObject ) // Internet Explorer
	{
		try
		{
			xhr = new ActiveXObject( "Msxml2.XMLHTTP" ) ;
		}
		catch( e )
		{
			try
			{
				xhr = new ActiveXObject( "Microsoft.XMLHTTP" ) ;
			}
			catch ( e1 )
			{
				xhr = null ;
			}
		}
	}
	else // XMLHttpRequest non supporté par le navigateur
	{ 
		alert( "Votre navigateur ne supporte pas les objets XMLHTTPRequest..." ) ;
	}
	return xhr ;
}

function editerCellule( idCellule )
{
	if( document.getElementById( 'celluleEdit' + idCellule ).className == "cacher" )
	{
		document.getElementById( 'cellule' + idCellule ).className = "cacher" ;
		document.getElementById( 'celluleEdit' + idCellule ).className = "" ;
	}
	else
	{
		document.getElementById( 'celluleEdit' + idCellule ).className = "cacher" ;
		document.getElementById( 'cellule' + idCellule ).className = "" ;
	}
}

function validerCellule( idCellule )
{
	var xhr = getXMLHTTP() ;
	var nom = document.getElementById( 'nom' + idCellule ) ;
	var cellule = document.getElementById( 'cellule' + idCellule ) ;
	
	//On définit ce qu'il se passe lors de la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if( xhr.readyState == 4 && xhr.status == 200 )
		{
			if( xhr.responseText == "OUI" ) // OUI/NON
			{
				cellule.innerHTML = nom.value ;
				editerCellule( idCellule ) ;
			}
			else
			{
				alert( "L'édition à échouée, vérifiez que le premier champ ne contient qu'un nom (entre 50 et 300 environ). Si le problème persiste, contactez le webmaster" ) ;
			}
		}
	}
	
	//On ouvre le fichier php associé
	xhr.open( "POST", "../ajax/editer_cellule.php", true ) ;
	//nécessaire pour faire du post
	xhr.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ) ;
	
	//les arguments
	xhr.send( "editer_cellule=1&id_cellule="+idCellule+"&nom="+nom.value ) ;
}

function fixerRdv( idCellule )
{
	var xhr = getXMLHTTP() ;
	var reponse ;
	var idMoniteur ;
	idMoniteur = idCellule.slice( 0, idCellule.indexOf( "-" ) ) ;
	var eleve = document.getElementById( 'eleve' + idMoniteur ) ;
	var raison = document.getElementById( 'raison' + idMoniteur ) ;
	var autreraison = document.getElementById( 'autreraison' + idMoniteur ) ;
	var info = document.getElementById( 'info' + idMoniteur ) ;
	var cellule = document.getElementById( idCellule ) ;
	
	//On définit ce qu'il se passe lors de la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if( xhr.readyState == 4 && xhr.status == 200 )
		{
			reponse = eval("(" + xhr.responseText + ")") ; //On decode le json
			switch( reponse.ordre ) // ordre = OUI+pseudo+rdv+nom+prenom+tel
			{
					case "OUI" :
						cellule.innerHTML = reponse.pseudo+"<br />"+raison.value ;
						cellule.setAttribute( "ondblclick", "effacerRdv( '" + idCellule + "', " + reponse.rdv + " )" ) ;
						cellule.setAttribute( "title", reponse.prenom + " " + reponse.nom + " " + reponse.tel + "\nInfos : " + info.value ) ;
					break ;
					default : alert( "Une erreur s'est produite, en cas de récidive, contactez le webmaster." ) ;
			}
		}
	}
	
	//On ouvre le fichier php associé
	xhr.open( "POST", "../ajax/fixer_rdv.php", true ) ;
	//nécessaire pour faire du post
	xhr.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ) ;
	
	//les arguments
	xhr.send( "fixer_rdv=1&id_cellule="+idCellule+"&eleve="+eleve.value+"&raison="+raison.value+"&autreraison="+autreraison.value+"&info="+info.value ) ;
}

function effacerRdv( idCellule, idRdv )
{
	var xhr = getXMLHTTP() ;
	var reponse ;
	var cellule = document.getElementById( idCellule ) ;
	
	//On définit ce qu'il se passe lors de la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if( xhr.readyState == 4 && xhr.status == 200 )
		{
			reponse = eval("(" + xhr.responseText + ")") ; //On decode le json
			switch( reponse.ordre ) // ordre = OUI
			{
					case "OUI" :
						cellule.innerHTML = "" ;
						cellule.setAttribute( "ondblclick", "fixerRdv( '" + idCellule + "' )" ) ;
					break ;
					default : alert( "Une erreur s'est produite, en cas de récidive, contactez le webmaster." ) ;
			}
		}
	}
	
	//On ouvre le fichier php associé
	xhr.open( "POST", "../ajax/effacer_rdv.php", true ) ;
	//nécessaire pour faire du post
	xhr.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ) ;
	
	//les arguments
	xhr.send( "effacer_rdv=1&id_rdv="+idRdv ) ;
}
