
function appel_ajax(id_pneu, quantite, prix_unitaire, prix_montage, montage, page, remise)
{
    var xhr=null;
        
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on definit l'appel de la fonction au retour serveur
    if (page == 'resultat.php')
       xhr.onreadystatechange = function() { retour_valeur(xhr, id_pneu); 
       };
    if (page == 'panier.php')
    	xhr.onreadystatechange = function() { retour_valeur2(xhr, id_pneu);	
       };
    
    //on appelle le fichier reponse.txt
    xhr.open("GET", "../../construction_panier.php?id_pneu=" + id_pneu + "&quantite=" + quantite + "&prix_unitaire=" + prix_unitaire + "&prix_montage=" + prix_montage + "&montage=" + montage + "&page=" + page + "&remise=" + remise, true);
    xhr.send(null);
}

function retour_valeur(xhr, id_pneu)
{
	var docXML= xhr.responseXML;
	var items = docXML.getElementsByTagName("donnee"); 
	
	var nbre = items.item(6).firstChild.data;
	
    document.getElementById(id_pneu).innerHTML = items.item(0).firstChild.data;    
    document.getElementById('taille_panier').innerHTML = items.item(1).firstChild.data;
    document.getElementById('taille_panier2').innerHTML = items.item(2).firstChild.data + ' ('  + nbre + ')';
    document.getElementById('taille_panier').style.color="red";
    document.getElementById('taille_panier2').style.color="red";
    
}

function retour_valeur2(xhr, id_pneu)
{
	var docXML= xhr.responseXML;
	var items = docXML.getElementsByTagName("donnee"); 
    //document.getElementById('taille_panier').innerHTML = items.item(1).firstChild.data;
    //document.getElementById('taille_panier2').innerHTML = items.item(2).firstChild.data;
    document.getElementById(id_pneu * 10).innerHTML = items.item(3).firstChild.data;
    document.getElementById(id_pneu * 100).innerHTML = items.item(4).firstChild.data;
    document.getElementById('prix_fin').innerHTML = items.item(5).firstChild.data;
    
  
}

/* ######################################################### */
/* ### F O N C T I O N S   A J A X   G E N E R I Q U E S ### */
/* ######################################################### */

//Instanciation de l'objet XMLHttpRequest en fonction du navigateur
function getXMLHttpRequest (){
	var xhr = null;
	if(window.XMLHttpRequest || window.ActiveXObject){
		if(window.ActiveXObject){
			try{
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e){
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest();
		}
	} else {
		alert ("Votre navigateur ne supporte pas l'objet XMLHttpRequest...");
		return (null);
	}
	return (xhr);
}

// Requête AJAX.
// p_methode	:	"GET" || "POST".
// p_page		:	Nom de la page de traitement PHP.
// p_data		:	Données à transmettre.
// p_callback	:	Fonction JS de callback.
function request (p_methode, p_page, p_data, p_callback){
	var xhr = getXMLHttpRequest();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)){
			p_callback(xhr.responseText);
		}
	}
	if (p_methode == "GET" && p_data != null){
		p_page += encodeURIComponent("?"+p_data);
		p_data = null;
	}
	xhr.open(p_methode, p_page, true);
	if (p_methode == "POST"){
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	}
	xhr.send(p_data);
}

function afficher_moteur_reservation (p_data) {
	document.getElementById("corps_moteur").innerHTML = p_data;
}

function afficher_resultat_recherche_pneus (p_data) {
	document.getElementById("resultat").innerHTML = p_data;
}

function afficher_panier (p_data) {
	document.getElementById("resultat").innerHTML = p_data;
}

// N'appeler qu'après une suppression d'un article du panier
function actualiser_panier (p_data) {
	document.getElementById("resultat").innerHTML = p_data;
	
	n = document.getElementById("nombre_articles").innerHTML;
	
	if(n>0){n--}
	if(n>1){
		a = 'articles';
	} else {
		a = 'article';
	}
	document.getElementById("nombre_articles").innerHTML = n;
	document.getElementById("articles_articles").innerHTML = a;
}

function afficher_confirmation (p_data) {
	if (p_data.substr(0,2) == '0|' || p_data.substr(0,2) == '1|'){
		var tmp = p_data.split("|");
		if (tmp.length == 2){
			document.getElementById("resultat").innerHTML = tmp[1]; // tmp[1] texte à retourner
		} else { // Gestion de l'éventuelle présence d'un autre pipe dans p_data, cf. p_data.split("|"). Normalement, il ne devrait y en avoir qu'un.
			var alt = new Array(); 
			for (i=1; i<tmp.length; i++){
				alt.push(tmp[i]);   
			}
			document.getElementById("resultat").innerHTML = join("");
		}
		if (tmp[0] == 1) { // Flag indiquant qu'il faut remettre le panier à "0 article"
			document.getElementById("nombre_articles").innerHTML = 0;
			document.getElementById("articles_articles").innerHTML = 'article';
		}
	} else {
		document.getElementById("resultat").innerHTML = p_data;
	}
}

function afficher_prix (p_data) {
	var tmp = p_data.split("|");
	if (tmp.length == 2) {
		document.getElementById(tmp[1]).innerHTML = tmp[0];
	}
}
