
//permet de tester la page de chez des delais de livraison
//et du mode de paiement avant d'arriver sur la page de paiement
function validLiv(lang,url)
{
	//si la langue n'est pas passée on la met à fr par defaut
	if (!lang)
	lang = "fr";
	
	if(document.formu.form_change.value=='pasok')	//si les frais de port n ont pas ete recalculés
	{
		if (lang == "fr")
			alert('Vous devez recalculer les frais de port avant de passer à l\'étape suivante.');
		else
			alert('You have to recompute the carriage costs before passing to the following stage.');
	}
	else
	{
		//on test s il a coché au moins un moyen de paiement
		var ok = false;
		
		if(document.getElementById("cond").checked == true)
		{
			document.formu.action=url;
			document.formu.submit();
			//window.location.href=url;
		}
		else
		{
			if (lang == "fr")
				alert("Vous devez lire et accepter les Conditions générales de vente pour poursuivre.");
			else
				alert("You have to read and accept the General conditions of sale to continue.");
		}
	}
}

//permet de tester la page de chez des delais de livraison
//et du mode de paiement avant d'arriver sur la page de paiement
function validLivPanierExpress(lang,url)
{
	//si la langue n'est pas passée on la met à fr par defaut
	if (!lang)
	   lang = "fr";
	
	if(document.formu.form_change.value=='pasok')	//si les frais de port n ont pas ete recalculés
	{
		if (lang == "fr")
			alert('Vous devez recalculer les frais de port avant de passer à l\'étape suivante.');
		else
			alert('You have to recompute the carriage costs before passing to the following stage.');
	}
	else
	{
		//on test s il a coché au moins un moyen de paiement
		var ok = false;
		 
		if($('id_expediteur').value==''){
        if (lang == "fr")
				alert("Vous devez valider votre adresse expéditeur.");
			else
				alert("You must confirm your sender address.");
    }else if($('id_destinataire').value==''){
        if (lang == "fr")
				  alert("Vous devez valider l'adresse du destinataire.");
			  else
				  alert("You must validate the recipient address..");
    }else if(document.getElementById("cond").checked)
		{
			document.formu.action=url;
			document.formu.submit();
		}
		else
		{
			if (lang == "fr")
				alert("Vous devez lire et accepter les Conditions générales de vente pour poursuivre.");
			else
				alert("You have to read and accept the General conditions of sale to continue.");
		}
	}
}

//Vérification code promotion
function validCodePromo(phpLang)
{
    LOCALE = gLangue[phpLang];
	 	var code_promo =  $('code_promo').value;
		if (code_promo=='') {
      	//alert('Le champ 'Code promotion' est obligatoire');
        var vInputField_temp = new KaInputField(GE('code_promo'),"");
				vInputField_temp.alertMessage('panier_express_codepromotion_0', LOCALE);
      	return false;
    }
		
    var strLen = code_promo.length;
  	if(strLen < 7){
       //alert("La taille minimum du champ 'Code promotion' est de 7 caractères.");
       var vInputField_temp = new KaInputField(GE('code_promo'),"");
			 vInputField_temp.alertMessage('panier_express_codepromotion_mini_0', LOCALE);
  	   return false;
    }
    
    if(strLen > 15){
       //alert("La taille maximum du champ 'Code promotion' est de 15 caractères.");
        var vInputField_temp = new KaInputField(GE('code_promo'),"");
			 vInputField_temp.alertMessage('panier_express_codepromotion_max_0', LOCALE);
  	   return false;
    }
     
  	var reg = /^[A-Za-z0-9]{7,15}$/;
  	if(reg.test(code_promo)==false)
  	{
  	   //alert("Valeur du 'Code promotion' n'est pas correcte.");
  	   var vInputField_temp = new KaInputField(GE('code_promo'),"");
			 vInputField_temp.alertMessage('panier_express_codepromotion_valeur_0', LOCALE);
  	   return false;
  	}
  	 
    return true;
   
}

