//------------------------------------------------------
//					MOTEUR AJAX
//------------------------------------------------------
/*

	readyState  	le code d'état passe successivement de 0 à 4 qui signifie "prêt".
	status 	200 : ok
	404 : Page non trouvée
	responseText 	: contient les données chargées dans une chaîne de caractères.
	responseXml 	 : contient les données chargées sous forme xml, les méthodes de DOM servent à les extraire.
	onreadystatechange 	: propriété activée par un évènement de changement d'état. On lui assigne une fonction.

*/
function creationXHR(){
	var objRequete = null;
	try{
		//navigateur Internet: Firefox, opera...
		objRequete = new XMLHttpRequest();		
	}
	catch(Error){
		try{
			//Internet explorer>5.0
			objRequete = new ActiveXObject("Msxml2.XMLHTTP");			
		}
		catch(Error){
			try{
				//Explorer 5
				objRequete = new ActiveXObject("Microsoft.XMLHTTP");				
			}
			catch(Error){
				objRequete = null;
				alert("Javascript désactivé ou Navigateur trop ancien");
			}
		}
	}
	return objRequete;
}
//------------------------------------------------------
//				FIN MOTEUR AJAX
//------------------------------------------------------
function initGalerie(idgalerie,page,idimage){
	if (typeof(idgalerie)=='undefined') idgalerie = -1;
	if (typeof(page)=='undefined') page = 1;
	initMenu(idgalerie);	
	initTitre(idgalerie);
	initImages(idgalerie,page,idimage);
}
/*------------------------------------------------------
		    Mise à jour du menu à gauche
--------------------------------------------------------*/
function initMenu(idgal){
	//Création d'un objet requête
	XHR1 = creationXHR();
	//Envoie en POST Asynchrone les paramètres pour réactualiser la page
	XHR1.open("POST","chargeMenuGauche.php",true);
	XHR1.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//Désignation de la fonction de rappel
	XHR1.onreadystatechange = chargeMenuGauche;
	//Envoi de la requête
	XHR1.send("id="+idgal.toString());	
}
function chargeMenuGauche(){
	/*
	0: non initialisé.
	1: connexion établie.
	2: requête reçue.
	3: réponse en cours.
	4: terminé. 
	*/
	//La page n'est actualisée que si l'attribut readyState est à 4 
	if(XHR1.readyState == 4){
		if(XHR1.status==200){
			//Récupération des paramètres passés en POST
			var POST_parametres = XHR1.responseText;
			//Affecte l'information à la Zone d'id resultat
			document.getElementById("menugalerie").innerHTML = POST_parametres ;	   
			XHR1.abort();
			XHR1=null;
		}else{
			XHR1.abort();
			XHR1=null;
		}
	}	
}
/*------------------------------------------------------
		    Mise à jour du titre en haut
--------------------------------------------------------*/
function initTitre(idgal){
	//Création d'un objet requête
	XHR2 = creationXHR();
	//Envoie en POST Asynchrone les paramètres pour réactualiser la page
	XHR2.open("POST","chargeTitre.php",true);
	XHR2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//Désignation de la fonction de rappel
	XHR2.onreadystatechange = chargeTitre;
	//Envoi de la requête
	XHR2.send("id="+idgal.toString());	
		
}
function chargeTitre(){
	/*
	0: non initialisé.
	1: connexion établie.
	2: requête reçue.
	3: réponse en cours.
	4: terminé. 
	*/
	//La page n'est actualisée que si l'attribut readyState est à 4 
	if(XHR2.readyState == 4){
		if(XHR2.status==200){
			//Récupération des paramètres passés en POST
			var POST_parametres = XHR2.responseText;
			//Affecte l'information à la Zone d'id resultat
			document.getElementById("titregalerie").innerHTML = POST_parametres ;
			XHR2.abort();
			XHR2=null;
		}else{
			XHR2.abort();
			XHR2=null;
		}
	}	
}
/*------------------------------------------------------
		    Chargement des images
--------------------------------------------------------*/
function initImages(idgal,idpage,idimage){
	if (typeof(idimage)=='undefined') idimage = 1;
	//Création d'un objet requête
	XHR3 = creationXHR();
	//Envoie en POST Asynchrone les paramètres pour réactualiser la page
	XHR3.open("POST","majImagePrincipale.php",true);
	XHR3.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//Désignation de la fonction de rappel
	XHR3.onreadystatechange = chargeImagePrincipale;
	//Envoi de la requête
	XHR3.send("id="+idgal.toString()+"&img="+idimage.toString());	
	//-->Mise à jour ds vignettes
	//Vignettes
	XHR4 = creationXHR();
	//Envoie en POST Asynchrone les paramètres pour réactualiser la page
	XHR4.open("POST","majVignettes.php",true);
	XHR4.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//Désignation de la fonction de rappel
	XHR4.onreadystatechange = chargeVignettes;
	//Envoi de la requête
	XHR4.send("id="+idgal.toString()+"&page="+idpage.toString());	
		
}
function chargeImagePrincipale(){
	/*
	0: non initialisé.
	1: connexion établie.
	2: requête reçue.
	3: réponse en cours.
	4: terminé. 
	*/
	//La page n'est actualisée que si l'attribut readyState est à 4 
	if(XHR3.readyState == 4){
		if(XHR3.status==200){
			//Récupération des paramètres passés en POST
			var POST_parametres = XHR3.responseText;
			//Affecte l'information à la Zone d'id resultat
			document.getElementById("imgprincipale").innerHTML = POST_parametres ;
			XHR3.abort();
			XHR3=null;
		}else{
			XHR3.abort();
			XHR3=null;
		}
	}	
}
function chargeVignettes(){
	/*
	0: non initialisé.
	1: connexion établie.
	2: requête reçue.
	3: réponse en cours.
	4: terminé. 
	*/
	//La page n'est actualisée que si l'attribut readyState est à 4 
	if(XHR4.readyState == 4){
		if(XHR4.status==200){
			//Récupération des paramètres passés en POST
			var POST_parametres = XHR4.responseText;
			//Affecte l'information à la Zone d'id resultat
			document.getElementById("vignettes").innerHTML = POST_parametres ;
			XHR4.abort();
			XHR4=null;
		}else{
			XHR4.abort();
			XHR4=null;
		}
	}	
}




