require( ebplatform.config.enableLoadBuilt ? ["built/dojo", "built/ebCommon", "built/iscrizione"] : [], function() { //.js.uncompressed
	require(["dojo/ready",
	 	"dojo/_base/lang",
	 	"dojo/_base/array",
		"dojo/dom",
		"dijit/Dialog",
		"dojo/dom-style",
		"dojo/dom-attr",
		"dojo/dom-prop",
		"dojo/dom-construct",
		"dojo/query",
		"dojo/request",
		"dojo/html",
		"dojo/io-query",
		"dojo/on",
		"dojo/topic",
		"dijit/registry"],
		function(ready,
			lang,
			arrayUtil,
			dom,
			Dialog,
			domStyle,
			domAttr,
			domProp,
			domConstruct,
			query,
			request,
			html2,
			ioQuery,
			on,
			topic,
			registry) {
			ready(function() {

				function init(){
					try {

						// domConstruct.place("<div class='myclass'>my html</div>", query("NODE_SELECTOR")[0], 'before');
                      
                      	var nomeCampoSessionsDesktop = "customFieldSelect_504041"; //widgetid
                        var nomeCampoSessionsMobile = "valoreLista1.idValoreLista_box_anagrafica";
                        var valoreCampoSessions1 = "967373"; //Storytelling
                        var valoreCampoSessions2 = "967374"; //PEOPLE Training
                      	var valoreCampoSessions3 = "967375"; //Entrambe
                      	var valoreCampoSessions4 = "967376"; //Nessun vincolo
                      
                      
                        var htmlbody = query("html")[0];
                        console.log("DEBNIG htmlbody:"+htmlbody.lang);
                        //if(htmlbody.lang=="fr"){
                        var lista = getSessionsConstrain(htmlbody.lang);
                      
                      	console.log("LISTA:"+lista);
                      	
						
                      
                        function getSessionsConstrain(){

                            //return;
                            console.log("getSessionsConstrain()");

                            var valoreLista = 4;
                            
                            var w = registry.byId(nomeCampoSessionsDesktop);   
                            //var w = registry.byId("customFieldSelect_401569");   
                            if (!!w){
                              //desktop
                              console.log (" w.get(value)  ", w, w.get("value") );   
                              //w.set("value", valoreLista);   
                              var val = w.get("value");
                              if(val==valoreCampoSessions1){
                              	valoreLista=1;
                              }
                              if(val==valoreCampoSessions2){
                              	valoreLista=2;
                              }
                              if(val==valoreCampoSessions3){
                              	valoreLista=3;
                              }
                              if(val==valoreCampoSessions4){
                              	valoreLista=4;
                              }
                            } else {
                              // per mobile TODO 
                              //var el = dom.byId("valoreLista5.idValoreLista_box_anagrafica");
                              var el = dom.byId(nomeCampoSessionsMobile);
                              // console.log ("1 el:", el, el.options, el.options[el.selectedIndex].text);
                              if(!!el){
                                  for(var i33 = 0; i33 < el.options.length; i33++) {
                                    var trend = el.options[i33];
                                    console.log ("1 trend.value:", trend.value);
                                   	var val = trend.value;
                                    if(val==valoreCampoSessions1){
                                      valoreLista=1;
                                    }
                                    if(val==valoreCampoSessions2){
                                      valoreLista=2;
                                    }
                                    if(val==valoreCampoSessions3){
                                      valoreLista=3;
                                    }
                                    if(val==valoreCampoSessions4){
                                      valoreLista=4;
                                    }
                                  }
                              }

                            }
                          
                          	return valoreLista;
                        }
                      
                      	function impostaSessioni(cosa){
                          console.log("impostaSessioni("+cosa+")");
                          var idsess1 = 274817;
                          var idsess2 = 274816;
                          var idsess3 = 274819;
                          var idsess4 = 274818;
                          
                          var sess1Check = query("input[data-eb-idfascia='"+idsess1+"']")[0];
                          var sess2Check = query("input[data-eb-idfascia='"+idsess2+"']")[0];
                          var sess3Check = query("input[data-eb-idfascia='"+idsess3+"']")[0];
                          var sess4Check = query("input[data-eb-idfascia='"+idsess4+"']")[0];
                          
                          if(cosa==1){
                            if(!!sess1Check){
                          		sess1Check.checked=true;
                          	}
                            domStyle.set(sess1Check, "pointer-events", "none");
                            domStyle.set(sess2Check, "pointer-events", "none");
                            domStyle.set(sess3Check, "pointer-events", "none");
                            domStyle.set(sess4Check, "pointer-events", "none");
                          }
                          
                          if(cosa==2){
                          	if(!!sess2Check){
                          		sess2Check.checked=true;
                          	}
                            domStyle.set(sess1Check, "pointer-events", "none");
                            domStyle.set(sess2Check, "pointer-events", "none");
                            domStyle.set(sess3Check, "pointer-events", "none");
                            domStyle.set(sess4Check, "pointer-events", "none");                         
                          }                          
                          
                        }
                      
                      	function disabilitaSessioni(){
                          console.log("disabilitaSessioni()");
                          var idsess1 = 274817;
                          var idsess2 = 274816;
                          var idsess3 = 274819;
                          var idsess4 = 274818;
                          
                          var sess1Check = query("input[data-eb-idfascia='"+idsess1+"']")[0];
                          var sess2Check = query("input[data-eb-idfascia='"+idsess2+"']")[0];
                          var sess3Check = query("input[data-eb-idfascia='"+idsess3+"']")[0];
                          var sess4Check = query("input[data-eb-idfascia='"+idsess4+"']")[0];
                          
                          if(!!sess1Check){
                          	domStyle.set(sess1Check, "pointer-events", "none");
                          }
                          if(!!sess2Check){
                          	domStyle.set(sess2Check, "pointer-events", "none");
                          }
                          if(!!sess3Check){
                          	domStyle.set(sess3Check, "pointer-events", "none");
                          }
                          if(!!sess4Check){
                          	domStyle.set(sess4Check, "pointer-events", "none");
                          }
                          
                        }
                      
                      
                      	var modifica = query(".modifica")[0];
                      	if(!!modifica){
                          console.log("DEBUG MODIFICA");
                          disabilitaSessioni();
                        }else{
                          //impostaSessioni(lista);
                          console.log("DEBUG NON MODIFICA");
                        }
                      
                      	 ebPlatform.iscrizione.allineaAltezzaBoxSxDx();

                     	// BEGIN_GRUPPI_INCLUSIVI
// END_GRUPPI_INCLUSIVI


						// BEGIN_GRUPPI_ESCLUSIVI
rendiEsclusivoGruppo2(['277895','277901','277894']);
rendiEsclusivoGruppo2(['277896','277902']);
rendiEsclusivoGruppo2(['277908','277907']);
rendiEsclusivoGruppo2(['277909','277910']);
rendiEsclusivoGruppo2(['277903','277897']);
rendiEsclusivoGruppo2(['277904','277898']);
rendiEsclusivoGruppo2(['277905','277899']);
rendiEsclusivoGruppo2(['277906','277900']);
rendiEsclusivoGruppo2(['274818','274817','274816','274819']);
rendiEsclusivoGruppo2(['277912','277920','277911']);
rendiEsclusivoGruppo2(['277921','277913']);
rendiEsclusivoGruppo2(['277914','277922']);
rendiEsclusivoGruppo2(['277923','277915']);
rendiEsclusivoGruppo2(['277924','277916']);
rendiEsclusivoGruppo2(['277925','277917']);
rendiEsclusivoGruppo2(['277926','277918']);
rendiEsclusivoGruppo2(['277931','277938','277930']);
rendiEsclusivoGruppo2(['277932','277939']);
rendiEsclusivoGruppo2(['277940','277933']);
rendiEsclusivoGruppo2(['277941','277934','277947','277946']);
rendiEsclusivoGruppo2(['277935','277942']);
rendiEsclusivoGruppo2(['277936','277943']);
rendiEsclusivoGruppo2(['277944','277937']);
// END_GRUPPI_ESCLUSIVI

	
					    // BEGIN_CHECK_CAMPI
					    // END_CHECK_CAMPI


						/* BEGIN_BLOCK: htmlFasce
						// STRUCTURE htmlFasce
var htmlFasce = {
  "fasce": {
    "274507": "",
    "274508": "",
    "274509": "",
    "274510": "",
    "274511": "",
    "274816": "",
    "274817": "",
    "274818": "",
    "274819": "",
    "277894": "",
    "277895": "",
    "277896": "",
    "277897": "",
    "277898": "",
    "277899": "",
    "277900": "",
    "277901": "",
    "277902": "",
    "277903": "",
    "277904": "",
    "277905": "",
    "277906": "",
    "277907": "",
    "277908": "",
    "277909": "",
    "277910": "",
    "277911": "",
    "277912": "",
    "277913": "",
    "277914": "",
    "277915": "",
    "277916": "",
    "277917": "",
    "277918": "",
    "277920": "",
    "277921": "",
    "277922": "",
    "277923": "",
    "277924": "",
    "277925": "",
    "277926": "",
    "277927": "",
    "277928": "",
    "277929": "",
    "277930": "",
    "277931": "",
    "277932": "",
    "277933": "",
    "277934": "",
    "277935": "",
    "277936": "",
    "277937": "",
    "277938": "",
    "277939": "",
    "277940": "",
    "277941": "",
    "277942": "",
    "277943": "",
    "277944": "",
    "277945": "",
    "277946": "",
    "277947": ""
  }
}
// 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"));
							    
							    if (value != "")
							        html2.set(query(".tundra.pagIscrizione .boxDateEvento .fasceDataEvento .idFascia" + key+ " span.titoloFascia")[0], value);
							}								 
					 	} catch (err) {
							console.log("htmlFasce: ", err);
						}	
						END_BLOCK: htmlFasce */

						/* BEGIN_BLOCK: almenoUnAccompagnatore
						//mette un blocco in modo che almeno un accompagnatore venga aggiunto
                      	if(ebManagingFiglio==false){
                          if(ebNumFigli==0){
                            console.log("prececcho il checkbox e non lo rendo ");
                            query("#addPartner").forEach(
                              function(node){
                            console.log("DEBUG node:",node);
                            node.checked=true;
                              });
                            domStyle.set(dom.byId("addPartnerContainer"), "pointer-events", "none");
                          }
                        }
						END_BLOCK: almenoUnAccompagnatore */


						/* BEGIN_BLOCK: bloccoConsenso1

						//Blocca i radiobutton del consenso1 fino a quando non viene fatto click sul link informativa privacy
						//Se si clicca sui radio button bloccati viene mostrato un popup
                      
                      	var bloccaRadioConsensi=true;

						var idLinkPrivacy = query("#inlineInformativaOpener")[0];
                      	console.log("DEBUG idLinkPrivacy:",idLinkPrivacy);
                      	if(idLinkPrivacy!=null){
                        	console.log("DEBUG disabilito radio button SI");
                          	//blocco solo i radio1 per il ServizioIscrizione
                        	query("[name='consensoTrattamentoDati.consensoServizioIscrizione']").forEach(function(e) {
                                console.log("DEBUG ELEMENTO CONSENSO:",e);
                                domProp.set(e, 'disabled', true);                            
                            
                        	});
                          
                            console.log("DEBUG aggancio il click");
                          	//aggancio l'evento click sull'apertura privacy
                            on (idLinkPrivacy,'click',function(){
                                    console.log("DEBUG Aperta Informativa");
                              		bloccaRadioConsensi=false;
                              		//riattivo i radio1
                                    query("[name='consensoTrattamentoDati.consensoServizioIscrizione']").forEach(function(e) {
                                        console.log("DEBUG ELEMENTO CONSENSO:",e);
                                        domProp.set(e, 'disabled', false);
                                    });
                              });
                          	
                          	var elementoContenitoreRadio1 = query("[data-ebplatform-template-elementid='consentRequest1Node']")[0];
                          	if(elementoContenitoreRadio1!=null){
                          
                                console.log("DEBUG ELEMENTO CONSENSO1:",elementoContenitoreRadio1);
                              	//prendo il contenitore dei radio1 e controllo il click, se i radio sono disabilitati allora mostro popup
                                on(elementoContenitoreRadio1,'click',function(){
                                    console.log("DEBUG Click su consenso1");
                                  	if(bloccaRadioConsensi){
                                        myDialog = new Dialog({
                                          //title: "Details",
                                          title: "Attenzione",
                                          content: "Leggere prima l'informativa sulla privacy",
                                          style: "width: 800px"
                                        });
                                        myDialog.show();
                                    }
                                });                              
                            }
                        }
				
						END_BLOCK: bloccoConsenso1 */
						 
						// STRUCTURE popupDescriptions
var popupDescriptions = {
  "template": "<br/>%Description%",
  "FFFpreselect": "%FFFpreselect%",
  "editables": "%titolo%,%bio%,%FFFpreselect%",
  "enableDialogDetail": true,
  "fasce": {
    "274507": {
      "FFFpreselect": "1",
      "id": "274507",
      "session_title": "Day 1",
      "session_start_date": "20230605",
      "start_time": "1630",
      "session_end_date": "20230605",
      "end_time": "1800",
      "description": ""
    },
    "274508": {
      "FFFpreselect": "1",
      "id": "274508",
      "session_title": "Day 2",
      "session_start_date": "20230606",
      "start_time": "0900",
      "session_end_date": "20230606",
      "end_time": "1445",
      "description": ""
    },
    "274509": {
      "FFFpreselect": "1",
      "id": "274509",
      "session_title": "Day 3",
      "session_start_date": "20230607",
      "start_time": "0900",
      "session_end_date": "20230607",
      "end_time": "1515",
      "description": ""
    },
    "274510": {
      "FFFpreselect": "1",
      "id": "274510",
      "session_title": "Day 4",
      "session_start_date": "20230608",
      "start_time": "0900",
      "session_end_date": "20230608",
      "end_time": "1500",
      "description": ""
    },
    "274511": {
      "FFFpreselect": "1",
      "id": "274511",
      "session_title": "Day 5",
      "session_start_date": "20230609",
      "start_time": "0900",
      "session_end_date": "20230609",
      "end_time": "1100",
      "description": ""
    },
    "274816": {
      "FFFpreselect": "",
      "id": "274816",
      "session_title": "PEOPLE Training",
      "session_start_date": "20230607",
      "start_time": "0930",
      "session_end_date": "20230607",
      "end_time": "1100",
      "description": "<i><b>PEOPLE Program Training</b></i><BR/>As people in public service, we know what a difference it makes when we elect leaders who have our backs. We deserve leaders who respect our work and that’s why we fight! AFSCME uses voluntary contributions collected through its PEOPLE program, not dues, to contribute to candidates for federal office and in certain states where other funding is restricted. In this workshop we will train you on how to give highly engaging and exciting PEOPLE Program presentations to members in an effort to grow our program and continue electing leaders who will fight to protect our members."
    },
    "274817": {
      "FFFpreselect": "",
      "id": "274817",
      "session_title": "Storytelling for Digital Content",
      "session_start_date": "20230607",
      "start_time": "0930",
      "session_end_date": "20230607",
      "end_time": "1100",
      "description": "<i><b>Storytelling for Digital Content</b></i><BR/>Do Big Things (DBT) will provide a 90-minute training session on storytelling in digital content for up to 50 members of Local 3930’s designated communications and field staff. The training will provide both high-level and practical guidance on how to use literary techniques that leverage stronger narratives and more authentic voices to create email, social media, and other digital content that increases reach, fosters engagement, and drives impact."
    },
    "274818": {
      "FFFpreselect": "",
      "id": "274818",
      "session_title": "Courageous Conversations",
      "session_start_date": "20230607",
      "start_time": "0930",
      "session_end_date": "20230607",
      "end_time": "1100",
      "description": "<i><b>Courageous Conversations</b></i><BR/>Courageous Conversations is a tool and framework to help people break patterns of procrastination and avoidance in dealing with challenging and uncomfortable relational situations. In this training you will learn best practices and tools to create more successful outcomes from these conversations. We will ask what crucial or courageous conversations you have had to conduct, what are some you need to conduct or have avoided conducting? Many of us feel varying degrees of reluctance to engage in these kinds of conversation, often put off having them – perhaps in some vague hope that the problems will go away on their own, but they don’t! In this workshop we will give you the tools to prepare and practice for the courageous conversation you need to have."
    },
    "274819": {
      "FFFpreselect": "",
      "id": "274819",
      "session_title": "Resilience Training",
      "session_start_date": "20230607",
      "start_time": "0930",
      "session_end_date": "20230607",
      "end_time": "1100",
      "description": "<i><b>Resilience Training</b></i><BR/>Right To Be is offering this interactive and experiential learning experience that will teach you how to author your own resilience, using Right To Be’s resilience methodology: sit with what is, create your story, and be in choice. We’ll start by talking about what resilience really is, and how it’s different (and harder) than self-care. Using guided practices, we’ll learn how to hold our pain and still find joy. We’ll explore how we’re making sense of this moment — and how that’s shaping our experience of it. And we’ll learn practices to recover quickly when we’re knocked down by the world."
    },
    "277894": {
      "id": "277894",
      "session_title": "Yoga: Moving Into Rhythm With Your Highest Self",
      "session_start_date": "20230606",
      "start_time": "1500",
      "session_end_date": "20230606",
      "end_time": "1545",
      "session_capacity": "34",
      "description": "<i><b>Yoga: Moving Into Rhythm With Your Highest Self</b></i><BR/>The term “Yoga” means to unite. In this practice we set the intention for you to reunite with your Highest Self, which is innately peaceful, innately creative, and innately whole and enough. Come find your rhythm and reconnect with yourself.<BR/><BR/><i><b>Location:</b>Marina View Lawn</i>",
      "FFFpreselect": ""
    },
    "277895": {
      "id": "277895",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230606",
      "start_time": "1500",
      "session_end_date": "20230606",
      "end_time": "1520",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277896": {
      "id": "277896",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230606",
      "start_time": "1525",
      "session_end_date": "20230606",
      "end_time": "1545",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277897": {
      "id": "277897",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230606",
      "start_time": "1615",
      "session_end_date": "20230606",
      "end_time": "1645",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277898": {
      "id": "277898",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230606",
      "start_time": "1645",
      "session_end_date": "20230606",
      "end_time": "1700",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277899": {
      "id": "277899",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230606",
      "start_time": "1705",
      "session_end_date": "20230606",
      "end_time": "1725",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277900": {
      "id": "277900",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230606",
      "start_time": "1730",
      "session_end_date": "20230606",
      "end_time": "1750",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277901": {
      "id": "277901",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230606",
      "start_time": "1500",
      "session_end_date": "20230606",
      "end_time": "1520",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277902": {
      "id": "277902",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230606",
      "start_time": "1525",
      "session_end_date": "20230606",
      "end_time": "1545",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277903": {
      "id": "277903",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230606",
      "start_time": "1615",
      "session_end_date": "20230606",
      "end_time": "1635",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277904": {
      "id": "277904",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230606",
      "start_time": "1645",
      "session_end_date": "20230606",
      "end_time": "1700",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277905": {
      "id": "277905",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230606",
      "start_time": "1705",
      "session_end_date": "20230606",
      "end_time": "1725",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277906": {
      "id": "277906",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230606",
      "start_time": "1730",
      "session_end_date": "20230606",
      "end_time": "1750",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277907": {
      "id": "277907",
      "session_title": "Sustained Silent Reading with Kim",
      "session_start_date": "20230606",
      "start_time": "1530",
      "session_end_date": "20230606",
      "end_time": "1630",
      "session_capacity": "12",
      "description": "<i><b>Sustained Silent Reading with Kim </b></i><BR/>Kim has a personal practice of reading 1 hour every day to decompress and stimulate the brain. Bring a book and join her for 1 hour of sustained silent reading. For questions, please contact Kim at kmoore@udwa.org.<BR/><BR/><i><b>Location:</b>Kona Kia Library</i> ",
      "FFFpreselect": ""
    },
    "277908": {
      "id": "277908",
      "session_title": "Sound Healing with April",
      "session_start_date": "20230606",
      "start_time": "1530",
      "session_end_date": "20230606",
      "end_time": "1615",
      "session_capacity": "15",
      "description": "<i><b>Sound Healing with April</b></i><BR/>Sound healing/sound baths are a form of healing that combines different kinds of sounds and vibrations to heal the body, mind, and spirit. April is a practitioner, and you can join her for a 45-minute session that is sure to leave you feeling renewed. For questions, please contact April at arios@udwa.org. <BR/><BR/><i><b>Location:</b>Park Across from Kona Kai</i> ",
      "FFFpreselect": ""
    },
    "277909": {
      "id": "277909",
      "session_title": "Sound Healing: Vibrate Higher",
      "session_start_date": "20230606",
      "start_time": "1600",
      "session_end_date": "20230606",
      "end_time": "1645",
      "session_capacity": "25",
      "description": "<i><b>Sound Healing with April</b></i><BR/>Sound healing/sound baths are a form of healing that combines different kinds of sounds and vibrations to heal the body, mind, and spirit. April is a practitioner, and you can join her for a 45-minute session that is sure to leave you feeling renewed. For questions, please contact April at arios@udwa.org. <BR/><BR/><i><b>Location:</b>Park Across from Kona Kai</i> ",
      "FFFpreselect": ""
    },
    "277910": {
      "id": "277910",
      "session_title": "Pool with Jinny at Society Restaurant, Bar, Pool Hall, and Entertainment",
      "session_start_date": "20230606",
      "start_time": "1600",
      "session_end_date": "20230606",
      "end_time": "2000",
      "session_capacity": "20",
      "description": "<i><b>Pool with Jinny at Society Restaurant, Bar, Pool Hall, and Entertainment</b></i><BR/>Did you know that we have a world class pool champion in our organization? Ok, maybe not world class but she’s a champion in our eyes! Join Jinny to shoot some pool and take in some good food and beverages. Note: This activity comes with a cost. You will be responsible for your transportation to and from the event as well as your food and beverages. For questions, please contact Jinny vhilderbrand@udwa.org. <BR/><BR/><i><b>Location:</b>Society PB – Restaurant, Bar, Pool Hall, and Entertainment (1051 Garnet Ave, San Diego, CA)</i> ",
      "FFFpreselect": ""
    },
    "277911": {
      "id": "277911",
      "session_title": "Yoga: Moving Into Rhythm With Your Highest Self",
      "session_start_date": "20230607",
      "start_time": "1530",
      "session_end_date": "20230607",
      "end_time": "1615",
      "session_capacity": "34",
      "description": "<i><b>Yoga: Moving Into Rhythm With Your Highest Self</b></i><BR/>The term “Yoga” means to unite. In this practice we set the intention for you to reunite with your Highest Self, which is innately peaceful, innately creative, and innately whole and enough. Come find your rhythm and reconnect with yourself.<BR/><BR/><i><b>Location:</b>Marina View Lawn</i>",
      "FFFpreselect": ""
    },
    "277912": {
      "id": "277912",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230607",
      "start_time": "1530",
      "session_end_date": "20230607",
      "end_time": "1650",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277913": {
      "id": "277913",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230607",
      "start_time": "1555",
      "session_end_date": "20230607",
      "end_time": "1615",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277914": {
      "id": "277914",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230607",
      "start_time": "1620",
      "session_end_date": "20230607",
      "end_time": "1640",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277915": {
      "id": "277915",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230607",
      "start_time": "1645",
      "session_end_date": "20230607",
      "end_time": "1705",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277916": {
      "id": "277916",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230607",
      "start_time": "1710",
      "session_end_date": "20230607",
      "end_time": "1730",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277917": {
      "id": "277917",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230607",
      "start_time": "1735",
      "session_end_date": "20230607",
      "end_time": "1755",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277918": {
      "id": "277918",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230607",
      "start_time": "1800",
      "session_end_date": "20230607",
      "end_time": "1820",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277919": {
      "id": "277919",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "1530",
      "session_end_date": "20230607",
      "end_time": "1550",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277920": {
      "id": "277920",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "1530",
      "session_end_date": "20230607",
      "end_time": "1550",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277921": {
      "id": "277921",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "1555",
      "session_end_date": "20230607",
      "end_time": "1615",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277922": {
      "id": "277922",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "1620",
      "session_end_date": "20230607",
      "end_time": "1640",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277923": {
      "id": "277923",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "1645",
      "session_end_date": "20230607",
      "end_time": "1705",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277924": {
      "id": "277924",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "1710",
      "session_end_date": "20230607",
      "end_time": "1730",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277925": {
      "id": "277925",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "0535",
      "session_end_date": "20230607",
      "end_time": "1755",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277926": {
      "id": "277926",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230607",
      "start_time": "1800",
      "session_end_date": "20230607",
      "end_time": "1820",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277927": {
      "id": "277927",
      "session_title": "Bike with Malik",
      "session_start_date": "20230607",
      "start_time": "1545",
      "session_end_date": "20230607",
      "end_time": "1645",
      "session_capacity": "7",
      "description": "<i><b>Bike with Malik</b></i><BR/>The best way to take in the sights around the resort is to ride a bike. No one knows this more than Malik, our resident avid bike rider. Join him for a 3-mile roundtrip bike ride from Kona Kai to Eppig Brewing Waterfront Biergarten and back. For questions, please contact Malik at mbynum@udwa.org.<BR/><BR/><i><b>Location:</b>Kona Kai Fitness Center</i> ",
      "FFFpreselect": ""
    },
    "277928": {
      "id": "277928",
      "session_title": "Sound Healing: Vibrate Higher",
      "session_start_date": "20230607",
      "start_time": "1630",
      "session_end_date": "20230607",
      "end_time": "1715",
      "session_capacity": "25",
      "description": "<i><b>Sound Healing with April</b></i><BR/>Sound healing/sound baths are a form of healing that combines different kinds of sounds and vibrations to heal the body, mind, and spirit. April is a practitioner, and you can join her for a 45-minute session that is sure to leave you feeling renewed. For questions, please contact April at arios@udwa.org. <BR/><BR/><i><b>Location:</b>Park Across from Kona Kai</i> ",
      "FFFpreselect": ""
    },
    "277929": {
      "id": "277929",
      "session_title": "Martial Arts with Joe",
      "session_start_date": "20230607",
      "start_time": "1700",
      "session_end_date": "20230607",
      "end_time": "1800",
      "session_capacity": "30",
      "description": "<i><b>Martial Arts with Joe</b></i><BR/>Joe is a world martial arts champion, a 5th dan master in Gyojin karate, 2nd dan black belt in Iga Ninjutsu, and a black belt in taekwondo karate. Having taught martial arts for 20 years, Joe is offering an introductory course where, among other things, you will learn about the physical and mental benefits of studying the art. For questions, please contact Joe at jwilson@udwa.org. <BR/><BR/><i><b>Location:</b>Marina View Lawn</i>",
      "FFFpreselect": ""
    },
    "277930": {
      "id": "277930",
      "session_title": "Yoga: Moving Into Rhythm With Your Highest Self",
      "session_start_date": "20230608",
      "start_time": "1515",
      "session_end_date": "20230608",
      "end_time": "1600",
      "session_capacity": "34",
      "description": "<i><b>Yoga: Moving Into Rhythm With Your Highest Self</b></i><BR/>The term “Yoga” means to unite. In this practice we set the intention for you to reunite with your Highest Self, which is innately peaceful, innately creative, and innately whole and enough. Come find your rhythm and reconnect with yourself.<BR/><BR/><i><b>Location:</b>Marina View Lawn</i>",
      "FFFpreselect": ""
    },
    "277931": {
      "id": "277931",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230608",
      "start_time": "1515",
      "session_end_date": "20230608",
      "end_time": "1535",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277932": {
      "id": "277932",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230608",
      "start_time": "1540",
      "session_end_date": "20230608",
      "end_time": "1600",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277933": {
      "id": "277933",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230608",
      "start_time": "1605",
      "session_end_date": "20230608",
      "end_time": "1625",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277934": {
      "id": "277934",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230608",
      "start_time": "0430",
      "session_end_date": "20230608",
      "end_time": "1650",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277935": {
      "id": "277935",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230608",
      "start_time": "1655",
      "session_end_date": "20230608",
      "end_time": "1715",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277936": {
      "id": "277936",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230608",
      "start_time": "1720",
      "session_end_date": "20230608",
      "end_time": "1740",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277937": {
      "id": "277937",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230608",
      "start_time": "1745",
      "session_end_date": "20230608",
      "end_time": "1805",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277938": {
      "id": "277938",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230608",
      "start_time": "1515",
      "session_end_date": "20230608",
      "end_time": "1535",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277939": {
      "id": "277939",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230608",
      "start_time": "1540",
      "session_end_date": "20230608",
      "end_time": "1600",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277940": {
      "id": "277940",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230608",
      "start_time": "1605",
      "session_end_date": "20230608",
      "end_time": "1625",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277941": {
      "id": "277941",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230608",
      "start_time": "1630",
      "session_end_date": "20230608",
      "end_time": "1650",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277942": {
      "id": "277942",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230608",
      "start_time": "1655",
      "session_end_date": "20230608",
      "end_time": "1715",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277943": {
      "id": "277943",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230608",
      "start_time": "1720",
      "session_end_date": "20230608",
      "end_time": "1740",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277944": {
      "id": "277944",
      "session_title": "Reiki: Restoring Harmony",
      "session_start_date": "20230608",
      "start_time": "1745",
      "session_end_date": "20230608",
      "end_time": "1805",
      "session_capacity": "3",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277945": {
      "id": "277945",
      "session_title": "Sound Healing: Vibrate Higher",
      "session_start_date": "20230608",
      "start_time": "1615",
      "session_end_date": "20230608",
      "end_time": "1700",
      "session_capacity": "25",
      "description": "<i><b>Sound Healing with April</b></i><BR/>Sound healing/sound baths are a form of healing that combines different kinds of sounds and vibrations to heal the body, mind, and spirit. April is a practitioner, and you can join her for a 45-minute session that is sure to leave you feeling renewed. For questions, please contact April at arios@udwa.org. <BR/><BR/><i><b>Location:</b>Park Across from Kona Kai</i> ",
      "FFFpreselect": ""
    },
    "277946": {
      "id": "277946",
      "session_title": "Sustained Silent Reading with Kim",
      "session_start_date": "20230608",
      "start_time": "1630",
      "session_end_date": "20230608",
      "end_time": "1730",
      "session_capacity": "12",
      "description": "<i><b>Sustained Silent Reading with Kim </b></i><BR/>Kim has a personal practice of reading 1 hour every day to decompress and stimulate the brain. Bring a book and join her for 1 hour of sustained silent reading. For questions, please contact Kim at kmoore@udwa.org.<BR/><BR/><i><b>Location:</b>Kona Kia Library</i> ",
      "FFFpreselect": ""
    },
    "277947": {
      "id": "277947",
      "session_title": "Martial Arts with Joe",
      "session_start_date": "20230608",
      "start_time": "1630",
      "session_end_date": "20230608",
      "end_time": "1730",
      "session_capacity": "30",
      "description": "<i><b>Martial Arts with Joe</b></i><BR/>Joe is a world martial arts champion, a 5th dan master in Gyojin karate, 2nd dan black belt in Iga Ninjutsu, and a black belt in taekwondo karate. Having taught martial arts for 20 years, Joe is offering an introductory course where, among other things, you will learn about the physical and mental benefits of studying the art. For questions, please contact Joe at jwilson@udwa.org. <BR/><BR/><i><b>Location:</b>Marina View Lawn</i>",
      "FFFpreselect": ""
    },
    "277968": {
      "id": "277968",
      "session_title": "Massage: Tuning Back Into You",
      "session_start_date": "20230606",
      "start_time": "1550",
      "session_end_date": "20230606",
      "end_time": "1610",
      "session_capacity": "4",
      "description": "<i><b>Massage: Tuning Back Into You </b></i><BR/>These massage sessions are a chance for you to let things sink in and float away. During these sessions you’ll become familiar with where your body is holding tension and with the assistance of the masseuse you’ll begin the process of releasing these tensions. Oftentimes our body reflects what is happening with our emotions so it’s our intention that you leave feeling lighter.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    },
    "277969": {
      "id": "277969",
      "session_title": "Reiki: Restoring Harmony Details",
      "session_start_date": "20230606",
      "start_time": "1550",
      "session_end_date": "20230606",
      "end_time": "1610",
      "session_capacity": "4",
      "description": "<i><b>Reiki: Restoring Harmony</b></i><BR/>The purpose of Reiki is to help release any blockages or imbalances in the energy system, which can occur due to physical or emotional stress. Reiki promotes relaxation, stress reduction, and overall well-being. It is based on the concept that there is energy flowing through us, and when this energy is balanced, we experience good health and vitality. Sign up and allow our reiki practitioner to assist you in restoring balance and a sense of harmony within the body and mind.<BR/><BR/><i><b>Location:</b>Point Loma 1</i>",
      "FFFpreselect": ""
    }
  }
}
// END STRUCTURE popupDescriptions







						function ifNotEmpty (v) {
						    if (v != ""){
						     	return "<br/><br/>" + v 
						    } 
							return "" ;
						}
						try {
							if (popupDescriptions.enableDialogDetail)
								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 content= popupDescriptions.template;  
                                          
                                          	
                                          	var description4 = "";
                                          	if(!!popupDescriptions.fasce[idFascia].description){
                                          		description4 = popupDescriptions.fasce[idFascia].description;
                                            }                                          	                                          
										    
											content= content.replaceAll("%Description%", description4 );
											
											myDialog = new Dialog({
										        //title: "Details",
										        title: popupDescriptions.fasce[idFascia].session_title,
										        content: content,
										        style: "width: 800px"
										    });
										    myDialog.show();
										     

										});
									}
								}

							if (!!popupDescriptions.FFFpreselect) {
								for (const idFascia in popupDescriptions.fasce) {
									if (popupDescriptions.fasce[idFascia].FFFpreselect == "1"){
										query(".id" + idFascia + " input[type=checkbox]").forEach(function(node){node.checked=true;});		
									} 	
								}		
							}

						} catch (err) {
							console.log("popupDescriptions: ", err);
						}		

						/* Titolo evento con HTML: 
						   query("#headerText > h3 > span")[0].innerHTML = "2022 <i>FIRST</i> Community Conference";
						*/
	

						/*	sold out in rosso su expand/collapse
						query(".fasceDataEvento").forEach(function(e) { 
                                var nDisponibili = query(e).query(".postiDisponibili").length;
                          	    if (nDisponibili == 0) {
                                	var titleElem = query(e).query(".dataToCapitalize")[0];                                                                        
                                    // se si vuole che non sia cliccabile:
                                    // vedere anche https://docs.google.com/presentation/d/1nq8O1ylteslVaWcaiu1fqpvEKPWchd_yeMLsd5wVnlI/edit#slide=id.g115728e5b7c_0_13	
                                    // domClass.add(e,  "noncliccabile");  
                                    var iconElem = query(e).query(".iconText")[0];									 
                                    iconElem.innerHTML = " sold outÂ ";
                                    iconElem.style = "background:red;color:white;font-weight:900 !important";                                  
                                }                          
                        });
                        */
						 
						// 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');
											
						/*
                        var idPersona = query("[name=idPersona]")[0].value;
                        console.log ("idPersona:", idPersona);
                        if (idPersona == 0) 
                            query("body").addClass("publicPage");  
                        */ 
						
						/* BEGIN_BLOCK: intMaxAccompagnatori
						if (!!dom.byId("intMaxAccompagnatori") && dom.byId("intMaxAccompagnatori").innerHTML == "0") {
							domStyle.set(dom.byId("boxAcc"), "display", "none");
							ebPlatform.iscrizione.allineaAltezzaBoxSxDx();
						}
						END_BLOCK: intMaxAccompagnatori */

						/* toglie email da ospite principale
						document.getElementsByClassName("ospitePrincipale")[0].innerHTML = document.getElementsByClassName("ospitePrincipale")[0].innerHTML.replaceAll (/\[.*\]/g,"").trim();
						*/

						/*  // cecca una sessione:
							query(".id201509 input[type=checkbox]").forEach(function(node){node.checked=true;});
						*/

						/* aggiungo un link */
						/*var lab=query(".tundra.pagIscrizione .boxDatiIscrizione .itemForm.idCustomfield197656 label")[0];
						if (!!lab){
							lab.innerHTML = 'PRESA VISIONE DELL\'<a href="#" class="informativaPrivacy">INFORMATIVA PRIVACY</a><span class="mandatory">*</span>';
							var link = query(".tundra.pagIscrizione .boxDatiIscrizione .itemForm.idCustomfield197656 label a.informativaPrivacy")[0];
							on(link,'click',function(){
								window.open('https://s3-eu-west-1.amazonaws.com/eventboost/assets/customcss/sacbo/Informativa01.html','informativa','width=800,height=600');
							})							
						}*/

						 /*  solo due scelte per una lista di checkbox
 						     query("input[name='valoriCustomField[383558]']").on('click', function(e){                         		
                           		var alreadyChecked = query("input[name='valoriCustomField[383558]']:checked").length;
                                console.log ("e: ", e, alreadyChecked);     
                                if (alreadyChecked >= 3) {
                                   e.checked = false;
                                   dojo.stopEvent(e); 
                                                                    
                                  myDialog = new Dialog({                                    
                                    title: "Warning",
                                    content: "You can choose a maximum of only two sessions for this date.",
                                    style: "width: 800px"
                                  });
                                  myDialog.show();
                                }
                                
                         });                        
						*/

						/* -------------------------------------------------------------
							modifico frase pagina evento per 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"
						*/
						/* BEGIN_BLOCK: declinaConLeiPaginaEvento
						var target1 = query(".tundra.pagIscrizione .boxModule .boxModuleInner .custom")[0];
						if (!!target1 && target1.innerHTML.indexOf("Ci dispiace che")>-1){
							var fraseCiDispiace = "Ci dispiace che non possa partecipare e speriamo di vederLa ai prossimi eventi.";	 
							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 target2 = query(".tundra.pagIscrizione .boxModule .boxModuleInner .system")[0];
						if (!!target2 && target2.innerHTML.indexOf("Se hai declinato")>-1){
						    var fraseSeHaiDeclinato = "Se ha declinato l\'invito per errore, ricarichi la pagina";
						    var fraseConfermaPartecipazione = "e confermi la sua partecipazione.";
							target2.innerHTML = target2.innerHTML.replace('Se hai declinato l\'invito per errore, ricarica la pagina',  fraseSeHaiDeclinato)
							 								   .replace('e conferma la tua partecipazione.', fraseConfermaPartecipazione);    
						    domStyle.set(target2, "display", "block");
						    console.log ("sostituito .system");
						} 
                      	var target3 = query(".msg3")[0];
                      	console.log("DEBUG target3:",target3);
						if (!!target3 && target3.innerHTML.indexOf("allegato il tuo biglietto in formato PDF")>-1){
						    var fraseSeHaiDeclinato = "con allegato il suo biglietto in formato PDF";
							target3.innerHTML = target3.innerHTML.replace('con allegato il tuo biglietto in formato PDF',  fraseSeHaiDeclinato);
						    //domStyle.set(target3, "display", "block");
						    console.log ("sostituito .msg3");
						}
                      	var target4 = query(".riepilogoRegistrazione p")[0];
                      	console.log("DEBUG target4:",target4);
						if (!!target4 && target4.innerHTML.indexOf("Ecco il riepilogo della tua registrazione")>-1){
						    var fraseSeHaiDeclinato = "della sua registrazione";
							target4.innerHTML = target4.innerHTML.replace('della tua registrazione',  fraseSeHaiDeclinato);
						    //domStyle.set(target3, "display", "block");
						    console.log ("sostituito .riepilogoRegistrazione");
						}
                      	var target5 = query(".ringraziamentoFiglio")[0];
                      	console.log("DEBUG target5:",target5);
                      	if (!!target5){
                          if (!!target5 && target5.innerHTML.indexOf("La tua registrazione ")>-1){
                              var fraseSeHaiDeclinato = "La sua registrazione ";
                              target5.innerHTML = target5.innerHTML.replace('La tua registrazione ',  fraseSeHaiDeclinato);
                              //domStyle.set(target3, "display", "block");
                              console.log ("sostituito .ringraziamentoFiglio .msg1");
                          }
                          var target51 = query(".msg1")[0];
                          console.log("DEBUG target51:",target51);
                          if (!!target51 && target51.innerHTML.indexOf("la tua registrazione")>-1){
                              var fraseSeHaiDeclinato1 = "la sua registrazione ";
                              var fraseSeHaiDeclinato2 = "con allegati i suoi biglietti in";
                            	var fraseSeHaiDeclinato3 = "ha cancellato";
                              target51.innerHTML = target51.innerHTML.replace('la tua registrazione',  fraseSeHaiDeclinato1)
                            										.replace('con allegati i tuoi biglietti in', fraseSeHaiDeclinato2)
                            										.replace('hai cancellato', fraseSeHaiDeclinato3); 
                              //domStyle.set(target3, "display", "block");
                              console.log ("sostituito .ringraziamentoFiglio .msg1");
                          }
                          var target52 = query(".msg3")[0];
                          console.log("DEBUG target52:",target52);
                          if (!!target52 && target52.innerHTML.indexOf("con allegati i tuoi biglietti in formato PDF")>-1){
                              var fraseSeHaiDeclinato1 = "con allegati i suoi biglietti in formato PDF";
                              target52.innerHTML = target52.innerHTML.replace('con allegati i tuoi biglietti in formato PDF',  fraseSeHaiDeclinato1); 
                              //domStyle.set(target3, "display", "block");
                              console.log ("sostituito .ringraziamentoFiglio .msg1");
                          }
                        }
                      	var target56 = query(".ringraziamentoPadre")[0];
                      	console.log("DEBUG target56:",target56);
                      	if (!!target56){
                          if (!!target56 && target56.innerHTML.indexOf("La tua registrazione")>-1){
                              var fraseSeHaiDeclinato = "La sua registrazione";
                              target56.innerHTML = target56.innerHTML.replace('La tua registrazione',  fraseSeHaiDeclinato);
                              //domStyle.set(target3, "display", "block");
                              console.log ("sostituito .ringraziamentoFiglio .msg1");
                          }
                        }
                      	var target513 = query(".msg1")[0];
                        console.log("DEBUG target51:",target51);
                        if (!!target513 && ((target513.innerHTML.indexOf("la tua registrazione")>-1)||(target513.innerHTML.indexOf("Ciao ")>-1)) ){
                          var fraseSeHaiDeclinato1 = "la sua registrazione";
                          var fraseSeHaiDeclinato2 = "con allegati i suoi biglietti in";
                          var fraseSeHaiDeclinato3 = "ha cancellato";
                          var fraseSeHaiDeclinato4 = "Gentile ";
                          var fraseSeHaiDeclinato5 = "La sua registrazione";
                          var fraseSeHaiDeclinato6 = "essersi";
                          target513.innerHTML = target513.innerHTML.replace('la tua registrazione',  fraseSeHaiDeclinato1)
                            .replace('con allegati i tuoi biglietti in', fraseSeHaiDeclinato2)
                            .replace('hai cancellato', fraseSeHaiDeclinato3)
                          	.replace('La tua registrazione', fraseSeHaiDeclinato5)
                          	.replace('Ciao ', fraseSeHaiDeclinato4)
                          	.replace('esserti', fraseSeHaiDeclinato6); 
                          //domStyle.set(target3, "display", "block");
                          console.log ("sostituito .ringraziamentoFiglio .msg1");
                        }
                      	var target6 = query(".riepilogoRegistrazione p")[0];
                      	console.log("DEBUG target6:",target6);
						if (!!target6 && target6.innerHTML.indexOf("Ecco il riepilogo della tua registrazione")>-1){
						    var fraseSeHaiDeclinato = "della sua registrazione";
							target6.innerHTML = target6.innerHTML.replace('della tua registrazione',  fraseSeHaiDeclinato);
						    //domStyle.set(target3, "display", "block");
						    console.log ("sostituito .riepilogoRegistrazione");
						} 
						END_BLOCK: declinaConLeiPaginaEvento */

						/* se devo leggere/agire da/su un campo lista */
						/*
						var widget = registry.byId("customFieldSelect_307042");
						var accompagnatori = "";
						*/
						/* 	663363;"SI"
							663364;"NO"
						*/
						/*
						if (!!widget){
							accompagnatori = widget.get("value");
							console.log("... da widget");

							widget.on('change',function(newVal){
								console.log("newVal:",newVal);
							});

						} else {
							var el = dom.byId("valoreLista3.idValoreLista_box_anagrafica");
							if(!!el){
								if (el.selectedIndex > 0) {
									accompagnatori = el.options[el.selectedIndex].value;
								}
								on(el,'change',function(e){
									console.log("newVal:",el.options[el.selectedIndex].value);
								});
							}
							console.log("... da select");
						}
						*/

						/*
						// Setta valore in campo lista. Nel form degli accompagnatori setta il campo non editabile "Team Type" con il valore "Team Member" 				 
						var widget = registry.byId("customFieldSelect_376327");
						var accompagnatori = "";
						var valoreLista = 773117;
						if (!!widget){							 
							// per desktop
							widget.set("value", valoreLista);
						} else {
							// per mobile 
							var el = dom.byId("valoreLista2.idValoreLista_box_anagrafica");
							//el.selectedIndex = 2;	
							if(!!el){
								el.value = valoreLista;
								let changeEvent = new Event('change');
								el.dispatchEvent(changeEvent);
							}
						}
						*/	


						/* consensi privacy: rimuoviamo default no */
						/* var c1 = document.getElementById('consensoTrattamentoDati.consensoServizioIscrizione2');
						if (!!c1){
							domProp.set(c1,'checked',false);
						}
						var c2 = document.getElementById('consensoTrattamentoDati.consensoPubblicitaIscrizione2');
						if (!!c2){
							domProp.set(c2,'checked',false);
						}	
						*/

						/* sostituisce from at nelle ore fasce */	
						/* BEGIN_BLOCK: changeFromInSessions			 		
						query(".date.time").forEach(function(dateTime) {
							console.log (".date.time n " , dateTime);
					        dateTime.innerHTML = dateTime.innerHTML.replace("from", "at").replace("dalle", "alle");		
					    });	
						END_BLOCK: changeFromInSessions */

						/* BEGIN_BLOCK: addBottoneDopoBottoneIscrizione
						var ref1 = query('.iscrizione')[0];
						var html1 = '<br/><span class="inputSubmit maggioriinfo" style="margin-top: 0px;">' + 									
									'<a href="https://www.axpo.com/it/it/axpo_green_energy_solutions_talks.html" class="submitIscrizione" style="vertical-align:middle;border: 0px none;    border-radius: 4px;    cursor: pointer;    display: inline-block;    font-size: 100%;    font-weight: 600;    height: 50px;    line-height: 38px;    padding: 5px 15px;    -webkit-appearance: none;font-family: \'Montserrat\';color:white;BACKGROUND-COLOR:#FF0000" target="_new">MAGGIORI INFO</a>' + 	
									'</span>';

						domConstruct.place(html1, ref1, 'after');
						END_BLOCK: addBottoneDopoBottoneIscrizione */


						/* BEGIN_BLOCK: messaggioSeGiaIscrittoENonDaBE
						var idPersona = document.getElementsByName("idPersona");
						//console.log("ep-25659.js idPersona.value:"+idPersona[0].value);

						var giaPresente = !!query(".giaRegistratoNoUpdate.giaRegistratoNoDelete")[0];
						console.log("giaPresente",giaPresente);
						var qs = document.location.search;
						var fromBE = false;
						if (!!qs) {
							qs = ioQuery.queryToObject(qs.substring(1, qs.length));
							if (!!qs.fromBE) {
								 console.log ("from BE:" + qs.fromBE);
								 if (qs.fromBE == "true") {
								 	fromBE = true;
								 }
							}
						}	
						//if(idPersona[0].value>0){
						if (giaPresente && fromBE == false){
							//c'e' un iscrizione
							domStyle.set("boxDxContent", "display", "none");
							var boxesPrivacyWrap = query(".boxesPrivacyWrap ")[0];
							if (!!boxesPrivacyWrap ){
								domStyle.set(boxesPrivacyWrap, "display", "none");
							}
							document.getElementById("boxDx").innerHTML = "<div id=\"boxAvvertimento\">La tua registrazione è già stata effettuata;<BR/>Qualora avessi bisogno di modificare la tua iscrizione, contatta la <b>Segreteria Organizzativa Amundi Digital Roadshow</b><BR/><b>Email:</b>amundidigitalroadshow@aesteam.it<BR/><b>Telefono:</b>338 4642173<BR/><i>(orario segreteria organizzativa: dal lunedì al venerdì dalle 10.00 alle 16.00)</i></div>";

							var buttons = document.getElementsByClassName("boxRegistrationButtons");
							//console.log("ep-25659.js buttons.style.display:"+buttons[0].style.display);
							var i;
							for (i = 0; i < buttons.length; i++) {
								buttons[i].style.display = "none";
								//console.log("ep-25659.js buttons.style.display none");
							}
							var boxDx = document.getElementById("boxDx");
							boxDx.style.marginTop="30px";

						}else{
							//nessuna iscrizione quindi non faccio niente
						}
						END_BLOCK: messaggioSeGiaIscrittoENonDaBE */


						/* inserire una FilteringSelect custom 
						 "dojo/store/Memory",
				         "dijit/form/FilteringSelect",
				         Memory,
				         FilteringSelect,

						 var privateStore = new Memory({
				              idProperty: 'val',
				              data: [
				                  {val:'"ALTERNA" LTD'},
								  {val:'"ALTEUS" LTD'}, 
								  ...
								  ...
								  ]
				          });
						  // impostare customfieldYY_box_anagrafica come testo libero!
				          this.privateWidget = new FilteringSelect({
				              //value: this.stato.get('private'),
				              placeHolder: "Scegli il valore",
				              store: privateStore,
				              searchAttr:'val',
				              labelAttr:'val',
				              name: 'customfield4',
				              queryExpr: "*${0}*",
				              searchDelay: 1000,
				              //pageSize: 10,
				              onChange: lang.hitch(this,function(newVal){
				                  //this.stato.set('private',newVal);	    			
				              })
				          },"customfieldYY_box_anagrafica");
				        */	

				        /*
				         // setta l'email nella form uguale a quella usata per il login con password 
						 if (document.getElementById("customfield0_box_anagrafica").value == "" && document.querySelector(".ospitePrincipale") != null) {                      
                             var ospitePrincipale = document.querySelector(".ospitePrincipale").textContent;
                             const reg = /\[(.*)\]/;
                             const found = ospitePrincipale.match(reg);
                             document.getElementById("customfield0_box_anagrafica").value  = found[1];
                          }
                       }
				        */

					} 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();
				}));

				/* Per rendere un gruppo di checkbox a scelta esclusiva */
				function rendiEsclusivoGruppo(idArr){
					arrayUtil.forEach(idArr,function(itemId){
						if (!!document.getElementById(itemId)){
							on(document.getElementById(itemId),'click',function(e){
								console.log("this",this,"e",e);
								if (e.target.checked){
									resetChecked(idArr,itemId);
								}
							});
						}
					});
				};

				function resetChecked(idArr,escludiId){
					arrayUtil.forEach(idArr,function(itemId){
						if (itemId != escludiId){
							var el = document.getElementById(itemId);
							if (!!el){
								el.checked = false;
							}
						}
					});
				}
				// usa querySelector con data-eb-idfascia
				function rendiEsclusivoGruppo2(idArr){
					arrayUtil.forEach(idArr,function(itemId){
						if (!!document.querySelector("[data-eb-idfascia='" + itemId + "']")){
							on(document.querySelector("[data-eb-idfascia='" + itemId + "']"),'click',function(e){
								console.log("this",this,"e",e);
								if (e.target.checked){
									resetChecked2(idArr,itemId);
								}
							});
						}
					});
				};
		
        		function resetChecked2(idArr,escludiId){
					arrayUtil.forEach(idArr,function(itemId){
						if (itemId != escludiId){
							var el = document.querySelector("[data-eb-idfascia='" + itemId + "']");
							if (!!el){
								el.checked = false;
							}
						}
					});
				}   

				// usa querySelector con data-eb-idfascia
				function rendiInclusivoGruppo(idArr){
					arrayUtil.forEach(idArr,function(itemId){
						if (!!document.querySelector("[data-eb-idfascia='" + itemId + "']")){
							on(document.querySelector("[data-eb-idfascia='" + itemId + "']"),'click',function(e){
								console.log("this",this,"e",e);
								if (e.target.checked){
									setChecked(idArr,itemId);
								} else {
                                  	resetChecked2(idArr,itemId);
                                }
							});
						}
					});
				};
		
        		function setChecked(idArr,escludiId){
					arrayUtil.forEach(idArr,function(itemId){
						if (itemId != escludiId){
							var el = document.querySelector("[data-eb-idfascia='" + itemId + "']");
							if (!!el){
								el.checked = true;
							}
						}
					});
				}  

				
				function numeroMassimoSessioniPossibiliIscrizione(nMaxSessioniPermesse){
					on(query("#boxDateEvento input[type=checkbox]"),'click',function(e){
								 
						var nchecked = 0;
						query("#boxDateEvento input[type=checkbox]").forEach(function(el){
							if (el.checked == true) 
								nchecked++;									 
						})
						 
						if (nchecked >= nMaxSessioniPermesse + 1) {
							e.checked = false;
							domProp.set(e, 'disabled', true);
							 
							myDialog = new Dialog({
						        //title: "Details",
						        title: "Attenzione ",
						        content: "Massimo " + nMaxSessioniPermesse + " sessioni !",
						        style: "width: 500px"
						    });
						    myDialog.show();	
						    // prevent propagating event
							dojo.stopEvent(e);	
						}								 							
					});	
				}


				/* Per controllare la lunghezza dei campi testo */
				function deleteOrFrecce(keyCode){
					return (keyCode==8 || keyCode==46 || keyCode==37 || keyCode==39);
				}
				/*----------------solo cifre e impone anche un limite al numero dei caratteri numerici------------------------*/
				function limitaCifre(f,num){
					domAttr.set(f,'maxlength',num);
					on(f,'keydown',function(e){
						console.log(e.keyCode);
						if ((e.keyCode<48 || e.keyCode>57) && !deleteOrFrecce(e.keyCode)){
							e.preventDefault();
						}
					});
				}
				/*-----limita il numero delle cifre nel campo--------------------------*/
				function limitaTesto(f,num){
					domAttr.set(f,'maxlength',num);
					on(f,'keydown',function(e){
						console.log("DEBUG e:",e);
                      	console.log("DEBUG f:",f);                      	
                      	
						if ((e.keyCode>0) && !deleteOrFrecce(e.keyCode)){
                          	if(f.value.length<num){
                              f.value += e.key;
                            }
							e.preventDefault();
						}
					});
				}

				/* Per limitare le date disponibili sui calendari */
				function limitaDate() {
					try {
						var w = registry.byId("customfield5_box_anagrafica");
						if (!!w) {						
							w.set("dropDownDefaultValue", new Date(2018, 0, 1, 0, 0, 0, 0));
							w.set("constraints", {min: "2019-02-01", max:"2019-02-28"});
						}
						
					} catch(err) {
						console.log(err);
					}
				}

				/* Per limitare le date disponibili su tutti i calendari */
				function limitaTutteLeDate() {
					try {
						query(".ebTimeZoneAwareDateTextBox").forEach(function(node){
							var widgetId = domAttr.get(node,'widgetid');
							console.log(widgetId);

							var w = registry.byId(widgetId);
							if (!!w) {						
								w.set("dropDownDefaultValue", new Date(2020, 0, 1, 0, 0, 0, 0));
								w.set("constraints", {min: "2020-01-01"});
							}
						});
					} catch(err) {
						console.log(err);
					}
				}

				function checkObbligatorieta() {
				}	
				// https://docs.google.com/presentation/d/1yvdDh2qMFjcrx_Wd0sjuOZAAa4ZEObx4yKANhZOa2As/edit#slide=id.gedc95bf6d4_0_66	
				function SessioniMostraNascondiGruppiCampi(){                  
                             on(query("#boxDateEvento input[type=checkbox]"),'click',function(e){ 

                              checkObbligatorieta();
                              
                              //console.log("this", e, e.target, "-" ,e.target.attributes[3].value);   
                              var idFasciaCheckBox = e.target.attributes[3].value;
                               // console.log ("idFasciaCheckBox: ", idFasciaCheckBox);                                                     
                                if (!e.target.checked ){
                                   // console.log (" false !! ", e.target.checked);
                                   /*
                                   Tolgo il checkox: 
                                    settare a null tutte le liste che hanno 
                                    Il selected 
                                    A Quel valore di idfascia                                   
                                   */
                                     for (var v in cf) {				   
                                        var cf1 = cf[v];		                                
                                        if ( cf1.desc.indexOf('_sessions_') >= 0 ){
                                          	 var idCf = cf1.idCf;	
                                             var indiceIdValore = cf1.indiceIdValore;
                                             var w = registry.byId("customFieldSelect_" + idCf);   
                                             if (!!w){
                                                  console.log (" w.get(value)  ", w, w.get("value") );                                               
                                                   // se idfascia cliccata Ã¨ il valore corrente della lista allora la resetta cosÃ¬ spariscono i campi collegati
                                                   for (var objLista in w.store.data) {
                                                         var data = w.store.data[objLista];
                                                         // console.log (" dataaa ", data.label, w.get("value"));
                                                         if (w.get("value")==data.idValoreLista &&  data.label.indexOf(idFasciaCheckBox  +  " - ")>=0) {
                                                              w.set("value", null);
                                                           	  // console.log (" set vale null !! ");  
                                                              break;                                                             
                                                         }
                                                   }                                                                                                
                                             } else {
                                                  // per mobile TODO 
                                               	  var el = dom.byId("valoreLista" + indiceIdValore +".idValoreLista_box_anagrafica");
                                                  // console.log ("1 el:", el, el.options, el.options[el.selectedIndex].text);

                                                  for(var i = 0; i < el.options.length; i++) {
                                                    var trend = el.options[i];
                                                    // console.log ("1 trend.value", trend.value);
                                                    if (trend.selected == true && trend.text.indexOf(idFasciaCheckBox + ' - ') >= 0 ) {
                                                      // console.log("1 pigliato il valore " + trend.text, trend.index);
                                                      el.selectedIndex = 0;
                                                      
                                                      fireEvent(el,'change');
                                                      
                                                   }
                                                 } 	
                                               
                                             }
                                        }
                                     }
                                } 
                                                      
                           	    // ciclo su tutti i checkbox per abilitare i campi da mostrare definite dalle liste attaccate alle sessioni
                           		query("#boxDateEvento input[type=checkbox]").forEach(function(checkboxSession){                            			
                                  	console.log (" . . . . . . . checkboxSession:", checkboxSession.checked, checkboxSession.attributes[3].value);
                                     idFasciaCheckBox = checkboxSession.attributes[3].value;                                     
                                  if ( checkboxSession.checked )
                                    for (var v in cf) {				   
                                      var cf1 = cf[v];		                                
                                      if ( cf1.desc.indexOf('_sessions_') >= 0 ){                                        	
                                            //triggerIdFascia pottrebbe essere anche un array(?)... _sessions_23432_22322_23222 
                                            var triggerIdFasciaArr = cf1.desc.replace('_sessions_','');
                                            // console.log ("triggerIdFascia: ", triggerIdFasciaArr);
                                            
                                            var idLista = cf1.idLista;		
                                            var idCf = cf1.idCf;		
                                            var indiceIdValore = cf1.indiceIdValore;
                                        
                                        	// console.log ("++ lista: ", idLista, idCf);                                        
                                            triggerIdFasciaArr.split('_').forEach(function(triggerIdFascia) {
                                            // console.log("triggerIdFascia loop: " , triggerIdFascia);                               

                                          if (triggerIdFascia == idFasciaCheckBox)
                                            for (var lista in mappaListeValoriJson){		                                               
                                               var l = mappaListeValoriJson[lista];
                                               // console.log ("++ l: ", l, l.idListaValori, idLista, idCf);
                                               if (l.idListaValori == idLista) {                                                                                       
                                                  var w = registry.byId("customFieldSelect_" + idCf);                                            
                                                 // console.log ("++++++++++ dentro!!", w, idCf); 
                                                  var concerto = null;                                            
                                                    if (!!w){
                                                        var setListValueCorrespondingToSessionId = null;
                                                        for (var objLista in w.store.data) {
                                                            var data = w.store.data[objLista];
                                                            if (data.label.indexOf(idFasciaCheckBox + ' - ')>=0) 
                                                                setListValueCorrespondingToSessionId = data.valore;
                                                        }                                                
                                                        if (setListValueCorrespondingToSessionId != null) 
                                                            w.set("value", setListValueCorrespondingToSessionId);
                                                            // console.log (" - - - - set: 1 ", setListValueCorrespondingToSessionId);                                                
                                                    } else {
                                                         
                                                        //console.log ("set for mobile...", indiceIdValore);
                                                        var el = dom.byId("valoreLista" + indiceIdValore +".idValoreLista_box_anagrafica");
                                                        //console.log ("el:", el, el.options, el.options[el.selectedIndex].text);
                                                      
                                                      	for(var i = 0; i < el.options.length; i++) {
                                                           var trend = el.options[i];
                                                           // console.log ("trend.value", trend.value);
                                                           if ( trend.text.indexOf(idFasciaCheckBox + ' - ') >= 0 ) {
                                                               console.log(" pigliato il valore " + trend.text, trend.index);
                                                               el.selectedIndex = trend.index;
                                                               
                                                               fireEvent(el,'change');
                                                           }
                                                         }
                                                       
                                                    }
                                               }
                                            }
                                          
                                         }); //split                                        
                                      }	// if cf1	 		   
                                  }	// for cf	
 							});	// forEach(function(checkboxSession)                           
                         }); //on 
                
                } // SessioniMostraNascondiGruppiCampi()
              
              	// triggera onchange per anche per ie
              	function fireEvent(element,event){
                  if (document.createEventObject){
                  // dispatch for IE
                  var evt = document.createEventObject();
                  return element.fireEvent('on'+event,evt)
                  }
                  else{
                  // dispatch for firefox + others
                  var evt = document.createEvent("HTMLEvents");
                  evt.initEvent(event, true, true ); // event type,bubbling,cancelable
                  return !element.dispatchEvent(evt);
                  }
                }

				/* Apre E Seleziona Tutte Le Fasce */
				function ApreESelezionaTutteLeFasce() {
					domConstruct.place("<button type='button' id='allFascia'>Subscribe to all events</button><br><br>", query("[data-ebplatform-template-elementid='registrationBoxTitleNode']")[0], 'after');
					var btnAll = query('#allFascia' )[0];
					on (btnAll,'click',function(){
					
					query(".boxDateEvento input[type=checkbox]").forEach(function(node){node.checked=true;});

					arrayUtil.forEach(
					    query(".iconText"),
					    function(selectTag){					         
							selectTag.click(); 
							
					    }
					  );		 
					});
				}

				// check obbligatorietÃ 	
				// esempio: aggiungiSeNonPresenti(["customfield5","customfield7","customfield8" ], eventboostplatform_iscrizioneFormProfile.required);
				function aggiungiSeNonPresenti(cosa,dove){
							arrayUtil.forEach(cosa, function(item) {
								var trovato = false;
								arrayUtil.forEach(dove, function(item2) {
									if (item == item2) {
										trovato = true;
									}
								});
								if (!trovato) {
									dove.push(item);
								}
							});
							return dove;
						}
				// check obbligatorietÃ 
				// esempio: aggiungiSeNonPresentiCheckBox(["valoreLista10.idValoreLista" ], eventboostplatform_iscrizioneFormProfile.required_checkboxes);
				function aggiungiSeNonPresentiCheckBox(cosa,dove){
					arrayUtil.forEach(cosa, function(item) {
						var trovato = false;
						arrayUtil.forEach(dove, function(item2) {
							if (item in item2) {
								trovato = true;
							}
						});
						if (!trovato) {
							var obj = {};
							obj[item]=1;
							dove.push(obj);
						}
					});
					return dove;
				}

				// escludi dal check obbligatorietÃ 	campi testo
				// esempio: eventboostplatform_iscrizioneFormProfile.required = eliminaTutti(["customfield5","customfield7","customfield8" ], eventboostplatform_iscrizioneFormProfile.required);	
				function eliminaTutti(cosa, dove) {
					var ret = [];
					arrayUtil.forEach(dove, function(item) {
						var trovato = false;
						arrayUtil.forEach(cosa, function(item2) {
							if (item == item2){ 
								trovato = true;
							}
						});
						if (!trovato) {
							ret.push(item);
						}
					});
					return ret;
				}
				// escludi dal  check obbligatorietÃ  
				// esempio: eventboostplatform_iscrizioneFormProfile.required_checkboxes = eliminaTuttiCheckBox(["valoreLista4.idValoreLista"], eventboostplatform_iscrizioneFormProfile.required_checkboxes);
				function eliminaTuttiCheckBox(cosa, dove) {
					var ret = [];
					arrayUtil.forEach(dove, function(item) {
						var trovato = false;
						arrayUtil.forEach(cosa, function(item2) {
							if (item2 in item){ 
								trovato = true;
							}
						});
						if (!trovato) {
							ret.push(item);
						}
					});
					return ret;
				}

				/* bottone per resettare tutte le sessioni selezionate */	
				function uncheckAllSessions(){
					document.querySelectorAll('.boxRegistration [type=checkbox]').forEach(function(e){ e.checked=false });
				}
				function buttonUncheckAllSessions() {
					domConstruct.place("<button type='button' id='buttonUncheckAllSessions'>Reset</button><br><br>", query("[data-ebplatform-template-elementid='registrationBoxTitleNode']")[0], 'after');
					var btnAll = query('#buttonUncheckAllSessions' )[0];
					on (btnAll,'click',function(){
						uncheckAllSessions();				 	 
					});
				}
				/* dato il nome di un custom field (prima colonna manage fields nel BE) ritorna il nome del campo
   		           in modo da potere prendere l'elemento col dom o col registry widget, ad es ritorna
   		           se campo testo: customfield4_box_anagrafica
  				   se lista: customFieldSelect_21818
 				   se lista per mobile: valoreLista1.idValoreLista_box_anagrafica
				 */
				function CFName(findName, forMobile) {
					    //console.log ("cf ", cf);
                    var ret = "";
                    // non Ã¨ lista?
                    for(var idCustom in cf) {
                       if (cf[idCustom].indiceCustomField > 0 && cf[idCustom].desc == findName) { 
                           ret = "customfield" + cf[idCustom].indiceCustomField + "_box_anagrafica";
                           //console.log ("non lista ", ret);
                           break;
                       }
                    }
                    // lista ?
                    if (ret == "") {
                       for(var idCustom in cf) {
                           if (cf[idCustom].indiceIdValore > 0 && cf[idCustom].desc == findName) { 
                               // ret = "customfield" + cf[idCustom].indiceIdValore + "_box_anagrafica";
                               ret = "customFieldSelect_" + idCustom;
                               if (forMobile) 
                                   ret = "valoreLista" + cf[idCustom].indiceIdValore + ".idValoreLista_box_anagrafica";
                               //console.log ("lista ", ret);
                               break;
                           }
                        }
                    }
                    //console.log ("ret ", ret);
                    return ret;
                }


			});
		});
}); // outer require