//Vérification code promotion
function postCodePromo(phpLang)
{
	//Formattage des paramètres à poster à php
    var params = '&code_promo='+$('code_promo').value;
    
    //Chronomètre
	   $('chrono_cp').innerHTML = '<img src="/images/loading.gif" style="margin: 5px 0 0 150px;" alt="" title="" />';
	
  	new Ajax.Request('/panier_express_recap.php?phpLang='+phpLang,
  	{
  		method: 'post',
  		asynchronous: true,
  		contentType: 'application/x-www-form-urlencoded',
  		onSuccess: succes,
  	  parameters: params,
  	  encoding: 'iso-8859-1',
  		onFailure: function(){}
  	});
  	function succes(reponse){
  	   $('recap').innerHTML = reponse.responseText;
  	}		
	 
}	 
	 
//permet de tester la page de chez des delais de livraison
//et du mode de paiement avant d'arriver sur la page de paiement
function validLivCav(lang,url)
{
	//si la langue n'est pas passée on la met à fr par defaut
	if (!lang)
	lang = "fr";
	
	if(document.formu.form_change.value=='pasok')	//si les frais de port n ont pas ete recalculés
	{
		if (lang == "fr")
			alert('Vous devez recalculer les frais de port avant de passer à l\'étape suivante.');
		else
			alert('You have to recompute the carriage costs before passing to the following stage.');
	}
	else
	{
		//on test s il a coché au moins un moyen de paiement
		var ok = false;
		
		/*if(document.getElementById("cond").checked == true)
		{*/
			window.location.href=url;
		/*}
		else
		{
			if (lang == "fr")
				alert("Vous devez lire et accepter les Conditions générales de vente pour poursuivre.");
			else
				alert("You have to read and accept the General conditions of sale to continue.");
		}*/
	}
}

