function majPanier(responseText, responseXML) {
    if (!(navigator.userAgent.indexOf('MSIE') > 0 && navigator.userAgent.indexOf('Opera') == -1)) {
        if (null == responseXML) {
            return false;
        }
    }
    else {
        if (null == responseXML.documentElement) {
            return false;
        }
    }

    var prixTotal       = getNodeValue((responseXML.getElementsByTagName('Panier'))[0],'Total');
    var donneesProduits = getData(responseXML.documentElement.getElementsByTagName('Produit'));
    updateBasket(donneesProduits, prixTotal);

    montrePanier('panierOnContent1');
}


function getData(xml) {

    var elements = new Array('Id',
                             'Image',
                             'Erreur',
                             'Titre',
                             'Couleur',
                             'Taille',
                             'Quantite',
                             'Prix',
                             'LibellePatch',
                             'Patch',
                             'Total');

    for (var i=0; i < elements.length; i++) {
        elements[elements[i]] = new Array();
    }

    // On stocke les données XML dans le tableau 'elements'
    for(var i=0; i < xml.length; i++) {
        for(var j=0; j<elements.length; j++) {
            type = elements[j];
            elements[type][i] = getNodeValue(xml[i], type);

        }
    }

    return elements;
}


function getNodeValue(obj,tag) {
    if (obj.getElementsByTagName(tag)[0].firstChild)
         return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
     else
          return "";
}



