var Request_Ajout_Produit = null;
var Request_Ajout_Produits_Panier = null;
var Request_Delete_Produit = null;
var Langage = null;

//Coche tous les produits de la liste d'achat rapide
function check_all_produits_achat_rapide() {
	var x=document.getElementsByTagName("input");
	for (i=0; i<x.length; i++) {
		if (x[i].type == "Checkbox"||x[i].type == "checkbox") {
			x[i].checked = true;
		};
	};
};

//Décoche tous les produits de la liste d'achat rapide
function uncheck_all_produits_achat_rapide() {
	var x=document.getElementsByTagName("input");
	for (i=0; i<x.length; i++) {
		if (x[i].type == "Checkbox"||x[i].type == "checkbox") {
			x[i].checked = false;
		};
	};
};

//Création de la requête 
function Ajout_Produit_Liste_Utilisateur(langue,no_produit,description_fr,description_en,option1_choisi,option2_choisi,option3_choisi,option4_choisi,option5_choisi,option6_choisi,option7_choisi,option8_choisi,qte_commandee){
	
	//Déclaration des variables
	Langage = langue;
	
	//Création de l'objet request
	if (Request_Ajout_Produit == null) {
		Request_Ajout_Produit = Create_Request();
	};
	
	//Si la création a réussie
	if (Request_Ajout_Produit != null) {
		
		if (option1_choisi==null) {
			option1_choisi='';
		};
		if (option2_choisi==null) {
			option2_choisi='';
		};
		if (option3_choisi==null) {
			option3_choisi='';
		};
		if (option4_choisi==null) {
			option4_choisi='';
		};
		if (option5_choisi==null) {
			option5_choisi='';
		};
		if (option6_choisi==null) {
			option6_choisi='';
		};
		if (option7_choisi==null) {
			option7_choisi='';
		};
		if (option8_choisi==null) {
			option8_choisi='';
		};
		if (qte_commandee==null) {
			qte_commandee=1;
		};
		
		//Batit l'url et envoi la requête
		var url = "/utilisateurs_files/includes/scripts/ajout_produit.php";
		Request_Ajout_Produit.open("POST", url, true);
		Request_Ajout_Produit.onreadystatechange = Reponse_Ajout_Produit_Liste_Utilisateur;
		Request_Ajout_Produit.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		Request_Ajout_Produit.send("langue="+Langage+"&no_produit="+no_produit+"&description_fr="+escape(description_fr)+"&description_en="+escape(description_en)+"&option1_choisi="+escape(option1_choisi)+"&option2_choisi="+escape(option2_choisi)+"&option3_choisi="+escape(option3_choisi)+"&option4_choisi="+escape(option4_choisi)+"&option5_choisi="+escape(option5_choisi)+"&option6_choisi="+escape(option6_choisi)+"&option7_choisi="+escape(option7_choisi)+"&option8_choisi="+escape(option8_choisi)+"&qte_commandee="+escape(qte_commandee));
	} else {
		if (Langage=="en") {
			Erreur = "Impossible to add product. Error while creating the request object";
		} else {
			Erreur = "Impossible d'ajouter le produit. Une erreur est survenue lors de la création de l'objet 'Request'.";
		};
		Affiche_Erreur(Erreur);
	};
};

//Traiment de la réponse
function Reponse_Ajout_Produit_Liste_Utilisateur() {
	//Valide le state
	if (Request_Ajout_Produit.readyState==4) {	
		
		//Valide le status
		if (Request_Ajout_Produit.status==200) {
			//Récupère l'info
			Produit = Request_Ajout_Produit.responseText;
			if (Langage=="en") {
				Confirmation = "The product \""+Produit+"\" was added to your shopping list.";
			} else {
				Confirmation = "Le produit \""+Produit+"\" a été ajouté à votre liste d'achat rapide.";
			};
			Affiche_Confirmation(Confirmation);
		} else {
			//Message d'erreur
			Erreur = Request_Ajout_Produit.getResponseHeader("Status");
			if (Erreur.length == null || Erreur.length <=0 ) {
				if (Langage=="en") {
					Erreur = "Error request status is " + Request_Ajout_Produit.status;
				} else {
					Erreur = "Erreur lors de la requête. Le statut de la requête est " + Request_Ajout_Produit.status;
				};
				Affiche_Erreur(Erreur);
			} else {
				Affiche_Erreur(Erreur);
			};
		};//Fin validation du statut
		
	};
};

//Création de la requête 
function Supprime_Produit_Liste_Utilisateur(langue,no_item,no_produit){
	
	//Déclaration des variables
	Langage = langue;
	
	//Création de l'objet request
	if (Request_Delete_Produit == null) {
		Request_Delete_Produit = Create_Request();
	};
	
	//Si la création a réussie
	if (Request_Delete_Produit != null) {
		//Batit l'url et envoi la requête
		var url = "/utilisateurs_files/includes/scripts/delete_produit.php?no_liste_item="+escape(no_item)+"&no_produit="+escape(no_produit)+"&langue="+escape(Langage);
		Request_Delete_Produit.open("GET", url, true);
		Request_Delete_Produit.onreadystatechange = Efface_Ligne_Produit_Liste_Utilisateur;
		Request_Delete_Produit.send(null);
	} else {
		if (Langage=="en") {
			Erreur = "Impossible to delete the product. Error while creating the request object";
		} else {
			Erreur = "Impossible de supprimer le produit. Une erreur est survenue lors de la création de l'objet 'Request'.";
		};
		Affiche_Erreur(Erreur);
	};
};