//permet de valider les quantités dispatchées par adresse de livraison
//mode = refresh : test et rafraichit la page
//mode = suite : test et passe a la page de commande suivante
function validDispatch(mode,url,lang)
{
	//si la langue n'est pas passée on la met à fr par defaut
	if (!lang)
	lang = "fr";
	
	//on ne fait les tests defaut que si la radio "adresse par defaut" est cochée
	if (document.form_coord.elements['radio_votre_adresse'].checked == true)
	{
		var erreur_max_diff = "";
		
		//on va tester si la quantité total commandée n est pas superieur a la quantité
		//max autorisé par l'adresse par défaut
		var qte_max_allowed = document.form_perso.elements['hidden_perso_qte_max'].value;
		var qte_commande = document.form_perso.elements['hidden_perso_qte_total'].value;
		
		if (eval(qte_commande) > eval(qte_max_allowed))
		{
			erreur_max_diff = "wrong";
			if (lang != "fr")
				message_err_max_diff = "Error: this address delivery does not accept this quantity: " + qte_commande + ". You can not send a quantity over " + qte_max_allowed + ". (1 magnum = 2 bottles)";
			else
				message_err_max_diff = "Erreur: cette adresse de livraison n'accepte pas cette quantité: " + qte_commande + ". Vous ne pouvez expédier une quantité supérieure à " + qte_max_allowed + ". (1 magnum = 2 bouteilles)";
			
		}
	}
	//on ne fait les tests diff que si la radio "adresse diff" est cochée
	else if (document.form_coord.elements['radio_adresse_differente'].checked == true)
	{
		var erreur_max_diff = "";
		var erreur_selected_diff = "";
		
		var selected_id = document.form_coord.elements['select_adr'].options[document.form_coord.elements['select_adr'].selectedIndex].value;
		
		//avant tout on teste s'il a selectionné une adresse (par défaut c'est --)
		if (selected_id == "-1")
		{
			erreur_selected_diff = "wrong";
			if (lang != "fr")
				message_err_selected_diff = "Error: you have to select an adress.";
			else
				message_err_selected_diff = "Erreur: vous devez selectionner une adresse.";
		}
		else
		{
			//on va tester si la quantité total commandée n est pas superieur a la quantité
			//max autorisé par l'adresse selectionnée dans la combo
			var qte_max_allowed = document.form_diff.elements['hidden_diff_'+selected_id].value;
			var qte_commande = document.form_diff.elements['hidden_diff_qte_total'].value;
			
			if (eval(qte_commande) > eval(qte_max_allowed))
			{
				erreur_max_diff = "wrong";
				if (lang != "fr")
					message_err_max_diff = "Error: this address delivery does not accept this quantity: " + qte_commande + ". You can not send a quantity over " + qte_max_allowed + ". (1 magnum = 2 bottles)";
				else
					message_err_max_diff = "Erreur: cette adresse de livraison n'accepte pas cette quantité: " + qte_commande + ". Vous ne pouvez expédier une quantité supérieure à " + qte_max_allowed + ". (1 magnum = 2 bouteilles)";
			}
		}
	}
	//on ne fait les tests multi que si la radio "adresse multi" est cochée
	else if (document.form_coord.elements['radio_plusieur_adresse'].checked == true)
	{
		var erreur = "ok";
		var erreur_max = "ok";
		var erreur_uc = "ok";
		var erreur_qte_nulle = "ok";
		var message_err_max = "";
		var message_qte_nulle = "";
		//on commence par recuperer tous les noms et valeurs de tous les champs texte du form
		var tab = new Array();
		var tab_max = new Array();
		var tab_uc = new Array();
		var z=0;
		var x=0;
		var y=0;
		for(var i=0; i<document.form_coord.length; i++)
		{
			 var e = document.form_coord.elements[i];
			 if(e.type == "text" || e.type == "hidden")
			 {
			 	if(e.value == "") {e.value = 0;}
				
				//on ne prend en compte ni les champs de quantités totales ni ceux de quantités max acceptées
				if (e.name.substring(0,15) != "qte_total_prod_" && e.name.substring(0,8) != "qte_max_")
				{
					//s'il s'agit des champs de qtés normales (pas les qtés speciales magnum)
					//on remplit le tableau qui servira a comparer les quantités de dispatch
					if (e.name.substring(0,14) != "qtecontenance_" && e.name.substring(0,3) != "uc_")
					{
						tab[x] = [e.name.substring(4,e.name.indexOf("-",0)),e.value];
						x++;
						//on en profite pour tester les unités de conditionnement
						var value_champ = e.name.substring(4,e.name.length);
						var value_uc = document.form_coord.elements['uc_'+value_champ].value;
						var value_qte = document.form_coord.elements['qte_'+value_champ].value;
						if (value_qte%value_uc != 0)	//unité de conditionnement
						{
							erreur_uc = "wrong";
							if (lang != "fr")
								message_err_uc = "Error: some products are 6 or 12 bottles packaged and cannot be separate.";
							else
								message_err_uc = "Erreur: certains produits sont conditionnés par 6 ou par 12 et ne peuvent être dispatchés.";
						}
					}
					//s'il s'agit des champs de qtés speciales magnum
					//on remplit le tableau qui servira a testé qu on depasse pas les quantité max pour l'adresse de livraison
					//ce sont les qtés qui sont multipliées par 2 si on est sur un magnum
					if (e.name.substring(0,4) != "qte_" && e.name.substring(0,3) != "uc_")
					{
						tab_max_borne_inf = e.name.substring(e.name.indexOf("-",0),e.name.length);				
						tab_max[z] = [tab_max_borne_inf.substring(1,tab_max_borne_inf.length),e.value];
						z++;
					}
					//
					if (e.name.substring(0,4) != "qte_" && e.name.substring(0,14) != "qtecontenance_")
					{
						tab_uc[y] = [e.name.substring(3,e.name.indexOf("-",0)),e.value];
						y++;
					}
				}
			}
		}
		
		//ensuite on fait 2 boucles imbriquées pour additionner les values des quantités
		//dans le cas ou les champs texte de qté ont le meme nom
		var qte=0;
		var passage="pasok";
		for(var i=0; i<tab.length; i++)
		{
			//on en profite pour tester s'il n'y a pas une quantité à zéro (interdit)
			if (tab[i][1] == 0)
			{
				erreur_qte_nulle = "wrong";
				if (lang != "fr")
					message_qte_nulle = "Error: null quantity is not allowed.";
				else
					message_qte_nulle = "Erreur: vous ne pouvez saisir de quantité nulle.";
			}
			for(var j=0; j<tab.length; j++)
			{
				if (tab[i][0] == tab[j][0])
				{
					qte = qte + Number(tab[j][1]);
				}
			}
			
			var total_a_comparer = document.form_coord.elements['qte_total_prod_'+tab[i][0]].value;
			
			if (qte != total_a_comparer && passage=="pasok")
			{
				passage = "ok";
				erreur = "wrong";
			}
			
			qte = 0;
		}
		
		//on fait la meme chose pour tester les quantités max
		var qte2=0;
		for(var i=0; i<tab_max.length; i++)
		{
			for(var j=0; j<tab_max.length; j++)
			{
				if (tab_max[i][0] == tab_max[j][0])
				{
					qte2 = qte2 + Number(tab_max[j][1]);
				}
			}
			
			var total_max = document.form_coord.elements['qte_max_'+tab_max[i][0]].value;
			
			if (eval(qte2) > eval(total_max))
			{
				erreur_max = "wrong";
				if (lang != "fr")
					message_err_max = "Error: this address delivery does not accept this quantity: " + qte2 + ". You can not send a quantity over " + total_max + ". (1 magnum = 2 bottles)";
				else
					message_err_max = "Erreur: cette adresse de livraison n'accepte pas cette quantité: " + qte2 + ". Vous ne pouvez expédier une quantité supérieure à " + total_max + ". (1 magnum = 2 bouteilles)";
			}
			
			qte2 = 0;
		}
	}
	if (erreur == "wrong")
	{
		if (lang != "fr")
			alert("Error: set quantities doesn't match ordered quantity");
		else
			alert ("Erreur: les quantités dispatchées ne correspondent pas aux quantités commandées.");
	}
	else if (erreur_max == "wrong")
	{
		alert(message_err_max);
	}
	else if (erreur_uc == "wrong")
	{
		alert(message_err_uc);
	}
	else if (erreur_max_diff == "wrong")
	{
		alert(message_err_max_diff);
	}
	else if (erreur_selected_diff == "wrong")
	{
		alert(message_err_selected_diff);
	}
	else if (erreur_qte_nulle == "wrong")
	{
		alert(message_qte_nulle);
	}
	else if (mode == "refresh")
	{
		if (lang != "fr")
			alert("Repartition ok");
		else
			alert ("La répartition est correcte");
		document.form_coord.action = url + "?etape=coord&act=maj_qte";
		document.form_coord.submit();
	}
	else if (mode == "suite")
	{
		document.form_coord.action = url + "?etape=livraison";
		document.form_coord.submit();
	}
}

