var messageErreurRechargement = 'Une erreur s\'est produite durant la mise à jour de votre commande, la page va être rechargée';
var messageErreurRechargementPanier = 'Une erreur s\'est produite durant la mise à jour de votre panier, la page va être rechargée';

/**
 *  FONCTION DE VALIDATION D'UN CHAMP
 */
if(!window.valide1Champ){
	var valide1Champ = function(loption){
			
	/**
	* onSubmit="return valide1Champ(email=EMAIL);"
	**/
		
		reTableau = new Array();
		reTableau['N'] = /.*/;
		reTableau['N_error'] = "non testé";
		reTableau['NV'] = /.+/;
		reTableau['NV_error'] = "est obligatoire.";
		reTableau['NUM'] = /^[0-9]+$/;
		reTableau['NUM_error'] = "doit contenir des nombres.";
		reTableau['ALPHANUM'] = /[\w]/;
		reTableau['ALPHANUM_error'] = "doit contenir des nombre ou de lettre [a-z]";
		reTableau['EMAIL'] = /[-.\w]{2,}@{1}[\-\.\w]{2,}\.{1}[\-\.\w]{2,}/;
		reTableau['EMAIL_error'] = "doit contenir une adresse email.";
		reTableau['MINCAR'] = /.{6,}/;
		reTableau['MINCAR_error'] = "doit comporter 6 caractères";
		errorLog = "";
		
			champExpr = loption.split("=");
			var nomDuChamp = champExpr[0];
			var nomDeRegEx = champExpr[1];
			
			var OK = reTableau[nomDeRegEx].test($j('#'+nomDuChamp).val());
			
			
			
			if (!OK){
				$j("#"+nomDuChamp+'-loader').attr('class','ajax_loader_error');
				regError = nomDeRegEx+"_error";
				errorLog = "["+nomDuChamp+"] "+reTableau[regError]+"\n";
			}
			else {
				$j('#'+nomDuChamp).css('background','none');		
				$j('#'+nomDuChamp).attr('class','');	
				$j("#"+nomDuChamp+'-loader').attr('class','ajax_loader_ok');			
			}
			
			
			if(errorLog != "" ){
				return false;
			}else{
				return true;
			}
			
	}
}

/**
 *  FONCTION DE MISE A JOUR D'UN CHAMP
 */
var creer1Champs = function(idChampFormulaireFormat, action, value){
	
	test = valide1Champ(idChampFormulaireFormat);

	if(test == true){
		champExpr = idChampFormulaireFormat.split("=");
		var nomDuChamp = champExpr[0];
		
		var url = '';
		
		if(action == 'modifierCoordonneesFacturation'){
			if(!value){
				value = $j("#"+nomDuChamp).val();
			}
			theParam = ({champ : nomDuChamp
						, valeurChamp : value
						, clientId : $j("#clientId").val()
						, clientAdresseId : $j("#clientCoordonneesFacturationAdresseId").val()
						, cmdId : $j("#commandeId").val()});
			url = "/commande/ma-commande/modifier-coordonnees-facturation";
		}
		else if(action == 'modifierLivraison'){
			if(!value){
				value = $j("#"+nomDuChamp).val();
			}
			theParam = ({champ : nomDuChamp
						, valeurChamp : value
						, clientId : $j("#clientId").val()
						, clientAdresseId : $j("#clientLivraisonAdresseId").val()
						, cmdId : $j("#commandeId").val()});
			url = "/commande/ma-commande/modifier-livraison";
		}
		else if(action == 'modifierParticipant'){
			
			if(!value){
				value = $j("#"+nomDuChamp).val();
			}
			
			champExpr = nomDuChamp.split("-");
			champ = champExpr[0];
			ptpId = champExpr[2];
			
			theParam = ({champ : champ
						, valeurChamp : value
						, ptpId : ptpId
						, cmdId : $j("#commandeParticipantId").val()});
			url = "/commande/ma-commande/modifier-information-billet";
		}
		
		if(url == '') {
			alert('Une erreur s\'est produite durant la mise à jour');
			return false;
		}
		
		$j.ajax({
		   type: "POST",
		   url: url,
		   data: theParam,
		   success : function (data) {
				$j("#"+nomDuChamp+'-loader').attr('class','ajax_loader_ok');
				interpreteJsonRetour(data);
			},
		   error : function (XMLHttpRequest, textStatus, errorThrown) {
				$j("#"+nomDuChamp+'-loader').attr('class','ajax_loader_error');
			},
			beforeSend : function () {
				$j("#"+nomDuChamp+'-loader').attr('class','ajax_loader_circle');
			}
		 });

		return true;
	}else{
		return false;
	}
}

