/*---------------*/
/*-- FRAMEWORK --*/
/*---------------*/

/**
 * Supprime les espaces initiaux et finaux d'une chaine de caractère
 */
String.prototype.RLTrim = function ()
{
 return this.replace(/(^\s*)|(\s*$)/g,"");
}

/**
 * Vérification par l'absurde de la validité d'une date passé en paramètre
 */
function DateValide(p_jour, p_mois, p_annee)
{
	var ok=1;

	if ((isNaN(p_jour))||(p_jour<1)||(p_jour>31)) ok=0;
	if ((isNaN(p_mois))||(p_mois<1)||(p_mois>12)) ok=0;
	if (isNaN(p_annee)) ok=0;

	// Si le format de la date est valide
	if (ok==1)
	{
		var date2=new Date(p_annee,p_mois-1,p_jour); // Les mois sont étallonés de 0 à 11 !! attention ! 
		jour2=date2.getDate();
		mois2=date2.getMonth()+1;
		annee2=date2.getYear();
		if (annee2<=100) annee2=1900+annee2;
		if ((p_jour!=jour2)||(p_mois!=mois2)||(p_annee!=annee2)) ok=0;
	}
	return ok;
}

/*-----------------------*/
/*-- GESTION DES MENUS --*/
/*-----------------------*/

/**
 * Fait apparaitre ou disparaitre un sous menu, puis sauvegarde l'état
 */
function SwitchMenu(p_id)
{
	var menu = document.getElementById(p_id);
	if (menu != null)
	{
		if (menu.style.display=='block') menu.style.display='none';
		else menu.style.display='block'
	}
	// On sauvegarde le menu complet
	SaveMenu();
}

/**
 * Sauvegarde l'état du menu dans un cookie
 */
function SaveMenu()
{
	// Génération du menu
	var stringMenu="";
	var lstMenu = document.getElementById('menu').getElementsByTagName('dd');
	var i = lstMenu.length - 1;
	for(i; i >= 0; i--)
	{
		stringMenu=stringMenu+lstMenu[i].id+":"+lstMenu[i].style.display+"&";
	}

	var exdate=new Date();
	exdate.setDate(exdate.getDate()+60);
	document.cookie="menu="+stringMenu+";expires="+exdate.toGMTString();
}

/*----------------------------*/
/*-- GESTION DU PANIER AJAX --*/
/*----------------------------*/

var Panier =
{
	AjouterProduit: function(p_id_produit)
	{
		// On récupère les différentes variables
		var id_option = $(p_id_produit + '_id_option');
		if (id_option) id_option = id_option.value;
		var quantite = $(p_id_produit + '_quantite').value;
		var personnalisation = $(p_id_produit + '_personnalisation');
		if (personnalisation) personnalisation = personnalisation.value;
		var id_liste_cadeaux = $(p_id_produit + '_id_liste_cadeaux');
		if (id_liste_cadeaux) id_liste_cadeaux = id_liste_cadeaux.value;
		var prenom_ami = $(p_id_produit + '_prenom_ami');
		if (prenom_ami) prenom_ami = prenom_ami.value;

		// On lance l'effet d'attente
		EffetAjouterPanier(p_id_produit);

		// On lance la requette Ajax
		new Ajax.Request('inc/panier/ajouter_produit.php',
		{
			method:'post',
			parameters:
			{
				id_produit: p_id_produit,
				id_option: id_option,
				quantite: quantite,
				personnalisation: personnalisation,
				id_liste_cadeaux: id_liste_cadeaux,
				prenom_ami: prenom_ami
			},

			onSuccess: function(p_transport, p_json)
			{
				if (p_json)
				{
					if (p_json.erreur == '1')
					{
						EffetAjouterPanierKO(p_json);
					}

					if (parseInt(p_json.quantite_demande) > parseInt(p_json.quantite_max))
					{
						$('popup_ko_nb_produit_panier').innerHTML = p_json.quantite_max;
						EffetAjouterPanierKO(p_json);
					}
					else EffetAjouterPanierOK(p_json);

					// Mise a jours du mini panier
					if (p_json.rechargerPanier) $('monPanier').innerHTML = p_json.monPanier;
					else
					{
						var elmtTotalTTC = $('monPanier.totalTTC');
						var elmtTotalHT = $('monPanier.totalHT');
						var element = $('monPanier.' + p_json.tabKey);
						var monPanierLstArticles = $('monPanier.lstArticles');

						// Si le produit est déja dans le panier, alors on modifie la ligne uniquement, sinon on ajoute la ligne + le span qui va avec
						if (element) element.innerHTML = p_json.monPanier;
						else if (monPanierLstArticles) monPanierLstArticles.innerHTML += '<span id="monPanier.' + p_json.tabKey + '">'+p_json.monPanier+'</span>';
						if (elmtTotalTTC) elmtTotalTTC.innerHTML = p_json.totalTTC;
						if (elmtTotalHT) elmtTotalHT.innerHTML = p_json.totalHT;
					}
				}
			}
		});
	},

	Sauvegarder: function()
	{
		new Ajax.Request('inc/panier/sauvegarder.php',
		{
			method:'post',
			onSuccess: function(p_transport, p_json) { alert("Les produits contenus dans votre panier ont été sauvegardés\n\nAttention : le code réduction et le pays de livraison ne sont pas sauvegardés."); }
		});
	},

	Charger: function()
	{
		new Ajax.Request('inc/panier/charger.php',
		{
			method:'post',
			onSuccess: function(p_transport, p_json) { if (p_json) { document.location.href='index.php?page=panier'; } }
		});
	}
}