//permet de valider les quantités dispatchées par adresse de livraison
//mode = refresh : test et rafraichit la page
//mode = suite : test et passe a la page de commande suivante
function validDispatchCaviste(mode,url,lang)
{
	//si la langue n'est pas passée on la met à fr par defaut
	if (!lang)
	lang = "fr";
	 
	if((document.getElementById('hidden_div_exp_combo').style.display != 'none' && document.getElementById('hidden_div_diff_combo').style.display != 'none')
	|| (document.getElementById('hidden_div_exp_combo').style.display != 'none' && document.form_coord.elements['radio_dispatch_adr_liv'].checked == true))
	{
		//on ne fait les tests diff que si la radio "adresse diff" est cochée
		if (document.form_coord.elements['radio_adresse_differente'].checked == true)
		{
			var erreur_max_diff = "";
			var erreur_selected_diff = "";
			 
			var selected_id = document.form_coord.elements['select_adr'].options[document.form_coord.elements['select_adr'].selectedIndex].value;
			
			//avant tout on teste s'il a selectionné une adresse (par défaut c'est --)
			if (selected_id == "-1")
			{
				erreur_selected_diff = "wrong";
				if (lang != "fr")
					message_err_selected_diff = "Error: you have to select an adress.";
				else
					message_err_selected_diff = "Erreur: vous devez selectionner une adresse.";
			}
			else
			{
				//on va tester si la quantité total commandée n est pas superieur a la quantité
				//max autorisé par l'adresse selectionnée dans la combo
				var qte_max_allowed = document.form_diff.elements['hidden_diff_'+selected_id].value;
				var qte_commande = document.form_diff.elements['hidden_diff_qte_total'].value;
				
				if (eval(qte_commande) > eval(qte_max_allowed))
				{
					erreur_max_diff = "wrong";
					if (lang != "fr")
						message_err_max_diff = "Error: this address delivery does not accept this quantity: " + qte_commande + ". You can not send a quantity over " + qte_max_allowed + ". (1 magnum = 2 bottles)";
					else
						message_err_max_diff = "Erreur: cette adresse de livraison n'accepte pas cette quantité: " + qte_commande + ". Vous ne pouvez expédier une quantité supérieure à " + qte_max_allowed + ". (1 magnum = 2 bouteilles)";
				}
			}
		}
		//on ne fait les tests multi que si la radio "adresse multi" est cochée
		else if (document.form_coord.elements['radio_plusieur_adresse'].checked == true)
		{
			var erreur = "ok";
			var erreur_max = "ok";
			var erreur_uc = "ok";
			var erreur_qte_nulle = "ok";
			var message_err_max = "";
			var message_qte_nulle = "";
			//on commence par recuperer tous les noms et valeurs de tous les champs texte du form
			var tab = new Array();
			var tab_max = new Array();
			var tab_uc = new Array();
			var z=0;
			var x=0;
			var y=0;
			for(var i=0; i<document.form_coord.length; i++)
			{
				 var e = document.form_coord.elements[i];
				 if((e.type == "text" && strstr(e.name,"qte_")) || (e.type == "hidden" && !strstr(e.name,"display")))
				 {
				 	if(e.value == "") {e.value = 0;}
					
					//on ne prend en compte ni les champs de quantités totales ni ceux de quantités max acceptées
					if (e.name.substring(0,15) != "qte_total_prod_" && e.name.substring(0,8) != "qte_max_")
					{
						//s'il s'agit des champs de qtés normales (pas les qtés speciales magnum)
						//on remplit le tableau qui servira a comparer les quantités de dispatch
						if (e.name.substring(0,14) != "qtecontenance_" && e.name.substring(0,3) != "uc_")
						{
							tab[x] = [e.name.substring(4,e.name.indexOf("-",0)),e.value];
							x++;
							//on en profite pour tester les unités de conditionnement
							var value_champ = e.name.substring(4,e.name.length);
							var value_uc = document.form_coord.elements['uc_'+value_champ].value;
							var value_qte = document.form_coord.elements['qte_'+value_champ].value;
							if (value_qte%value_uc != 0)	//unité de conditionnement
							{
								erreur_uc = "wrong";
								if (lang != "fr")
									message_err_uc = "Error: some products are 6 or 12 bottles packaged and cannot be separate.";
								else
									message_err_uc = "Erreur: certains produits sont conditionnés par 6 ou par 12 et ne peuvent être dispatchés.";
							}
						}
						//s'il s'agit des champs de qtés speciales magnum
						//on remplit le tableau qui servira a testé qu on depasse pas les quantité max pour l'adresse de livraison
						//ce sont les qtés qui sont multipliées par 2 si on est sur un magnum
						if (e.name.substring(0,4) != "qte_" && e.name.substring(0,3) != "uc_")
						{
							tab_max_borne_inf = e.name.substring(e.name.indexOf("-",0),e.name.length);				
							tab_max[z] = [tab_max_borne_inf.substring(1,tab_max_borne_inf.length),e.value];
							z++;
						}
						//
						if (e.name.substring(0,4) != "qte_" && e.name.substring(0,14) != "qtecontenance_")
						{
							tab_uc[y] = [e.name.substring(3,e.name.indexOf("-",0)),e.value];
							y++;
						}
					}
				}
			}
			
			//ensuite on fait 2 boucles imbriquées pour additionner les values des quantités
			//dans le cas ou les champs texte de qté ont le meme nom
			var qte=0;
			var passage="pasok";
			for(var i=0; i<tab.length; i++)
			{
				//on en profite pour tester s'il n'y a pas une quantité à zéro (interdit)
				if (tab[i][1] == 0)
				{
					erreur_qte_nulle = "wrong";
					if (lang != "fr")
						message_qte_nulle = "Error: null quantity is not allowed.";
					else
						message_qte_nulle = "Erreur: vous ne pouvez saisir de quantité nulle.";
				}
				for(var j=0; j<tab.length; j++)
				{
					if (tab[i][0] == tab[j][0])
					{
						qte = qte + Number(tab[j][1]);
					}
				}
				
				var total_a_comparer = document.form_coord.elements['qte_total_prod_'+tab[i][0]].value;
				
				if (qte != total_a_comparer && passage=="pasok")
				{
					passage = "ok";
					erreur = "wrong";
				}
				
				qte = 0;
			}
			
			//on fait la meme chose pour tester les quantités max
			var qte2=0;
			for(var i=0; i<tab_max.length; i++)
			{
				for(var j=0; j<tab_max.length; j++)
				{
					if (tab_max[i][0] == tab_max[j][0])
					{
						qte2 = qte2 + Number(tab_max[j][1]);
					}
				}
				
				var total_max = document.form_coord.elements['qte_max_'+tab_max[i][0]].value;
				
				if (eval(qte2) > eval(total_max))
				{
					erreur_max = "wrong";
					if (lang != "fr")
						message_err_max = "Error: this address delivery does not accept this quantity: " + qte2 + ". You can not send a quantity over " + total_max + ". (1 magnum = 2 bottles)";
					else
						message_err_max = "Erreur: cette adresse de livraison n'accepte pas cette quantité: " + qte2 + ". Vous ne pouvez expédier une quantité supérieure à " + total_max + ". (1 magnum = 2 bouteilles)";
				}
				
				qte2 = 0;
			}
		}
		if (erreur == "wrong")
		{
			if (lang != "fr")
				alert("Error: set quantities doesn't match ordered quantity");
			else
				alert ("Erreur: les quantités dispatchées ne correspondent pas aux quantités commandées.");
		}
		else if (erreur_max == "wrong")
		{
			alert(message_err_max);
		}
		else if (erreur_uc == "wrong")
		{
			alert(message_err_uc);
		}
		else if (erreur_max_diff == "wrong")
		{
			alert(message_err_max_diff);
		}
		else if (erreur_selected_diff == "wrong")
		{
			alert(message_err_selected_diff);
		}
		else if (erreur_qte_nulle == "wrong")
		{
			alert(message_qte_nulle);
		}
		else if (mode == "refresh")
		{
			if (lang != "fr")
				alert("Repartition ok");
			else
				alert ("La répartition est correcte");
			document.form_coord.action = url + "?etape=coord&act=maj_qte&adr_exp=nok";
			document.form_coord.submit();
		}
		else if (mode == "suite")
		{
			document.form_coord.action = url + "?etape=livraison";
			document.form_coord.submit();
		}
	}
	else
	{
	    if (lang != "fr")
			alert("Error: You have to select a address.");
		else
			alert ("Erreur: Vous devez selectionner une adresse.");
	}
}

