/******************************
*
*	check navigateur
*
******************************/
/*function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
	this.ie7=(this.ver.indexOf("MSIE 7")>-1)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6||this.ie7
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie || this.ns4 || this.ns6 || this.opera5)
	return this
}
var bsw=lib_bwcheck()*/
if(bsw.ie)
	displayTr = 'block';
else
	displayTr = 'table-row';

/******************************
*
*	Accueil
*
******************************/

/*
*	Kdo()
*	gestion de l'affichage du cadeau
*
*/
function kdoOn(){
	document.getElementById("kdo").style.display = "block";
	document.getElementById("imagedukdo").style.display = "block";
	document.getElementById("overlay").style.display = "block";
	//document.getElementById("texteKdo").innerHTML = '<img src="images/fr/texte_kdo.gif" alt="" width="374" height="138" border="0" style="margin:0px 15px 0 0;" />';
	document.getElementById("kdoSeul").innerHTML = 'Vous pouvez aussi recevoir cet article s&eacute;par&eacute;ment. <a href="javascript:;" onclick="kdoOnly();">Cliquez-ici</a>';
}
function kdoOff(){
	document.getElementById("kdo").style.display = "none";
	document.getElementById("overlay").style.display = "none";
}

function kdoOnly(){
	document.getElementById("imagedukdo").style.display = "none";
	document.getElementById("texteKdo").innerHTML = "<div style=\"text-align:left; color:black; font-size:16px; padding:30px 35px 0 35px;\">Si vous souhaitez recevoir votre cadeau sans commander, rédigez votre demande sur papier libre en joignant un chèque de 5€ pour participation aux frais de conditionnement et d'emballage. Votre cadeau vous parviendra dans les 2 mois. Un seau à Champagne original « l’Ice-Bag » dans la limite des stocks disponibles.</div>";
	document.getElementById("kdoSeul").innerHTML = "";
}

function jeuOn(){
	document.getElementById("jeu").style.display = "block";
	document.getElementById("overlay").style.display = "block";
}
function jeuOff(){
	document.getElementById("jeu").style.display = "none";
	document.getElementById("overlay").style.display = "none";
}

/*
*	overMenu(id)
*	gestion des rollover de la page d'accueil
*
*	- id : numéro de menu
*
*	listeImages : id => array(menu off, image off, menu on, image on)
*/
listeImages = Array();
index_menu_off = 0;
index_menu_on = 2;
index_image_off = 1;
index_image_on = 3;
overMenu = function(id)
{
	for (i = 0; i < listeImages.length; ++i)
	{
		document.getElementById("menu_"+i).src = listeImages[i][i == id ? index_menu_on : index_menu_off];
		document.getElementById("image_"+i).src = listeImages[i][i == id ? index_image_on : index_image_off];
	}
	return true;
}

