function AjouterProduitPanier(reference, libelle, quantite, e) 
{
	$('panierPopupProduit').innerHTML = libelle;
	PanierActions('ajouter', reference, quantite, e);
}

function SupprimerProduitPanier(reference)
{
	PanierActions('supprimer', reference, 0);
}

function ModifierProduitPanier(reference, quantite)
{
	PanierActions('modifier', reference, quantite);
}

function confirmeCookie()
{
	PanierActions('cookie','0',0);
}

function PanierActions(fonction,reference,quantite, e)
{
		if(fonction == 'ajouter')
			sourisxy(e);
		
		getXhr();
		//on définit l'appel de la fonction au retour serveur
		xhr.onreadystatechange = function() { handleHttpResponse(fonction); };
	
		xhr.open('POST','commons/panier/panier_action.php',true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	
		xhr.send('fonction=' + escape(fonction) + '&reference=' + escape(reference) + '&quantite=' + quantite);
}
////// DEBUT des fonctions de gestion de la confirmation d'ajout au panier d'un article //////
var x;
var y;
function panierPopUp(element, x, y, action) {
	var name = navigator.appName
	if(action == "show"){
		var height=document.getElementById(element).style.height;
		var aHeight = parseInt(height.substr(0, height.length-2));
		var width=document.getElementById(element).style.width;
		var aWidth = parseInt(width.substr(0, width.length-2));
		var sTop=document.documentElement.scrollTop;
		var sLeft=document.documentElement.scrollLeft;
		if (name != "Microsoft Internet Explorer") {
			var posY=(y)-(aHeight + (aHeight/7));
			var posX=(x)-(aWidth - (aWidth/3));
		}
		else {
			var posY=((y)-(aHeight + (aHeight/7))) + sTop;
			var posX=(x)-(aWidth - (aWidth/3)) + sLeft;
		}
		document.getElementById(element).style.top=posY+"px";
		document.getElementById(element).style.left=posX+"px";
		
		$('panierPopUp').style.display = '';
		//Effect.Appear('panierPopUp');
	}
	else if(action =="close"){
		$('panierPopUp').style.display = 'none';
		//Effect.Fade('panierPopUp');
	}
}

function sourisxy(e)
  {
  x = (navigator.appName=="Netscape") ? e.pageX : event.x + document.body.scrollLeft;
  y = (navigator.appName=="Netscape") ? e.pageY : event.y + document.body.scrollTop;
	
	if(navigator.appName.substring(0,3) == "Net")
	document.captureEvents(Event.mousemove);
	
}
////// FIN des fonctions de gestion de la confirmation d'ajout au panier d'un article //////
function handleHttpResponse(fonction, e) 
{
	
	if(xhr.readyState == 4) 
    {
		
		var docXML = clean(xhr.responseXML);
		
		var nbTotal= docXML.getElementsByTagName("nbTotal")[0].firstChild.nodeValue;
		var prixTotal= docXML.getElementsByTagName("TOTAL")[0].firstChild.nodeValue;
		
		//alert(nbTotal + ' - ' + prixTotal);
		
		RemoveChildNodes(document.getElementById('nbArticlesPanierTop')).appendChild(document.createTextNode(nbTotal));
		RemoveChildNodes(document.getElementById('totalPanierTop')).appendChild(document.createTextNode(prixTotal));
		
		if(fonction == 'ajouter')
			panierPopUp("panierPopUp", x, y, "show");
		else
			UpdateProduitsRecap(docXML.getElementsByTagName("produit"));
		
		
		if(docXML.getElementsByTagName("errCP")[0] != null && document.getElementById('CPMessage') != null) {
		
			document.getElementById('CPMessage').innerHTML = 'Code promo inconnu ou invalide.'
			document.getElementById('CPMessage').className = 'sacValidationColH';
		}
		
		if(docXML.getElementsByTagName("messCP")[0] != null && document.getElementById('CPMessage') != null) {
		
			document.getElementById('CPMessage').innerHTML = docXML.getElementsByTagName("messCP")[0].firstChild.nodeValue;
			document.getElementById('CPMessage').className = '';
		}
			
		/*
		else if(fonction == 'modifier') {
			//alert('Ce produit a été modifié !');
			UpdateProduitsRecap(docXML.getElementsByTagName("produit"))
		}
		else if(fonction == 'supprimer') {
			//alert('Ce produit a été supprimé !');
			UpdateProduitsRecap(docXML.getElementsByTagName("produit"))
		}
		*/
		
		if(document.getElementById('totalPanierRecap') != null)
			RemoveChildNodes(document.getElementById('totalPanierRecap')).appendChild(document.createTextNode(prixTotal));
			
		//var taille= docXML.getElementsByTagName("taille")[0].firstChild.nodeValue;
		//var produits= docXML.getElementsByTagName("produits");
		//var produit= produits.item(0).getElementsByTagName("produit");
		
	}
}

function SetCodePromo(code) {
	
	getXhr();

	//on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { 
	
		handleHttpResponse('addcodepromo');
	
	};

	xhr.open('POST','commons/panier/panier_action.php',true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	
	xhr.send('fonction=addcodepromo&reference=' + escape(code));
	
}

function UpdateProduitsRecap(produits) {
	
	for(var i = 0; i < produits.length; i++) {
		
		var idproduit = produits[i].childNodes[0].firstChild.nodeValue;
		var prixTotal = produits[i].childNodes[4].firstChild.nodeValue;
		
		if(document.getElementById('totalProduitRecap_' + idproduit) != null)
			RemoveChildNodes(document.getElementById('totalProduitRecap_' + idproduit)).appendChild(document.createTextNode(prixTotal));
	}
}