function ecr_suite(nomForm,url,qte,lang)
{
		document.form_mag.action = url + "?etape=coord";
		document.form_mag.submit();
}
	
function add_prod(idProd,nomForm,url,qte,lang)
{
	if (lang == null)
		lang = "fr";
	
	if (qte == null)
		qte = 1;
	
	document.forms[nomForm].target="_parent";
	if (!document.forms[nomForm].elements['qte_'+idProd])
	{
		var champ = qte;
	}
	else
	{
		var champ = document.forms[nomForm].elements['qte_'+idProd].value;
		 
		if (champ == '' || champ == 0 || champ%qte != 0)	//unité de conditionnement
		{
			champ = Math.round(champ/qte);
			if (champ == 0) champ = 1;
			champ = champ * qte;
			
			if (lang != "fr")
				alert("You have to enter a multiple quantity of " + qte + ". The quantity that you entered was automatically round with " + champ);
			else
				alert("Vous devez saisir une quantité multiple de " + qte + ". La quantité que vous avez saisie a été automatiquement arrondie à " + champ);
		}
	}
	if (url == null)
	{
		document.forms[nomForm].qte.value=champ;
	  document.forms[nomForm].action = "?act=add&id_prod=" + idProd;
	}
	else
	{
		//document.forms[nomForm].action = url + "?act=add&id_prod=" + idProd + "&qte=" + champ;
		document.forms[nomForm].qte.value=champ;
		document.forms[nomForm].action = url + "?act=add&id_prod=" + idProd;
	}
	document.forms[nomForm].submit();
}


