/* ******************************************************************* */
// Imagine Développement
// Julien MARTIN
// Projet GoAll v2.0
// propriété de la société Arnal
/* ******************************************************************* */	

// appel de script par AJAX
  
// retourne false en cas d'erreur ou une valeur type entier ou booleen qui sera traitée par le prg  
function iAjaxQuestionSimple (fichier)
{
	xhr_object = getHTTPObject()
		
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	var returnValue;
	if (xhr_object.readyState == 4) 
	{
		if (xhr_object.status == 200) 
		{
			returnValue = xhr_object.responseText;
			//alert (returnValue);
		} 
		else 
		{
			alert('Un problème est survenu avec la requête.');
		}

		return(xhr_object.responseText);
	}
	else 
		return(false);
}

function getHTTPObject() 
{
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
  
  try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {	  
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
        xmlhttp = false;
        }
      }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
      } catch (e) {
      xmlhttp = false;
      }
    }
  return xmlhttp;
}

function TestEvent (NumCL, DateEvent, CreneauHoraire, TypeEvent, idLieu, Now)
{
	return iAjaxQuestionSimple ('pages/calendrier/test_event_ajax.inc.php?NumCL=' + NumCL + 
																								     '&DateEvent=' + DateEvent + 
																									 '&CreneauHoraire=' + CreneauHoraire + 
																									 '&TypeEvent=' + TypeEvent + 
																									 '&idLieu=' + idLieu + '&time=' + Now + '&TestMode=0' );																									 
}

function TestEventModif (NumCL, DateEvent, CreneauHoraire, TypeEvent, idLieu, Now, idPlanning)
{
	return iAjaxQuestionSimple ('pages/calendrier/test_modif_event_ajax.inc.php?NumCL=' + NumCL + 
																								     '&DateEvent=' + DateEvent + 
																									 '&CreneauHoraire=' + CreneauHoraire + 
																									 '&TypeEvent=' + TypeEvent + 
																									 '&idLieu=' + idLieu + '&time=' + Now + '&TestMode=0&idPlanning=' + idPlanning );																									 
}

function TestEventForAllNumCLSelected (ListeNumCL, DateEvent, CreneauHoraire, TypeEvent, idLieu, Now, TypeAction, idPlanning )
{
	var selObj = document.getElementById(ListeNumCL);
	var iReturnValue = 1;
	var iTestEvent;
	if ( selObj.options.length > 0 )
	{
	    for (var i=0; i < selObj.options.length; i++) 
	    {
		   // test si l'ajout est possible	
		   if ( TypeAction == 1 )	
			  iTestEvent = TestEvent( selObj.options[i].value, DateEvent, CreneauHoraire, TypeEvent, idLieu, Now);	
		   // test si la modif est possible
		   else if ( TypeAction == 2 )
		    iTestEvent = TestEventModif( selObj.options[i].value, DateEvent, CreneauHoraire, TypeEvent, idLieu, Now, idPlanning);	
		   
	       if ( iTestEvent <= 0 )
		   {
			//alert('Test : ' + iTestEvent);
			iReturnValue = iTestEvent;
		   }
		   //alert('Test : ' + iTestEvent);
	    }
	}
	else
	{
		
		iReturnValue = 0;
	}
	return iReturnValue;
}

function  AfficheMessageErreur ( CodeErreur, form )
{
	var TxtMessageErreur = '';	
	if ( CodeErreur == -1 )
	{
		// creneau
		TxtMessageErreur = 'Ce créneau horaire n\'est pas disponible pour ce type d\'évènement';	
	}
	else if ( CodeErreur == -2 )
	{
		// dispo date
		TxtMessageErreur = 'Cette date ne convient pas';	
	}
	else if ( CodeErreur == -3 )
	{
		// nb résa pour la CL en cours
		TxtMessageErreur = 'Cette caisse a déjà réservée son maximum d\'évènements de ce type';
	}
	else if ( CodeErreur == -4 )	
	{
		// nb réseau type event pour ce créneau horaire
		TxtMessageErreur = 'Le nombre maximum d\évènements de ce type pour ce créneau horaire est dépassé';
	}
	else if ( CodeErreur == -5 )
	{
		// lieu non dispo
		TxtMessageErreur = 'Le lieu n\'est pas disponible pour ce créneau horaire';
	}
	else if ( CodeErreur == -6 )
	{
		// date faisabilité
		TxtMessageErreur = 'Ce type d\'évènement ne peut pas être réalisé à cette date';
	}	
	else if ( CodeErreur == -7 )
	{
		// lieu non dispo
		TxtMessageErreur = 'Ce type d\'évènement ne peut pas être plannifié à cette date';
	}
	else
	{
		TxtMessageErreur = 'Veuillez choisir une Caisse Locale. ' + CodeErreur;	
	}
	
	form.TxtErreur.value = TxtMessageErreur;
}


function TestNumAdmin (NumAdmin, Now, ModeRecherche, idAdminCL)
{
	return iAjaxQuestionSimple ('pages/admin_cl/test_numadmin_ajax.inc.php?NumAdmin=' + NumAdmin + 
                                                                        '&time=' + Now + 
                                                                        '&TestMode=0&ModeRecherche=' + ModeRecherche + 
                                                                        '&idAdminCL=' + idAdminCL  );																									 
}