/******************************
*
*	Produits : modification des quantites
*
******************************/
function displayCart(operator){
	// Mise en forme si remise privilege
	//var height_div = parseFloat(document.getElementById("fond_panier_centre").style.height);
	var height_ligne_remise = 34 + 1;
	var height_ajout_remise = 62;
	//var height_arrondis = 7 * 2;
	if(document.forms["confirmer_panier"]){
		/*if(parseInt(operator) == 0 && document.getElementById('total_remise').style.visibility == 'visible' && document.forms["confirmer_panier"].elements["cartons"].value >= 10){
			height_div += height_ligne_remise;
			//alert((height_ligne_produit * listeProduits.length));
			document.getElementById("fond_panier_centre").style.height = (height_div - height_arrondis)+"px";
			document.getElementById("panier").style.height =
				document.getElementById("fond_panier").style.height =
				document.getElementById("contenu_panier").style.height = (height_div - height_ajout_remise)+"px";
			document.getElementById("fond_total").style.height = (146 + height_ligne_remise - height_ajout_remise)+"px";
			alert(document.getElementById("fond_total").style.height);
		}*/
		// si on passe à 4 cartons
		if((document.forms["confirmer_panier"].elements["cartons"].value == 3 && parseInt(document.forms["confirmer_panier"].elements["cartons"].value) + parseInt(operator) == 4) || (parseInt(operator) == 0 && document.getElementById('total_remise').style.visibility == 'visible')){
			height_div += height_ligne_remise;
			//alert((height_ligne_produit * listeProduits.length));
			document.getElementById("fond_panier_centre").style.height = (height_div - height_arrondis)+"px";
			document.getElementById("panier").style.height =
				document.getElementById("fond_panier").style.height =
				document.getElementById("contenu_panier").style.height = height_div+"px";
			document.getElementById("fond_total").style.height = (146 + height_ligne_remise)+"px";
		}
		// si on passe à 3 cartons
		if(document.forms["confirmer_panier"].elements["cartons"].value == 4 && parseInt(document.forms["confirmer_panier"].elements["cartons"].value) + parseInt(operator) == 3){
			height_div -= height_ligne_remise;
			//alert((height_ligne_produit * listeProduits.length));
			document.getElementById("fond_panier_centre").style.height = (height_div - height_arrondis)+"px";
			document.getElementById("panier").style.height =
				document.getElementById("fond_panier").style.height =
				document.getElementById("contenu_panier").style.height = height_div+"px";
			document.getElementById("fond_total").style.height = 146+"px";
		}
		// si on passe à 10 cartons
		if(document.forms["confirmer_panier"].elements["cartons"].value == 9 && parseInt(document.forms["confirmer_panier"].elements["cartons"].value) + parseInt(operator) == 10){
			height_div -= height_ligne_remise;
			//alert((height_ligne_produit * listeProduits.length));
			document.getElementById("fond_panier_centre").style.height = (height_div - height_arrondis)+"px";
			document.getElementById("panier").style.height =
				document.getElementById("fond_panier").style.height =
				document.getElementById("contenu_panier").style.height = (height_div + height_ajout_remise)+"px";
			document.getElementById("fond_total").style.height = (146 + height_ligne_remise - height_ajout_remise)+"px";
		}
		// si on passe à 9 cartons
		if(document.forms["confirmer_panier"].elements["cartons"].value == 10 && parseInt(document.forms["confirmer_panier"].elements["cartons"].value) + parseInt(operator) == 9){
			height_div += height_ligne_remise;
			//alert((height_ligne_produit * listeProduits.length));
			document.getElementById("fond_panier_centre").style.height = (height_div - height_arrondis)+"px";
			document.getElementById("panier").style.height =
				document.getElementById("fond_panier").style.height =
				document.getElementById("contenu_panier").style.height = (height_div)+"px";
			document.getElementById("fond_total").style.height = (146 + height_ligne_remise)+"px";
		}
	}
}

function updateQty(idProd, operator){
	//alert(operator);
	qtyValue = document.getElementById(idProd).value;
	if(!qtyValue || isNaN(qtyValue))
		qtyValue = 0;
		document.getElementById(idProd).value = (parseInt(qtyValue) + parseInt(operator));
		if(document.getElementById(idProd).value < 0)
			document.getElementById(idProd).value = 0;
		//displayCart(operator);
}

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


function PopUpDesc(url)
{
	window.open("http://www.champagne-boizel.fr/boutique/"+url, "boizel", "height=500,width=650,scrollbars=Yes,resizable=Yes,screenX=20,left=20, screenY=20, top=20,alwaysRaised=1,z-lock=2");
	return false;
}


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

/*
*	setEntierPositif()
*	force la valeur de l'input à être un entier supérieur ou égal à zéro
*
*	- element : input
*/
setEntierPositif = function(element)
{
	if (isNaN(element.value) || element.value < 0)
		element.value = 0;
	return true;
}

/*
*	number_format()
*	version du 24/04/2008
*
*	Equivalent JavaScript de la fonction PHP number_format()
*	Retourne le nombre au format demande
*	Par defaut, le nombre est en notation anglaise (1234.5 => 1,234)
*
*	- nombre : nombre a afficher
*	- nbDecimales : nombre de decimales a afficher
*			valeur par defaut : 0
*	- sepDecimales : chaine de caracteres pour separer la partie entiere et la partie decimale
*			valeur par defaut : "."
*	- sepMilliers : chaine de caracteres pour separer les milliers
*			valeur par defaut : ","
*/
number_format = function(nombre, nbDecimales, sepDecimales, sepMilliers)
{
	// Valeurs par défaut
	if (nbDecimales == null || isNaN(nbDecimales) || nbDecimales < 0)
		nbDecimales = 0;
	if (sepDecimales == null)
		sepDecimales = ".";
	if (sepMilliers == null)
		sepMilliers = ",";
	
	// Variable pour le nombre de décimales
	arrondi = 1;
	for (var i = 0; i < nbDecimales; ++i)
		arrondi *= 10;
	
	// Calculs des décimales en arrondissant au nombre de décimales voulu
	entier = parseInt(nombre);
	decimal = nombre - entier;
	decimal_result = parseInt(Math.round(decimal * arrondi));
	
	// Séparation des milliers
	strEntier = entier + "";
	nbChiffres = 0;
	for (var i = strEntier.length - 1; i >= 0; --i)
	{
		if ((strEntier.length - i) % 4 == 0)
			strEntier =
				strEntier.substr(0, i + 1) +
				sepMilliers +
				strEntier.substr(i + 1, strEntier.length - (i + 1));
	}
	if (nbDecimales == 0)
		return strEntier;
	
	// Ajout des zéros pour respecter le nombre de décimales voulu
	strDecimales = decimal_result + "";
	while(strDecimales.length < nbDecimales)
		strDecimales += "0";
	
	return strEntier + sepDecimales + strDecimales;
}

