/*
*	effacerChamp(element)
*	efface le contenu d'un champ la premiere fois qu'on clique dessus
*
*	- element : champ HTML
*/
elementFocus = Array();
effacerChamp = function(element)
{
	if (!elementFocused(element))
	{
		elementFocus[element.form.name] = Array();
		elementFocus[element.form.name][element.name] = true;
		element.value = "";
	}
	return true;
}

/*
*	elementFocused(element)
*	indique si un champ a deja recu le focus au moins une fois
*
*	- element : champ HTML
*/
elementFocused = function(element)
{
	if (!elementFocus[element.form.name])
		return false;
	return elementFocus[element.form.name][element.name];
}

/*
*	validerRecherche(element)
*	verifie que le formulaire de recherche est bien rempli avant de le soumettre
*/
erreurRecherche = "";
validerRecherche = function()
{
	elementSearch = document.forms["recherche"].elements["texte"];
	if (!elementFocused(elementSearch) || elementSearch.value == "")
	{
		alert(erreurRecherche);
		return false;
	}
	return true;
}

/*
*	switchMenu(element)
*	fonction de gestion des rollovers du menu
*
*	- id : numero du menu survole par la souris (null si aucun menu)
*/
urlSite = "";
menuGauche = Array();
menuDroite = Array();
dernierGauche = "";
dernierDroite = "";
menuActuel = null;
lastMenuGauche = null;
lastMenuDroite = null;
switchMenuGauche = function(id)
{
	if (lastMenuGauche != null)
	{
		if (lastMenuGauche != menuActuel)
		{
			document.getElementById("menu_"+lastMenuGauche).src = urlSite+menuGauche[lastMenuGauche]["nover"];
			document.getElementById("menu_arrondi_"+menuGauche[lastMenuGauche]["gauche"]).src =
				urlSite+"images/menu_"+(menuGauche[lastMenuGauche]["gauche"] == menuActuel ? "selected_droite" : "nover")+".gif";
			document.getElementById("menu_arrondi_"+lastMenuGauche).src =
				urlSite+"images/menu_"+(menuGauche[lastMenuGauche]["droite"] == menuActuel ? "selected_gauche" : "nover")+".gif";
		}
		if (menuGauche[lastMenuGauche]["sous_menu"])
			document.getElementById("sous_menu_"+lastMenuGauche).style.display = "none";
	}
	if (id != null)
	{
		if (menuGauche[id]["sous_menu"])
			document.getElementById("sous_menu_"+id).style.display = "block";
		if (id != menuActuel)
		{
			document.getElementById("menu_"+id).src = urlSite+menuGauche[id]["over"];
			document.getElementById("menu_arrondi_"+menuGauche[id]["gauche"]).src =	
				urlSite+"images/menu_over_"+(menuGauche[id]["gauche"] == menuActuel ? "selected_" : "")+"gauche.gif";
			document.getElementById("menu_arrondi_"+id).src =
				urlSite+"images/menu_over_"+(menuGauche[id]["droite"] == menuActuel ? "selected_" : "")+"droite.gif";
		}
		lastMenuGauche = id;
	}
	return true;
}
switchMenuDroite = function(id)
{
	if (lastMenuDroite != null)
	{
		if (lastMenuDroite != menuActuel)
		{
			document.getElementById("menu_"+lastMenuDroite).src = urlSite+menuDroite[lastMenuDroite]["nover"];
			document.getElementById("menu_arrondi_"+menuDroite[lastMenuDroite]["gauche"]).src =
				urlSite+"images/menu_"+(menuDroite[lastMenuDroite]["gauche"] == menuActuel ? "selected_droite" : "nover")+".gif";
			document.getElementById("menu_arrondi_"+lastMenuDroite).src =
				urlSite+"images/menu_"+(menuDroite[lastMenuDroite]["droite"] == menuActuel ? "selected_gauche" : "nover")+".gif";
		}
		if (menuDroite[lastMenuDroite]["sous_menu"])
			document.getElementById("sous_menu_"+lastMenuDroite).style.display = "none";
	}
	if (id != null)
	{
		if (menuDroite[id]["sous_menu"])
			document.getElementById("sous_menu_"+id).style.display = "block";
		if (id != menuActuel)
		{
			document.getElementById("menu_"+id).src = urlSite+menuDroite[id]["over"];
			document.getElementById("menu_arrondi_"+menuDroite[id]["gauche"]).src =	
				urlSite+"images/menu_over_"+(menuDroite[id]["gauche"] == menuActuel ? "selected_" : "")+"gauche.gif";
			document.getElementById("menu_arrondi_"+id).src =
				urlSite+"images/menu_over_"+(menuDroite[id]["droite"] == menuActuel ? "selected_" : "")+"droite.gif";
		}
		lastMenuDroite = id;
	}
	return true;
}

