<!--
/* Messages d'information / confirmation sucesptibles d'être affichés
*/
var t_confirm_ajout_article1 = '';
var t_confirm_ajout_article2 = '';
var t_confirm_annule_article = '';
var t_confirm_annule_panier = '';

/* Messages d'erreurs sucesptibles d'être affichés
*/
// Panier
var t_erreur_quantite = '';
// Coordonnées du client
var t_erreur_conditions_vente = '';
var t_erreur_nom_client = '';
var t_erreur_prenom_client = '';
var t_erreur_adresse_client = '';
var t_erreur_code_postal_client = '';
var t_erreur_ville_client = '';
var t_erreur_pays_client = '';
var t_erreur_pays_client_livraison = '';
var t_erreur_email_client = '';
var t_erreur_telephone_client = '';
// Adresse de livraison
var t_erreur_livraison = '';
var t_erreur_nom_livraison = '';
var t_erreur_prenom_livraison = '';
var t_erreur_adresse_livraison = '';
var t_erreur_code_postal_livraison = '';
var t_erreur_ville_livraison = '';
var t_erreur_pays_livraison = '';
// Erreurs sur la validité d'une adrese e-mail
var t_erreur_email_trop_court = '';
var t_erreur_email_trop_long = '';
var t_erreur_email_pas_d_arobase = '';
var t_erreur_email_caractere_interdit = '';
var t_erreur_email_forme = '';
// Modalité de paiement
var t_erreur_mode_paiement = '';

/* Initialise les messages d'information / confirmation suivant la langue à utiliser
*
* Paramètre
*	lang : langue à utiliser pour les messages d'information / confirmation
*/
function initTexteInfo(lang){
	if(lang == 'fr'){
		t_confirm_ajout_article1 = 'L\'article ';
		t_confirm_ajout_article2 = ' a bien été ajouté dans le panier.';
		t_confirm_ajout_article2 += '\nLorsque vous avez terminé votre sélection, cliquez sur "Mon panier" dans le menu à gauche pour enregistrer votre commande.';
		t_confirm_annule_article = 'Confirmez l\'annulation de cet article';
		t_confirm_annule_panier = 'Confirmer l\'annulation de votre panier.';
	}
	else{
		t_confirm_ajout_article1 = 'The article ';
		t_confirm_ajout_article2 = ' has been added in your flightcase.';
		t_confirm_ajout_article2 += '\nWhen you have selected all you need, click on "My flightcase" in the left menu to proceed to the check-out.';
		t_confirm_annule_article = 'Please confirm article deletion.';
		t_confirm_annule_panier = 'Please confirm flightcase deletion.';
	}
}