/*
*	calculTotalPanier()
*	calcule le total TTC en fonction du contenu du panier
*
*	- id : id du produit
*/
listeProduits = Array();
nbOfferts = Array();
contenantFDP = Array();
nbCartons = Array();
remiseValue = Array(0, 0, 0, 0, 18.30, 22.90, 36.00, 42.00, 60.00, 67.50, 90.00);
var totalCartons;
calculTotalPanier = function(id)
{
	if (id != null)
		setEntierPositif(document.forms["confirmer_panier"].elements["quantite["+id+"]"]);
	var total = 0;
	var fdp = 15;
	var totalRemise = 0;
	var checkCartons = document.forms["confirmer_panier"].elements["cartons"].value;
	totalCartons = 0;
	nbContenant = Array();
	for (var i = 0; i < listeProduits.length; ++i)
	{
		quantite = document.forms["confirmer_panier"].elements["quantite["+listeProduits[i]+"]"].value;
		prix = document.forms["confirmer_panier"].elements["prix["+listeProduits[i]+"]"].value;
		if (nbOfferts[listeProduits[i]])
			quantite -= nbOfferts[listeProduits[i]];
		if (quantite < 0)
			quantite = 0;
		// mise a jour remise
		if(document.forms["confirmer_panier"].elements["remiseProd["+listeProduits[i]+"]"]){
			remise = document.forms["confirmer_panier"].elements["remiseProd["+listeProduits[i]+"]"].value;
			remise = Math.abs(remise);
			if(remise > 0){
				prix = parseFloat(prix) + parseFloat(remise);
				totalRemise += parseFloat(remise) * quantite;
				//alert(totalRemise);
				if(document.getElementById('remise_'+listeProduits[i]))
					document.getElementById('remise_'+listeProduits[i]).innerHTML = '-' + number_format(totalRemise, 2, ",", " ") + '&nbsp;&euro;&nbsp;TTC';
			}
		}
		//alert(totalRemise);
		totalProduit = (prix) * quantite;
		//alert(totalProduit);
		// mise a jour sous-total par produit commande
		document.getElementById('total_'+listeProduits[i]).innerHTML = number_format(totalProduit, 2, ",", " ");
		total += totalProduit;
		/*if(totalRemise)
			total -= totalRemise;*/
		minimum = document.forms["confirmer_panier"].elements["minimum["+listeProduits[i]+"]"].value;
		contenant = document.forms["confirmer_panier"].elements["contenant["+listeProduits[i]+"]"].value;
		nbContenant[contenant] = (nbContenant[contenant] ? nbContenant[contenant] : 0) + minimum * quantite;
		if (nbContenant[contenant] >= contenantFDP[contenant])
			fdp = 0;
		// mise a jour total de cartons pour remise privilege
		if(checkCartons){
			if(document.forms["confirmer_panier"].elements["unit_liv["+listeProduits[i]+"]"]){
				if(document.forms["confirmer_panier"].elements["unit_liv["+listeProduits[i]+"]"].value > 0){
					// nombre de cartons
					nbCartons[listeProduits[i]] = parseFloat(quantite) * parseFloat(document.forms["confirmer_panier"].elements["unit_liv["+listeProduits[i]+"]"].value);
					totalCartons = parseFloat(totalCartons) + parseFloat(nbCartons[listeProduits[i]]);
					//alert("cartons = " + checkCartons);
					document.forms["confirmer_panier"].elements["cartons"].value = totalCartons;
					var totalRemisePrivilege = 0;
					/*for(var n = 4; n < 11; n++){
						if(n >= totalCartons){
							totalRemisePrivilege = parseFloat(remiseValue[n]);
						}
					}*/
					
					if(totalCartons < 4){
						
						//totalRemisePrivilege = parseFloat(remiseValue[4]);
						document.getElementById('privilege').innerHTML = 4 - totalCartons;
						document.getElementById("txtPrivilege").innerHTML = "bénéficiez de la <u>remise privilège</u> de";
						document.getElementById('total_remise').style.display = 'none';
						document.getElementById('total_remise').style.visibility = 'hidden';
						document.getElementById('rem_privilege').style.display = 'block';
						document.getElementById('rem_privilege').style.visibility = 'visible';
						//alert(totalRemisePrivilege);
						document.getElementById("rem_total1").innerHTML = number_format(remiseValue[4], 2, ",", " ")+"&nbsp;&euro;&nbsp;TTC";
						document.getElementById("rem_total2").innerHTML = number_format(remiseValue[4], 2, ",", " ");
						//total = parseFloat(total) - parseFloat(totalRemisePrivilege);
						//alert(total);
					}
					else if(totalCartons >= 4 && totalCartons <= 10){
						
						document.getElementById('privilege').innerHTML = 1;
						document.getElementById("txtPrivilege").innerHTML = "votre <u>remise privilège</u> sera portée à";
						//alert(remiseValue[totalCartons]);
						totalRemisePrivilege += parseFloat(remiseValue[totalCartons]);
						
						if(totalCartons < 10){
							document.getElementById('line_privilege').style.display = displayTr;
							document.getElementById('rem_privilege').style.display = 'block';
							document.getElementById('rem_privilege').style.visibility = 'visible';
							document.getElementById("rem_total2").innerHTML = number_format(remiseValue[totalCartons+1], 2, ",", " ");
						}
						else{
							document.getElementById('line_privilege').style.display = 'none';
							document.getElementById('rem_privilege').style.display = 'none';
							document.getElementById('rem_privilege').style.visibility = 'hidden';
							//document.getElementById("rem_total2").innerHTML = number_format(remiseValue[totalCartons], 2, ",", " ");
						}
						document.getElementById('total_remise').style.display = displayTr;
						document.getElementById('total_remise').style.visibility = 'visible';
						//alert(totalRemisePrivilege);
						document.getElementById("rem_total1").innerHTML = number_format(totalRemisePrivilege, 2, ",", " ")+"&nbsp;&euro;&nbsp;TTC";
						//total = parseFloat(total) - parseFloat(totalRemisePrivilege);
						//alert(total);
					}
					else if(totalCartons > 10){
						totalRemisePrivilege = parseFloat(remiseValue[10]);
						
						document.getElementById('rem_privilege').style.display = 'none';
						document.getElementById('rem_privilege').style.visibility = 'hidden';
						document.getElementById('total_remise').style.display = displayTr;
						document.getElementById('total_remise').style.visibility = 'visible';
						//alert(totalRemisePrivilege);
						document.getElementById("rem_total1").innerHTML = number_format(totalRemisePrivilege, 2, ",", " ")+"&nbsp;&euro;&nbsp;TTC";
						document.getElementById("rem_total2").innerHTML = number_format(totalRemisePrivilege, 2, ",", " ");
						//total = parseFloat(total) - parseFloat(totalRemise);
						//alert(total);
					}
					//alert(totalCartons);
				}
			}
		}
	}
	//alert(totalCartons);
	//alert(totalRemise);
	//alert(totalRemisePrivilege);
	if(totalCartons < 2){
		document.getElementById('condition_fraisport').innerHTML = "Ajoutez "+ (2 - totalCartons) +" carton(s) à votre commande et le port vous est offert.<br />";
	}
	else{
		document.getElementById('condition_fraisport').innerHTML = "";
		fdp = 0;
	}
	
	if(totalRemise > 0)
		total -= parseFloat(totalRemise);
	if(totalRemisePrivilege > 0)
		total -= parseFloat(totalRemisePrivilege);
	
	if (total <= 0){
		total = 0;
		fdp = 0;
	}
	total += fdp;
	document.getElementById("fdp").innerHTML =
		totalCartons >=2 ? "offerts" : number_format(fdp, 2, ",", " ")+"&nbsp;&euro;&nbsp;TTC";	
	document.getElementById("total").innerHTML = number_format(total, 2, ",", " ");
	document.forms["confirmer_panier"].elements["total"].value = total;
	return true;
}

