require( ebplatform.config.enableLoadBuilt ? ["built/dojo", "built/ebCommon", "built/iscrizione"] : [], function() { //.js.uncompressed
	require(["dojo/ready",
	 	"dojo/_base/lang",
	 	"dojo/_base/array",
		"dojo/dom",
		"dojo/dom-style",
		"dojo/dom-attr",
		"dojo/dom-prop",
		"dojo/dom-construct",
		"dojo/query",
		"dojo/request",
		"dojo/on",
		"dojo/topic",
		"dijit/registry"],
		function(ready,
			lang,
			arrayUtil,
			dom,
			domStyle,
			domAttr,
			domProp,
			domConstruct,
			query,
			request,
			on,
			topic,
			registry) {
			ready(function() {

				function init(){
					try {
  

var msg =  "<span style='text-decoration:underline'>Attention</span>: Si jamais vous ne parvenez pas à valider votre inscription, c'est parce que la place sélectionnée vient d'être réservée.<br/>" +
"Pour continuer, restez sur le formulaire, sélectionnez une autre session disponible et validez votre inscription.<br/>" +
"Vous ne devez en aucun cas revenir à la page d'accueil et vous reconnecter avec le mot de passe.<br/>"

 
domConstruct.place("<div style='width:310px;margin:auto'>" + msg + "</div>", query(".boxDettagliEvento .boxModuleInner")[0], 'after');
				
                      
                      // BEGIN_GRUPPI_INCLUSIVI 
 						// END_GRUPPI_INCLUSIVI
						// BEGIN_GRUPPI_ESCLUSIVI
					    // END_GRUPPI_ESCLUSIVI	
					    // BEGIN_CHECK_CAMPI
					    // END_CHECK_CAMPI	
                      	
 
						
/* LASCIARE LA PARTE QUI SOTTO COMMENTATA */
						/* BEGIN_BLOCK: htmlFasce
						// STRUCTURE htmlFasce
						var htmlFasce = {
						  "fasce": {							    
						  }
						}
						// END STRUCTURE htmlFasce 
	 					try {	 						 
							for (const [key, value] of Object.entries(htmlFasce.fasce)) {
								console.log ("key set html:" , key, value, query(".tundra.pagIscrizione .boxDateEvento .fasceDataEvento .idFascia" + key+ " span.titoloFascia"));
							    html2.set(query(".tundra.pagIscrizione .boxDateEvento .fasceDataEvento .idFascia" + key+ " span.titoloFascia")[0], value);
							}								 
					 	} catch (err) {
							console.log("htmlFasce: ", err);
						}	
						END_BLOCK: htmlFasce */



						/* BEGIN_BLOCK: popupDescriptions
						// STRUCTURE popupDescriptions
						var popupDescriptions = {
						  "template": "%titolo%",
						  "editables": "%titolo%,%bio%",
						  "fasce": {     
						    }
						}
						
						// END STRUCTURE popupDescriptions

						function ifNotEmpty (v) {
						    if (v != ""){
						     	return "<br/><br/>" + v 
						    } 
							return "" ;
						}
						try {
							for (const idFascia in popupDescriptions.fasce) {
								console.log("idFascia", idFascia);
								var ref0 = query('.idFascia' + idFascia)[0];
								var ref1 = query('.titoloFascia', ref0)[0];

								if (!!ref1 && popupDescriptions[idFascia] != "") {
									// sostituisce lo span con titolo fascia mettendo il bottone	
									var html1 = "<span class='titoloFascia'>" + ref1.innerHTML + " <button type='button' id='ButIdFascia" + idFascia + "'>Details</button></span>";	
									domConstruct.place(html1, ref1, 'replace');
																					
									// apre popup quando clicco bottone
									var btn1 = query('#ButIdFascia' + idFascia)[0];
									on (btn1,'click',function(){
										//**** TODO ****: Aggiungere elementi di popupDescriptions.fasce o usare il template 
										var myContent = popupDescriptions.fasce[idFascia].descrizione + 
												ifNotEmpty(popupDescriptions.fasce[idFascia].teacher1);
												
										myDialog = new Dialog({
									        //title: "Details",
									        title: popupDescriptions.fasce[idFascia].titolo,
									        content: myContent,
									        style: "width: 800px"
									    });
									    myDialog.show();

									});
								}
							}	
						} catch (err) {
							console.log("popupDescriptions: ", err);
						}		
						END_BLOCK: popupDescriptions */	
					
                      	/* modifico frase pagina declinazione per il Lei 
	   					   scommentare e usare la jsp admin EDIT_POPUP_SESSION per fare inserire i testi 
	   					   --> andare in easy style e aggiungere la regola nascondi testi "non partecipo"
						*/
						/* 
						var target1 = query(".tundra.pagIscrizione .boxModule .boxModuleInner .custom")[0];
						if (!!target1 && target1.innerHTML.indexOf("Ci dispiace che")>-1){
							var fraseCiDispiace = "";	 
							target1.innerHTML = target1.innerHTML.replace('Ci dispiace che tu non possa partecipare e speriamo di vederti ai prossimi eventi.',
						                                        fraseCiDispiace);  
						    domStyle.set(target1, "display", "block");                                      
						    console.log ("sostituito .custom");
						}  
						var target = query(".tundra.pagIscrizione .boxModule .boxModuleInner .system")[0];
						if (!!target && target.innerHTML.indexOf("Se hai declinato")>-1){
						    var fraseSeHaiDeclinato = "";
						    var fraseConfermaPartecipazione = "";
							target.innerHTML = target.innerHTML.replace('Se hai declinato l\'invito per errore, ricarica la pagina',  fraseSeHaiDeclinato)
							 								   .replace('e conferma la tua partecipazione.', fraseConfermaPartecipazione);    
						    domStyle.set(target, "display", "block");
						    console.log ("sostituito .system");
						} 

						*/
                      
                      // aggiunge testo dopo immagine header
						//domConstruct.place("<div id='textAfterHeaderImage'></div>", query(".boxPlainImage")[0], 'after');				
						// aggiunge testo dopo i campi	
						//domConstruct.place("<div id='textAfterFields'></div>", query(".formDettagliPersonali")[0], 'after');	
						// testo dopo i bottoni di registrazione
						//domConstruct.place("<div id='textAfterRegistrationButtons'></div>", query(".boxRegistrationButtons")[0], 'after');
								



					} catch (err) {
						console.log(err)
					}
				}

				if (lang.exists("ebPlatform.iscrizione.boxAnagraficaEndSetUp")) {
					if (!!ebPlatform.iscrizione.boxAnagraficaEndSetUp){
						init();
					}
				}
				topic.subscribe("BoxAnagrafica.EndSetUp", lang.hitch(this, function() {				
					init();
				}));
				

			});
		});
}); // outer require