/* BEGIN_BLOCK: allowedDomains 
function ebPlatformCustomCheckAndSubmit(){
	console.log("ebPlatformCustomCheckAndSubmit");


	// controlla che domini della email ospite ed accompagnatore siano in un certo set:
	// METTERE "," iniziale e "," finale
	var email0AllowedDomains = ",@gmail.com,@hotmail.com,@eventboost.com,";
	var emailAccompagnatoreAllowedDomains = ",@gmail.com,@hotmail.com,@eventboost.com,";
	var idCampoEmailAccompagnatore= "customfield1_box_anagrafica"

	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) {
	        console.log ("Dominio email ospite non permesso.");
	        returnValue = 'Dominio email ospite non permesso.';
	    }
	} else {
	    // accompagnatore cambiare id a seconda del caso
	    var emailAcc = document.getElementById(idCampoEmailAccompagnatore).value;
		var domainAccompagnatore = emailAcc.substring(emailAcc.indexOf("@"), emailAcc.length);
	    if (emailAccompagnatoreAllowedDomains.toLowerCase().indexOf(domainAccompagnatore.toLowerCase()) < 0) {
	        console.log ("Dominio email accompagnatore non permesso."); 
	        returnValue = 'Dominio email accompagnatore non permesso.';
	    }
	}   
	return returnValue;

	return 'ko'
}
END_BLOCK: allowedDomains */