function ConnexionClient(p_location)
{
	var identifiant=$(p_location + '_identifiant');
	var mot_de_passe=$(p_location + '_mot_de_passe');

	var erreur = '';
	if (!(identifiant.value.length > 0)) erreur += "- Veuillez saisir votre Identifiant.\n";
	if (!(mot_de_passe.value.length > 0)) erreur += "- Veuillez saisir votre mot de passe.\n";
	if (erreur != '')
	{
		alert("Vous ne pouvez pas vous connecter pour les raisons suivantes :\n" + erreur);
		return;
	}

	new Ajax.Request('inc/ajax.php',
	{
		method:'post',
		parameters:
		{
			pageAction: 'connexionClient',
			mot_de_passe: mot_de_passe.value,
			identifiant: identifiant.value
		},

		onSuccess: function(p_transport, p_json)
		{
			if (p_json) 
			{
				if (p_json.connecte) document.location.href=p_json.urlRetour;
				else alert(p_json.msgErreur);
			}
		}
	});
}

function AffichePanier(p_params)
{
	document.location.href='index.php?page=panier' + p_params;
}

function SwitchVisibility(p_id)
{
	var element = $(p_id);
	if (element.style.display == 'block')
	{
		element.style.display = 'none';
		element.style.visibility = 'hidden';
	}
	else
	{
		element.style.display = 'block';
		element.style.visibility = 'visible';
	}
/*
	if (document.getElementById(p_id).style.display == 'block') document.getElementById(p_id).style.display = 'none';
	else document.getElementById(p_id).style.display = 'block';
*/
}

/**
 * Pourquoi ne pas utiliser SwitchVisibility ???
 */
function AffichePancarte(p_nomPancarte)
{
	document.getElementById(p_nomPancarte).style.visibility = 'visible';
}

/**
 * Pourquoi ne pas utiliser SwitchVisibility ???
 */
function CachePancarte(p_nomPancarte)
{
	document.getElementById(p_nomPancarte).style.visibility = 'hidden';
}

/**
 * Gère l'ajout d'un produit dans le panier
 */
function ConfirmeAjoutProduit(p_formulaire, quantite)
{
	if (quantite < 1) 
	{
		alert('La quantité doit être supérieure ou égale à 1 pour pouvoir commander ce produit. : qte=' + quantite);
		return;
	}

	p_formulaire.actionPanier.value = 'ajouter_produit';
	p_formulaire.submit();
}

/**
 *
 */