//Javascript issu de panier.js.php - Modif BSI du 21/10/09
function loadAjax(reference) {
    var error = false;
	var error_message = '';
    var selectedTaille  = document.getElementById('currentSelectedIdTaille').value;
    var selectedTailleId = document.getElementById('currentSelectedIdQtyTaille').value;
	
	if (document.getElementById('liste')){// Vérification de l'existence de l'objet dans la fiche produit
		var plaqueFlocJou = document.getElementById('liste').options;
		var plj = document.getElementById('alphaFloc').value;
		var nplj = document.getElementById('numFloc').value;
		for (var n=1; n<plaqueFlocJou.length; n++){
			 var ligneplaqueFlocJou = plaqueFlocJou[n].value;
			 var ligneplaqueFlocJou_elt = ligneplaqueFlocJou.split("|");
			 var libelleNumeroNomFlocJou = ligneplaqueFlocJou_elt[4];
			 var libelleNumeroNomFlocJou_elt = libelleNumeroNomFlocJou.split(" - ");//N.B: les entréers doivent être notées ainsi: "2 - JOUEUR" et pas autrement...!!!
			 var libelleNomFlocJou = libelleNumeroNomFlocJou_elt[1];
			 var libelleNumeroFlocJou = libelleNumeroNomFlocJou_elt[0];
			 var plJou = plj.toUpperCase(); //Obligation de mettre en majuscule pour la comparaison de la valeur des objets
			 	 if ((plJou == libelleNomFlocJou)&&(nplj == libelleNumeroFlocJou)){//comparaison de la valeur des objets
			    	 document.getElementById('flocOui').checked='false';
				 	 document.getElementById('plaqueJoueur').checked='true';
					 resetAlphaFloc();
					 resetNumFloc();
				 	 plaqueFlocJou[n].selected= plaqueFlocJou[n].value; //Pousse le select flocage joueur à la bonne valeur
				 	 switchImage();
				 	 error = true;
				 	 error_message+= TEXT_FLOC_OFF+libelleNomFlocJou+' '+libelleNumeroFlocJou+'.\n'+TEXT_FLOC_OFF_PROP+'\n.';
				 }
				 if ((plJou == libelleNomFlocJou)&&(nplj != libelleNumeroFlocJou)){
					 if (confirm(TEXT_FLOC_OFF+libelleNomFlocJou+TEXT_FLOC_NUM_OFF+libelleNumeroFlocJou+'.\n'+TEXT_FLOC_OFF_CONFIRM+nplj+'.\n'+TEXT_FLOC_CHOIX)){
					 }
					 else{
						 resetAlphaFloc();
						 resetNumFloc();
						 document.getElementById('flocOui').checked='false';
				 		 document.getElementById('plaqueJoueur').checked='true';
				 		 plaqueFlocJou[n].selected= plaqueFlocJou[n].value;
				 	 	 switchImage();
						 return false;
					}
				 }
		}
	}
//Fin modif BSI du 21/10/09

//BSI 19/10/09 Test sur flocage joueur lors de l'ajout au panier
	if (document.getElementById('plaqueJoueur')) // Vérification de l'existance de l'objet dans la fiche produit
	{
		var radioJou = document.getElementById('plaqueJoueur').checked;
		var listJou = document.getElementById('liste').value;
		var listJou_elt = listJou.split("|");
		var listJouVal = listJou_elt[0];
		if((radioJou)&&(listJouVal==0)){
			error=true;
			error_message+= TEXT_ERROR_SELECT_FLOC_JOU+"\n";
			}
	}
// Fin BSI 19/10/09

    if (document.getElementById('flocOui')) // if exist
    {
        if (document.getElementById('flocOui').checked==true)
        {
            var maxwords  = document.getElementById('flocageMinWords').value;
            var maxdigits = document.getElementById('flocageMinDigits').value;
			//var maxwordsZero = document.getElementById('flocageMinWordsInit').value; //Mise en commentaire car non implémenté dans la fiche.tpl en prod - BSI 20100528
			//var maxdigitsZero = document.getElementById('flocageMinDigitsInit').value; //Mise en commentaire car non implémenté dans la fiche.tpl en prod - BSI 20100528
			var listeTaille = document.getElementById('listeTaille').value;

            var lettersfloc = document.getElementById('alphaFloc').value;

//Fonction équivalente au trim
            while (lettersfloc.substring(0,1) == ' ')
                lettersfloc = lettersfloc.substring(1, lettersfloc.length);

            while (lettersfloc.substring(lettersfloc.length-1,lettersfloc.length) == ' ')
                lettersfloc = lettersfloc.substring(0, lettersfloc.length-1);
//

            var alphaFloc = lettersfloc.length;

            var numFloc = document.getElementById('numFloc').value.length;
			
			//Modif BSI 29/10/2009 Génération message d'erreur si taille sélectionée
			if (listeTaille !=0){
				//Début BSI 16/10/09 - Si Floc perso sélectionné avec champs Nom et N° vides ou non saisis ==> Message d'erreur
				if(alphaFloc==0 && numFloc==0){
					error=true;
               		error_message+= TEXT_ERROR_MAX_LETTER + "0 " + TEXT_ERROR_ET + " " + maxwords + "\n";
					error_message+= TEXT_ERROR_MAX_DIGIT_NUMBER + maxdigits + "\n";
				}
				//Fin BSI 16/10/09
			
				//Début BSI 16/10/09 - Si Floc perso sélectionné avec champs Nom et N° non saisis ==> Message d'erreur
				if (lettersfloc=='Votre nom' || lettersfloc=='Your name' || lettersfloc=='Ihr Name' || lettersfloc=='Su nombre'){
					error=true;
                	error_message+= TEXT_ERROR_MAX_LETTER + "0 " + TEXT_ERROR_ET + " " + maxwords + "\n";
				}			
				//Fin BSI 16/10/09
			
            	// si la valeur maximum pour lettres est depassée
            	if (alphaFloc>maxwords)
            	{
                	error=true;
                	error_message+= TEXT_ERROR_MAX_LETTER + "0 " + TEXT_ERROR_ET + " " + maxwords + "\n";
            	}
           
            	if (numFloc>maxdigits)
            	{
                	error=true;
                	error_message+= TEXT_ERROR_MAX_DIGIT_NUMBER + maxdigits + "\n";
            	}
				//Début BSI 16/10/09 => S'il y a un nom mais pas de numéro 
				else if (alphaFloc!=0 && numFloc==0){
					error=true;
					error_message+= TEXT_ERROR_MAX_DIGIT_NUMBER + maxdigits + "\n";
				}
				//Fin BSI 16/10/09
			}
			//Fin modif BSI 29/10/2009 Génération message d'erreur si taille sélectionée
			
			//Ajout BSI 29/10/2009 Génération message d'erreur si taille non sélectionée
			if (listeTaille == 0){
				if(alphaFloc==0 && numFloc==0){
					error=true;
               		error_message+= TEXT_ERROR_MAX_LETTER + "0 " + TEXT_ERROR_ET + " " + maxwordsZero + "\n";
					error_message+= TEXT_ERROR_MAX_DIGIT_NUMBER + maxdigitsZero + "\n";
				}
				if (lettersfloc=='Votre nom' || lettersfloc=='Your name' || lettersfloc=='Ihr Name' || lettersfloc=='Su nombre'){
					error=true;
                	error_message+= TEXT_ERROR_MAX_LETTER + "0 " + TEXT_ERROR_ET + " " + maxwordsZero + "\n";
				}
				if (alphaFloc>maxwordsZero)
            	{
                	error=true;
                	error_message+= TEXT_ERROR_MAX_LETTER + "0 " + TEXT_ERROR_ET + " " + maxwordsZero + "\n";
            	}
           
            	if (numFloc>maxdigitsZero)
            	{
                	error=true;
                	error_message+= TEXT_ERROR_MAX_DIGIT_NUMBER + maxdigitsZero + "\n";
            	}
				else if (alphaFloc!=0 && numFloc==0){
					error=true;
					error_message+= TEXT_ERROR_MAX_DIGIT_NUMBER + maxdigitsZero + "\n";
				}
			}
			//Fin ajout BSI 29/10/2009 Génération message d'erreur si taille non sélectionée
        }
    }

    //modif par nakey
    if (selectedTaille=='' && selectedTailleId!='')
    {
        error=true;
        error_message+= TEXT_ERROR_SELECT_TAILLE +"\n";
    }
    else if (document.getElementById('cbo_quan').value < 1)
    {
        error=true;
        error_message+= TEXT_ERROR_SELECT_QTY +"\n";
    }

    if (error==false) // if exist
    {
        var idProduit = document.getElementById(reference).value;
		var quan = document.getElementById('cbo_quan').value;
		
        //getting the image
        var imageArticle;
        var SelectedIdentity;

        if (document.getElementById('selectedEntity')){
            SelectedIdentity = document.getElementById('selectedEntity').value;
        }
        if (document.getElementById('hiddenFicheImageSrc_'+SelectedIdentity)){
            imageArticle = document.getElementById('hiddenFicheImageSrc_'+SelectedIdentity).value;
        }


        if (!imageArticle){
            if(document.forms['frmFiche'].elements['DefaultImage']){
                imageArticle= document.forms['frmFiche'].elements['DefaultImage'].value;
            }
        }
        /////////////////// Patch  et joueurs ///////////////////////////
        //Reconnaitre les patches [id] qu'on va devoir ajouter
        var arrayPatches=new Array();
        var i=0;
        var prodPatches='';

	/////////////////////// Ajout BSI plaques joueurs 07/07/09 ///////////////////////////
		
	// Appel pour savoir si le choix de plaques était ouvert
	var plaque_test=document.getElementsByName('plaques[]');

	if (plaque_test.length != 0)
	{
	// Appel de recherche de la valeur sélectionnée
		var plaque=document.getElementById('liste').options[document.getElementById('liste').selectedIndex].value;
	// On récupère l'IDProduct qui est la première partie de la valeur sélectionnée
		var plaque_elt = plaque.split("|");

	// récupération de la valeur sauf si la valeur est 0 (libellé de la zone : valeur non significative)
		if (plaque_elt[0] != "0")
		{
			prodPatches=plaque_elt[0];
			i=i+1;
		}
	}

        var patches = document.getElementsByName('patch[]');

        for (var counter=0;counter<patches.length;counter++)
        {
            if (patches[counter].checked==true){
                arrayPatches[i]=(patches[counter].id);
                if (i==0){
                    prodPatches=patches[counter].id;
                }
                else{
                    prodPatches+="_"+patches[counter].id;
                }
                i=i+1;
            }
        }
        //si on ne peut plus ajouter
        if (document.getElementById('IsError_'+idProduit).value=='error')
        {
            prodPatches='';
        }

        //////////// Flocage ///////////////
        var floc="";
        var floc_concat="";
        if (document.getElementById('numFloc') && document.getElementById('alphaFloc')){
            floc =document.getElementById('alphaFloc').value.toUpperCase()+document.getElementById('numFloc').value;
            floc_concat =document.getElementById('alphaFloc').value.toUpperCase()+"_"+document.getElementById('numFloc').value;
        }


        // Arranger le URL afin de faire l'ajout panier
        var body = "products_id="+idProduit+"&quantity="+quan+"&prodPatches="+prodPatches+"&flocage="+floc+"&flocage_concat="+floc_concat+"&imagearticle="+imageArticle ;
        var url = '/getXML.php?action=add_product';
        var reqAjax  = new Ajax(url, {
                 method: 'post',
                 postBody: body,
                 onComplete: majPanier
             }).request();

    }
    else
    {
        alert(error_message);
    }
}