//Efface la ligne 
function Efface_Ligne_Produit_Liste_Utilisateur () {
	//Valide le state
	if (Request_Delete_Produit.readyState==4) {	
		
		//Valide le status
		if (Request_Delete_Produit.status==200) {
			//Récupère l'info
			no_item = Request_Delete_Produit.responseText;
			
			//Efface la ligne
			Ligne = document.getElementById('liste_item_'+no_item);
			if (Ligne != null) 
				Ligne.parentNode.removeChild(Ligne);
			
			//Efface la ligne séparatrice
			Ligne = document.getElementById('liste_item_sep_'+no_item);
			if (Ligne != null) 
				Ligne.parentNode.removeChild(Ligne);
			
			if (Langage=="en") {
				Confirmation = "The product was deleted from your shopping list.";
			} else {
				Confirmation = "Le produit a été supprimé de votre liste d'achat rapide.";
			};
			Affiche_Confirmation(Confirmation);
		} else {
			//Message d'erreur
			Erreur = Request_Delete_Produit.getResponseHeader("Status");
			if (Erreur.length == null || Erreur.length <=0 ) {
				if (Langage=="en") {
					Erreur = "Error request status is " + Request_Delete_Produit.status;
				} else {
					Erreur = "Erreur lors de la requête. Le statut de la requête est " + Request_Delete_Produit.status;
				};
				Affiche_Erreur(Erreur);
			} else {
				Affiche_Erreur(Erreur);
			};
		};//Fin validation du statut
		
	};
};

function Ajout_Produits_Panier_Liste_Utilisateur(langue,formulaire) {
	
	//Déclaration des variables
	Langage = langue;
	var produits = new Array();
	
	for (i=0; i<formulaire.elements.length-2; i++) {
		if (formulaire.elements[i].name.indexOf("item_")>=0) {
			//Trouve l'item demandé
			no_item = formulaire.elements[i].name.substring(formulaire.elements[i].name.lastIndexOf("_")+1);
			
			//Trouve les éléments de l'item
			no_produit = eval('formulaire.no_produit_'+no_item+'.value');
			qte_commandee = formulaire.elements[i].value;
			description_fr = eval('formulaire.description_'+no_item+'.value');
			description_en = eval('formulaire.description_'+no_item+'.value');
			for (j=1; j<=8; j++) {
				if (document.getElementById(no_item+'_option'+j+'_choisi') != null) {
					eval('option'+j+'_choisi=document.getElementById("'+no_item+'_option'+j+'_choisi").value')
				} else {
					eval('option'+j+'_choisi=""');
				};
			};
			//Insère les valeurs du produit dans un tableau
			produits[i] = new Array(no_produit, description_fr, description_en, option1_choisi, option2_choisi, option3_choisi, option4_choisi, option5_choisi, option6_choisi, option7_choisi, option8_choisi, qte_commandee);
			//Converti le tableau js en php
			produits[i] = js_array_to_php_array(produits[i]);
		};
	};
	
	//Création de l'objet request
	if (Request_Ajout_Produits_Panier == null) {
		Request_Ajout_Produits_Panier = Create_Request();
	};
	
	if (Request_Ajout_Produits_Panier != null) {
		//Converti le tableau js en php
		produits = js_array_to_php_array(produits);
		//Batit l'url et envoi la requête
		var url = "/utilisateurs_files/includes/scripts/ajout_produits_panier.php";
		Request_Ajout_Produits_Panier.open("POST", url, true);
		Request_Ajout_Produits_Panier.onreadystatechange = Reponse_Ajout_Produits_Panier_Liste_Utilisateur;
		Request_Ajout_Produits_Panier.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		Request_Ajout_Produits_Panier.send("langue="+Langage+"&produits="+escape(produits));
	} else {
		if (Langage=="en") {
			Erreur = "Impossible to add product. Error while creating the request object";
		} else {
			Erreur = "Impossible d'ajouter le produit. Une erreur est survenue lors de la création de l'objet 'Request'.";
		};
		Affiche_Erreur(Erreur);
	};
};

//Traiment de la réponse
function Reponse_Ajout_Produits_Panier_Liste_Utilisateur() {
	//Valide le state
	if (Request_Ajout_Produits_Panier.readyState==4) {	
		
		//Valide le status
		if (Request_Ajout_Produits_Panier.status==200) {
			//Affiche la confirmation
			if (Langage=="en") {
				Confirmation = "The products in your cart were added to your shopping list.";
			} else {
				Confirmation = "Les produits de votre panier ont été ajoutés à votre liste d'achat rapide.";
			};
			Affiche_Confirmation(Confirmation);
		} else {
			//Message d'erreur
			Erreur = Request_Ajout_Produits_Panier.getResponseHeader("Status");
			if (Erreur.length == null || Erreur.length <=0 ) {
				if (Langage=="en") {
					Erreur = "Error request status is " + Request_Ajout_Produits_Panier.status;
				} else {
					Erreur = "Erreur lors de la requête. Le statut de la requête est " + Request_Ajout_Produits_Panier.status;
				};
				Affiche_Erreur(Erreur);
			} else {
				Affiche_Erreur(Erreur);
			};
		};//Fin validation du statut
		
	};
};