/*
*	supprimerProduit()
*	supprime un produit du panier (affichage seulement, le produit reste en session côté serveur)
*
*	- id : id du produit
*/
height_div = 0;
height_ligne_produit = 80 + 1;
height_arrondis = 7 * 2;
supprimerProduit = function(id)
{
	if (id != null)
	{
		if (!confirm("Êtes-vous sûr de vouloir supprimer ce produit de votre panier ?"))
			return false;
		//document.getElementById("fond_"+id).style.display =
			//document.getElementById("fond_trait_"+id).style.display = 
			document.getElementById("contenu_"+id).style.display = 
			document.getElementById("contenu_trait_"+id).style.display = "none";
			
		height_div -= height_ligne_produit;
		//document.getElementById("fond_panier_centre").style.height = (height_div - height_arrondis)+"px";
		//document.getElementById("panier").style.height =
			//document.getElementById("fond_panier").style.height =
			//document.getElementById("contenu_panier").style.height = height_div+"px";
		
		document.forms["confirmer_panier"].elements["quantite["+id+"]"].value = 0;
		return calculTotalPanier(id);
	}
	return false;
}

recalculer = function()
{
	document.forms["confirmer_panier"].action = "panier.php";
	document.forms["confirmer_panier"].submit();
	return true;
}