/**************************
*
*	Boutiques
*
**************************/

/*
*	switchPhoto(element)
*	fonction de gestion des rollovers des photos
*
*	- id : numero de la photo survole a afficher
*/
photos = Array();
switchPhoto = function(id)
{
	for (i = 1; i <= 3; ++i)
	{
		if (i == id )
			document.getElementById("photo"+i).style.display = "inline";
		else if (photos[i])
			document.getElementById("photo"+i).style.display = "none";
	}
	return true;
}

/**************************
*
*	Produits
*
**************************/

/*
*	delaiFiltrer()
*	fonction executant filtrer() apres un delai
*/

timerFiltrer = null;
delaiFiltrer = function()
{
	clearTimeout(timerFiltrer);
	timerFiltrer = setTimeout("filtrer()", 250);
	return true;	
}

/*
*	filtrer()
*	fonction de filtre des resultats selon le texte saisi
*/
nomFiltres = Array(
	"appellations",
	"domaines",
	"couleurs"
);
filtrer = function()
{
	for (var i = 0; i < nomFiltres.length; ++i)
	{
		var span = document.getElementById(nomFiltres[i]).getElementsByTagName("span");
		var reg = new RegExp(".*" + document.forms["filtre"].elements["texte"].value + ".*", "gi")
		for (var j = 0; j < span.length; ++j)
		{
			var a = span[j].getElementsByTagName("a");
			if (a[0].innerHTML.match(reg))
				span[j].className = "filtre_on";
			else
				span[j].className = "filtre_off";
		}
	}
	
	return true;
}

/*
*	menu(element)
*	fonction de gestion d'affichage des menus sur les pages produits
*
*	- id : numero du menu survole par la souris (null si aucun menu)
*/
lastMenuProduit = null;
menuProduit = function(id)
{
	if (lastMenuProduit != null)
	{
		document.getElementById("menu_produit_"+lastMenuProduit).style.display = "none";
	}
	if (id != null)
	{
		document.getElementById("menu_produit_"+id).style.display = "block";
		lastMenuProduit = id;
	}
	return true;
}

/*
*	produitIndisponible()
*	avertit l'utilisateur que le produit n'est pas disponible
*/

erreurProduitIndisponible = "";
produitIndisponible = function()
{
	alert(erreurProduitIndisponible);
	return false;
}

/**************************
*
*	Blog
*
**************************/

/*
*	recherche()
*	verifie que le formulaire de recherche est bien rempli et soumet la requete en Ajax
*/
contenuAjax = "";
urlBlog = "";
validerRechercheBlog = function()
{
	elementSearch = document.forms["formrech"].elements["search"];
	if (!elementFocused(elementSearch) || elementSearch.value == "")
	{
		alert(erreurRecherche);
		return false;
	}
	
	//document.getElementById("loading").style.visibility = "visible";
	
	includeBlogs = document.forms["formrech"].elements["IncludeBlogs"].value;
	
	divAjax = document.getElementById("ajax");
	if (contenuAjax == "")
		contenuAjax = divAjax.innerHTML;
	
	page = urlBlog+"ajax/recherche.php?IncludeBlogs="+includeBlogs+"&search="+elementSearch.value;
	rechargerElement("ajax", page);
	
	return false;	
}

loadingOk = function()
{
	//document.getElementById("loading").style.visibility = "hidden";
	return true;
}

retourAjax = function()
{
	divAjax = document.getElementById("ajax");
	divAjax.innerHTML = contenuAjax;
	contenuAjax = "";
	return true;
}

/******************************
*
*	Produit
*
******************************/