function ebPlatformCustomCheckAndSubmit(){
	console.log("ebPlatformCustomCheckAndSubmit");

 
	// controlla che domini della email ospite ed accompagnatore siano in un certo set:
	// METTERE "," iniziale e "," finale
	// ,@stellamccartney.com,@celine.fr,@celine.com,@it.celine.com,@lvmh.it,@lvmh-pc.it,@fendi.com,@christiandior.com,@lvmhwatchjewelry.com,@louisvuitton.com,@loewe.com,@moethennessy.com,@covamilano.com,@villafoscarini.it,@rimowa.com,@loropiana.com,@marcodevincenzo.com,@belmond.com,@starboardcruise.com,@lcatterton.com,@sephora.com,@givenchy.com,@ruinart.com,@bulgari.com,@tagheuer.com,@lvmhfashion.com,@pucci.com,@acquadiparma.com,@rossimoda.com,@it.berluti.com,@sephora.it,@lvmhfb.com,@guerlain.fr,@benefitcosmetics.com,@makeupforever.fr,@diormail.com,@bulgari.com,@sephora.fr,@sephora.it,@sephora.com,@acquadiparma.it,
	var email0AllowedDomains = ",@lvmhcs.com,@groupearnault.fr,@agache.com,@tiffany.com,@pcis.lvmh-pc.com,@champagnemercier.com,@lvmhcapc.com,@luisvuitton.com,@lvmh.com,@24s.com,@pucci.com,@nakedheart.fr,@dfs.com,@moethenessy.com,@tagheuer.com,@thelios.com,@eventboost.com,@24sevres.com,@acquadiparma.it,@acquadiparma.com,@benefitcosmetics.com,@bulgari.com,@chaumet.com,@christiandior.com,@christiandior.fr,@christiandiorcouture.com,@dfs.com,@dior.com,@diormail.com,@diormail.fr,@lebonmarche.fr,@ext.sephora.fr,@fendi.com,@fendi.it,@fendi.fr,@fondationlouisvuitton.fr,@berluti.com,@it.berluti.com,@fr.berluti.com,@fr.loewe.com,@vuitton.com,@es.vuitton.com,@uk.vuitton.com,@it.vuitton.com,@fr.vuitton.com,@fred.fr,@fresh.com,@guerlain.fr,@givenchy.com,@givenchy.fr,@guerlain.com,@guerlain.fr,@hublot.com,@hublot.ch,@investir.fr,@berluti.com,@it.berluti.com,@jardindacclimatation.fr,@johngalliano.com,@kenzo.com,@kenzo.fr,@kenzoparfums.com,@kenzoparfums.fr,@krug.fr,@lagrande-epicerie.fr,@la-grande-epicerie.fr,@lebonmarche.fr,@legal.lvmh-pc,@legal.lvmh-pc.com,@lesechos.fr,@les-eclaireurs.com,@loewe.es,@loropiana.com,@louisvuitton.com,@louis-vuitton.com,@louisvuitton.fr,@lvmh.fr,@lvmhfragrancebrands.com,@lvmhfragrancebrands.fr,@lvmh-pc.com,@lvmhwatchjewelry.com,@makeupforever.fr,@marcjacobs.com,@mdhfrance.fr,@mhdfrance.fr,@moethennessy.com,@moynat.com,@nlebonmarche.fr,@parfumsgivenchy.fr,@pci.lvmh-pc.com,@pcis.lvmh-pc.com,@pelhammedia.com,@repossi.com,@research.lvmh-pc.com,@ruinart.com,@samaritaine.fr,@sephora.it,@sephora.es,@sephora.ro,@sephora.dk,@sephora.pl,@sephora.ch,@sephora.fr,@tagheuer.com,@TEAMEDIA.FR,@veuve-clicquot.fr,@zenith-watches.com,@franciskurkdjian.com,@lesechos.fr,@lesechosmedias.fr,@cdesarts.com,@dematis.com,@investir.fr,@radioclassique.fr,@teamedia.fr,@vivatechnology.com,@leparisien.fr,@lpmanagement.net,@leparisienmag.fr,@proximy.fr,@kendobrands.fr,@cha-ling.com,@lcatterton.com,@lvmhfb.com,@alto-international.com,@groupearnault.fr,@wordappeal.com,@kco.fr,@ik-vp.com,@lesechosleparisien.fr,@lfb.lvmh.com,@lvmh.lu,@clos19.com,@boursier.com,@fenty.com,@patou.com,@rimowa.com,@patou.fr,@loewe.com,@fyoo.fr,@lesechos.onmicrosoft.com,@groupelesechos.com,@teamdiffusion.fr,@agence-nsw.fr,@mezzo.fr,@annonces-legales.fr,@abos-capitalfinance.lesechos.fr,@leparisien.tv,@infine-editions.fr,@groupelesechos.fr,@personnalisee.leparisien.fr,@lesechos-formalites.fr,@netexplo.org,";
	var emailAccompagnatoreAllowedDomains = email0AllowedDomains;
	var emailAccompagnatoreDisallowedDomains = ""; //",@celine.fr,@celine.com,@it.celine.com,@lvmh.it,@lvmh-pc.it,@fendi.com,@christiandior.com,@lvmhwatchjewelry.com,@louisvuitton.com,@loewe.com,@moethennessy.com,@covamilano.com,@villafoscarini.it,@rimowa.com,@loropiana.com,@marcodevincenzo.com,@belmond.com,@starboardcruise.com,@lcatterton.com,@sephora.com,@givenchy.com,@ruinart.com,@bulgari.com,@tagheuer.com,@lvmhfashion.com,@pucci.com,@acquadiparma.com,@rossimoda.com,@it.berluti.com,@sephora.it,@lvmhfb.com,@guerlain.fr,@benefitcosmetics.com,@makeupforever.fr,@diormail.com,@bulgari.com,@sephora.fr,@sephora.it,@sephora.com,@acquadiparma.it,";
	var idCampoEmailAccompagnatore= "customfield1_box_anagrafica"
	var email0AllowedEmails = ",yr.liu56@gmail.com,dossantossteven@icloud.com,amayenefo@gmail.com,soleneplacide@hotmail.com,ilan.wong@hotmail.fr,lilyrose.hedreville@outlook.fr,laurentpan3@gmail.com,simona.qiu@gmail.com,karhim@hotmail.fr,zakmerhoum75@gmail.com,christine_lopes86@yahoo.fr,lali.charcot@gmail.com,isaacjin01@gmail.com,xiangjiyao1122@gmail.com,nannan_89@hotmail.com,nanyangsj@gmail.com,xingzhi.chen@outlook.com,bonnechance213@gmail.com,lisamarietussy@gmail.com,barterry85@gmail.com,marinebinachon@hotmail.com,kanekotaro@hotmail.co.jp,realkang123@gmail.com,mlgmorgane@orange.fr,mendycelina@gmail.com,benjamin.D.123@outlook.com,MAELWENNDOUCET@ORANGE.FR,NDOUMBENDOUMBE@hotmail.com,wisson@hotmail.fr,Mahamadou.kante@louisvuitton.com,ca.biz@yahoo.com,camille.hardy@celine.fr,martina.alteri@celine.fr,leana.ruh@celine.fr,ahwaechter@eventboost.com,katia@ik-vp.com,contact@ik-vp.com,fgustinelli+acc@eventboost.com,fgustinelli+acc2@eventboost.com,xiangjiyao1122@gmail.com,nannan_89@hotmail.com,nanyangsj@gmail.com,xingzhi.chen@outlook.com,bonnechance213@gmail.com,lisamarietussy@gmail.com,barterry85@gmail.com,marinebinachon@hotmail.com,kanekotaro@hotmail.co.jp,realkang123@gmail.com,mlgmorgane@orange.fr,mendycelina@gmail.com,benjamin.D.123@outlook.com,MAELWENNDOUCET@ORANGE.FR,";

	var returnValue = 'ok';
	// classe managingFiglio 
	if (ebManagingFiglio == false){
	    var email0 = document.getElementById("customfield0_box_anagrafica").value;
		var domain0 = email0.substring(email0.indexOf("@"), email0.length);
	    if (email0AllowedDomains.toLowerCase().indexOf(domain0.toLowerCase()) < 0 && email0AllowedEmails.toLowerCase().indexOf(email0.toLowerCase()) < 0 ) {
	        console.log ("L’inscription peut être faite uniquement avec l’email professionnel. En cas de problème veuillez écrire à  vente.celine@ik-vp.com ");
	        returnValue = "L’inscription peut être faite uniquement avec l’email professionnel. En cas de problème veuillez écrire à  vente.celine@ik-vp.com ";
	    }
	} else {
	     
	    
	}   
	return returnValue;
 
}