/**
 *  FONCTIONS DE RECHARGEMENT DE L'INTERFACE DE COMMANDE
 */

var rechargementTousMPOuPme = 'TousMP';

var interpreteJsonRetour = function(json){
	if(json['erreur']) {
		//alert(messageErreurRechargement);
		location.reload();
	}
	
	if(json['rechargementFraisExpedition']) {
		
		$j('#mntEnvoiStandard').html('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		$j('#mntEnvoiStandard').attr('class','ajax_loader_circle');
		
		$j('#mntEnvoiChronopost').html('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		$j('#mntEnvoiChronopost').attr('class','ajax_loader_circle');
		$j.ajax({
			   type: "POST",
			   url: '/commande/ma-commande/bloc-4-expedition',
			   success: function(msg){
					$j('#bloc-expeditions').html(msg);
			   },
			   error : function () {
					//alert(messageErreurRechargement);
					location.reload();
			   }
		});
	}
	
	if(json['rechargementFraisExpeditionEntierement']) {
		$j('#bloc-expeditions-ajax-loader').attr('class','ajax_loader_bar_background');
		$j('#bloc-expeditions').css('visibility','hidden');
		
		$j.ajax({
			   type: "POST",
			   url: '/commande/ma-commande/bloc-4-expedition',
			   success: function(msg){
					$j('#bloc-expeditions').html(msg);
					$j('#bloc-expeditions-ajax-loader').attr('class','');
					$j('#bloc-expeditions').css('visibility','visible');
			   },
			   error : function () {
					//alert(messageErreurRechargement);
					location.reload();
			   }
		});
	}
	
	if(json['rechargementCodePromo']) {
		//On affiche le chargement que si il y a un montant
		if($j.trim($j('#mntCodePromo').html()) != ''){
			$j('#mntCodePromo').attr('class','ajax_loader_circle');
		}
		$j.ajax({
			   type: "POST",
			   url: '/commande/ma-commande/bloc-3-code-promo',
			   success: function(msg){
					$j('#bloc-code-promo').html(msg);
			   },
			   error : function () {
					//alert(messageErreurRechargement);
					location.reload();
			   }
		});
	}
	
	if(json['rechargementTotal']) {
		
		$j('#totalCommande').html('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		$j('#totalCommande').attr('class','ajax_loader_circle');

		if(rechargementTousMPOuPme == 'PME') {
			$j('#outputValiderCommande-ajax-loader').attr('class','ajax_loader_bar_background');
			$j('#outputValiderCommande').css('visibility','hidden');
		}
		else {
			$j('#bloc-paiement-ajax-loader').attr('class','ajax_loader_bar_background');
			$j('#bloc-paiement').css('visibility','hidden');
		}
		
		$j.ajax({
			   type: "POST",
			   url: '/commande/ma-commande/bloc-5-total',
			   success: function(msg){
					$j('#bloc-total').html(msg);
					$j('#bloc-total-ajax-loader').attr('class','');
					$j('#bloc-total').css('visibility','visible');
			   },
			   error : function () {
					//alert(messageErreurRechargement);
					location.reload();
			   }
		});
		
		if(rechargementTousMPOuPme == 'PME') {		
			$j.ajax({
				   type: "POST",
				   url: '/commande/paiement/utilisation-pme',
				   data:({cmdId:json['cmdId']}),
				   success: function(msg){
						$j('#outputValiderCommande').html(msg);
						$j('#outputValiderCommande-ajax-loader').attr('class','');
						$j('#outputValiderCommande').css('visibility','visible');
				   },
				   error : function () {
						//alert(messageErreurRechargement);
						location.reload();
				   }
			});
		}
		else {
			
			
			$j.ajax({
				   type: "POST",
				   url: '/commande/ma-commande/bloc-6-paiement',
				   success: function(msg){
						$j('#bloc-paiement').html(msg);
						$j('#bloc-paiement-ajax-loader').attr('class','');
						$j('#bloc-paiement').css('visibility','visible');
				   },
				   error : function () {
						//alert(messageErreurRechargement);
						location.reload();
				   }
			});
		}
	}
}

var supprimerProduit = function(cmdId, cmdligId){
	var destination='#bloc-lignes';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/supprimer-produit',
		   data: ({cmdId : cmdId, cmdligId : cmdligId}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var definirConditionnement = function(cmdId, cmdligId, cdtId){
	var destination='#bloc-lignes';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/definir-conditionnement',
		   data: ({cmdId : cmdId, cmdligId : cmdligId, cdtId : cdtId}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var supprimerConditionnement = function(cmdId, cmdligId){
	var destination='#bloc-lignes';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/supprimer-conditionnement',
		   data: ({cmdId : cmdId, cmdligId : cmdligId}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var ajouterGarantie = function(cmdId, garMnt){
	var destination='#bloc-lignes';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/ajouter-garantie',
		   data: ({cmdId : cmdId, garMnt : garMnt}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var supprimerGarantie = function(cmdId, garId){
	var destination='#bloc-lignes';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/supprimer-garantie',
		   data: ({cmdId : cmdId, garId : garId}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var ajouterCodePromo = function(cmdId, code) {
	var destination = '#bloc-code-promo';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/ajouter-code-promo',
		   data: ({cmdId : cmdId, code : code}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				////alert(messageErreurRechargement);
				location.reload();
		   }
		 });
}

var supprimerCodePromo = function(cmdId, promoId){
	var destination = '#bloc-code-promo';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/supprimer-code-promo',
		   data: ({cmdId : cmdId, promoId : promoId}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}


var definirModeExpedition = function(cmdId, meId, mnt){
	var destination='#bloc-expeditions';

	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');

	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/definir-mode-expedition',
		   data: ({cmdId : cmdId, meId : meId, mnt : mnt}),
		   dataType: 'script',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var validerCG = function(cmdId, cguId, cgvId, checkbox){
	if($j(checkbox).is(':checked') == false) {
		cguId=null;
		cgvId=null;
	}
	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/valider-cgv-cgu',
		   data: ({cmdId : cmdId, cguId : cguId, cgvId : cgvId}),
		   dataType: 'script',
		   success: function(msg){
				//rien
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var validerCommande = function(cmdId){
	if($j('#cg').is(':checked') == false){
		alert('Vous devez valider les Conditions Générales de Vente et d\'Utilisation avant de poursuivre');
		return false;
	}
	var destination='#outputValiderCommande';

	$j('#bloc-paiement-ajax-loader').attr('class','ajax_loader_bar_background');
	$j('#bloc-paiement').css('visibility','hidden');

	var mpId = $j('input[name="paiement"]:checked').val();
	$j.ajax({
		   type: "POST",
		   url: '/commande/ma-commande/valider',
		   data: ({cmdId : cmdId, mpId : mpId}),
		   dataType: 'script',
		   success: function(msg){
				$j('#bloc-paiement-ajax-loader').attr('class','');
				$j('#bloc-paiement').css('visibility','visible');
				$j(destination).html(msg);
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}




/**
 *  FONCTIONS DE RECHARGEMENT DU PANIER
 */


var supprimerProduitPanier = function(param1, param2, param3, param4){
	var destination='#panierContenu';

	//Initialisation des parametres
	if(isset(param1)) {
		if(isset(param2)) {
			if(isset(param3)) {
				if(isset(param4)) {
					data = ({param1 : param1, param2 : param2, param3 : param3, param4 : param4})
				}
				else{
					data = ({param1 : param1, param2 : param2, param3 : param3})
				}
			}
			else{
				data = ({param1 : param1, param2 : param2})				
			}
		}
		else{
			data = ({param1 : param1})
			
		}
	}
	else {
		return false;
	}
	
	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');
	
	$j.ajax({
		   type: "POST",
		   url: '/commande/mon-panier/supprimer-produit',
		   data: data,
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargementPanier);
				//location.reload();
		   }
		 });	
}


var definirNombreElementPanier = function(nombre, param1, param2, param3, param4){
	var destination='#panierContenu';

	//Initialisation des parametres
	if(isset(param1)) {
		if(isset(param2)) {
			if(isset(param3)) {
				if(isset(param4)) {
					data = ({nombre : nombre, param1 : param1, param2 : param2, param3 : param3, param4 : param4})
				}
				else{
					data = ({nombre : nombre, param1 : param1, param2 : param2, param3 : param3})
				}
			}
			else{
				data = ({nombre : nombre, param1 : param1, param2 : param2})				
			}
		}
		else{
			data = ({nombre : nombre, param1 : param1})
			
		}
	}
	else {
		return false;
	}
	
	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');
	
	$j.ajax({
		   type: "POST",
		   url: '/commande/mon-panier/definir-nombre-produit',
		   data: data,
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargementPanier);
				//location.reload();
		   }
		 });	
}


/**
 *  FONCTIONS DE PAIEMENT
 */


var utiliserCreditDoze = function(chk){
	if($j(chk).is(':checked')){
		$j('#restantAPayerWhenUnchecked').hide();
		$j('#creditRestantWhenUnchecked').hide();
		$j('#mpDifferenceNonUtilisation').hide();
		$j('#restantAPayerWhenChecked').show();
		$j('#creditRestantWhenChecked').show();
		$j('#mpDifferenceUtilisation').show();
	}
	else {
		$j('#restantAPayerWhenChecked').hide();
		$j('#creditRestantWhenChecked').hide();
		$j('#mpDifferenceUtilisation').hide();	
		$j('#restantAPayerWhenUnchecked').show();
		$j('#creditRestantWhenUnchecked').show();
		$j('#mpDifferenceNonUtilisation').show();	
	}
}

var afficherAjoutPme = function() {
	var destination = '#affichagePme'
	$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
	$j(destination).css('visibility','hidden');
	
	$j.ajax({
		   type: "POST",
		   url: '/commande/paiement/ajout-pme',
		   success: function(msg){
				$j(destination).html(msg);
				$j(destination+'-ajax-loader').attr('class','');
				$j(destination).css('visibility','visible');
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var afficherUtilisationPme = function(cmdId) {
	var destination = '#affichagePme'
		$j(destination+'-ajax-loader').attr('class','ajax_loader_bar_background');
		$j(destination).css('visibility','hidden');

    $j.ajax({
        type: "GET",
        url: '/commande/paiement/utilisation-pme',
        data : ({cmdId : cmdId}),
        success : function (data) {
			$j(destination).html(data);
			$j(destination+'-ajax-loader').attr('class','');
			$j(destination).css('visibility','visible');
         },
        error : function (XMLHttpRequest, textStatus, errorThrown) {
				//alert(messageErreurRechargement);
				location.reload();
         }
      });
}

var validerCommandeUtilisationPme = function(cmdId){
	if($j('#chkUtilisationCreditDoze').is(':checked') == true) {
		id = '#cgUtilPme1';
	}
	else {
		id = '#cgUtilPme2';
	}
		
	if($j(id).is(':checked') == false){
		alert('Vous devez valider les Conditions Générales de Vente et d\'Utilisation avant de poursuivre');
		return false;
	}
	var destination='#outputDifferenceUtilisation';

	$j('#bloc-paiement-ajax-loader').attr('class','ajax_loader_bar_background');
	$j('#bloc-paiement').css('visibility','hidden');

	var mpId = $j('input[name="paiementUtilisation"]:checked').val();
	if(false == isset(mpId)){
		mpId = -1;
	}
	$j.ajax({
		   type: "POST",
		   url: '/commande/paiement/valider',
		   data: ({cmdId : cmdId, mpId : mpId, utilisation:1}),
		   dataType: 'script',
		   success: function(msg){
				$j('#bloc-paiement-ajax-loader').attr('class','');
				$j('#bloc-paiement').css('visibility','visible');
				$j(destination).html(msg);
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}

var validerCommandeNonUtilisationPme = function(cmdId){
	var destination='#outputDifferenceNonUtilisation';

	$j('#bloc-paiement-ajax-loader').attr('class','ajax_loader_bar_background');
	$j('#bloc-paiement').css('visibility','hidden');

	var mpId = $j('input[name="paiementNonUtilisation"]:checked').val();
	$j.ajax({
		   type: "POST",
		   url: '/commande/paiement/valider',
		   data: ({cmdId : cmdId, mpId : mpId, utilisationDoze:0}),
		   dataType: 'script',
		   success: function(msg){
				$j('#bloc-paiement-ajax-loader').attr('class','');
				$j('#bloc-paiement').css('visibility','visible');
				$j(destination).html(msg);
		   },
		   error : function () {
				//alert(messageErreurRechargement);
				location.reload();
		   }
		 });	
}










function isset(  ) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: FremyCompany
	// +   improved by: Onno Marsman
	// *     example 1: isset( undefined, true);
	// *     returns 1: false
	// *     example 2: isset( 'Kevin van Zonneveld' );
	// *     returns 2: true
	var a=arguments; var l=a.length; var i=0;

	if (l==0) {
		throw new Error('Empty isset');
	}

	while (i!=l) {
		if (typeof(a[i])=='undefined' || a[i]===null) {
			return false;
		} else {
			i++;
		}
	}
	return true;
}




var valideLeForm = function(chaineAvalider,action){
	allChamp = chaineAvalider.split(",");
	nbAvalider = allChamp.length;
	erreur = new Array();
	for(n=0; n<nbAvalider; n++){
		erreur[n] = creer1Champs(allChamp[n],action);
	}
	return erreur;
}


var validerClient = function(Avalider){
	action = 'creerClient';
	valideLeForm(Avalider,action);
	
	if(!erreur.in_array(false)){
		if($j('#pass').val() == $j('#confir_pass').val()){
			return true;
		}else{
			alert('Le mot de passe confirmÃ© n\'est pas valide');
			return false;
		}
		
	}else{
		alert('Les champs colorÃ©s doivent Ãªtre renseignÃ©s')
		return false;
	}
	return false;
}

var insChangeCivilite = function(valeur){
	$j('#civ').val(valeur);
}






var valider_tous_bene = function(leform){
	
	tousElements = $j('#'+leform);

	nbAvalider = tousElements.length;

	erreur = new Array();
	
	premierDivId = "";
	
	pattern1 =  /.*prenom/;
	pattern2 =  /.*nom/;
	
	tousElements.each(function(){
    if(pattern1.test($j(this).attr('id') || pattern1.test($j(this).attr('id')))){
			if( $j(this).val() == '' ||
				$j(this).val() == 'prÃ©nom du bÃ©nÃ©ficiaire' ||
				$j(this).val() == 'nom du bÃ©nÃ©ficiaire' ){
				
				$j(this).css({backgroundColor: "#FF4C00"});
				erreur[n] = false;
				
				if(premierDivId == ""){
					premierDivId = $j(this).parent().parent().attr('id');
				}
			}else{
				erreur[n] = true;
			}	
			
		}else{
			erreur[n] = true;
		}
  });
	
	/**
	 	
	for(n=0; n<nbAvalider; n++){
		// si champ prenom et nom 
		pattern1 =  /.*prenom/;
		pattern2 =  /.*nom/;
		if(pattern1.test(tousElements.get(n).attr('id') || pattern1.test(tousElements.get(n).attr('id')))){
			if( tousElements.get(n).val() == '' ||
				tousElements.get(n).val() == 'prÃ©nom du bÃ©nÃ©ficiaire' ||
				tousElements.get(n).val() == 'nom du bÃ©nÃ©ficiaire' ){
				
				tousElements.get(n).val().css({backgroundColor: "#FF4C00"});
				erreur[n] = false;
				
				if(premierDivId == ""){
					premierDivId = tousElements.get(n).parent().parent().attr('id');
				}
			}else{
				erreur[n] = true;
			}	
			
		}else{
			erreur[n] = true;
		}
		
	}
	**/

	if(!erreur.in_array(false)){
		return true;
	}else{		
		window.location.href = window.location.pathname+"#"+premierDivId;
		alert('Certains champs (prÃ©nom ou nom) ne sont pas renseignÃ©s');
		return false;
	}
	
}





/* page login ****************************************************************************************/
loginValiderclient = function(chaineAvalider){
	allChamp = chaineAvalider.split(",");
	nbAvalider = allChamp.length;
	erreur = new Array();
	for(n=0; n<nbAvalider; n++){
		erreur[n] = valide1Champ(allChamp[n]);
	}
	
	if(!erreur.in_array(false)){
		return true;
	}else{
		alert('Erreur de remplissage du formulaire')
		return false;
	}
	return false;
}
/* page login ****************************************************************************************/
























/* page inscription ***************************************************************************************** */
var bordure_inscription = function(nomChamps){
	$j('#'+nomChamps).css({border : "2px solid #ccc", backgroundColor : "#FFFCDF" });
}


var reset_bordure_inscription = function(nomChamps) {
	$j('#'+nomChamps).css({border : "1px solid #ccc", backgroundColor : "#ffffff" });
  /**
  document.getElementById(nomChamps).style.border = "1px solid #ccc" ;
	document.getElementById(nomChamps).style.background = "#ffffff" ;
	**/
}
/* page inscription ***************************************************************************************** */



























/* page participants *********************************************************************************/
var affiche_caddie = function(erreur,etape){
	theParam = 'action=afficheCaddiefinal&erreur='+erreur+'&etape='+etape;	
  $j.ajax({
	      data: theParam,
	      processData: true,
	      async: false,
	      dataType: 'html',
	      url: '/reservation/clientPanier.php',
	      type: 'post',
	      success: function(data,status){
	          
	          $j('#resa_participants').html(data);
	      }
	  });
	//new Ajax.Updater('resa_participants','/reservation/clientPanier.php', {parameters:theParam});
}

var sauve_info_participant = function(champ,valeur){
	theParam = 'action=sauveInfoParticipant&champ='+champ+'&valeur='+valeur;
	$j.ajax({
	      data: theParam,
	      processData: true,
	      async: false,
	      dataType: 'html',
	      url: '/reservation/clientPanier.php',
	      type: 'post'
	  });
	//new Ajax.Request('/reservation/clientPanier.php', {parameters:theParam});
}

var supprime_participant = function(idAcLieux,refPart,part_bene){
	if(confirm('Ãªtes-vous sÃ»r(e) de vouloir supprimer ce '+part_bene+'?')){
		theParam = 'action=supprimeParticipant&idAcLieux='+idAcLieux+'&refPart='+refPart;
		$j.ajax({
		      data: theParam,
		      processData: true,
		      async: false,
		      dataType: 'html',
		      url: '/reservation/clientPanier.php',
		      type: 'post',
		      success: affiche_caddie
		});
		//new Ajax.Request('/reservation/clientPanier.php', {parameters:theParam,onComplete: affiche_caddie});
	}
}

var supprime_activite = function(idAcLieux){
	if(confirm('Ãªtes-vous sÃ»r(e) de vouloir supprimer cette activitÃ©?')){
		theParam = 'action=supprimeActivite&idAcLieux='+idAcLieux;
		$j.ajax({
		      data: theParam,
		      processData: true,
		      async: false,
		      dataType: 'html',
		      url: '/reservation/clientPanier.php',
		      type: 'post',
		      success: affiche_caddie
		});
		//new Ajax.Request('/reservation/clientPanier.php', {parameters:theParam,onComplete:affiche_caddie});
	}
}

var ajout_participant = function(idAcLieux){
	theParam = 'action=ajoutParticipant&idAcLieux='+idAcLieux;
	
  $j.ajax({
	      data: theParam,
	      processData: true,
	      async: false,
	      dataType: 'html',
	      url: '/reservation/clientPanier.php',
	      type: 'post',
	      success: affiche_caddie
	});
	
  return false;
	//new Ajax.Request('/reservation/clientPanier.php', {parameters:theParam,onComplete:affiche_caddie});
}

var option_obligatoire = function(idOption){	
	$j('#'+idOption).attr('checked',true);
	alert('cette option est obligatoire');
}

var affiche_offert_par = function(val,nameChamp){
	expression = /(.{1})\[(.*)\]\[(.*)\]\[(.*)\]/;
	montablo = expression.exec(nameChamp);
	offertParId = "offert_par_["+montablo[2]+"]["+montablo[3]+"]";
	valchecked = $j('#'+offertParId).attr('display');
	if(val == 1 && valchecked == "none"){ 
		$j('#'+offertParId).show();
	}else if(val == 2 && valchecked != "none"){ 
		$j('#'+offertParId).hide();
	}
}

var notriple = function(chaine)  {

	chaine =chaine.split('')
	var suite=0
	
	for (i=0;i<chaine.length;i++){
		suite=(chaine[i]==chaine[i].toUpperCase())?suite+1:0;
	}
	if (suite>3){ 
		alert('Attention, les majuscules ainsi rÃ©pÃ©tÃ©es posent problÃ¨me Ã  l\'impression')
		//return false; 
	}
	return true;
}



var verif_tarif = function(listeTarif){
	
	tabloTarif = listeTarif.split(',');
	nbTarif = tabloTarif.length;
	
	erreur = new Array();
	for(n=0;n<nbTarif;n++){
		if($j('#'+tabloTarif[n]).attr('checked') == true){
			erreur[n] = true;
		}else{
			erreur[n] = false;
		}
	}
	
	if(erreur.in_array(true)){
		return true;
	}else{
		alert('Vous devez sÃ©lectionner une formule pour visualiser le billet cadeau.');
		return false;
	}

}
/* page participants *************************************************************************************** */










/* participants 2 */
var reset_champ = function(lechamp,valeurParDefaut){
  if($j(lechamp).val() == valeurParDefaut){
		$j(lechamp).val("");
	}
}

var reset_champ_avec_info = function(lechamp,valeurParDefaut){
	if($j(lechamp).val() == ""){
		$j(lechamp).val(valeurParDefaut) ;
	}
}

verifie_celui_qui_etait_selectionne = function(td){
	monTable = $j(td).parent().parent();
	//nb_tr = monTable.children().length;
	//alert(nb_tr);
	
	monTable.children().each(function(){
        if(this.nodeType == 1){
          
          $j(this).children('td').each(function(){
            
            atester = $j(this).css('background-image');
            
  					nouveauFond = atester.replace(/\/clic_/,"/");
  					if(nouveauFond != atester){
  						$j(this).css({backgroundImage: nouveauFond});
  					}
          
          });
          
        }    
  });
	/**
	for(n1=0; n1<nb_tr; n1++){
		

		montr = monTable.children().get(n1);
		
		if(montr.nodeType == 1){
			nb_td = montr.childNodes.length;
			for(n=0;n<nb_td;n++){
				montd = montr.childNodes[n]
				if(montd.nodeType == 1){
					atester = $(montd).getStyle('backgroundImage');
					nouveauFond = atester.gsub(/\/clic_/,"/");
					if(nouveauFond != atester){
						$(montd).setStyle({backgroundImage: nouveauFond});
					}
					
				}
			
			}
		}
		

	}
	**/
	
}


var change_fond_cadeau = function(bkdo_image,div_id,td){
	
	verifie_celui_qui_etait_selectionne(td);
	 
	
	$j(td).css({backgroundImage: 'url(/_lib/_img/_reservation/bkdo/small/clic_'+bkdo_image+')'});
	//$(td).setStyle({backgroundImage: 'none'});
	//alert($(td).getStyle('backgroundImage'));
	$j('#'+div_id).css({backgroundImage: 'url(/_lib/_img/_reservation/bkdo/personalisation/'+bkdo_image+')'});
	//alert($(div_id).getStyle('backgroundImage'));
	setTimeout(function gogo(){
       //nothing;
       $j(td).css({backgroundImage: 'url(/_lib/_img/_reservation/bkdo/small/clic_'+bkdo_image+')'});
       $j('#'+div_id).css({backgroundImage: 'url(/_lib/_img/_reservation/bkdo/personalisation/'+bkdo_image+')'});
    },100);
}




var choix_conditionnement = function(conditionnement,conditionnement_image,liste_id_ac_lieux, liste_ref_part, td, prix,intitule,idCond){
	
	// modification de l'image cliquee
	verifie_celui_qui_etait_selectionne(td);
	// modification de l'image de fond du div
	setTimeout(function gogo(){
      //nothing;
      $j('#'+liste_ref_part+"_"+liste_id_ac_lieux).css({  backgroundImage: 'url("/_lib/_img/_reservation/conditionnement/personnalisation/'+conditionnement_image+'")'});
      $j(td).css({backgroundImage: 'url("/_lib/_img/_reservation/conditionnement/small/clic_'+conditionnement_image+'")'});
    },100);
	
	if(intitule != 'Email cadeau'){
		if(prix > 0){
			lehtml ='<span class="cadrePrix">'+prix+' â‚¬</span>';
		}else{
			lehtml ='<span class="cadrePrix">offert</span>';
		}
		lehtml += '<span class="cadreIntitule">'+intitule+'</span>';
		lehtml += '<a href="javascript:void(0);" class="cadrePopup" oncLick="ouvre_cond_popup(\''+conditionnement+'\')"></a>'
		$j('#'+liste_ref_part+"_"+liste_id_ac_lieux).html(lehtml);
	}else{
		lehtml = '<span class="pasCond">PAS DE CONDITIONNEMENT</span>';
		$j('#'+liste_ref_part+"_"+liste_id_ac_lieux).html(lehtml);
	}
	
	
	
	
	// appel ajax pour modification part
	tablo_lieux = liste_id_ac_lieux.split('-');
	tablo_part = liste_ref_part.split('-');
	for (n1=0;n1<tablo_lieux.length;n1++){
		for (n=0;n<tablo_part.length;n++){
			sauve_info_participant('p['+tablo_lieux[n1]+']['+tablo_part[n]+'][conditionnement]',conditionnement)
		}
	}
}


var ouvre_cond_popup = function(idConditionnement){
	JSPopup_open('cond',520,520,'','conditionnement',idConditionnement); return false;
}












/* page recapitulatif ***************************************************************************************** */
var permetModification = function(lequel){
	// debut du champ
	tablo = new Array('societe', 'nom', 'prenom', 'email', 'adresse', 'cp', 'ville', 'pays_aff', 'tel');

	// permet la modification des champs
	for(n=0; n<tablo.length; n++){
		$j('#'+lequel+tablo[n]).removeAttr("readOnly");
		$j('#'+lequel+tablo[n]).addClass('isAForm');
	}
	
	//rend le champs texte Civ cachÃ© et affiche le select
	$j('#'+lequel+'civ_aff').hide();
	$j('#'+lequel+'civ').css({display: "inline"});
	
	//rend le champs texte pays cachÃ© et affiche le select
	$j('#'+lequel+'pays_aff').hide();
	$j('#'+lequel+'pays_sel').css({display: "inline"});
	
	$j('#'+lequel+'permetModif').hide();
	$j('#'+lequel+'valideModif').css({display: "inline"});
}

var ChangeValPays = function(lequel,quoi){
	$j('#'+lequel+'pays').val(quoi);
}


var enregistre_coord_fact = function(leform,lequel){
	
	dataForm = $j('#'+leform).serialize();
	
	theParam = 'action='+lequel+'enregistreCoord&'+dataForm;
	$j.ajax({
	      data: theParam,
	      processData: true,
	      async: false,
	      dataType: 'html',
	      url: '/reservation/clientPanier.php',
	      type: 'post'
	});
	//new Ajax.Request('/reservation/clientPanier.php', {parameters:theParam});
	
	tablo = new Array('societe', 'nom', 'prenom', 'email', 'adresse', 'cp', 'ville', 'pays_aff', 'tel');
	$j('#'+lequel+'pays_aff').css({display : "inline"});
	$j('#'+lequel+'pays_sel').hide();
	for(n=0; n<tablo.length; n++){
		$j('#'+lequel+tablo[n]).attr("readonly", "readonly");
		$j('#'+lequel+tablo[n]).addClass("notAform");
	}
	
	$j('#'+lequel+'civ_aff').css({display : "inline"});
	$j('#'+lequel+'civ_aff').val($j('#'+lequel+'civ').val());
	$j('#'+lequel+'civ').hide();
	
	$j('#'+lequel+'permetModif').css({display : "inline"});
	$j('#'+lequel+'valideModif').hide();
}





var change_livraison = function(newEmail){
	testChamp = valide1Champ(newEmail+'=EMAIL');
	email = $j('#'+newEmail).val();
	if(testChamp == true){
		theParam = 'action=enregistreEmailLivr&email='+email;
		$j.ajax({
	      data: theParam,
	      processData: true,
	      async: false,
	      dataType: 'html',
	      url: '/reservation/clientPanier.php',
	      type: 'post'
	  });
	}else{
		alert('Les champs colorÃ©s doivent Ãªtre renseignÃ©s');
	}
}
/* page recapitulatif ***************************************************************************************** */
















/* page paiement **********************************************************************************************/
var renseignePaiement = function(valeur){
	$j('#moyen_paiement').val(valeur);
}

var valide_CGV = function(){
	if($j('#cgv').attr('checked') == false){
		if(confirm("Avez-vous lu et acceptez-vous les CGV ?")){
			$j('#cgv').attr('checked',true)
			JSPopup_open('mp',285,295,'','resa'); return false;
		}else{
			return false;
		}
		
	}else{
		JSPopup_open('mp',285,295,'','resa'); return false;
	}
}

var valide_paiement = function(){

  if($j('#moyen_paiement').val() == ""){
		alert('Vous devez choisir un mode de paiement');
		return false;
	}else{
		return true;
	}
}

var ouvre_fenetre = function(page, width, height){
	
	var lesoptions = 'menubar=no,status=no,scrollbars=yes,menubar=no,width='+width+',height='+height;
	window.open("/"+page,"fenetre",lesoptions);
	
	
}


Array.prototype.in_array = function(val) {
	for (var i in this) {
		if (this[i] == val) return true;
	}
	return false;
};