/*
*	ouvrirCarte()
*	Affiche la carte en grand
*
*	- largeur : largeur de l'image
*	- hauteur : hauteur de l'image
*/
bordure = 10;
ouvrirCarte = function(largeur, hauteur)
{
	
	var arrayPageSize = getPageSize();
	Element.setWidth('carte_fond', arrayPageSize[0]);
	Element.setHeight('carte_fond', arrayPageSize[1]);
	
	var arrayPageScroll = getPageScroll();
	Element.setTop('carte_bloc', arrayPageScroll[1] + (arrayPageSize[3] / 10));
	
	var widthCurrent = Element.getWidth('carte_container');
	var heightCurrent = Element.getHeight('carte_container');
	var widthNew = largeur;
	var heightNew = hauteur;
	var xScale = ((widthNew / widthCurrent) * 100);
	var yScale = ((heightNew / heightCurrent) * 100);
	var wDiff = widthCurrent - widthNew - bordure * 2;
	var hDiff = heightCurrent - heightNew - bordure * 2;

	/*if (hDiff != 0)
		new Effect.Scale('carte_container', yScale, {scaleX: false, duration: 0.6, queue: 'front'});
	if (wDiff != 0)
		new Effect.Scale('carte_container', xScale, {scaleY: false, delay: 0.6, duration: 0.6});*/
	
	Element.setWidth('carte_data_container', widthNew + bordure * 2);
	
	new Effect.Appear('carte_fond', { duration: 0.2, from: 0.0, to: 0.75 });
	new Effect.Appear('carte_bloc', { duration: 0.6, queue: 'end' });
	
	if (document.getElementById("vml_svg_map"))
	{
		var parallel = new Effect.Parallel(
		[ new Effect.SlideDown('carte_data_container', { sync: true, duration: 0.6, from: 0.0, to: 1.0 }), 
		  new Effect.Appear('carte_data_container', { sync: true, duration: 0.6 }),
		  new Effect.Appear("vml_svg_map", { sync: true, duration: 0.6 }) ], { duration: 0.6 });
	}
	else
	{
		var parallel = new Effect.Parallel(
		[ new Effect.SlideDown('carte_data_container', { sync: true, duration: 0.6, from: 0.0, to: 1.0 }), 
		  new Effect.Appear('carte_data_container', { sync: true, duration: 0.6 }) ], { duration: 0.6 });
	}
	new Effect.Appear('carte_image', { duration: 0.6, queue: 'end', afterFinish: function() {
		parallel;
		}
	});
	
	return false;
}

/*
*	fermerCarte()
*	ferme la carte
*/
fermerCarte = function()
{
	if (document.getElementById("vml_svg_map"))
		new Effect.Fade("vml_svg_map", { duration: 0.3 });
	new Effect.Fade('carte_bloc', { duration: 0.3 });
	new Effect.Fade('carte_data_container', { duration: 0.3 });
	new Effect.Fade('carte_fond', { duration: 0.2, queue: "end" });
	/*Element.hide('carte_bloc');
	Element.hide('carte_data_container');*/
	
	return false;
}

VMLOverIE = function(element, over)
{
	element.fillcolor = over ? "#841535" : "#FFFFFF";
}

areaAppellation = function(id)
{
	top.location = "produit.php?appellation="+id;
	return true;
}

arrayClasses = Array();
changerAttributClasseCSS = function(classe, propriete, valeur)
{
	if (!arrayClasses[classe])
	{
		var cssRules;
		if (document.all)
			cssRules = "rules";
		else if (document.getElementById)
			cssRules = "cssRules";
		
		//var regleExisteDeja = false;
		for (var i = 0; i < document.styleSheets.length; ++i)
		{
			for (var j = 0; j < document.styleSheets[i][cssRules].length; ++j)
			{
				if (document.styleSheets[i][cssRules][j].selectorText.toLowerCase() == classe.toLowerCase())
				{
					if (document.styleSheets[i][cssRules][j].style[propriete])
					{
						arrayClasses[classe] = document.styleSheets[i][cssRules][j];
						//document.styleSheets[i][cssRules][j].style[propriete] = valeur;
						//regleExisteDeja = true;
						break;
					}
				}
			}
			/*if(!regleExisteDeja)
			{
				if(document.styleSheets[i].insertRule)
					document.styleSheets[i].insertRule(classe+" { "+propriete+": "+valeur+"; }", document.styleSheets[i][cssRules].length);
				else if (document.styleSheets[i].addRule)
					document.styleSheets[i].addRule(classe, propriete+": "+valeur+";");
			}*/
		}
	}
	arrayClasses[classe].style[propriete] = valeur; 
}