function ModifyDetailQuantite(p_formulaire, operation)
{
	if(operation == 'reset')
	{
		p_formulaire.quantite.value = 1;
	}
	if(operation == 'plus')
	{
		if (p_formulaire.option_quantite.value == '')
		{
			if (parseInt(p_formulaire.quantite.value)+1 > p_formulaire.quantite_totale.value) 
			{
				alert("Le produit n'est pas disponible en plus d'exemplaires.");
				return;
			}
		}
		else
		{
			//on parse l'option
			var qte = p_formulaire.option_quantite.value;
			qte = qte.substring(qte.lastIndexOf(':')+1, qte.length);
			if (parseInt(p_formulaire.quantite.value)+1 > qte)
			{
				alert("Le produit n'est pas disponible en plus d'exemplaires.");
				return;
			}

		}
		p_formulaire.quantite.value++;
	}
	else if(operation == 'moins')
	{
		if (parseInt(p_formulaire.quantite.value)-1 < 1)
		{
			alert('Vous ne pouvez pas commander moins d\'un exemplaire de ce produit.');
			return;
		}
		p_formulaire.quantite.value--;
	}
}

function ModifyQuantiteVoulue(p_widget, p_valeur)
{
	var nouvelleValeure = parseInt(p_widget.value)+p_valeur;
	if (nouvelleValeure < 1) nouvelleValeure=1;
	p_widget.value = nouvelleValeure;
}

function MiseAJourPapierCadeau(checkBox, formulaire, p_qte, p_pu_papier_cadeau)
{
	var papier_cadeau = ConvertFromFloat(formulaire.papier_cadeau.value);
	if (checkBox.checked)
	{
		formulaire.nb_papier_cadeau.value=parseInt(formulaire.nb_papier_cadeau.value)+p_qte;
		papier_cadeau+=(p_pu_papier_cadeau*100)*p_qte;
	}
	else 
	{
		formulaire.nb_papier_cadeau.value=parseInt(formulaire.nb_papier_cadeau.value)-p_qte;
		papier_cadeau-=(p_pu_papier_cadeau*100)*p_qte;
	}
	formulaire.papier_cadeau.value = ConvertToFloat(papier_cadeau);
	MiseAJourTotalCommande(formulaire);
}

// Evite les problemes d'arrondi
function ConvertFromFloat(number)
{
	if (number.substr(0, 2) == '0.') return parseInt(number.replace('0.', ''));
	else return parseInt(number.replace('.', ''));
}

// Evite les problemes d'arrondi
function ConvertToFloat(number)
{
	number = String(number);
	if (number.length >=3) return number.substr(0, number.length - 2) + '.' + number.substr(number.length-2, 2);
	else if (number.length >=2 ) return '0.' + number.substr(number.length-2, 2);
	else return '0.0' + number;
	
}

function test1(formulaireIn, formulaireOut)
{
//	formulaireOut.checknewlivraison.checked = true; 
//	SwitchNewLivraison(formulaireOut);
	formulaireOut.nom_livraison.value = formulaireIn.nom_livraison_cadeau.value;
	formulaireOut.prenom_livraison.value = formulaireIn.prenom_livraison_cadeau.value;
	formulaireOut.societe_livraison.value = formulaireIn.societe_livraison_cadeau.value;
	formulaireOut.rue1_livraison.value = formulaireIn.rue1_livraison_cadeau.value;
	formulaireOut.rue2_livraison.value = formulaireIn.rue2_livraison_cadeau.value;
	formulaireOut.code_postal_livraison.value = formulaireIn.code_postal_livraison_cadeau.value;
	formulaireOut.ville_livraison.value = formulaireIn.ville_livraison_cadeau.value;

	var size = formulaireOut.elements['pays_livraison'].length
	var i=0;
	while(i<size)
	{
		if (formulaireOut.elements['pays_livraison'][i].value == formulaireIn.id_pays_livraison_cadeau.value)
		{
			formulaireOut.elements['pays_livraison'][i].selected = true;
		}
		i++;
	}
}

function ChangeItemEnableStyle(enabled, item)
{
	var background_color = "#EDDAC0";
	var text_color = "#000000";

	if (!enabled)
	{
		text_color = "#444444";
		background_color = "#999999";
	}

	item.disabled = !enabled;
	item.style.backgroundColor = background_color;
	item.style.color = text_color;
}