/*
*	validerPanier()
*	vérifie que le panier n'est pas vide avant de passer à la page suivante
*/
validerPanier = function()
{
	if (document.forms["confirmer_panier"].elements["total"].value == 0)
	{
		alert("Votre panier est vide");
		return false;
	}
	else if (totalCartons > 10)
	{
		alert("Vous ne pouvez pas commander plus de 10 cartons.\nMerci de prendre contact avec Champagne Boizel");
		return false;
	}
	document.forms["confirmer_panier"].action = "coordonnees.php";
	return true;
}

/*
*	continuerAchats()
*	renvoie à la page produits pour mettre à jour le panier côté serveur (session)
*/
continuerAchats = function()
{
	document.forms["confirmer_panier"].action = "produits.php";
	document.forms["confirmer_panier"].submit();
	//return true;
}


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

/*
*	validerCoordonnees()
*	vérifie que les champs obligatoires sont remplis avant de passer à la page suivante
*/
validerCoordonnees = function()
{
	strErreur = "";
	// facturation
	if (document.forms["coordonnees"].elements["nom_fact"].value == "")
		strErreur = "- Le champ \"Nom\" (facturation) est obligatoire";
	if (document.forms["coordonnees"].elements["prenom_fact"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Prénom\" (facturation) est obligatoire";
	if (document.forms["coordonnees"].elements["email_fact"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Email\" (facturation) est obligatoire";
	else if (!EmailCheck(document.forms["coordonnees"].elements["email_fact"].value))
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Email\" (facturation) n'est pas valide";
	if (document.forms["coordonnees"].elements["adresse1_fact"].value == "" &&
		document.forms["coordonnees"].elements["adresse2_fact"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Adresse\" (facturation) est obligatoire";
	if (document.forms["coordonnees"].elements["codepostal_fact"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Code postal\" (facturation) est obligatoire";
	if (document.forms["coordonnees"].elements["ville_fact"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Ville\" (facturation) est obligatoire";
	if (document.forms["coordonnees"].elements["pays_fact"].value == "")
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Pays\" (facturation) est obligatoire";
		
	// livraison
	if (
		(document.forms["coordonnees"].elements["pays_fact"].value != "France" && document.forms["coordonnees"].elements["pays_fact"].value != "france" && document.forms["coordonnees"].elements["pays_fact"].value != "FRANCE")
		 && 
		((document.forms["coordonnees"].elements["nom_liv"].value == "" && document.forms["coordonnees"].elements["prenom_liv"].value == "" || document.forms["coordonnees"].elements["societe_liv"].value == "") && (document.forms["coordonnees"].elements["adresse1_liv"].value == "" && document.forms["coordonnees"].elements["adresse2_liv"].value == "") && document.forms["coordonnees"].elements["codepostal_liv"].value == "" && document.forms["coordonnees"].elements["ville_liv"].value == "")
	)
		strErreur += (strErreur != "" ? "\n" : "")+"- La livraison ne peut se faire qu'en France métropolitaine.\n   Merci de remplir l'adresse de livraison en ce sens.";
	
	if (document.forms["coordonnees"].elements["email_liv"].value != "" &&
			!EmailCheck(document.forms["coordonnees"].elements["email_liv"].value))
		strErreur += (strErreur != "" ? "\n" : "")+"- Le champ \"Email\" (livraison) n'est pas valide";
	
	if (strErreur != "")
	{
		alert(strErreur);
		return false;
	}
	return true;
}


/******************************
*
*	Récapitulatif
*
******************************/

/*
*	validerRecap()
*	vérifie que les CGV ont été acceptées
*/
validerRecap = function()
{
	if (!document.forms["recap"].elements["acceptation"].checked)	
	{
		alert("Vous devez accepter les conditions générales de vente.");
		return false;
	}
	return true;
}