function clignoterSVG(opacite1, opacite2, nbIterations, delai, i)
{
	if (i == null)
		i = 1;
	
	var totalSin = 0;
	for (var j = 1; j <= nbIterations; ++j)
		totalSin += Math.sin(2 * Math.PI * j / (nbIterations + 1) - Math.PI / 2) + 1;
	
	// Definition des variables de position
	if (opacite1 != null)
		var opacite = opacite1;
	
	for (j = 1; j <= i; ++j)
	{
		var rapportSin = (Math.sin(2 * Math.PI * j / (nbIterations + 1) - Math.PI / 2) + 1) / totalSin;
		if (opacite1 != null)
			opacite += (opacite2 - opacite1) * rapportSin;
	}
	
	changerAttributClasseCSS("path", "opacity", opacite);
	
	if (++i > nbIterations)
		strFonction = "clignoterSVG("+opacite2+", "+opacite1+", "+nbIterations+", "+delai+");";
	else
		strFonction = "clignoterSVG("+opacite1+", "+opacite2+", "+nbIterations+", "+delai+", "+i+");";
	setTimeout(strFonction, delai);	
}

function clignoterVML(opacite1, opacite2, nbIterations, delai, i)
{
	if (i == null)
		i = 1;
	
	var totalSin = 0;
	for (var j = 1; j <= nbIterations; ++j)
		totalSin += Math.sin(2 * Math.PI * j / (nbIterations + 1) - Math.PI / 2) + 1;
	
	// Definition des variables de position
	if (opacite1 != null)
		var opacite = opacite1;
	
	for (j = 1; j <= i; ++j)
	{
		var rapportSin = (Math.sin(2 * Math.PI * j / (nbIterations + 1) - Math.PI / 2) + 1) / totalSin;
		if (opacite1 != null)
			opacite += (opacite2 - opacite1) * rapportSin;
	}
	
	changerAttributClasseCSS(".shape", "filter", "alpha(opacity="+parseInt(opacite)+")");
	
	if (++i > nbIterations)
		strFonction = "clignoterVML("+opacite2+", "+opacite1+", "+nbIterations+", "+delai+");";
	else
		strFonction = "clignoterVML("+opacite1+", "+opacite2+", "+nbIterations+", "+delai+", "+i+");";
	setTimeout(strFonction, delai);	
}