function CheckInscriptionNewsletter()
{
	var erreur = '';
	if ($('newsletter_prenom').value == '') erreur += "- Veuillez renseigner votre prenom.\n";
	if ($('newsletter_prenom').value == 'votre prénom') erreur += "- Veuillez renseigner votre prenom.\n";
	if (!$('newsletter_email').value.length > 0) erreur += "- Veuillez renseigner votre email.\n";
	else if (!CheckValideEmail($('newsletter_email').value)) erreur += "- l'email saisi n'est pas valide.\n";

	if (erreur != '') 
	{
		alert("Vous devez renseigner les informations suivantes pour vous inscrire à la newsletter :\n" + erreur);
		return false;
	}
	else return true;
}

/*--------------------------------*/
/*-- VALIDATIONS DE FORMULAIRES --*/
/*--------------------------------*/

function ValideFormDateNaissance(formulaire)
{
	// On teste en cas de date nulle
	if (isEmpty(formulaire.jour_naissance.value) && isEmpty(formulaire.mois_naissance.value) && isEmpty(formulaire.annee_naissance.value))
	{
		formulaire.submit();
		return;
	}

	if (!DateValide(formulaire.jour_naissance.value, formulaire.mois_naissance.value, formulaire.annee_naissance.value))
	{
		alert("La date saisie n'est pas valide."); 
		return;
	}
	else formulaire.submit();
}

/**
 * Fonction de validation de l'étape 1 de la commande
 */
function ValiderAdresses(formulaire)
{
	var erreur = '';

	if (!(formulaire.elements['nom'].value.length > 0)) erreur += "- Veuillez renseigner le nom.\n";
	if (!(formulaire.elements['prenom'].value.length > 0)) erreur += "- Veuillez renseigner le prénom.\n";
	if (!(formulaire.elements['rue1'].value.length > 0)) erreur += "- Veuillez renseigner la rue.\n";
	if (!(formulaire.elements['code_postal'].value.length > 0)) erreur += "- Veuillez renseigner le code postal.\n";
	if (!(formulaire.elements['ville'].value.length > 0)) erreur += "- Veuillez renseigner la ville.\n";

	if (erreur != '') { alert("Vous devez renseigner les informations suivantes pour passer à la prochaine étape :\n" + erreur); return; }

	formulaire.submit();
}

function ValideFormEcrireAvisProduit(formulaire)
{
	var erreur = '';
	if (!(formulaire.avis.value.length > 0)) erreur += "- Vous n'avez pas renseigné le champ Message.\n";
	
	if (erreur != '') { alert("Votre avis sur le produit n'a pas été pris en compte pour la raison suivante :\n" + erreur); return; }

	formulaire.submit();
}

function ValideCoordonneesClient()
{
	var erreur = '';

	if (!($('nom').value.length > 0)) erreur += "- Veuillez renseigner votre Nom de famille.\n";
	if (!($('prenom').value.length > 0)) erreur += "- Veuillez renseigner votre Prénom.\n";
	if (!($('rue1').value.length > 0)) erreur += "- Veuillez renseigner votre Adresse.\n";
	if (!($('code_postal').value.length > 0)) erreur += "- Veuillez renseigner votre Code Postal.\n";
	if (!($('ville').value.length > 0)) erreur += "- Veuillez renseigner votre Ville.\n";

	// Vérification des emails
	$('email').value = $('email').value.RLTrim();
	$('email_verification').value = $('email_verification').value.RLTrim();
	var email=$('email');
	var email_verification=$('email_verification');
	if (!(email.value.length > 0)) erreur += "- Veuillez renseigner votre email.\n";
	else if (!CheckValideEmail(email.value)) erreur += "- l'email saisi n'est pas valide.\n";
	else
	{
		// Si on décide d'une double vérification
		if (email_verification)
		{
			if (email_verification.value.length <= 0) erreur += "- Veuillez saisir l'email de vérification.\n";
			else if (email.value != email_verification.value) erreur += "- Les deux emails saisis sont différents.\n";
		}
	}

	if ($('identifiant') && !($('identifiant').value.length > 0)) erreur += "- Veuillez choisir votre Identifiant.\n";
	if($('mot_de_passe'))
	{
		if (!($('mot_de_passe').value.length > 0)) erreur += "- Veuillez choisir votre Mot de passe.\n";
		else if (!($('mot_de_passe').value.length > 5)) erreur += "- Votre mot de passe doit contenir au minimum 6 caractères.\n";
		else if ($('mot_de_passe').value != $('mot_de_passe_confirm').value) erreur += "- Les deux mots de passe que vous avez saisis sont différents.\n";
	}

	return erreur;
}