/* Initialise les messages d'erreurs suivant la langue à utiliser
*
* Paramètre
*	lang : langue à utiliser pour les messages d'erreur
*/
function initTexteErreur(lang){
	if(lang == 'fr'){
		// Panier
		t_erreur_quantite = 'Vous pouvez commandez 12 bouteilles au minimum, par lot de 6.';
		// Coordonnées client
		t_erreur_conditions_vente = 'Merci de bien vouloir accepter les conditions générales de vente avant de continuer.';
		t_erreur_nom_client = 'Veuillez saisir votre nom avant de valider la commande.';
		t_erreur_prenom_client = 'Veuillez saisir votre prénom avant de valider la commande.';
		t_erreur_adresse_client = 'Veuillez saisir votre adresse avant de valider la commande.';
		t_erreur_code_postal_client = 'Veuillez saisir votre code postal avant de valider la commande.';
		t_erreur_ville_client = 'Veuillez saisir votre ville avant de valider la commande.';
		t_erreur_pays_client = 'Veuillez sélectionner votre pays avant de valider la commande.';
		t_erreur_pays_client_livraison = 'Votre pays doit être le même que celui sélectionné pour les frais de port.';
		t_erreur_email_client = 'Veuillez saisir votre adresse e-mail pour que nous puissions vous recontacter.';
		t_erreur_telephone_client = 'Veuillez saisir votre numéro de téléphone pour que nous puissions vous recontacter.';
		// Adresse de livraison
		t_erreur_livraison = 'Voulez-vous venir récupérer vos articles en magasin ou vous les faire livrer à votre adresse ?';
		t_erreur_nom_livraison = 'Veuillez saisir le nom du destinataire avant de valider la commande.';
		t_erreur_prenom_livraison = 'Veuillez saisir le prénom du destinataire avant de valider la commande.';
		t_erreur_adresse_livraison = 'Veuillez saisir l\'adresse du destinataire avant de valider la commande.';
		t_erreur_code_postal_livraison = 'Veuillez saisir le code postal du destinataire avant de valider la commande.';
		t_erreur_ville_livraison = 'Veuillez saisir la ville du destinataire avant de valider la commande.';
		t_erreur_pays_livraison = 'Veuillez sélectionner le pays de livraison avant de valider la commande.';
		// E-mail
		t_erreur_email_trop_court = 'Cette adresse e-mail est trop courte.';
		t_erreur_email_trop_long = 'Cette adresse e-mail est trop longue.';
		t_erreur_email_pas_d_arobase = 'Cette adresse e-mail n\'a pas d\'arobase (@).';
		t_erreur_email_caractere_interdit = 'Cette adresse e-mail contient un caractère interdit';
		t_erreur_email_forme = 'n\'est pas la forme d\'une adresse email.';
		// Modalité de paiement
		t_erreur_mode_paiement = 'Veuillez choisir votre mode de paiement.';
	}
	else{
		// Panier
		t_erreur_quantite = ' You must order 12 articles at least, 6 by 6.';
		// Coordonnées client
		t_erreur_conditions_vente = 'Thanks for accepting general terms before continuing.';
		t_erreur_nom_client = 'Please enter your last name before submitting the order.';
		t_erreur_prenom_client = 'Please enter your first name before submitting the order.';
		t_erreur_adresse_client = 'Please enter your adress before submitting the order';
		t_erreur_code_postal_client = 'Please enter your zip code before submitting the order';
		t_erreur_ville_client = 'Please enter your city before submitting the order';
		t_erreur_pays_client = 'Please enter your country before submitting the order';
		t_erreur_pays_client_livraison = 'Your country must be the same as the selected one for postage and packing.';
		t_erreur_email_client = 'Please enter your e-mail adress.';
		t_erreur_telephone_client = 'Please enter a phone number.';
		// Adresse de livraison
		t_erreur_livraison = 'Do you want to come holding your order or to receive it at your adress ?';
		t_erreur_nom_livraison = 'Please enter the receiver last name before submitting the order.';
		t_erreur_prenom_livraison = 'Please enter the receiver first name before submitting the order.';
		t_erreur_adresse_livraison = 'Please enter the receiver adress before submitting the order';
		t_erreur_code_postal_livraison = 'Please enter the receiver zip code before submitting the order';
		t_erreur_ville_livraison = 'Please enter the receiver city before submitting the order';
		t_erreur_pays_livraison = 'Please enter the delivery country before submitting the order';
		// E-mail
		t_erreur_email_trop_court = 'This e-mail adress is too short.';
		t_erreur_email_trop_long = 'This e-mail adress is too long.';
		t_erreur_email_pas_d_arobase = 'This e-mail adress  has no @.';
		t_erreur_email_caractere_interdit = 'This e-mail adress  has a forbidden character';
		t_erreur_email_forme = 'is not an email adress.';
		// Modalité de paiement
		t_erreur_mode_paiement = 'Please choose your payment mode.';
	}
}

/* Vérifie la validité d'une adresse e-mail
*
* Paramètre
*	email : adresse e-mail à tester
*
* Retour
*	true : si l'adresse e-mail est bonne
*	false : sinon. Le message adéquat est aussi affiché, suivant le type d'erreur
*/
function verifEmail(email){
	if(email.length < 6){
		alert(email + " : " + t_erreur_email_trop_court);
		return false;
	}
	if(email.length > 255){
		alert(email + " : " + t_erreur_email_trop_long);
		return false;
	}
	if(!email.match(/@/)){
		alert(email + " : " + t_erreur_email_pas_d_arobase);
		return false;
	}
	var caractere = '';
	if(caractere = email.match(/([^a-zA-Z0-9_\@\.\-])/i)){
		alert(email + " : " + t_erreur_email_caractere_interdit + " ("+caractere[0]+").");
		return false;
	}
	if(!email.match(/^([a-z0-9_\-\.])+@(([a-z0-9_\-])+\.)+[a-z]{2,4}$/i)){
		alert(email + " " + t_erreur_email_forme);
		return false;
	}
	
	return true;
}

