//------------------------------------------------------------------------------------//
// PROGRAMME : ajout_panier.js
// DEscriptION : Ajout des produits dans le panier
// HISTORIQUE DES VERSIONS : 
// V1.0 - 21/07/2008 - Maël - Création du programme
//------------------------------------------------------------------------------------//

//
// Ajout "standard" depuis une liste de résultat ou une fiche produit 
//
function createRequestObject(){
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		ro = new XMLHttpRequest();
	}
	return ro;
}
	
function ajout_panier_ajax(e,requete,nom_form){
	nom_formulaire = nom_form;
	http = createRequestObject();
	if(http.readyState == 4 || http.readyState == 0){
		http.open('GET',requete,true);
		http.onreadystatechange = handleResponse;
		http.send(null);
	}
}

function handleResponse(){
	var nom_form = nom_formulaire;
	if(http.readyState == 4){
		var response = http.responseText;
		if(response != ""){
			//alert(response);
			//on remet le formulaire à zéro après la mise à jour du panier
			var node_list = document.forms[nom_form].getElementsByTagName('input');
			for (var i = 0; i < node_list.length; i++) {
				var node = node_list[i];
				if (node.getAttribute('type') == 'text') {
					node.value = '';
				}
			}
			var liste = 'Les références suivantes ont été ajoutées à votre panier : <br /><br />';
			var param = new Array();
			param = response.split('|');
			var nb_param = param.length;
			for(i=0;i<nb_param-3; i++){
				if ((i%3) == 0){
					var nom_qte_tr = 'qte_tr_'+param[i];
					var nom_div_stock = 'stock_'+param[i];
					document.getElementById(nom_qte_tr).value = parseInt(param[i+2]-param[i+1]);
					var dispo = parseInt(param[i+2]-param[i+1]);
					//on ne fait plus de contrôle sur les stocks ==> l'affichage ne varie plus
					//document.getElementById(nom_div_stock).innerHTML = "stock : "+dispo;
					liste += '<strong>référence : </strong> '+param[i]+' <strong><br />quantité ajoutée : </strong>'+param[i+1]+'<hr noshade style="border-top: 1px dashed black;">';
				}
			}
			document.getElementById('liste_ajout').innerHTML = '<div id="ajoutees"><table style="width:100%;"><tr><td><img src="images/info.jpg" /></td><td><br />'+liste+'</td></tr></table><br /></div>';
			document.getElementById('div_contenu_panier').innerHTML = param[nb_param-3];
			document.getElementById('nb_prod').innerHTML = '('+param[nb_param-2]+' ref.)';
			document.getElementById('tot_panier').innerHTML = param[nb_param-1]+' &euro;';
			affiche_div('ajout_au_panier');
		}
	}
}

//
// Ajout de produits par l'intermédiaire du formulaire de commande rapide
//
function ajout_commande_rapide(e,requete,nom_form){
	nom_formulaire = nom_form;
	http = createRequestObject();
	if(http.readyState == 4 || http.readyState == 0){
		http.open('GET',requete,true);
		http.onreadystatechange = handleResponse_commande_rapide;
		http.send(null);
	}
}

function handleResponse_commande_rapide(){
	var nom_form = nom_formulaire;
	if(http.readyState == 4){
		var response = http.responseText;
		if(response != ""){
			//alert(response);
			//on remet le formulaire à zéro après la mise à jour du panier
			var node_list = document.forms[nom_form].getElementsByTagName('input');
			for (var i = 0; i < node_list.length; i++) {
				var node = node_list[i];
				if (node.getAttribute('type') == 'text') {
					node.value = '';
				}
			}
			var liste = 'Les références suivantes ont été ajoutées à votre panier : <br /><br />';
			var liste_ignore = 'Les références suivantes n\'existent pas et n\'ont pas été ajoutées à votre panier : <br /><br />';
			var aucun_ajout = 1;
			var erreur_ajout = 0;
			var param = new Array();
			param = response.split('|');
			var nb_param = param.length;
			for(i=0;i<nb_param-3; i++){
				if ((i%2) == 0 && param[i+1] != -1){
					aucun_ajout = 0;
					liste += '<strong>référence : </strong> '+param[i]+' <strong><br />quantité ajoutée : </strong>'+param[i+1]+'<hr noshade style="border-top: 1px dashed black;">';
				}
				if ((i%2) == 0 && param[i+1] == -1){
					erreur_ajout = 1;
					liste_ignore += '<strong>référence : </strong> '+param[i]+'<br /><hr noshade style="border-top: 1px dashed black;">';
				}
			}
			
			if (erreur_ajout == 1 && aucun_ajout == 0){
				document.getElementById('liste_ajout').innerHTML = '<div id="ajoutees"><table style="width:100%;"><tr><td><img src="images/info.jpg" /></td><td><br />'+liste+'</td></tr></table><br /></div><br /><br /><div id="non_ajoutees"><table style="width:100%;"><tr><td><img src="images/attention.jpg" /></td><td><div style="padding-left:10px;"><div style="color:#FF0000;font-weight:bold;">Attention !</div>'+liste_ignore+'</div></td></tr></table></div>';
			} else if (erreur_ajout == 1 && aucun_ajout == 1) {
				document.getElementById('liste_ajout').innerHTML = '<div id="ajoutees"><table style="width:100%;"><tr><td><img src="images/info.jpg" /></td><td><br />Aucune référence n\'a été ajoutée</td></tr></table></div><br /><br /><div id="non_ajoutees"><table style="width:100%;"><tr><td><img src="images/attention.jpg" /></td><td><div style="padding-left:10px;"><div style="color:#FF0000;font-weight:bold;">Attention !</div>'+liste_ignore+'</div></td></tr></table></div>';
			} else {
				document.getElementById('liste_ajout').innerHTML = '<div id="ajoutees"><table style="width:100%;"><tr><td><img src="images/info.jpg" /></td><td><br />'+liste+'</td></tr></table><br /></div>';
			}
			document.getElementById('div_contenu_panier').innerHTML = param[nb_param-3];
			document.getElementById('nb_prod').innerHTML = '('+param[nb_param-2]+' ref.)';
			document.getElementById('tot_panier').innerHTML = param[nb_param-1]+' &euro;';
			affiche_div('ajout_au_panier');
		}
	}
}