function ValideFormCreationCompte()
{
	var erreur = ValideCoordonneesClient();
	if (erreur != '') { alert("Votre compte ne peut être créé pour les raisons suivantes :\n" + erreur); return; }

	// FAIRE UNE SAUVEGARDE EN AJAX !!!!!
	$('fNouveauCompte').submit();
}

function ValideFormModifierCoordonnees()
{
	var erreur = ValideCoordonneesClient();
	if (erreur != '') { alert("Votre compte ne peut être modifié pour les raisons suivantes :\n" + erreur); return; }

	// FAIRE UNE SAUVEGARDE EN AJAX !!!!!
	$('fModifierCompte').submit();
}

function ValideFormContact(formulaire)
{
	var erreur = '';
	if (!(formulaire.nom.value.length > 0)) erreur += "- Veuillez renseigner votre Nom de famille.\n";
	if (!(formulaire.prenom.value.length > 0)) erreur += "- Veuillez renseigner votre Prénom.\n";

	if (!(formulaire.email.value.length > 0)) erreur += "- Veuillez renseigner votre email.\n";
	else if (!CheckValideEmail(formulaire.email.value)) erreur += "- l'email saisi n'est pas valide.\n";

	if (!(formulaire.message.value.length > 0)) erreur += "- Vous n'avez pas renseigné le champ Message.\n";

	// On recherche des eventuelles lien vers des sites.
	var message = formulaire.message.value.toLowerCase();
	var result = message.indexOf("http://");
	if (result != -1) erreur += "- Votre message ne doit pas contenir d'adresses Internet.\n";

	if (erreur != '')
	{
		alert("Votre message n'a pas été envoyé pour les raisons suivantes :\n" + erreur);
		return;
	}

	formulaire.submit();
}

function ValideFormConnexionCompte(formulaire)
{
//	var erreur = '';
//	if (!(formulaire.identifiant.value.length > 0)) erreur += "- Veuillez saisir votre Identifiant.\n";
//	if (!(formulaire.mot_de_passe.value.length > 0)) erreur += "- Veuillez saisir votre mot de passe.\n";
//	if (erreur != '') { alert("Vous ne pouvez pas vous connecter pour les raisons suivantes :\n" + erreur); return; }
	formulaire.submit();
}

function ValideFormEnvoyerSiteAmi(formulaire)
{
	var erreur = '';
	if (!(formulaire.votre_prenom.value.length > 0)) erreur += "- Veuillez renseigner votre prénom.\n";
	if (!(formulaire.votre_email.value.length > 0)) erreur += "- Veuillez renseigner votre email.\n";
	else if (!CheckValideEmail(formulaire.votre_email.value)) erreur += "- Votre email n'est pas valide.\n";
	if (!(formulaire.son_prenom.value.length > 0)) erreur += "- Veuillez renseigner le prénom de votre ami(e).\n";
	if (!(formulaire.son_email.value.length > 0)) erreur += "- Veuillez renseigner l'email de votre ami(e).\n";
	else if (!CheckValideEmail(formulaire.son_email.value)) erreur += "- L'email de votre ami n'est pas valide.\n";
	if (!(formulaire.message.value.length > 0)) erreur += "- Vous n'avez pas renseigné le champ Message.\n";

	// On recherche des eventuelles lien vers des sites.
	var message = formulaire.message.value.toLowerCase();
	var result = message.indexOf("http://");
	if (result != -1) erreur += "- Votre message ne doit pas contenir d'adresses Internet.\n";

	if (erreur != '') 
	{
		alert("Vous ne pouvez pas recommander ce site à un ami pour les raisons suivantes :\n" + erreur);
		return; 
	}

	formulaire.submit();
}

function ValideFormEnvoyerListeCadeauxAmi(formulaire)
{
	var erreur = '';
	if (!(formulaire.son_prenom.value.length > 0)) erreur += "- Veuillez renseigner le prénom de votre ami(e).\n";
	if (!(formulaire.son_email.value.length > 0)) erreur += "- Veuillez renseigner l'email de votre ami(e).\n";
	else if (!CheckValideEmail(formulaire.son_email.value)) erreur += "- L'email de votre ami n'est pas valide.\n";
	if (!(formulaire.message.value.length > 0)) erreur += "- Vous n'avez pas renseigné le champ Message.\n";

	if (erreur != '') { alert("Vous ne pouvez pas envoyer votre liste de cadeaux à un ami pour les raisons suivantes :\n" + erreur); return; }

	formulaire.submit();
}