/*************************************** PANIER ********************************************************/

/* Calcule la quantite totale d'articles ajoutés au panier.
*
* Retour
*	Quantite totale d'articles ajoutés au panier.
*/
function calculerQuantiteTotale(){
	quantite_totale = 0;
	for(i = 0; i < document.forms.length; i++){
		if(document.forms[i].name == 'formArticle'){
			quantite_totale += parseInt(document.forms[i].quantite.value);
		}
	}
	
	return quantite_totale;
}

/* Vérifie si la quantité totale d'articles est correcte
*
* Paramètre
*  lang : langue à utiliser pour les messages d'erreurs
*/
function verifQuantiteTotale(valeur_mini, valeur_lot, lang){
	initTexteErreur(lang);
	quantite_totale = calculerQuantiteTotale();
	
	if(!(quantite_totale >= valeur_mini && (quantite_totale%valeur_lot == 0))){
		alert(t_erreur_quantite);
		return false;
	}
	
	return true;
}

/* Vérifie si l'internaute a bien sélectionné un pays de livraison
*
* Paramètres
*	pays_livraison : champs SELECT correspondant au pays de livraison
*  lang : langue à utiliser pour les messages d'erreurs
*/
function verifpaysLivraison(pays_livraison, lang){
	initTexteErreur(lang);
	
	if(pays_livraison.selectedIndex == 0){
		alert(t_erreur_pays_livraison);
		return false;
	}
	
	return true;
}

/* Vérifie si on cherche à supprimer un article du panier
*
* Paramètres
*	quantite : quantité à attribuer à l'article
*  lang : langue à utiliser pour le message
*
* Retour
*	true : si on confirme l'annulation de l'article (quantite nulle)
*	false : sinon
*/
function verifQuantite(quantite, lang){
	initTexteInfo(lang);
	if (quantite.options[quantite.selectedIndex].value == 0){
		return window.confirm(t_confirm_annule_article);
	}
	else{
		return true;
	}
}

/* Effectue la suppression d'un article
*
* Paramètres
*  lien : lien vers le script php qui effectue la suppression
*  lang : langue à utiliser pour le message
*/
function supprimerArticle(lien, lang){
	initTexteInfo(lang);
	if(window.confirm(t_confirm_annule_article)){
		location.replace(lien);
	}
	else{
		location.reload();
		return true;
	}
}

/* Demande la confirmation pour vider le panier
*
* Paramètre
*  lang : langue à utiliser pour le message
*/
function confirmVider(lang){
	initTexteInfo(lang);
	return window.confirm(t_confirm_annule_panier);
}

/* Affiche le message confirmant l'ajout d'un article
*
* Paramètres
*	nom_article : nom de l'article que l'on vient de mettre dans le panier
*  lang : langue à utiliser pour le message
*/
function confirmAjout(nom_article, lang){
	initTexteInfo(lang);
	alert(t_confirm_ajout_article1 + '"' + nom_article + '"' + t_confirm_ajout_article2);
}

/* Cache le lien vers le panier
*
* Paramètre
*   idCalque : identifiant du calquedans lequel est inséré le lien
*/
function cacherLienPanier(idCalque){
	  var calque = document.getElementById(idCalque);
	  calque.style.display = 'none';
}

/*************************************** CLIENT ********************************************************/

/* Cette fonction vérifie le choix sur la modalité de livraison
*
* On peut ainsi :
* - soit venir chercher les articles en magasin,
* - soit se les faire livrer à sa propre adresse,
* - soit se les faire livrer à une autre adresse (les 2 cases doivent être décochées)
* 
* Il peut n'y avoir qu'une seule case cochée à la fois, mais les 2 peuvent être décochées en même temps.
*/
function verifLivraison(livraison_meme_adresse, venir_au_masagin, pays_livraison){
	if(livraison_meme_adresse.checked){
		if(venir_au_masagin != null && venir_au_masagin.checked){
			venir_au_masagin.checked = false;
		}
		
		if(pays_livraison == undefined ||pays_livraison == 0){
			return;
		}
		
		with(document.formClient){
			for(i = 0; i < pays_client.length; i++){
				if(pays_client.options[i].value == pays_livraison){
					pays_client.options[i].selected = true;
					return;
				}
			}
		}
	}
}