function set(nomForm)
{
	document.forms[nomForm].new_s.value = 1;
}


function add_prod2(idProd,nomForm,url,qte,lang) {
	
	if (lang == null) lang = "fr";
	
	if (qte == null) 
		qte = 1;
	
	var link = GE('addpan_'+idProd);
	var fQuantite = GE('id_qte_ajout_'+idProd);
	
	if (!fQuantite) {
		//var champ = 1;
		var champ = qte;
	} else {
		var champ = fQuantite.value;
		
		if (champ == '' || champ == 0 || champ%qte != 0)	//unité de conditionnement
		{
			champ = Math.round(champ/qte);
			if (champ == 0) champ = 1;
			champ = champ * qte;
			
			if (lang != "fr")
				alert("You have to enter a multiple quantity of " + qte + ". The quantity that you entered was automatically round with " + champ);
			else
				alert("Vous devez saisir une quantité multiple de " + qte + ". La quantité que vous avez saisie a été automatiquement arrondie à " + champ);
		}
	}
	
	//link.href = url + "?act=add&id_prod=" + idProd + "&qte=" + champ;
	//return true;	
	document.forms[nomForm].qte.value=champ;
	document.forms[nomForm].action = url + "?act=add&id_prod=" + idProd;
	document.forms[nomForm].submit();
}