function ValideFormEnvoyerProduitAmi(formulaire)
{
	var erreur = '';
	if (!(formulaire.votre_prenom.value.length > 0)) erreur += "- Veuillez renseigner votre prénom.\n";
	if (!(formulaire.votre_email.value.length > 0)) erreur += "- Veuillez renseigner votre email.\n";
	else if (!CheckValideEmail(formulaire.votre_email.value)) erreur += "- Votre email n'est pas valide.\n";
	if (!(formulaire.son_prenom.value.length > 0)) erreur += "- Veuillez renseigner le prénom de votre ami(e).\n";
	if (!(formulaire.son_email.value.length > 0)) erreur += "- Veuillez renseigner l'email de votre ami(e).\n";
	else if (!CheckValideEmail(formulaire.son_email.value)) erreur += "- L'email de votre ami n'est pas valide.\n";
	if (!(formulaire.message.value.length > 0)) erreur += "- Vous n'avez pas renseigné le champ Message.\n";

	if (erreur != '') { alert("Vous ne pouvez pas recommander ce produit à un ami pour les raisons suivantes :\n" + erreur); return; }

	formulaire.submit();
}


/*------------------------*/
/*-- GESTION DES POPUPS --*/
/*------------------------*/

/**
 * Cette fonction permet d'afficher une image dans une nouvelle fenetre
 */
function AfficheImage(photo, id_produit)
{
	var hauteurFenetre=800;
	var largeurFenetre=600;
	if (document.body)
	{
		largeurFenetre = (document.body.clientWidth);
		hauteurFenetre = (document.body.clientHeight);
	}
	var px = (largeurFenetre-550)/2;
	var py = (hauteurFenetre-550)/2;
	window.open('/inc/communs/agrandissement_photo.php?photo=' + photo + '&id_produit=' + id_produit , 'photo', 'width=550, height=550, resizable=0, status=0, toolbar=0, location=0, directories=0, scrollbars=0, copyhistory=0, menubar=0, titlebar=0, toolbar=0, top='+py+', left='+px);
}

/**
 * Cette fonction permet d'ouvrir un popup dans lequel on lance le resultat d'un formulaire
 */
function PopupFormulaire(p_formulaire, nom_fenetre, largeur, hauteur)
{
	var hauteurFenetre=800;
	var largeurFenetre=600;
	if (document.body)
	{
		largeurFenetre = (document.body.clientWidth);
		hauteurFenetre = (document.body.clientHeight);
	}
	var px = (largeurFenetre-largeur)/2;
	var py = (hauteurFenetre-hauteur)/2;

	window.open('/inc/communs/dummy.php', nom_fenetre, 'width='+largeur+', height='+hauteur+', resizable=0, status=0, toolbar=1, location=0, directories=0, scrollbars=1, copyhistory=0, menubar=1, titlebar=0, toolbar=0, top='+py+', left='+px);
	p_formulaire.target = nom_fenetre;
	p_formulaire.submit();
}

/**
 * Cette fonction permet d'afficher une image dans une nouvelle fenetre
 */
function PopupMotDePassePerdu()
{
	var hauteurFenetre=800;
	var largeurFenetre=600;
	if (document.body)
	{
		largeurFenetre = (document.body.clientWidth);
		hauteurFenetre = (document.body.clientHeight);
	}
	var px = (largeurFenetre-300)/2;
	var py = (hauteurFenetre-300)/2;

	window.open('perte_mot_de_passe.php' , 'mot_de_passe', 'width=300, height=350, resizable=0, status=0, location=0, directories=0, scrollbars=0, copyhistory=0, menubar=0, titlebar=0, toolbar=0, top='+py+', left='+px);
}