/*
*	commentaire()
*	verifie que le formulaire de commentaire est bien rempli
*/
erreurEmail = "";
erreurCommentaire = "";
commentaire = function()
{
	elementAuthor = document.forms["comments_form"].elements["author"];
	elementEmail = document.forms["comments_form"].elements["email"];
	elementUrl = document.forms["comments_form"].elements["url"];
	elementText = document.forms["comments_form"].elements["text"];
	
	strErreur = "";
	if (elementEmail.value != "" && !EmailCheck(elementEmail.value))
		strErreur = erreurEmail;
	if (elementText.value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurCommentaire;
	
	if (strErreur != "")
	{
		alert(strErreur);
		return false;
	}
	
	/*if (element.bakecookie.checked)
		rememberMe(element);*/
	return true;
}


/******************************
*
*	Panier
*
******************************/

/*
*	setEntierPositif()
*	force la valeur de l'input a etre un entier superieur ou egal a zero
*
*	- element : input
*/
setEntierPositif = function(element)
{
	if (element.value != "")
	{
		if (isNaN(parseInt(element.value, 10)) || element.value < 0)
			element.value = 0;
		else if (element.value != parseInt(element.value, 10))
			element.value = parseInt(element.value, 10);
	}
	return true;
}

/*
*	ajouterQuantite()
*	change automatiquement la quantite d'un produit
*
*	- id : id du produit
*	- quantite : quantite a ajouter ou soustraire
*/

ajouterQuantite = function(id, quantite)
{
	modifier_id = document.forms["panier"].elements["modifier_id["+id+"]"];
	
	if (parseInt(modifier_id.value) == 0 && quantite <= 0)
		return false;
	
	modifier_id.value = parseInt(modifier_id.value) + quantite;
	
	return calculTotalPanier(id);
}

/*
*	calculTotalPanier()
*	calcule le total TTC en fonction du contenu du panier
*
*	- id : id du produit
*/
txtProduits = "";
txtProduit = "";

listeProduits = Array();
fraisDePortParDefaut = 0;
typeRemise = "";
valeurRemise = 0;
nbBouteillesFrancoDePort = 48;
/*calculTotalPanier = function(id)
{
	document.getElementById("modifications_panier").style.visibility = "visible";
	if (id != null)
		setEntierPositif(document.forms["panier"].elements["modifier_id["+id+"]"]);
	var sousTotal = 0;
	var typeRemise = document.forms["panier"].elements["type_remise"].value;
	var remise = 0;
	var fraisDePort = fraisDePortParDefaut;
	var total = 0;
	var nbBouteilles = 0;
	var nbProduits = 0;
	for (var i = 0; i < listeProduits.length; ++i)
	{
		var quantite = parseInt(document.forms["panier"].elements["modifier_id["+listeProduits[i]+"]"].value, 10);
		if (isNaN(quantite))
			quantite = 0;
		var prix = parseFloat(document.forms["panier"].elements["prix["+listeProduits[i]+"]"].value);
		var valeurRemise = parseFloat(document.forms["panier"].elements["remise["+listeProduits[i]+"]"].value);
		if (document.forms["panier"].elements["prix_barre["+listeProduits[i]+"]"])
		{
			totalBarreProduit = parseFloat(document.forms["panier"].elements["prix_barre["+listeProduits[i]+"]"].value) * quantite;
			document.getElementById("total_barre_"+listeProduits[i]).innerHTML = number_format(totalBarreProduit, 2, ",", " ");
		}
		nbBouteilles += quantite;
		if (quantite != 0)
			++nbProduits;
		var totalProduit = prix * quantite;
		var prixRemise = 0;
		if (typeRemise != "")
		{
			if (typeRemise == "pourcentage")
			{
				var valeurRemiseTemp = Math.round(totalProduit * valeurRemise) / 100;
				prixRemise = totalProduit - valeurRemiseTemp;
				remise += valeurRemiseTemp;
			}
			else if (typeRemise == "fixe")
			{
				prixRemise = totalProduit - valeurRemise;
				remise += valeurRemise;
			}
			if (prixRemise < 0)
			{
				remise += prixRemise;
				prixRemise = 0;
			}
			document.getElementById("prix_remise_"+listeProduits[i]).innerHTML = number_format(prixRemise, 2, ",", " ");
		}
		
		document.getElementById("total_"+listeProduits[i]).innerHTML = number_format(totalProduit, 2, ",", " ");
		sousTotal += totalProduit;
	}
	if (sousTotal == 0 || nbBouteilles >= nbBouteillesFrancoDePort)
		fraisDePort = 0;
	var temp = sousTotal - remise;
	if (temp < 0)
		temp = 0;
	total = temp + fraisDePort;
	
	document.getElementById("libelle_produits").innerHTML = nbProduits+" "+(nbProduits > 1 ? txtProduits : txtProduit);
	
	document.getElementById("sous_total").innerHTML = number_format(sousTotal, 2, ",", " ");
	document.getElementById("remise").innerHTML = number_format(remise, 2, ",", " ");	
	document.getElementById("frais_de_port").innerHTML = number_format(fraisDePort, 2, ",", " ");	
	document.getElementById("total").innerHTML = number_format(total, 2, ",", " ");
	
	document.forms["panier"].elements["total"].value = total;
	return true;
}*/
calculTotalPanier = function(id)
{
	document.getElementById("modifications_panier").style.visibility = "visible";
	if (id != null)
		setEntierPositif(document.forms["panier"].elements["modifier_id["+id+"]"]);
	var sousTotal = 0;
	var typeRemise = document.forms["panier"].elements["type_remise"].value;
	var remise = 0;
	var fraisDePort = fraisDePortParDefaut;
	var total = 0;
	var nbBouteilles = 0;
	var nbProduits = 0;
	for (var i = 0; i < listeProduits.length; ++i)
	{
		var quantite = parseInt(document.forms["panier"].elements["modifier_id["+listeProduits[i]+"]"].value, 10);
		if (isNaN(quantite))
			quantite = 0;
		var prix = parseFloat(document.forms["panier"].elements["prix["+listeProduits[i]+"]"].value);
		var valeurRemise = parseFloat(document.forms["panier"].elements["remise["+listeProduits[i]+"]"].value);
		var totalProduit = prix * quantite;
		var totalBarreProduit = totalProduit;
		if (document.forms["panier"].elements["prix_barre["+listeProduits[i]+"]"])
		{
			totalBarreProduit = parseFloat(document.forms["panier"].elements["prix_barre["+listeProduits[i]+"]"].value) * quantite;
			document.getElementById("total_barre_"+listeProduits[i]).innerHTML = number_format(totalBarreProduit, 2, ",", " ");
		}
		nbBouteilles += quantite;
		if (quantite != 0)
			++nbProduits;
		var prixRemise = 0;
		
		if (document.forms["panier"].elements["remise_client["+listeProduits[i]+"]"].value == "1")
		{
			totalProduit = totalBarreProduit;
			sousTotal += totalBarreProduit;
			
			var valeurRemiseTemp = valeurRemise;
			if (typeRemise == "pourcentage")
				valeurRemiseTemp = Math.round(totalProduit * valeurRemise) / 100;
			totalProduit -= valeurRemiseTemp;
			remise += valeurRemiseTemp;
			
			if (prixRemise < 0)
			{
				remise += prixRemise;
				prixRemise = 0;
			}
		}
		else
			sousTotal += totalProduit;
		
		document.getElementById("total_"+listeProduits[i]).innerHTML = number_format(totalProduit, 2, ",", " ");
	}
	if (sousTotal == 0 || nbBouteilles >= nbBouteillesFrancoDePort)
		fraisDePort = 0;
	var temp = sousTotal - remise;
	if (temp < 0)
		temp = 0;
	total = temp + fraisDePort;
	
	document.getElementById("libelle_produits").innerHTML = nbProduits+" "+(nbProduits > 1 ? txtProduits : txtProduit);
	
	document.getElementById("sous_total").innerHTML = number_format(sousTotal, 2, ",", " ");
	document.getElementById("remise").innerHTML = number_format(remise, 2, ",", " ");	
	document.getElementById("frais_de_port").innerHTML = number_format(fraisDePort, 2, ",", " ");	
	document.getElementById("total").innerHTML = number_format(total, 2, ",", " ");
	
	document.forms["panier"].elements["total"].value = total;
	return true;
}

/*
*	supprimerProduit()
*	supprime un produit du panier (affichage seulement, le produit reste en session cote serveur)
*
*	- id : id du produit
*/
confirmSupprimerProduit = "";
supprimerProduit = function(id)
{
	if (id != null)
	{
		if (!confirm(confirmSupprimerProduit))
			return false;
		
		document.getElementById("infos_produit_"+id).style.display = "none";
		
		var isProduitSuivant = false;
		for (var i = 0; i < listeProduits.length; ++i)
		{
			if (!isProduitSuivant)
			{
				if (listeProduits[i] == id)
				{
					isProduitSuivant = true;
					continue;
				}
				else if (document.getElementById("infos_produit_"+listeProduits[i]).style.display != "none")
					break;
			}
			else
			{
				if (document.getElementById("infos_produit_"+listeProduits[i]).style.display != "none")
				{
					document.getElementById("infos_produit_hr_"+listeProduits[i]).style.display = "none";
					break;
				}
			}
		}
		document.forms["panier"].elements["modifier_id["+id+"]"].value = 0;
		
		return calculTotalPanier(id);
	}
	return false;
}

/*
*	setActionPanier()
*	modifie l'action a effectuer apres que le formulaire ait ete soumis
*
*	- action : nouvelle action du formulaire
*/
setActionPanier = function(action)
{
	document.forms["panier"].elements["action"].value = action;
	return true;
}

/*
*	validerPanier()
*	verifie que le panier n'est pas vide avant de passer a la page suivante
*/
erreurPanierVide = "";
erreurPanierInsuffisant = "";
erreurPanierInsuffisantComplement = "";
erreurIdentifiant = "";
erreurCode = "";
validerPanier = function()
{
	strErreur = "";
	if (document.forms["panier"].elements["action"].value == "terminer")
	{
		var nbBouteilles = 0;
		for (var i = 0; i < listeProduits.length; ++i)
		{
			var quantite = parseInt(document.forms["panier"].elements["modifier_id["+listeProduits[i]+"]"].value, 10);
			var unitesLivrables = parseInt(document.forms["panier"].elements["unites_livrables["+listeProduits[i]+"]"].value);
			if (isNaN(quantite))
				quantite = 0;
			nbBouteilles += quantite * unitesLivrables;
		}
		
		if (nbBouteilles == 0)
			strErreur = erreurPanierVide;
		else if (nbBouteilles < 6)
			strErreur = erreurPanierInsuffisant + "\n" + erreurPanierInsuffisantComplement;
	}
	/*if (document.forms["panier"].elements["identifiant"] && document.forms["panier"].elements["code"] && (document.forms["panier"].elements["identifiant"].value != "" || document.forms["panier"].elements["code"].value != ""))
	{
		if (document.forms["panier"].elements["identifiant"].value == "")
			strErreur += (strErreur != "" ? "\n" : "")+erreurIdentifiant;
		if (document.forms["panier"].elements["code"].value == "")
			strErreur += (strErreur != "" ? "\n" : "")+erreurCode;
	}*/
	
	if (strErreur != "")
	{
		alert(strErreur);
		return false;
	}
	return true;
}


/******************************
*
*	Coordonnées
*
******************************/

validerLogin = function()
{
	strErreur = "";
	if (document.forms["login"].elements["identifiant"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurIdentifiant;
	if (document.forms["login"].elements["code"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurCode;
	
	if (strErreur != "")
	{
		alert(strErreur);
		return false;
	}
	return true;
}
/*
*	validerCoordonnees()
*	verifie que les champs obligatoires sont remplis avant de passer a la page suivante
*/
erreurNomLivraison = "";
erreurPrenomLivraison = "";
erreurRueLivraison = "";
erreurCodePostalLivraison = "";
erreurVilleLivraison = "";
erreurPaysLivraison = "";
erreurEmailLivraison = "";
erreurConfirmation = "";
erreurConfirmationDifferente = "";
erreurLivraisonFranceUniquement = "";
validerCoordonnees = function()
{
	strErreur = "";
	if (document.forms["coordonnees"].elements["nom_facturation"].value == "")
		strErreur = erreurNomLivraison;
	if (document.forms["coordonnees"].elements["prenom_facturation"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurPrenomLivraison;
	if (document.forms["coordonnees"].elements["rue_facturation"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurRueLivraison;
	if (document.forms["coordonnees"].elements["code_postal_facturation"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurCodePostalLivraison;
	if (document.forms["coordonnees"].elements["ville_facturation"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurVilleLivraison;
	if (document.forms["coordonnees"].elements["pays_facturation"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurPaysLivraison;
	if (document.forms["coordonnees"].elements["email_facturation"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurEmailLivraison;
	else if (!EmailCheck(document.forms["coordonnees"].elements["email_facturation"].value))
		strErreur += (strErreur != "" ? "\n" : "")+erreurEmail;
	if (document.forms["coordonnees"].elements["email_livraison"].value != "" &&
			!EmailCheck(document.forms["coordonnees"].elements["email_livraison"].value))
		strErreur += (strErreur != "" ? "\n" : "")+erreurEmail;
	
	if (document.forms["coordonnees"].elements["identifiant"].value != "" || document.forms["coordonnees"].elements["code"].value != "" || document.forms["coordonnees"].elements["confirmation"].value != "")
	{
		if (document.forms["coordonnees"].elements["identifiant"].value == "")
			strErreur += (strErreur != "" ? "\n" : "")+erreurIdentifiant;
		if (document.forms["coordonnees"].elements["code"].value == "" || document.forms["coordonnees"].elements["confirmation"].value == "")
		{
			if (document.forms["coordonnees"].elements["code"].value == "")
				strErreur += (strErreur != "" ? "\n" : "")+erreurCode;
			if (document.forms["coordonnees"].elements["confirmation"].value == "")
				strErreur += (strErreur != "" ? "\n" : "")+erreurConfirmation;
		}
		else if (document.forms["coordonnees"].elements["code"].value != document.forms["coordonnees"].elements["confirmation"].value)
			strErreur += (strErreur != "" ? "\n" : "")+erreurConfirmationDifferente;
	}
	
	if (document.forms["coordonnees"].elements["nom_livraison"].value == "" && document.forms["coordonnees"].elements["prenom_livraison"].value == "" && document.forms["coordonnees"].elements["rue_livraison"].value == "" && document.forms["coordonnees"].elements["code_postal_livraison"].value == "" && document.forms["coordonnees"].elements["ville_livraison"].value == "" && document.forms["coordonnees"].elements["email_livraison"].value == "" && document.forms["coordonnees"].elements["telephone_livraison"].value == "" && document.forms["coordonnees"].elements["fax_livraison"].value == "" && document.forms["coordonnees"].elements["pays_facturation"].value.toLowerCase() != "france" && document.forms["coordonnees"].elements["pays_facturation"].value != "")
		strErreur += (strErreur != "" ? "\n\n" : "")+erreurLivraisonFranceUniquement;
	
	if (strErreur != "")
	{
		alert(strErreur);
		return false;
	}
	return true;
}

/******************************
*
*	Recapitulatif
*
******************************/

/*
*	validerRecap()
*	verifie que les CGV ont ete acceptees
*/
erreurAccepterCGV = "";
erreurAgeLegal = "";
validerRecap = function()
{
	strErreur = "";
	if (!document.forms["recap"].elements["acceptation"].checked)	
		strErreur = erreurAccepterCGV;
	if (!document.forms["recap"].elements["age_legal"].checked)	
		strErreur += (strErreur != "" ? "\n" : "")+erreurAgeLegal;
	
	if (strErreur != "")
	{
		alert(strErreur);
		return false;
	}
	return true;
}

/******************************
*
*	Contact
*
******************************/

/*
*	validerContact()
*	verifie que les champs obligatoires sont remplis avant de passer a la page suivante
*/
erreurNom = "";
erreurPrenom = "";
erreurEmailContact = "";
erreurTexte = "";
validerContact = function()
{
	strErreur = "";
	if (document.forms["contact"].elements["nom"].value == "")
		strErreur = erreurNom;
	if (document.forms["contact"].elements["prenom"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurPrenom;
	if (document.forms["contact"].elements["email"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurEmailContact;
	else if (!EmailCheck(document.forms["contact"].elements["email"].value))
		strErreur += (strErreur != "" ? "\n" : "")+erreurEmail;
	if (document.forms["contact"].elements["texte"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+erreurTexte;
	
	if (strErreur != "")
	{
		alert(strErreur);
		return false;
	}
	return true;
}

var ongletPanierOuvert = false;
function ongletPanier()
{
	document.getElementById("menu_onglet_panier_" + (!ongletPanierOuvert ? "ferme" : "ouvert")).style.display = "none";
	document.getElementById("menu_onglet_panier_" + (ongletPanierOuvert ? "ferme" : "ouvert")).style.display = "inline";
	document.getElementById("onglet_panier").style.display = ongletPanierOuvert ? "none" : "block";
	ongletPanierOuvert = !ongletPanierOuvert;
}

var meilleuresVentesRegionEnCours = "languedoc";
function menuMeilleuresVentes(region)
{
	document.getElementById("lien_meilleures_ventes_" + meilleuresVentesRegionEnCours).className = "";
	document.getElementById("meilleures_ventes_region_" + meilleuresVentesRegionEnCours).style.display = "none";
	document.getElementById("lien_meilleures_ventes_" + region).className = "selected";
	document.getElementById("meilleures_ventes_region_" + region).style.display = "block";
	meilleuresVentesRegionEnCours = region;
}

function affichageLiensBas(afficher)
{
	document.getElementById("afficher_liens_bas").style.display = afficher ? "none" : "inline";
	document.getElementById("masquer_liens_bas").style.display = afficher ? "inline" : "none";
	var conteneur = document.getElementById("conteneur_liens_bas");
	var divs = conteneur.getElementsByTagName("div");
	var height = 0;
	for (var i = 0; i < divs.length; ++i)
		height = Math.max(height, divs[i].offsetHeight);
	conteneur.style.height = (afficher ? height : 150) + "px";
	return false;
}

function afficherLiensBas()
{
	return affichageLiensBas(true);
}

function masquerLiensBas()
{
	return affichageLiensBas(false);
}

var arrayOnglet = new Array(
	"carte",
	"appellation",
	"domaine",
	"style",
	"prix"
);
function affichageOnglet(onglet, afficher)
{
	for (var i = 0; i < arrayOnglet.length; ++i)
	{
		var aMenuPrecedent = document.getElementById("lien_menu_" + arrayOnglet[i - 1]);
		var divMenu = document.getElementById("menu_" + arrayOnglet[i]);
		var divOnglet = document.getElementById("onglet_" + arrayOnglet[i]);
		var afficherOnglet = arrayOnglet[i] == onglet && afficher;
		if (aMenuPrecedent)
			aMenuPrecedent.className = (afficherOnglet ? "sans" : "avec") + "_bordure";
		if (divMenu)
			divMenu.style.display = afficherOnglet ? "none" : "block";
		if (divOnglet)
			divOnglet.style.display = afficherOnglet ? "block" : "none";
	}
	return false;
}

function afficherOnglet(onglet)
{
	return affichageOnglet(onglet, true);
}

function masquerOnglet(onglet)
{
	return affichageOnglet(onglet, false);
}