function updateBasket(donnees, prixTotal) {

    var panier  = '<div id="panierOnContent1"  class="CadreAjoutAchat">';
        panier += '<div id="TitreAjoutPanier">';
        panier += '<span class="titre">' + TEXT_AJOUT_ARTICLE + '</span>';
        panier += '</div>';

    var produits = "";

    var nbrArticles    = donnees['Titre'].length;
    var i              = donnees['Titre'].length-1;

    var imagepath      = donnees['Id'][i]+'/'+donnees['Image'][i];
    var taille         = donnees['Taille'][i];
    var affiche_taille = '';

    if (taille == '') {
        affiche_taille = '';
    }
    else {
        affiche_taille = TEXT_TAILLE2+SEPARATEUR + taille + '<br/>';
    }

    produits += '<div class="spacer20"></div>';
    if (donnees['LibellePatch'][i] != '') {
        var patches = donnees['LibellePatch'][i].split('|');

        produits += '<div class="nom_descri_produit">'+ donnees['Titre'][i];

        for (var z = 0; z < patches.length; z++) {
            produits += '<br />+ '+patches[z];
        }

        produits += '</div>';
    }
    else {
        produits += '<div class="nom_descri_produit">'+ donnees['Titre'][i] +'</div>';
    }
    produits += '<div class="media_panier" style="border:3px;"><img src="'+donnees['Image'][i].replace("900.jpg" , "100.jpg")+ '" alt="' + donnees['Titre'][i] + '" width="100" height="100" /></div>';

    if (donnees['Patch'][i] != '') {
        produits += '<div class="QTP">' + TEXT_QUANTITY2+SEPARATEUR+ donnees['Quantite'][i] + '<br> ' + affiche_taille + TEXT_PRIX +SEPARATEUR+'<span class="prixpanier">' + (donnees['Total'][i])+'</span><span class="mini">'+ TEXT_PATCH_INC+'</span></div>';
    }
    else {
        produits += '<div class="QTP">' + TEXT_QUANTITY2+SEPARATEUR+ donnees['Quantite'][i] + '<br> ' + affiche_taille + TEXT_PRIX +SEPARATEUR+'<span class="prixpanier">' + (donnees['Prix'][i]) +'</span></div>';
    }

    produits += '<div class="spacer"></div>';

    var id = donnees['Id'][i];

    if (donnees['Erreur'][i] != '') {
        document.getElementsByName('IsError_'+id).value = 'error';
    }
    else {
        document.getElementsByName('IsError_'+id).value = '';
    }

    panier += produits;

    /*panier += '<div id="panierOnTotal1">TOTAL : ' + prixTotal + '</div>'; */
    panier += '<br><div id="panierOnFermer1" class="BtnPanContinue"><a href="javascript:void(0);" onclick="masquePanier(\'panierOnContent1\');montreSelect();">' + TEXT_CONT_BUY + '</a></div>';
     //Test présence objet cart_currency BSI 20100528
   if(document.getElementById('cart_currency')){
   		panier += '<div id="panierAccesCommande1" class="BtnPanValider"><a href="/index.php?nv=shopping_cart&language=' + document.getElementById('code_langage').value + '&currency=' + document.getElementById('cart_currency').value + '">' + TEXT_VALID_PANIER + '</a></div>';
   }
   else
   {
		panier += '<div id="panierAccesCommande1" class="BtnPanValider"><a href="/index.php?nv=shopping_cart&language=' + document.getElementById('code_langage').value + '">' + TEXT_VALID_PANIER + '</a></div>';
   }
    panier += '</div>';

    // cache la boite selection afin qu'elle n'apparaisse pas à travers le panier
    cacheSelect();
    document.getElementById('panierOnContainer').innerHTML = panier;
    centrerDiv('panierOnContent1', '244', '300');
    document.getElementById('panierOnContainer').style.display = "block";

    if (document.getElementById('articlePanierLien')) {
        if (nbrArticles > 1) {
            document.getElementById('articlePanierLien').innerHTML = nbrArticles + '&nbsp;' + TEXT_ARTICLES;
        }
        else {
            document.getElementById('articlePanierLien').innerHTML = nbrArticles + '&nbsp;' + TEXT_ARTICLE;
        }
    }
}