function Popup(chemin, titre, hauteur, largeur)
{
	//centrage de la popup
	var hauteurFenetre=800;
	var largeurFenetre=600;
	if (document.body)
	{
		largeurFenetre = (document.body.clientWidth);
		hauteurFenetre = (document.body.clientHeight);
	}
	var px = (largeurFenetre-300)/2;
	var py = (hauteurFenetre-300)/2;
  var params = 'width='+largeur+', height='+hauteur+', resizable=0, status=0, location=0, directories=0, scrollbars=0, copyhistory=0, menubar=0, titlebar=0, toolbar=0, top='+Math.round(py)+', left='+Math.round(px);

	//ouverture de la popup
	window.open(chemin, '', params);
}


function PopupCartesVirtuelles()
{
	//centrage de la popup
	var hauteurFenetre=800;
	var largeurFenetre=600;
	if (document.body)
	{
		largeurFenetre = (document.body.clientWidth);
		hauteurFenetre = (document.body.clientHeight);
	}
	var px = (largeurFenetre-300)/2;
	var py = (hauteurFenetre-300)/2;

	//ouverture de la popup
	window.open('http://alexxi.free.fr/cartesvirtuelles/cartes_virtuelles.php' , '', 'width=700, height=1000, resizable=0, status=0, toolbar=0, location=0, directories=0, scrollbars=1, copyhistory=0, menubar=0, titlebar=0, toolbar=0, top='+py+', left='+px);
}


/**
 * Retourne vrai si la chaine est de taille comprise entre min et max
 */
function isLong(chaine,min,max) 
{
   return (chaine.length >= min) && (chaine.length <= max);
}

/**
 * Retourne vrai si la chaine est vide
 */
function isEmpty(chaine) 
{
   return (chaine == "");
}

/**
 * Fonction qui convertit la chaine passé en paramètre en flottant avec un .
 * Si la conversion échoue, retourne false.
 
function ConvertToFloat(chaine)
{
	var temp="";
	var nbVirgules=0;
	for (i=chaine.value.length-1; i>=0;i--) 
	{
		ch = chaine.value.charAt(i);
		if (ch>='0' && ch<='9') temp=ch + temp;
		else if (ch==',' || ch=='.')
		{
			if (++nbVirgules > 1) return false;
			temp = "." + temp;
		}
		else return false;
	}
	chaine.value = temp;
	return true;
}*/

/**
 * Fonction qui convertit la chaine passé en paramètre en entier
 * Tronque les valeurs décimale sans arrondis
 * Si la conversion échoue, retourne false.
 */
function ConvertToInt(chaine) 
{
	temp="";
	for (i=chaine.value.length-1; i>=0;i--) 
	{
		ch = chaine.value.charAt(i);
		if (ch>='0' && ch<='9') temp=ch + temp;
		else if (ch==',' || ch=='.') 
		{
			if (++nbVirgules > 1) return false;
			temp="";
		}
		else return false;
	}
	
	if (isEmpty(temp)) chaine.value = 0;
	else chaine.value = temp;
	return true;
}

/**
 * @return true si l'email est un email valide
 */
function CheckValideEmail(p_email)
{
	if ((p_email.indexOf('@',0)==-1) || (p_email.indexOf('.',0)==-1)) return false;
	return true;
}

/**
 * Retourne vrai si la date passée en paramètre est valide
 */
function isValidDate(str)
{
	var d = new String(str), ok;
	date_string = d.split("/");
	
	if (date_string.length != 3) return false;
	else ok = verifyDate(date_string[0],date_string[1],date_string[2]);

	return ok;
}


function MiseAJourTotalCommande(p_formulaire)
{
	var sous_total = ConvertFromFloat(p_formulaire.sous_total.value);
	var tarif_livraison = ConvertFromFloat(p_formulaire.tarif_livraison.value);
	if (isNaN(tarif_livraison)) tarif_livraison = 0;
	var papier_cadeau = (p_formulaire.papier_cadeau!==undefined) ? ConvertFromFloat(p_formulaire.papier_cadeau.value) : 0.00;
	var total = sous_total + tarif_livraison + papier_cadeau;

	// On met a jours les points de fidelités
	if (p_formulaire.elements['check_fidelite']!==undefined)
	{
		if (p_formulaire.check_fidelite.checked)
		{
			var nbMaxfidelite = Math.floor(total/4);
			var nbFidelite = ConvertFromFloat(p_formulaire.points_fidelite.value);
			if (nbFidelite < nbMaxfidelite)
				nbMaxfidelite = nbFidelite;
			var reduction_fidelite = (nbMaxfidelite*4);
	
			p_formulaire.reduction_fidelite.value = ConvertToFloat(reduction_fidelite);
			total = total - reduction_fidelite;
		}
		else
		{
			p_formulaire.reduction_fidelite.value = '0.00';
		}
	}

	p_formulaire.montant_total.value = ConvertToFloat(total);
}

