// Droppable: la zone panier accepte les drags de 'article-boutique'
Droppables.add('zone-panier', 
{ 
	accept: 'article-boutique',
	hoverclass: 'audessus',
	onDrop: ajouteAuPanierGlisser
});

// Fonction appelée lors du glisser-déplacé de l'article
function ajouteAuPanierGlisser(draggable, droppable, event)
{
	new Ajax.Updater('zone-panier', 'serveur-boutique.php', 
	{
		method: 'post',
		asynchronous: true, 
		evalScripts: true, 
		parameters: { action: 'ajoute', nb: encodeURIComponent('1'), id: encodeURIComponent(draggable.id), type: 'mini' }
	});
}
// Fonction appelée par le bouton formulaire de l'article
function ajouteAuPanier(nombre, articleId, type)
{
	new Ajax.Updater('zone-panier', 'serveur-boutique.php', 
	{
		method: 'post',
		asynchronous: true, 
		evalScripts: true, 
		onComplete: function(request) { Element.hide('indicator') }, 
		onLoading: function(request) { Element.show('indicator') }, 
		parameters: { action: 'ajoute', nb: parseInt(nombre), id: encodeURIComponent(articleId), type: type }
	});
}


// Fonction appelée par le bouton - de l'article dans le panier
function enleveDuPanierNombre(nombre, articleId, type)
{
	new Ajax.Updater('zone-panier', 'serveur-boutique.php', 
	{
		method: 'post',
		asynchronous: true, 
		evalScripts: true, 
		onComplete: function(request) { Element.hide('indicator') }, 
		onLoading: function(request) { Element.show('indicator') }, 
		parameters: { action: 'supprime', nb: parseInt(nombre), id: encodeURIComponent(articleId), type: type }
	});
}

// Fonction appelée par le bouton poubelle de l'article dans le panier -> tout l'article est supprimé
function enleveDuPanierLigne(articleId, type)
{
	new Ajax.Updater('zone-panier', 'serveur-boutique.php', 
	{
		method: 'post',
		asynchronous: true, 
		evalScripts: true, 
		onComplete: function(request) { Element.hide('indicator') }, 
		onLoading: function(request) { Element.show('indicator') }, 
		parameters: { action: 'supprime', id: encodeURIComponent(articleId), type: type }
	});
}

// Fonction appelée par le bouton Vider  -> tout le panier est supprimé
function videPanier(type)
{	
	new Ajax.Updater('zone-panier', 'serveur-boutique.php', 
	{
		method: 'post',
		asynchronous: true, 
		evalScripts: true, 
		onComplete: function(request) { Element.hide('indicator') }, 
		onLoading: function(request) { Element.show('indicator') }, 
		parameters: { action: 'supprime', type: type }
	});
}

// Fonction appelée lors du clic "Payer" par l'utilisateur
// Toutes les données sont enregistrées en BD
// Si tout se passe bien, il est redirigé vers le systeme de paiement Paypal
function enregistrePanier()
{
// TODO recuperer l'id de commande en echo cote serveur_boutique.php
// --> onSuccess: function(response) { response.responseText ... }
	new Ajax.Request('serveur-boutique.php', 
	{
		method: 'post',
		asynchronous: false, 
		onSuccess: function(response) { Element.hide('indicator'); $('custom-paypal').value = response.responseText; },
		//onComplete: function(response) { Element.hide('indicator'); }, 
		onLoading: function(request) { Element.show('indicator') }, 
		parameters: { action: 'enregistre' }
	});
	return true;
}