/* Vérifie la validité du formulaire envoyant la commande
*
* Paramètres
*	formulaire : formulaire envoyant la commande
*  lang : langue à utiliser pour les messages d'erreurs
*/
function verifFormCommande(formulaire, paysLivraison, lang){
	initTexteErreur(lang);
	formOK = false;
	
	if (verifFormClient(formulaire, paysLivraison)){
		formOK = true;
		if (/*!formulaire.livraison.checked && */!formulaire.livraison_meme_adresse.checked){
			if(verifFormLivraison(formulaire)){
				formOK = true;
			}
			else{
				formOK = false;
			}
		}
		/*else if (formulaire.livraison.checked && formulaire.livraison_meme_adresse.checked){
			alert(t_erreur_livraison);
			return false;
		}*/
	}
	
	return formOK;
}

/* Vérifie la validité du formulaire, partie coordonnées du client
*
* Paramètres
*	formulaire : formulaire envoyant la commande
*/
function verifFormClient(formulaire, paysLivraison){
	if(!formulaire.conditions_vente.checked){
		alert(t_erreur_conditions_vente);
		return(false);
	}
	
	if(formulaire.nom_client.value == ""){
		alert(t_erreur_nom_client);
		formulaire.nom_client.focus();
		return false;
	}
	if(formulaire.prenom_client.value == ""){
		alert(t_erreur_prenom_client);
		formulaire.prenom_client.focus();
		return false;
	}
	if(formulaire.adresse_client.value == ""){
		alert(t_erreur_adresse_client);
		formulaire.adresse_client.focus();
		return false;
	}
	if(formulaire.code_postal_client.value == ""){
		alert(t_erreur_code_postal_client);
		formulaire.code_postal_client.focus();
		return false;
	}
	if(formulaire.ville_client.value == ""){
		alert(t_erreur_ville_client);
		formulaire.ville_client.focus();
		return false;
	}
	if(formulaire.pays_client.selectedIndex == 0){
		alert(t_erreur_pays_client);
		formulaire.pays_client.focus();
		return false;
	}
	if(formulaire.livraison_meme_adresse.checked && paysLivraison != parseInt(formulaire.pays_client.value)){
		alert(t_erreur_pays_client_livraison);
		formulaire.pays_client.focus();
		return false;
	}
	if(formulaire.telephone_client.value == ""){
		alert(t_erreur_telephone_client);
		formulaire.telephone_client.focus();
		return false;
	}
	if(formulaire.email_client.value == ""){
		alert(t_erreur_email_client);
		formulaire.email_client.focus();
		return false;
	}
	if(!verifEmail(formulaire.email_client.value)){
		formulaire.email_client.focus();
		return false;
	}
	
	return true;
}

/* Vérifie la validité du formulaire, partie adresse de livraison
*
* Paramètres
*	formulaire : formulaire envoyant la commande
*/
function verifFormLivraison(formulaire){
	if(formulaire.nom_livraison.value == ""){
		alert(t_erreur_nom_livraison);
		formulaire.nom_livraison.focus();
		return false;
	}
	if(formulaire.prenom_livraison.value == ""){
		alert(t_erreur_prenom_livraison);
		formulaire.prenom_livraison.focus();
		return false;
	}
	if(formulaire.adresse_livraison.value == ""){
		alert(t_erreur_adresse_livraison);
		formulaire.adresse_livraison.focus();
		return false;
	}
	if(formulaire.code_postal_livraison.value == ""){
		alert(t_erreur_code_postal_livraison);
		formulaire.code_postal_livraison.focus();
		return false;
	}
	if(formulaire.ville_livraison.value == ""){
		alert(t_erreur_ville_livraison);
		formulaire.ville_livraison.focus();
		return false;
	}
	/*if(formulaire.pays_livraison.selectedIndex == 0){
		alert(t_erreur_pays_livraison);
		formulaire.pays_livraison.focus();
		return false;
	}*/
	
	return true;
}

/* Vérifie la validité du formulaire de paiement
*
* Paramètres
*	formulaire : formulaire de paiement
*  lang : langue à utiliser pour les messages d'erreurs
*/
function verifFormPaiement(formulaire, lang){
	initTexteErreur(lang);
	
	/*if(formulaire.modalite_paiement.selectedIndex == 0){
		alert(t_erreur_mode_paiement);
		return false;
	}*/
	
	return true;
}
-->