/*------------------------------*/
/*-- FINALISATION DE COMMANDE --*/
/*------------------------------*/

function Compter(Target, compteur) 
{
	var Nombre_Maximum = 200;
	var StrLen;
	var Contenu;

	Contenu = Target.value;
	StrLen = Contenu.length;
	if (StrLen > Nombre_Maximum)
	{
		alert("Votre message personnalisté ne peut pas faire plus de "+Nombre_Maximum+" caractères.");
		Target.value = Contenu.substring(0,Nombre_Maximum);
	}
	compteur.value = Nombre_Maximum-StrLen;
}

function ValiderFormulaireCommande(p_formulaire)
{
	var erreur = '';

	if (!(p_formulaire.elements['nom_facturation'].value.length > 0)) erreur += "- Veuillez renseigner votre Nom de famille de facturation.\n";
	if (!(p_formulaire.elements['prenom_facturation'].value.length > 0)) erreur += "- Veuillez renseigner votre Prénom de facturation.\n";
	if (!(p_formulaire.elements['rue1_facturation'].value.length > 0)) erreur += "- Veuillez renseigner votre Adresse de facturation.\n";
	if (!(p_formulaire.elements['code_postal_facturation'].value.length > 0)) erreur += "- Veuillez renseigner votre Code Postal de facturation.\n";
	if (!(p_formulaire.elements['ville_facturation'].value.length > 0)) erreur += "- Veuillez renseigner votre Ville de facturation.\n";

	if (p_formulaire.elements['adresse_livraison_differente'].checked)
	{
		if (!(p_formulaire.elements['nom_livraison'].value.length > 0)) erreur += "- Veuillez renseigner votre Nom de famille de livraison.\n";
		if (!(p_formulaire.elements['prenom_livraison'].value.length > 0)) erreur += "- Veuillez renseigner votre Prénom de livraison.\n";
		if (!(p_formulaire.elements['rue1_livraison'].value.length > 0)) erreur += "- Veuillez renseigner votre Adresse de livraison.\n";
		if (!(p_formulaire.elements['code_postal_livraison'].value.length > 0)) erreur += "- Veuillez renseigner votre Code Postal de livraison.\n";
		if (!(p_formulaire.elements['ville_livraison'].value.length > 0)) erreur += "- Veuillez renseigner votre Ville de livraison.\n";
	}

	if (p_formulaire.elements['email']!==undefined && !(p_formulaire.elements['email'].value.length > 0)) erreur += "- Veuillez renseigner votre email.\n";
	if (p_formulaire.elements['telephone']!==undefined && !(p_formulaire.elements['telephone'].value.length > 0)) erreur += "- Veuillez renseigner votre numéro de téléphone.\n";
	if (erreur != '') { alert("Vous devez saisir les informations suivantes avant de continuer :\n" + erreur); return false; }

	if (p_formulaire.elements['adresse_livraison_differente'].checked == false)
	{
		p_formulaire.elements['nom_livraison'].value = p_formulaire.elements['nom_facturation'].value;
		p_formulaire.elements['prenom_livraison'].value = p_formulaire.elements['prenom_facturation'].value;
		p_formulaire.elements['societe_livraison'].value = p_formulaire.elements['societe_facturation'].value;
		p_formulaire.elements['rue1_livraison'].value = p_formulaire.elements['rue1_facturation'].value;
		p_formulaire.elements['rue2_livraison'].value = p_formulaire.elements['rue2_facturation'].value;
		p_formulaire.elements['code_postal_livraison'].value = p_formulaire.elements['code_postal_facturation'].value;
		p_formulaire.elements['ville_livraison'].value = p_formulaire.elements['ville_facturation'].value;
		p_formulaire.elements['pays_livraison'].value = p_formulaire.elements['pays_facturation'].value;
	}

	return true;
}