function verifNumFolio(pForm,lang) 
{
	var str="";
	if (lang != "fr")
		str="Folio number";
	else
		str="Numéro Folio";
	if (!isChampValid(pForm.num_folio,'Numéro Folio','0123456789',6,6,true)) return false;
	return true;
}

function add_prod_panier(idProd,nomForm,url,qte,lang)
{
	if (lang == null)
		lang = "fr";
	
	if (qte == null)
		qte = 1;
	
	
	document.forms[nomForm].target="_parent";
	if (!document.forms[nomForm].elements['qte_'+idProd])
	{
		var champ = qte;
	}
	else
	{
		var champ = document.forms[nomForm].elements['qte_'+idProd].value;
		 
		if (champ == '' || champ == 0 || champ%qte != 0)	//unité de conditionnement
		{
			champ = Math.round(champ/qte);
			if (champ == 0) champ = 1;
			champ = champ * qte;
			
			if (lang != "fr")
				alert("You have to enter a multiple quantity of " + qte + ". The quantity that you entered was automatically round with " + champ);
			else
				alert("Vous devez saisir une quantité multiple de " + qte + ". La quantité que vous avez saisie a été automatiquement arrondie à " + champ);
		}
	}
	if (url == null)
	{
		document.forms[nomForm].qte.value=champ;
	  document.forms[nomForm].action = "?etape=express&act=add&id_prod=" + idProd;
	}
	else
	{
		//document.forms[nomForm].action = url + "?act=add&id_prod=" + idProd + "&qte=" + champ;
		document.forms[nomForm].qte.value=champ;
		document.forms[nomForm].action = url + "?etape=express&act=add&id_prod=" + idProd;
	}
	document.forms[nomForm].submit();
}


//permet de tester la page de chez des delais de livraison
//et du mode de paiement avant d'arriver sur la page de paiement
function validRecapPanierExpress(lang)
{
	//si la langue n'est pas passée on la met à fr par defaut
	if (!lang)
	   lang = "fr";
	
	
		//on test s il a coché au moins un moyen de paiement
		var ok = false;
		 
		if($('id_expediteur').value=='')
    {
      if (lang == "fr")
				alert("Vous devez valider votre adresse expéditeur.");
			else
				alert("You must confirm your sender address.");
    }
    else if($('id_destinataire').value=='')
    {
      if (lang == "fr")
				alert("Vous devez valider l'adresse du destinataire.");
			else
				alert("You must validate the recipient address..");
    }
    else if(document.getElementById("cond").checked)
		{
			if (lang == "fr")
      {
				  var msg = "Votre commande est complète, veuillez choisir votre mode de paiement.";
		  }
      else
      { 
				  var msg = "Your order is complete, please select your payment method.";
			}
				
				$('msg_valide_cmd').innerHTML = msg;
				onOff('msg_valide_cmd',true);
		}
		else
		{
			if (lang == "fr")
				alert("Vous devez lire et accepter les Conditions générales de vente pour poursuivre.");
			else
				alert("You have to read and accept the General conditions of sale to continue.");
		}
	
}

