Skip to Main Content
ICBA
  • Member Login
  • Member Login
An error occurred while processing the template.
The following has evaluated to null or missing:
==> cpCatalogEntry  [in template "49724393377863#35335#5420685" at line 55, column 26]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: cpDefinitionId = cpCatalogEntry.getCP...  [in template "49724393377863#35335#5420685" at line 55, column 9]
----
1<#assign  
2	defaultImgMap = { 
3				 "Default": { 
4	  			   "image": "/documents/d/guest/default_logo.png", 
5		  		   "color": "gray" 
6			  	 }, 
7  				 "Livestream": { 
8	  			   "image": "/documents/d/guest/icon-desktop-svg", 
9		  		   "color": "purple" 
10			  	 }, 
11				   "Recorded":{ 
12				     "image": "/documents/d/guest/icon-play", 
13				     "color": "red" 
14  				 }, 
15	  			 "In Person":{ 
16		  		   "image": "/documents/d/guest/icon-persons", 
17			  	   "color": "green" 
18				   }, 
19				   "Download": { 
20				     "image": "/documents/d/guest/icon-download-black", 
21				     "color": "border-color" 
22  				 }, 
23  				 "Self-paced": { 
24				     "image": "/documents/d/guest/icon-mouse-white", 
25				     "color": "black" 
26				   }, 
27					 "Bank subscription": { 
28				     "image": "/documents/d/guest/icon-bank", 
29				     "color": "blue" 
30
31	}			  
32/> 
33 
34<!--Parent Assignment--> 
35<#setting url_escaping_charset='UTF-8'> 
36<#assign 
37	commerceContext = renderRequest.getAttribute("COMMERCE_CONTEXT") 
38	account = commerceContext.getAccountEntry() 
39	accountId = account.getAccountEntryId() 
40	chanelId = commerceContext.getCommerceChannelId() 
41	 
42	attendenceWebinarStructuredContentId = 1087266 
43	attendenceSeminarStructuredContentId = 237233 
44	cpeWebinarStructuredContentId = 237244 
45	cpeSeminarStructuredContentId = 1087351 
46	cpePersonStructuredContentId = 1087403 
47	cocStructuredContentId = 237255 
48	policyStructuredContentId = 237266 
49	recordingStructuredContentId = 1087301 
50	videoStructuredContentId = 1087312 
51	nasbaStructuredContentId = 1087327				  
52/> 
53 
54<#assign 
55	cpDefinitionId = cpCatalogEntry.getCPDefinitionId() 
56	productId = cpCatalogEntry.getCProductId() 
57	productName = cpCatalogEntry.getName() 
58	productShortDescription = cpCatalogEntry.getShortDescription() 
59	productDescription = cpCatalogEntry.getDescription() 
60	friendlyURL = cpContentHelper.getFriendlyURL(cpCatalogEntry, themeDisplay) 
61	defaultImageURL = cpContentHelper.getDefaultImageFileURL(accountId, cpDefinitionId) 
62	defaultImageFileVersion = cpContentHelper.getCPDefinitionImageFileVersion(cpDefinitionId, request) 
63	productDetail = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${chanelId}/products/${productId}?accountId=${accountId}&nestedFields=categories,productSpecifications") 
64	defaultImageURL = productDetail.urlImage?replace('https://localhost', '') 
65	fileEntryIdAttr = 'data-fileentryid="' + defaultImageFileVersion.fileEntryId + '"' 
66	specifications = productDetail.productSpecifications 
67	customFields = productDetail.customFields 
68	productCategories = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${chanelId}/products/${productId}/categories?pageSize=100") 
69	categories = productCategories.items 
70	extRefCode = productDetail.externalReferenceCode 
71	filterValue = extRefCode?url 
72	url = "/c/agendas/?fields=informationRawText,information,startTime,endTime&filter=r_productAgendaItem_CPDefinitionERC%20eq%20%27${filterValue}%27&sort=startTime" 
73	agendaData = restClient.get(url) 
74	productsku= restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${chanelId}/products/${productId}/skus?pageSize=40") 
75	productOptions= restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${chanelId}/products/${productId}/product-options?pageSize=40") 
76				  
77	attendenceWebinar= restClient.get("/headless-delivery/v1.0/structured-contents/${attendenceWebinarStructuredContentId}") 
78	attendenceSeminar= restClient.get("/headless-delivery/v1.0/structured-contents/${attendenceSeminarStructuredContentId}") 
79	cpeWebinar= restClient.get("/headless-delivery/v1.0/structured-contents/${cpeWebinarStructuredContentId}") 
80	cpeSeminar= restClient.get("/headless-delivery/v1.0/structured-contents/${cpeSeminarStructuredContentId}") 
81	cpePerson= restClient.get("/headless-delivery/v1.0/structured-contents/${cpePersonStructuredContentId}") 
82	coc= restClient.get("/headless-delivery/v1.0/structured-contents/${cocStructuredContentId}") 
83	policy= restClient.get("/headless-delivery/v1.0/structured-contents/${policyStructuredContentId}") 
84	recording= restClient.get("/headless-delivery/v1.0/structured-contents/${recordingStructuredContentId}") 
85	video= restClient.get("/headless-delivery/v1.0/structured-contents/${videoStructuredContentId}") 
86	nasba= restClient.get("/headless-delivery/v1.0/structured-contents/${nasbaStructuredContentId}") 
87				  
88	filter = "productId eq ${productId}" 
89	encodedFilter = filter?url 
90	contentMappingURL = "/c/productcontentlinks/?filter=" + encodedFilter 
91	contentMapping = restClient.get(contentMappingURL) 			  
92	infoObj = {} 
93	tags = productDetail.tags 
94	featuredSpecificationKeys = ["fit", "weight", "material"] 
95	eventTypeName = "" 
96	startDate = "" 
97	startTime = "" 
98	endDate = "" 
99	endTime = "" 
100	deliverymethodArray = [{"id": "", "value": ""}] 
101	audiencemethodArray = [{"id": "", "value": ""}] 
102	nasbadeliverymethodArray = [{"id": "", "value": ""}] 
103	locationAddress = "" 
104	hasSkus = "false" 
105/> 
106 
107<!-- SKU Area  --> 
108	<#assign priceFormatted = ""/> 
109	<#assign displayMapValue = {} /> 
110	<#assign displayMapName = {} /> 
111  <#assign defaultSKUKey = ''/> 
112	<#assign dropdownKeys = ["nonmember:live","nonmember:ondemand","nonmember:live-ondemand"] /> 
113	<#assign memberdropdownKeys = ["icba-member:live","icba-member:ondemand","icba-member:live-ondemand"] /> 
114	<#assign tableColumnNames = [] /> 
115	<#assign tableRowNames = [] /> 
116	<#assign numberOfOptions = 0 /> 
117  <#assign priceList = [] /> 
118	 
119	<!-- Create Option Map for multiple option products--> 
120<#assign productOptionMap = {"unlimited-webinar-pass:live": "", 
121"unlimited-webinar-pass:ondemand": "", 
122"unlimited-webinar-pass:live-ondemand": "", 
123"nonmember:live": "", 
124"nonmember:ondemand": "", 
125"nonmember:live-ondemand": "", 
126"icba-member:live": "", 
127"icba-member:ondemand": "", 
128"icba-member:live-ondemand": "", 
129"bank-director-program-subscriber:live": "", 
130"bank-director-program-subscriber:ondemand": "", 
131"bank-director-program-subscriber:live-ondemand": "", 
132"icba-bank-director-program-subscriber:live": "", 
133"icba-bank-director-program-subscriber:ondemand": "", 
134"icba-bank-director-program-subscriber:live-ondemand": ""} /> 
135	 
136<!-- Create Option Map for single Option products--> 
137<#assign productOptionMapSingle = {"unlimited-webinar-pass": "", 
138"nonmember": "", 
139"icba-member": "", 
140"bank-director-program-subscriber": "", 
141"icba-bank-director-program-subscriber": "", 
142"nonbanker": ""} /> 
143		   
144<#assign 	productskuJson = jsonFactoryUtil.createJSONObject(productsku)/>	 
145	<#if productskuJson?has_content && productskuJson.has("items")> 
146		<#assign itemsArray = productskuJson.getJSONArray("items")/> 
147<#if itemsArray?has_content && itemsArray.length() gt 0> 
148	<#assign hasSkus = "true"> 
149  <#list 0..itemsArray.length() - 1 as index> 
150		<#if itemsArray.getJSONObject(index)?has_content> 
151     <#assign item = itemsArray.getJSONObject(index) /> 
152		 <#assign price = item.price.priceFormatted> 
153         <#assign ccustomFields = item.getJSONArray("customFields") /> 
154		      <#assign urlValue = ""/> 
155          <#if ccustomFields?has_content> 
156            <#list 0..ccustomFields.length() - 1 as j> 
157              <#assign ccustomField = ccustomFields.getJSONObject(j) /> 
158							<#assign urlValue = ccustomField.getJSONObject("customValue").getString("data")/> 
159            </#list> 
160           </#if> 
161               <#assign skuOptions = item.getJSONArray("skuOptions") /> 
162                  <#if skuOptions?has_content> 
163										 <#assign nameKey = "" /> 
164										 <#assign numberOfOptions = skuOptions.length() /> 
165										<#if skuOptions.length() != 1 > 
166											<!-- Handle Product with Multiple Options to create matrix table --> 
167                     <#list 0..skuOptions.length() - 1 as i> 
168                         <#assign skuOption = skuOptions.getJSONObject(i) /> 
169											   <#assign skuOptionKey = skuOption.getString("skuOptionKey") /> 
170											    <#if skuOptionKey == "registration-options"> 
171													  <#assign skuOptionValueKey = skuOption.skuOptionValueKey /> 
172													  <#list 0..skuOptions.length() - 1 as j> 
173													    <#assign subskuOption = skuOptions.getJSONObject(j) /> 
174															<#assign subskuOptionKey = subskuOption.skuOptionKey /> 
175															<#if subskuOptionKey != skuOptionKey> 
176																<#assign displayName = subskuOption.skuOptionValueNames?remove_beginning('["')?remove_ending('"]') /> 
177																<#assign rowdisplayName = skuOption.skuOptionValueNames?remove_beginning('["')?remove_ending('"]') /> 
178																<#if !tableRowNames?seq_contains(rowdisplayName) > 
179																   <#assign tableRowNames = tableRowNames + [rowdisplayName] /> 
180																</#if> 
181																<#if !tableColumnNames?seq_contains(displayName) > 
182																   <#assign tableColumnNames = tableColumnNames + [displayName] /> 
183																</#if> 
184																<#assign priceList = priceList + [price] /> 
185																<#assign skukey = skuOptionValueKey + ":" + subskuOption.skuOptionValueKey /> 
186																<#assign productOptionMap = productOptionMap + { skukey: price }> 
187																<#assign displayName = subskuOption.skuOptionValueNames?remove_beginning('["')?remove_ending('"]') /> 
188																<#assign displayMapValue += {skukey:urlValue} /> 
189																<#assign displayMapName += {skukey:displayName} /> 
190																<#assign defaultSKUKey = skukey/> 
191															</#if> 
192													  </#list> 
193														 
194												  </#if> 
195                      </#list> 
196											<!-- Handle products with a single SKU --> 
197											<#else> 
198												<#if !tableColumnNames?seq_contains("Price") > 
199												  <#assign tableColumnNames = tableColumnNames + ["Price"] /> 
200												</#if> 
201												<#list 0..skuOptions.length() - 1 as i> 
202                         <#assign skuOption = skuOptions.getJSONObject(i) /> 
203											   <#assign skuOptionKey = skuOption.getString("skuOptionKey") /> 
204													  <#assign skuOptionValueKey = skuOption.skuOptionValueKey /> 
205																<#assign rowdisplayName = skuOption.skuOptionValueNames?remove_beginning('["')?remove_ending('"]') /> 
206																<#if !tableRowNames?seq_contains(rowdisplayName) > 
207																   <#assign tableRowNames = tableRowNames + [rowdisplayName] /> 
208																</#if> 
209																<#assign priceList = priceList + [price] /> 
210																<#assign skukey = skuOptionValueKey /> 
211																<#assign displayMapValue += {skukey:urlValue} /> 
212																<#assign displayMapName += {skukey:rowdisplayName} /> 
213													      <#assign defaultSKUKey = skukey/> 
214													      <#assign productOptionMapSingle = productOptionMapSingle + { skukey: price }> 
215                         </#list> 
216											</#if> 
217                  </#if> 
218						</#if> 
219       </#list> 
220   </#if> 
221</#if> 
222 
223<!-- Category area--> 
224<#assign isInstitute = "false" /> 
225<#assign isSeminar = "false" /> 
226<#assign isForum = "false" />			 
227<#assign isLivestream = "false" /> 
228<#assign isOnlineCourse = "false" /> 
229<#assign isInPerson = "false" /> 
230<!-- Predefine all needed variables so they persist across scopes --> 
231<#assign start = "", end = "", startDateStr = "", endDateStr = "", startTime = "", endTime = "", year = "", dateDisplay = "", timeDisplay = "", locationDisplay = "" /> 
232<#assign isWebinar = "false" /> 
233<#assign isEvent = "false" />	 
234<#assign isPerson = "false" /> 
235<#assign isPriceTypeFree = "false" />	 
236<#assign isPriceTypeSubs = "false" />	 
237<#assign isPriceTypeMB = "false" />	 
238 
239	 
240<!-- Ends --> 
241<#if categories?has_content> 
242	<#list categories as category> 
243		<#if category.vocabulary?replace(' ', '') = 'deliverymethod'> 
244			<#assign deliverymethodArray += [{"id": category.id, "value": category.name}] /> 
245			<#elseif category.vocabulary?replace(' ', '') = 'icbaaudience'> 
246			<#assign audiencemethodArray += [{"id": category.id, "value": category.name}] /> 
247			<#elseif category.vocabulary?replace(' ', '') = 'nasbadeliverymethod'> 
248			<#assign nasbadeliverymethodArray += [{"id": category.id, "value": category.name}] /> 
249		<#else> 
250			<#assign infoObj = infoObj + {category.vocabulary?replace(' ', ''): {"id": category.id, "value": category.name}} /> 
251		</#if> 
252	</#list> 
253		<#assign infoObj = infoObj + {"deliverymethod": deliverymethodArray} /> 
254		<#assign infoObj = infoObj + {"icbaaudience": audiencemethodArray} /> 
255		<#assign infoObj = infoObj + {"nasbadeliverymethod": nasbadeliverymethodArray} /> 
256</#if> 
257	 
258<#list customFields as customField> 
259	<!--  ${customField.name} --> 
260	<#assign infoObj = infoObj + {(customField.name): customField.customValue.data} /> 
261</#list> 
262			 
263<#if categories?has_content> 
264	<#list categories as category> 
265		<#if category.vocabulary = 'price type' && category.name == "Free"> 
266			    <#assign isPriceTypeFree = "true" /> 
267		</#if> 
268		<#if category.vocabulary = 'price type' && category.name == "Subscription"> 
269		    <#assign isPriceTypeSubs = "true" /> 
270		</#if> 
271		<#if category.vocabulary = 'price type' && category.name == "Member Benefit"> 
272		    <#assign isPriceTypeMB = "true" /> 
273		</#if> 
274		<#if category.vocabulary = 'delivery method' && category.name = 'In Person'> 
275		    <#assign isInPerson = "true" /> 
276		</#if> 
277		<#if category.vocabulary = 'delivery method' && category.name = 'Livestream'> 
278			  <#if infoObj["Event End Date"]?has_content> 
279					<#assign end = infoObj["Event End Date"]?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'") /> 
280					<#assign today = .now?datetime> <!-- Today's date without time --> 
281						<#assign showLiveStream = end < today /> 
282						<!-- Ensure 'end' is valid before performing the comparison --> 
283						<#if !showLiveStream> 
284							<#assign isLivestream = "true" /> 
285						</#if> 
286				</#if> 
287		</#if> 
288		<#if category.vocabulary = 'event type' && category.name = 'Institute'> 
289		    <#assign isInstitute = "true" /> 
290		</#if> 
291	 
292			<#if category.vocabulary = 'event type' && category.name = 'Seminar'> 
293		    <#assign isSeminar = "true" /> 
294		</#if> 
295		<#if category.vocabulary = 'product type' && category.name = 'Webinar'> 
296		    <#assign isWebinar = "true" /> 
297		</#if> 
298		<#if category.vocabulary = 'product type' && category.name = "Online Course"> 
299			  <#assign isOnlineCourse = "true" /> 
300		</#if> 
301		<#if category.vocabulary = 'product type' && category.name == "Event"> 
302		    <#assign isEvent = "true" /> 
303		</#if> 
304		<#if category.vocabulary = 'event type'> 
305		   <#assign eventTypeName = category.name /> 
306		</#if> 
307	</#list> 
308</#if> 
309	 
310<#if isWebinar == "true"> 
311   
312<div class="education-details-sec"> 
313   <div class="product-main-info"> 
314      <div class="top-row"> 
315				 
316         <#if infoObj.deliverymethod??> 
317         <div class="education-card-categories"> 
318            <#list infoObj.deliverymethod as format> 
319							<#if format.value != ""> 
320								<#if format.value == "Livestream"> 
321									<#if isLivestream == "true"> 
322										<span class="category"> 
323											<img src="${defaultImgMap[format.value]['image']}" alt="" class="category-img bg-${defaultImgMap[format.value]['color']}" /> 
324											<span class="category-name">${format.value}</span> 
325										</span> 
326									</#if> 
327								<#else> 
328									<span class="category"> 
329										<img src="${defaultImgMap[format.value]['image']}" alt="" class="category-img bg-${defaultImgMap[format.value]['color']}" /> 
330										<span class="category-name">${format.value}</span> 
331									</span> 
332								</#if> 
333							</#if> 
334            </#list> 
335         </div> 
336         </#if> 
337         <!-- Only display certificate if --> 
338         <#if isInstitute == "true"> 
339         <div class="certification-info"> 
340            <span class="certification-info-text">Earn Professional Certification</span> 
341            <div class="certification-info-img"><i class="certification-info-img"></i></div> 
342         </div> 
343         </#if> 
344      </div> 
345      <h1 class="product-title product-title-name header-xl">${productName} I'm a Webinar</h1> 
346		 <#if infoObj.deliverymethod??> 
347			 <#list infoObj.deliverymethod as format> 
348				 <#if format.value != ""> 
349					  <#if format.value == "In Person"> 
350							<#assign isPerson = "true"/> 
351							</#if> 
352					 </#if> 
353				 </#list> 
354			 </#if> 
355		 <#if isOnlineCourse == "true" || isWebinar == "true" || isPerson == "true" || isEvent == "true"> 
356			  <div class="meta-info"> 
357        <#-- Parse date and time -->    
358          <#if infoObj["Event Start Date"]?has_content> 
359						 
360            <#assign start = infoObj["Event Start Date"]?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'")/> 
361            <#assign startDateStr = start?string("MMM d")/> 
362            <#assign year = start?string("yyyy")/> 
363            <#assign startTime = start?string("h:mm") + " " + start?string("a")?lower_case/> 
364          </#if> 
365 
366         <#if infoObj["Event End Date"]?has_content> 
367           <#assign end = infoObj["Event End Date"]?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'")/> 
368           <#assign endDateStr = end?string("MMM d")/> 
369           <#assign endTime = end?string("h:mm") + " " + end?string("a")?lower_case/> 
370          </#if> 
371      <ul> 
372        <#if isWebinar == "true" || isEvent == "true"> 
373			<#if isLivestream == "true" || isPerson == "true"> 
374			    <#if start?has_content && end?has_content> 
375				 <#if start?string("yyyyMMdd") == end?string("yyyyMMdd")> 
376					<#assign dateDisplay = startDateStr + ", " + year/> 
377					<#assign timeDisplay = startTime + "–" + endTime/> 
378				  <#else> 
379					<#assign dateDisplay = startDateStr + "–" + endDateStr + ", " + year/> 
380					<#assign timeDisplay = startTime/> 
381				 </#if> 
382					  
383				</#if> 
384				 <li>${dateDisplay}</li> 
385				 <#if isWebinar == "true"> 
386					 <li> | </li> 
387					 <li>${timeDisplay} <#if infoObj["Time Zone"]?? && infoObj["Time Zone"]?has_content>${infoObj["Time Zone"]?first}</#if></li> 
388				 </#if> 
389						<li> | </li> 
390			</#if> 
391			 
392        </#if> 
393            <#if isInPerson = "true"> 
394                <#if infoObj["Location City"]?has_content || infoObj["Location State"]?has_content> 
395						<li> 
396							</#if> 
397							<#if infoObj["Location City"]?has_content>${infoObj["Location City"]}</#if> 
398							<#if infoObj["Location State"]?has_content>, ${infoObj["Location State"]}</#if> 
399							<#if infoObj["Location City"]?has_content || infoObj["Location State"]?has_content> 
400						</li> 
401						<li> | </li> 
402				</#if> 
403             </#if> 
404            <#if isWebinar == "true"> 
405				 
406				<li class="fw-700">Webinar</li> 
407			</#if> 
408			<#if isOnlineCourse == "true"> 
409					<li class="fw-700">Online Course</li> 
410            </#if> 
411            <#if isEvent = "true"> 
412							<li class="fw-700">${eventTypeName}</li> 
413            </#if> 
414            <#if infoObj["CPE Credits"]?has_content> 
415				<li> | </li> 
416				<li class="credits-info"> 
417					<div class="education-card-credits"> 
418					   CPE Credits: ${infoObj["CPE Credits"]} 
419					</div> 
420				</li> 
421            </#if>				 
422         </ul> 
423      </div> 
424			 </#if> 
425      
426      <div class="product-summary" aria-hidden="true"> 
427         ${productDescription} 
428      </div> 
429	    <#if productDescription?has_content> 
430				<a href="#" class="btn btn-link read-more-btn">Read More</a> 
431				</#if>    
432			  
433<!-- Populate Learning Format Dropdown if Webinar with Multiple Options -->			  
434	<#if displayMapValue?has_content && dropdownKeys?? && numberOfOptions gt 1 > 
435		<#if isWebinar == "true" && !infoObj["Alternate URL"]?has_content> 
436			<div class="product-delivery-wrapper"> 
437				<label for="delivery-method" class="label">Learning Format</label> 
438				 <select class="form-control" id="delivery-method"> 
439					 <option value="">Select Learning Format</option> 
440					  
441						<#if tableRowNames?seq_contains("ICBA Member")> 
442						<#list memberdropdownKeys as k> 
443							 <#if displayMapValue[k]?? && displayMapName[k]??> 
444									<option value="${displayMapValue[k]}">${displayMapName[k]}</option> 
445							</#if> 
446					  </#list> 
447					 <#elseif tableRowNames?seq_contains("Non-Member")> 
448						 <#list dropdownKeys as k> 
449									<#if displayMapValue[k]?? && displayMapName[k]??> 
450										 <option value="${displayMapValue[k]}">${displayMapName[k]}</option> 
451									</#if> 
452						 </#list> 
453						  
454					 </#if> 
455				 </select> 
456				</div> 
457			</#if> 
458   </#if>    
459      <div class="product-delivery-ctas"> 
460				 <#if hasSkus == "true"> 
461					 <!-- Check if Alt Reg Button text is set --> 
462					 <#if !infoObj["Alternate Text"]?has_content>    
463						 <#if isWebinar == "true" || isEvent == "true"> 
464							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Register Now</button> 
465						 <#elseif isPriceTypeSubs == "true"> 
466							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Subscribe Now</button> 
467						 <#elseif isPriceTypeMB == "true" || isPriceTypeFree == "Free"> 
468							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Access Now</button> 
469						 <#else> 
470							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Buy Now</button> 
471						 </#if> 
472						 <#if isSeminar = "true" || isInstitute = "true"> 
473							 <button class="btn btn-lg btn-link icon-pdf w-100" onclick="navigateToRegForm()">Printable Registration Form</button> 
474						 </#if> 
475					<#else> 
476						<#if infoObj["Alternate Text"]?has_content>    
477						   <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">${infoObj["Alternate Text"]}</button> 
478						</#if> 
479						<#if isSeminar = "true" || isInstitute = "true"> 
480							 <button class="btn btn-lg btn-link icon-pdf w-100" onclick="navigateToRegForm()">Printable Registration Form</button> 
481						 </#if> 
482					</#if>	 
483					 
484					<!-- Check if an Alternate URL is set and use that URL --> 
485					<#if infoObj["Alternate URL"]?has_content> 
486						<#assign displayMapValue = displayMapValue + {defaultSKUKey: infoObj["Alternate URL"]}> 
487					</#if> 
488				 <#else> 
489					 <!-- Check if hubspot form should be displayed --> 
490					 <#if infoObj["Alternate URL"]?has_content> 
491						  <#assign displayMapValue = displayMapValue + {defaultSKUKey: infoObj["Alternate URL"]}> 
492							<#if !infoObj["Alternate Text"]?has_content>    
493								 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Register Now</button> 
494							<#else> 
495								 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">${infoObj["Alternate Text"]}</button> 
496						  </#if> 
497					 <#else> 
498						 <div class="hubspot-form-wrap"> 
499							 <p><strong> 
500								 This event is not currently available, please provide your contact information if you wish to be notified when it becomes available. 
501							 </strong></p> 
502							<script> 
503								hbspt.forms.create({ 
504									portalId: "5005401", 
505									formId: "0865c866-46eb-4be6-944a-fb19a76a7a68", 
506								}); 
507								window.addEventListener('hs-form-event:on-ready', function(event) {  
508								HubSpotFormsV4.getFormFromEvent(event).setFieldValue('0-1/hidden_event_url', window.location.href);  
509								}); 
510							</script> 
511							</div> 
512					 </#if> 
513				 </#if> 
514      </div> 
515   </div> 
516   <!-- Agenda --> 
517   <#if isWebinar == "true" || isEvent == "true">	 
518   <#if infoObj["AgendaId"]?has_content> 
519<#assign agendaString = infoObj["AgendaId"]?string/> 
520<@liferay_journal["journal-article"] 
521		              articleId="${agendaString}" 
522		              ddmTemplateKey="728470" 
523		              groupId=45248 
524	             /> 
525</#if> 
526   </#if>								 
527   <!-- Pricing --> 
528	<#if isPriceTypeFree != "true" && (priceList?? && (priceList?size > 0))> 
529   <div class="product-info-wrapper product-pricing-info"> 
530      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
531         data-bs-target="#pricing-div" role="button" aria-expanded="true" 
532         aria-controls="pricing-div">Pricing</button></h2> 
533      <div class="product-info-div collapse show" id="pricing-div"> 
534         <div class="table-responsive"> 
535            <#assign columnSize = tableColumnNames?size /> 
536	          <#assign tableRowIndex = 0 /> 
537					  <#if numberOfOptions == 2> 
538							<table class="table custom-table"> 
539								<thead> 
540									<tr> 
541										<th>Audience</th> 
542										<th>Live </th> 
543										<th>Recorded </th> 
544										<th>Live + Recorded </th> 
545									</tr> 
546								</thead> 
547							<tbody> 
548									<tr> 
549										<td> 
550											<h3>ICBA Member</h3> 
551										</td> 
552										<td>${productOptionMap["icba-member:live"]}</td> 
553										<td>${productOptionMap["icba-member:ondemand"]}</td> 
554										<td>${productOptionMap["icba-member:live-ondemand"]}</td> 
555									</tr> 
556 
557									<tr> 
558										<td> 
559											<h3>Non-Member</h3> 
560										</td> 
561										<td>${productOptionMap["nonmember:live"]}</td> 
562										<td>${productOptionMap["nonmember:ondemand"]}</td> 
563										<td>${productOptionMap["nonmember:live-ondemand"]}</td> 
564									</tr> 
565 
566									<tr> 
567										<td> 
568											<h3>Unlimited Webinar Pass</h3> 
569										</td> 
570										<td>${productOptionMap["unlimited-webinar-pass:live"]}</td> 
571										<td>${productOptionMap["unlimited-webinar-pass:ondemand"]}</td> 
572										<td>${productOptionMap["unlimited-webinar-pass:live-ondemand"]}</td> 
573									</tr> 
574								</tbody> 
575 
576							</table> 
577						<#else> 
578								<table class="table custom-table"> 
579									 <thead> 
580											<tr> 
581												 <th>Audience</th> 
582												 <#list tableColumnNames as columnName > 
583											 			<th> ${columnName} <!--<i class="icon-info"></i>--></th> 
584										 		 </#list> 
585											</tr> 
586									 </thead> 
587									 <tbody> 
588										 <#if priceList?? && (priceList?size > 0) > 
589												<#if tableRowNames?seq_contains("ICBA Member")> 
590													<tr> 
591													<td> 
592														 <h3>ICBA Member</h3> 
593													 </td> 
594													<td> 
595														${productOptionMapSingle["icba-member"]}  
596													</td> 
597													</tr> 
598												</#if> 
599												<#if tableRowNames?seq_contains("Non-Member")> 
600													<tr> 
601													<td> 
602														 <h3>Non-Member</h3> 
603													 </td> 
604													<td> 
605														${productOptionMapSingle["nonmember"]}  
606													</td> 
607													</tr> 
608												</#if> 
609												<#if tableRowNames?seq_contains("Non-Banker*")> 
610													<tr> 
611													<td> 
612														 <h3>Non-Banker*</h3> 
613													 </td> 
614													<td> 
615														${productOptionMapSingle["nonbanker"]}  
616													</td> 
617													</tr> 
618												</#if> 
619												<#if tableRowNames?seq_contains("ICBA Bank Director Program Subscriber")> 
620													<tr> 
621													<td> 
622														 <h3>ICBA Bank Director Program Subscriber</h3> 
623													 </td> 
624													<td> 
625														${productOptionMapSingle["icba-bank-director-program-subscriber"]}  
626													</td> 
627													</tr> 
628												</#if> 
629												<#if tableRowNames?seq_contains("Unlimited Webinar Pass")> 
630													<tr> 
631													<td> 
632														 <h3>Unlimited Webinar Pass</h3> 
633													 </td> 
634													<td> 
635														${productOptionMapSingle["unlimited-webinar-pass"]}  
636													</td> 
637													</tr> 
638												</#if> 
639													  
640										 <#list tableRowNames as row> 
641											 <#if row != "ICBA Bank Director Program Subscriber" && 
642														row != "ICBA Member" && 
643														row != "Non-Member" && 
644														row != "Non-Banker*" && 
645														row != "Unlimited Webinar Pass" > 
646												 <tr> 
647													 <td> 
648														 <h3>${row}</h3> 
649													 </td> 
650 
651													 <td> 
652														 ${priceList[tableRowIndex]} 
653													 </td> 
654													  
655												 </tr> 
656												</#if> 
657											  <#assign tableRowIndex++/> 
658										</#list> 
659									</#if> 
660								</tbody> 
661							</table> 
662					</#if> 
663   </div> 
664	    <#if isForum = "true"> 
665         <div class="mb-20"> 
666            <a class="btn btn-link icon-pdf btn-arrow-right" href="/documents/d/asset-library-45247/icba-education-registration-form">Printable Registration Form</a> 
667            <a class="btn btn-link btn-arrow-right" href="https://myicba.icba.org/eweb/dynamicpage.aspx?webcode=CSCBundles&Action=Add&cst_key=00000000-0000-0000-0000-000000000000&ObjectKeyFrom=1A83491A-9853-4C87-86A4-F7D95601C2E2&DoNotSave=Yes&DoNotAdd=Yes&ParentObject=CentralizedOrderEntry&ParentDataObject=Order%20Entry%20Bundle&key=271A2B6B-EE9F-4ACD-BB61-B9B9076B0BA2">Register for all four of the 2025 Bank 
668            Director Forums</a> 
669         </div> 
670	    </#if> 
671	  
672   <div class="disclaimer"> 
673		 <#if isSeminar = "true" || isInstitute = "true" || isWebinar = "true"> 
674           <!-- <p> 
675               <#if tableRowNames?seq_contains("Non-Banker*")>* Attendance may be subject to ICBA approval. </#if> 
676							<br/>For attendance and cancellation policies see Disclaimers 
677            </p> 
678--> 
679			 <p> 
680               *Attendance may be subject to ICBA approval.  
681							<br/>For attendance and cancellation policies see Disclaimers 
682            </p> 
683			 </#if> 
684         </div> 
685      </div> 
686   </div> 
687	</#if> 
688   <!-- Location --> 
689   <#if isInPerson == "true"> 
690   <div class="product-info-wrapper product-location-info"> 
691      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
692         data-bs-target="#location-div" role="button" aria-expanded="true" 
693         aria-controls="location-div">Location</button></h2> 
694      <div class="product-info-div collapse show" id="location-div"> 
695         <div class="row"> 
696					 <#assign columnTwo = 'col-md-12' /> 
697                  <#if infoObj["Location Image"]?has_content> 
698					 <#assign columnTwo = 'col-md-8' /> 
699            <div class="col-md-4"> 
700               <div class="location-image"> 
701               <div class="slider-carousel-wrapper" data-slick-slider-wrapper="true"> 
702                  <div data-slick-slider="true" data-infinite="false" data-slides-to-show="1" 
703                     data-slides-to-scroll="1" data-fade="true"> 
704                     <div> 
705                  <img src="${infoObj["Location Image"]}" alt="" class="img-fluid" /> 
706                     </div> 
707                  </div> 
708               </div> 
709            </div> 
710               </div> 
711                  </#if>	 
712            <div class="${columnTwo}"> 
713               <h3 class="location-title"> 
714                  <#if infoObj["Location Name"]?has_content> 
715                  ${infoObj["Location Name"]} 
716                  </#if>	 
717               </h3> 
718               <p class="location-address"> 
719                  <#if infoObj["Location Address"]?has_content> 
720                  ${infoObj["Location Address"]} 
721                  </#if>	 
722                  <#if infoObj["Location City"]?has_content> 
723                  ${infoObj["Location City"]} 
724                  </#if>	 
725                  <#if infoObj["Location State"]?has_content> 
726                  ${infoObj["Location State"]} 
727                  </#if> 
728               </p> 
729               <p class="location-summary"> 
730                  <#if infoObj["Location Description"]?has_content> 
731                  ${infoObj["Location Description"]} 
732                  </#if> 
733               </p> 
734					 
735               
736             
737            </div> 
738         </div> 
739				 <div class="mt-3"> 
740                  <#if infoObj["Booking Link"]?has_content> 
741                  <a href="${infoObj["Booking Link"]}" class="btn btn-primary btn-lg btn-arrow-right" target="_blank">ICBA Booking Link</a> 
742                  </#if> 
743          </div> 
744		     
745         <div class="disclaimer"> 
746            <p> 
747               <#if infoObj["Location Disclaimer"]?has_content> 
748               ${infoObj["Location Disclaimer"]} 
749               </#if> 
750            </p> 
751         </div> 
752      </div> 
753   </div> 
754   </#if> 
755   <!-- End -->								  
756   <!-- Who should Attend --> 
757 <#if isWebinar == "true" || isEvent == "true"> 
758	 <div class="product-info-wrapper product-attendees-info"> 
759      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
760         data-bs-target="#attendees-div" role="button" aria-expanded="true" 
761         aria-controls="attendees-div">Who Should Participate</button></h2> 
762      <div class="product-info-div collapse show" id="attendees-div"> 
763         <div class="table-responsive"> 
764            <table class="table custom-table"> 
765               <tbody> 
766                  <tr> 
767                     <td> 
768                        <p><strong>Who should attend: </strong></p> 
769                     </td> 
770                     <td> 
771                             <#if infoObj.icbaaudience?? && infoObj.icbaaudience?size gt 0> 
772                                <#assign formatList = []> 
773                                    <#list infoObj.icbaaudience as format> 
774                                       <#if format.value?has_content> 
775                                          <#assign formatList += [format.value]> 
776                                       </#if> 
777                                    </#list> 
778                                 ${formatList?join(", ")} 
779                              </#if> 
780                     </td> 
781                  </tr> 
782                  <tr> 
783                     <td> 
784                        <p><strong>Prerequisites:</strong></p> 
785                     </td> 
786                     <td> 
787                        <#if infoObj["Prerequisites"]?has_content> 
788                        <p>${infoObj["Prerequisites"]}</p> 
789                        </#if>	 
790                     </td> 
791                  </tr> 
792                  <tr> 
793                     <td> 
794                        <p><strong>Advanced Preparation:</strong></p> 
795                     </td> 
796                     <td> 
797                        <#if infoObj["Advanced Preparation"]?has_content> 
798                        <p>${infoObj["Advanced Preparation"]}</p> 
799                        </#if>	 
800                     </td> 
801                  </tr> 
802                  <tr> 
803                     <td> 
804                        <p><strong>Program Level:</strong></p> 
805                     </td> 
806                     <td> 
807                        <#if infoObj["Program Level"]?has_content> 
808                        <p>${infoObj["Program Level"]}</p> 
809                        </#if>	 
810                     </td> 
811                  </tr> 
812                  <tr> 
813                     <td> 
814                        <p><strong>Field of Study:</strong></p> 
815                     </td> 
816                     <td> 
817                        <#if infoObj["Field of Study"]?has_content> 
818                        <p>${infoObj["Field of Study"]}</p> 
819                        </#if>	 
820                     </td> 
821                  </tr> 
822                  <tr> 
823                     <td> 
824                        <p><strong>Delivery Method:</strong></p> 
825                     </td> 
826                     <td> 
827                        <#if infoObj.nasbadeliverymethod?? && infoObj.nasbadeliverymethod?size gt 0> 
828                        <#assign formatList = []> 
829                        <#list infoObj.nasbadeliverymethod as format> 
830                        <#if format.value?has_content> 
831                        <#assign formatList += [format.value]> 
832                        </#if> 
833                        </#list> 
834                        ${formatList?join(", ")} 
835                        </#if> 
836                     </td> 
837                  </tr> 
838                  <tr> 
839                     <td> 
840                        <p><strong>Continuing Professional<br />Education (CPE) Credit Hours:</strong></p> 
841                     </td> 
842                     <td> 
843                        <#if infoObj["CPE Credits"]?has_content> 
844                        <p>${infoObj["CPE Credits"]} hrs</p> 
845                        </#if>	 
846                     </td> 
847                  </tr> 
848               </tbody> 
849            </table> 
850         </div> 
851      </div> 
852   </div> 
853	 </#if> 
854    
855   <!-- Instructor --> 
856<#if isWebinar == "true" || isEvent == "true"> 
857	<#if infoObj["InstructorId"]?has_content> 
858	<div class="product-info-wrapper product-instructors-info"> 
859      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
860         data-bs-target="#instructors-div" role="button" aria-expanded="true" 
861         aria-controls="instructors-div">Instructors</button></h2> 
862      <div class="product-info-div collapse show" id="instructors-div"> 
863         <div class="row"> 
864				 <!-- Article Structure Type --> 
865            <#assign instructorString = infoObj["InstructorId"]?string/> 
866            <#assign instructorIdList = instructorString?split(",")/> 
867					 <#list instructorIdList as iid> 
868						 <div class="col-md-6"> 
869	             <@liferay_journal["journal-article"] 
870		              articleId="${iid}" 
871		              ddmTemplateKey="716972" 
872		              groupId=45248 
873	             /> 
874						 </div> 
875            </#list> 
876         </div> 
877      </div> 
878   </div> 
879	</#if> 
880   </#if> 
881   <!--End--> 
882   <!-- Disclaimers --> 
883	   <#if isWebinar == "true" || isEvent == "true" || isPerson == "true"> 
884			  <div class="product-info-wrapper product-disclaimers-info"> 
885            <h2 class="product-info-title"> 
886							<button type="button" data-bs-toggle="collapse" data-bs-target="#disclaimers-div" role="button" aria-expanded="true" aria-controls="disclaimers-div">Disclaimers</button> 
887					  </h2> 
888               <div class="product-info-div collapse show" id="disclaimers-div"> 
889                     <h3>Attendance and Cancellation Policy</h3> 
890                         <#-- Loop through contentFields to get the "content" field --> 
891                         <#if isSeminar == "true" || isInstitute == "true"> 
892													 		<#list attendenceSeminar.contentFields as field> 
893                                <#if field.name == "content"> 
894                                     ${htmlUtil.unescape(field.contentFieldValue.data)} 
895                                 </#if> 
896                             </#list> 
897													 </#if>  
898                         <#if isWebinar == "true"> 
899													 		<#list attendenceWebinar.contentFields as field> 
900                                <#if field.name == "content"> 
901                                     ${htmlUtil.unescape(field.contentFieldValue.data)} 
902                                 </#if> 
903                             </#list> 
904													 </#if>  
905         
906													 <hr /> 
907													  
908                       <h3>Continuing Professional Education Credit (CPE) Requirements</h3> 
909                           <#if isSeminar == "true" || isInstitute == "true" && isPerson=="false"> 
910													    <#list cpeSeminar.contentFields as cpefield> 
911                                 <#if cpefield.name == "content"> 
912                                    ${htmlUtil.unescape(cpefield.contentFieldValue.data)} 
913                                 </#if> 
914                                </#list> 
915														 </#if> 
916												  <#if isWebinar == "true"> 
917													    <#list cpeWebinar.contentFields as cpefield> 
918                                 <#if cpefield.name == "content"> 
919                                    ${htmlUtil.unescape(cpefield.contentFieldValue.data)} 
920                                 </#if> 
921                                </#list> 
922														 </#if> 
923	                        <#if isPerson == "true"> 
924													    <#list cpePerson.contentFields as cpefield> 
925                                 <#if cpefield.name == "content"> 
926                                    ${htmlUtil.unescape(cpefield.contentFieldValue.data)} 
927                                 </#if> 
928                                </#list> 
929														 </#if>												  
930													 <hr /> 
931          
932										<h3>${coc.title}</h3> 
933                        <#list coc.contentFields as cocfield> 
934                            <#if cocfield.name == "content"> 
935                                ${htmlUtil.unescape(cocfield.contentFieldValue.data)} 
936                            </#if> 
937                        </#list> 
938                    <a href="/code-of-conduct">Read Full Policy</a> 
939                      
940											<hr /> 
941        
942								<h3>${policy.title}</h3> 
943                     <#list policy.contentFields as policyfield> 
944                         <#if policyfield.name == "content"> 
945                             ${htmlUtil.unescape(policyfield.contentFieldValue.data)} 
946                          </#if> 
947                      </#list> 
948													 											<hr /> 
949        
950								<h3>${recording.title}</h3> 
951                     <#list recording.contentFields as recordingfield> 
952                         <#if recordingfield.name == "content"> 
953                             ${htmlUtil.unescape(recordingfield.contentFieldValue.data)} 
954                          </#if> 
955                      </#list> 
956													 											 											<hr /> 
957        
958								<h3>${video.title}</h3> 
959                     <#list video.contentFields as videofield> 
960                         <#if videofield.name == "content"> 
961                             ${htmlUtil.unescape(videofield.contentFieldValue.data)} 
962                          </#if> 
963                      </#list> 
964													 													 											 											<hr /> 
965        
966								<h3>${nasba.title}</h3> 
967                     <#list nasba.contentFields as nasbafield> 
968                         <#if nasbafield.name == "content"> 
969                             ${htmlUtil.unescape(nasbafield.contentFieldValue.data)} 
970                          </#if> 
971                      </#list> 
972               </div> 
973            </div> 
974			 </#if> 
975  </div> 
976  
977<#else> 
978  <div class="education-details-sec"> 
979   <div class="product-main-info"> 
980      <div class="top-row"> 
981				 
982         <#if infoObj.deliverymethod??> 
983         <div class="education-card-categories"> 
984            <#list infoObj.deliverymethod as format> 
985							<#if format.value != ""> 
986								<#if format.value == "Livestream"> 
987									<#if isLivestream == "true"> 
988										<span class="category"> 
989											<img src="${defaultImgMap[format.value]['image']}" alt="" class="category-img bg-${defaultImgMap[format.value]['color']}" /> 
990											<span class="category-name">${format.value}</span> 
991										</span> 
992									</#if> 
993								<#else> 
994									<span class="category"> 
995										<img src="${defaultImgMap[format.value]['image']}" alt="" class="category-img bg-${defaultImgMap[format.value]['color']}" /> 
996										<span class="category-name">${format.value}</span> 
997									</span> 
998								</#if> 
999							</#if> 
1000            </#list> 
1001         </div> 
1002         </#if> 
1003         <!-- Only display certificate if --> 
1004         <#if isInstitute == "true"> 
1005         <div class="certification-info"> 
1006            <span class="certification-info-text">Earn Professional Certification</span> 
1007            <div class="certification-info-img"><i class="certification-info-img"></i></div> 
1008         </div> 
1009         </#if> 
1010      </div> 
1011      <h1 class="product-title product-title-name header-xl">${productName}</h1> 
1012		 <#if infoObj.deliverymethod??> 
1013			 <#list infoObj.deliverymethod as format> 
1014				 <#if format.value != ""> 
1015					  <#if format.value == "In Person"> 
1016							<#assign isPerson = "true"/> 
1017							</#if> 
1018					 </#if> 
1019				 </#list> 
1020			 </#if> 
1021		 <#if isOnlineCourse == "true" || isWebinar == "true" || isPerson == "true" || isEvent == "true"> 
1022			  <div class="meta-info"> 
1023        <#-- Parse date and time -->    
1024          <#if infoObj["Event Start Date"]?has_content> 
1025					 
1026 
1027 
1028 
1029						 
1030            <#assign start = infoObj["Event Start Date"]?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'")/> 
1031            <#assign startDateStr = start?string("MMM d")/> 
1032            <#assign year = start?string("yyyy")/> 
1033            <#assign startTime = start?string("h:mm") + " " + start?string("a")?lower_case/> 
1034          </#if> 
1035 
1036         <#if infoObj["Event End Date"]?has_content> 
1037           <#assign end = infoObj["Event End Date"]?datetime("yyyy-MM-dd'T'HH:mm:ss'Z'")/> 
1038           <#assign endDateStr = end?string("MMM d")/> 
1039           <#assign endTime = end?string("h:mm") + " " + end?string("a")?lower_case/> 
1040          </#if> 
1041      <ul> 
1042        <#if isWebinar == "true" || isEvent == "true"> 
1043			<#if isLivestream == "true" || isPerson == "true"> 
1044			    <#if start?has_content && end?has_content> 
1045				 <#if start?string("yyyyMMdd") == end?string("yyyyMMdd")> 
1046					<#assign dateDisplay = startDateStr + ", " + year/> 
1047					<#assign timeDisplay = startTime + "–" + endTime/> 
1048				  <#else> 
1049					<#assign dateDisplay = startDateStr + "–" + endDateStr + ", " + year/> 
1050					<#assign timeDisplay = startTime/> 
1051				 </#if> 
1052					  
1053				</#if> 
1054				 <li>${dateDisplay}</li> 
1055				 <#if isWebinar == "true"> 
1056					 <li> | </li> 
1057					 <li>${timeDisplay} <#if infoObj["Time Zone"]?? && infoObj["Time Zone"]?has_content>${infoObj["Time Zone"]?first}</#if></li> 
1058				 </#if> 
1059						<li> | </li> 
1060			</#if> 
1061			 
1062        </#if> 
1063            <#if isInPerson = "true"> 
1064                <#if infoObj["Location City"]?has_content || infoObj["Location State"]?has_content> 
1065						<li> 
1066							</#if> 
1067							<#if infoObj["Location City"]?has_content>${infoObj["Location City"]}</#if> 
1068							<#if infoObj["Location State"]?has_content>, ${infoObj["Location State"]}</#if> 
1069							<#if infoObj["Location City"]?has_content || infoObj["Location State"]?has_content> 
1070						</li> 
1071						<li> | </li> 
1072				</#if> 
1073             </#if> 
1074            <#if isWebinar == "true"> 
1075				 
1076				<li class="fw-700">Webinar</li> 
1077			</#if> 
1078			<#if isOnlineCourse == "true"> 
1079					<li class="fw-700">Online Course</li> 
1080            </#if> 
1081            <#if isEvent = "true"> 
1082							<li class="fw-700">${eventTypeName}</li> 
1083            </#if> 
1084            <#if infoObj["CPE Credits"]?has_content> 
1085				<li> | </li> 
1086				<li class="credits-info"> 
1087					<div class="education-card-credits"> 
1088					   CPE Credits: ${infoObj["CPE Credits"]} 
1089					</div> 
1090				</li> 
1091            </#if>				 
1092         </ul> 
1093      </div> 
1094			 </#if> 
1095      
1096      <div class="product-summary" aria-hidden="true"> 
1097         ${productDescription} 
1098      </div> 
1099	    <#if productDescription?has_content> 
1100				<a href="#" class="btn btn-link read-more-btn">Read More</a> 
1101				</#if>    
1102			  
1103<!-- Populate Learning Format Dropdown if Webinar with Multiple Options -->			  
1104	<#if displayMapValue?has_content && dropdownKeys?? && numberOfOptions gt 1 > 
1105		<#if isWebinar == "true" && !infoObj["Alternate URL"]?has_content> 
1106			<div class="product-delivery-wrapper"> 
1107				<label for="delivery-method" class="label">Learning Format</label> 
1108				 <select class="form-control" id="delivery-method"> 
1109					 <option value="">Select Learning Format</option> 
1110					  
1111						<#if tableRowNames?seq_contains("ICBA Member")> 
1112						<#list memberdropdownKeys as k> 
1113							 <#if displayMapValue[k]?? && displayMapName[k]??> 
1114									<option value="${displayMapValue[k]}">${displayMapName[k]}</option> 
1115							</#if> 
1116					  </#list> 
1117					 <#elseif tableRowNames?seq_contains("Non-Member")> 
1118						 <#list dropdownKeys as k> 
1119									<#if displayMapValue[k]?? && displayMapName[k]??> 
1120										 <option value="${displayMapValue[k]}">${displayMapName[k]}</option> 
1121									</#if> 
1122						 </#list> 
1123						  
1124					 </#if> 
1125				 </select> 
1126				</div> 
1127			</#if> 
1128   </#if>    
1129      <div class="product-delivery-ctas"> 
1130				 <#if hasSkus == "true"> 
1131					 <!-- Check if Alt Reg Button text is set --> 
1132					 <#if !infoObj["Alternate Text"]?has_content>    
1133						 <#if isWebinar == "true" || isEvent == "true"> 
1134							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Register Now</button> 
1135						 <#elseif isPriceTypeSubs == "true"> 
1136							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Subscribe Now</button> 
1137						 <#elseif isPriceTypeMB == "true" || isPriceTypeFree == "Free"> 
1138							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Access Now</button> 
1139						 <#else> 
1140							 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Buy Now</button> 
1141						 </#if> 
1142						 <#if isSeminar = "true" || isInstitute = "true"> 
1143							 <button class="btn btn-lg btn-link icon-pdf w-100" onclick="navigateToRegForm()">Printable Registration Form</button> 
1144						 </#if> 
1145					<#else> 
1146						<#if infoObj["Alternate Text"]?has_content>    
1147						   <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">${infoObj["Alternate Text"]}</button> 
1148						</#if> 
1149						<#if isSeminar = "true" || isInstitute = "true"> 
1150							 <button class="btn btn-lg btn-link icon-pdf w-100" onclick="navigateToRegForm()">Printable Registration Form</button> 
1151						 </#if> 
1152					</#if>	 
1153					 
1154					<!-- Check if an Alternate URL is set and use that URL --> 
1155					<#if infoObj["Alternate URL"]?has_content> 
1156						<#assign displayMapValue = displayMapValue + {defaultSKUKey: infoObj["Alternate URL"]}> 
1157					</#if> 
1158				 <#else> 
1159					 <!-- Check if hubspot form should be displayed --> 
1160					 <#if infoObj["Alternate URL"]?has_content> 
1161						  <#assign displayMapValue = displayMapValue + {defaultSKUKey: infoObj["Alternate URL"]}> 
1162							<#if !infoObj["Alternate Text"]?has_content>    
1163								 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">Register Now</button> 
1164							<#else> 
1165								 <button id="productRegistrationBtn" class="btn btn-lg btn-primary btn-arrow-right w-100" onclick="navigateToRegistration()">${infoObj["Alternate Text"]}</button> 
1166						  </#if> 
1167					 <#else> 
1168						 <div class="hubspot-form-wrap"> 
1169							 <p><strong> 
1170								 This event is not currently available, please provide your contact information if you wish to be notified when it becomes available. 
1171							 </strong></p> 
1172							<script> 
1173								hbspt.forms.create({ 
1174									portalId: "5005401", 
1175									formId: "0865c866-46eb-4be6-944a-fb19a76a7a68", 
1176								}); 
1177								window.addEventListener('hs-form-event:on-ready', function(event) {  
1178								HubSpotFormsV4.getFormFromEvent(event).setFieldValue('0-1/hidden_event_url', window.location.href);  
1179								}); 
1180							</script> 
1181							</div> 
1182					 </#if> 
1183				 </#if> 
1184      </div> 
1185   </div> 
1186   <!-- Agenda --> 
1187   <#if isWebinar == "true" || isEvent == "true">	 
1188   <#if infoObj["AgendaId"]?has_content> 
1189<#assign agendaString = infoObj["AgendaId"]?string/> 
1190<@liferay_journal["journal-article"] 
1191		              articleId="${agendaString}" 
1192		              ddmTemplateKey="728470" 
1193		              groupId=45248 
1194	             /> 
1195</#if> 
1196   </#if>								 
1197   <!-- Pricing --> 
1198	<#if isPriceTypeFree != "true" && (priceList?? && (priceList?size > 0))> 
1199   <div class="product-info-wrapper product-pricing-info"> 
1200      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
1201         data-bs-target="#pricing-div" role="button" aria-expanded="true" 
1202         aria-controls="pricing-div">Pricing</button></h2> 
1203      <div class="product-info-div collapse show" id="pricing-div"> 
1204         <div class="table-responsive"> 
1205            <#assign columnSize = tableColumnNames?size /> 
1206	          <#assign tableRowIndex = 0 /> 
1207					  <#if numberOfOptions == 2> 
1208							<table class="table custom-table"> 
1209								<thead> 
1210									<tr> 
1211										<th>Audience</th> 
1212										<th>Live </th> 
1213										<th>Recorded </th> 
1214										<th>Live + Recorded </th> 
1215									</tr> 
1216								</thead> 
1217							<tbody> 
1218									<tr> 
1219										<td> 
1220											<h3>ICBA Member</h3> 
1221										</td> 
1222										<td>${productOptionMap["icba-member:live"]}</td> 
1223										<td>${productOptionMap["icba-member:ondemand"]}</td> 
1224										<td>${productOptionMap["icba-member:live-ondemand"]}</td> 
1225									</tr> 
1226 
1227									<tr> 
1228										<td> 
1229											<h3>Non-Member</h3> 
1230										</td> 
1231										<td>${productOptionMap["nonmember:live"]}</td> 
1232										<td>${productOptionMap["nonmember:ondemand"]}</td> 
1233										<td>${productOptionMap["nonmember:live-ondemand"]}</td> 
1234									</tr> 
1235 
1236									<tr> 
1237										<td> 
1238											<h3>Unlimited Webinar Pass</h3> 
1239										</td> 
1240										<td>${productOptionMap["unlimited-webinar-pass:live"]}</td> 
1241										<td>${productOptionMap["unlimited-webinar-pass:ondemand"]}</td> 
1242										<td>${productOptionMap["unlimited-webinar-pass:live-ondemand"]}</td> 
1243									</tr> 
1244								</tbody> 
1245 
1246							</table> 
1247						<#else> 
1248								<table class="table custom-table"> 
1249									 <thead> 
1250											<tr> 
1251												 <th>Audience</th> 
1252												 <#list tableColumnNames as columnName > 
1253											 			<th> ${columnName} <!--<i class="icon-info"></i>--></th> 
1254										 		 </#list> 
1255											</tr> 
1256									 </thead> 
1257									 <tbody> 
1258										 <#if priceList?? && (priceList?size > 0) > 
1259												<#if tableRowNames?seq_contains("ICBA Member")> 
1260													<tr> 
1261													<td> 
1262														 <h3>ICBA Member</h3> 
1263													 </td> 
1264													<td> 
1265														${productOptionMapSingle["icba-member"]}  
1266													</td> 
1267													</tr> 
1268												</#if> 
1269												<#if tableRowNames?seq_contains("Non-Member")> 
1270													<tr> 
1271													<td> 
1272														 <h3>Non-Member</h3> 
1273													 </td> 
1274													<td> 
1275														${productOptionMapSingle["nonmember"]}  
1276													</td> 
1277													</tr> 
1278												</#if> 
1279												<#if tableRowNames?seq_contains("Non-Banker*")> 
1280													<tr> 
1281													<td> 
1282														 <h3>Non-Banker*</h3> 
1283													 </td> 
1284													<td> 
1285														${productOptionMapSingle["nonbanker"]}  
1286													</td> 
1287													</tr> 
1288												</#if> 
1289												<#if tableRowNames?seq_contains("ICBA Bank Director Program Subscriber")> 
1290													<tr> 
1291													<td> 
1292														 <h3>ICBA Bank Director Program Subscriber</h3> 
1293													 </td> 
1294													<td> 
1295														${productOptionMapSingle["icba-bank-director-program-subscriber"]}  
1296													</td> 
1297													</tr> 
1298												</#if> 
1299												<#if tableRowNames?seq_contains("Unlimited Webinar Pass")> 
1300													<tr> 
1301													<td> 
1302														 <h3>Unlimited Webinar Pass</h3> 
1303													 </td> 
1304													<td> 
1305														${productOptionMapSingle["unlimited-webinar-pass"]}  
1306													</td> 
1307													</tr> 
1308												</#if> 
1309													  
1310										 <#list tableRowNames as row> 
1311											 <#if row != "ICBA Bank Director Program Subscriber" && 
1312														row != "ICBA Member" && 
1313														row != "Non-Member" && 
1314														row != "Non-Banker*" && 
1315														row != "Unlimited Webinar Pass" > 
1316												 <tr> 
1317													 <td> 
1318														 <h3>${row}</h3> 
1319													 </td> 
1320 
1321													 <td> 
1322														 ${priceList[tableRowIndex]} 
1323													 </td> 
1324													  
1325												 </tr> 
1326												</#if> 
1327											  <#assign tableRowIndex++/> 
1328										</#list> 
1329									</#if> 
1330								</tbody> 
1331							</table> 
1332					</#if> 
1333   </div> 
1334	    <#if isForum = "true"> 
1335         <div class="mb-20"> 
1336            <a class="btn btn-link icon-pdf btn-arrow-right" href="/documents/d/asset-library-45247/icba-education-registration-form">Printable Registration Form</a> 
1337            <a class="btn btn-link btn-arrow-right" href="https://myicba.icba.org/eweb/dynamicpage.aspx?webcode=CSCBundles&Action=Add&cst_key=00000000-0000-0000-0000-000000000000&ObjectKeyFrom=1A83491A-9853-4C87-86A4-F7D95601C2E2&DoNotSave=Yes&DoNotAdd=Yes&ParentObject=CentralizedOrderEntry&ParentDataObject=Order%20Entry%20Bundle&key=271A2B6B-EE9F-4ACD-BB61-B9B9076B0BA2">Register for all four of the 2025 Bank 
1338            Director Forums</a> 
1339         </div> 
1340	    </#if> 
1341	  
1342   <div class="disclaimer"> 
1343		 <#if isSeminar = "true" || isInstitute = "true" || isWebinar = "true"> 
1344           <!-- <p> 
1345               <#if tableRowNames?seq_contains("Non-Banker*")>* Attendance may be subject to ICBA approval. </#if> 
1346							<br/>For attendance and cancellation policies see Disclaimers 
1347            </p> 
1348--> 
1349			 <p> 
1350               *Attendance may be subject to ICBA approval.  
1351							<br/>For attendance and cancellation policies see Disclaimers 
1352            </p> 
1353			 </#if> 
1354         </div> 
1355      </div> 
1356   </div> 
1357	</#if> 
1358   <!-- Location --> 
1359   <#if isInPerson == "true"> 
1360   <div class="product-info-wrapper product-location-info"> 
1361      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
1362         data-bs-target="#location-div" role="button" aria-expanded="true" 
1363         aria-controls="location-div">Location</button></h2> 
1364      <div class="product-info-div collapse show" id="location-div"> 
1365         <div class="row"> 
1366					 <#assign columnTwo = 'col-md-12' /> 
1367                  <#if infoObj["Location Image"]?has_content> 
1368					 <#assign columnTwo = 'col-md-8' /> 
1369            <div class="col-md-4"> 
1370               <div class="location-image"> 
1371               <div class="slider-carousel-wrapper" data-slick-slider-wrapper="true"> 
1372                  <div data-slick-slider="true" data-infinite="false" data-slides-to-show="1" 
1373                     data-slides-to-scroll="1" data-fade="true"> 
1374                     <div> 
1375                  <img src="${infoObj["Location Image"]}" alt="" class="img-fluid" /> 
1376                     </div> 
1377                  </div> 
1378               </div> 
1379            </div> 
1380               </div> 
1381                  </#if>	 
1382            <div class="${columnTwo}"> 
1383               <h3 class="location-title"> 
1384                  <#if infoObj["Location Name"]?has_content> 
1385                  ${infoObj["Location Name"]} 
1386                  </#if>	 
1387               </h3> 
1388               <p class="location-address"> 
1389                  <#if infoObj["Location Address"]?has_content> 
1390                  ${infoObj["Location Address"]} 
1391                  </#if>	 
1392                  <#if infoObj["Location City"]?has_content> 
1393                  ${infoObj["Location City"]} 
1394                  </#if>	 
1395                  <#if infoObj["Location State"]?has_content> 
1396                  ${infoObj["Location State"]} 
1397                  </#if> 
1398               </p> 
1399               <p class="location-summary"> 
1400                  <#if infoObj["Location Description"]?has_content> 
1401                  ${infoObj["Location Description"]} 
1402                  </#if> 
1403               </p> 
1404					 
1405               
1406             
1407            </div> 
1408         </div> 
1409				 <div class="mt-3"> 
1410                  <#if infoObj["Booking Link"]?has_content> 
1411                  <a href="${infoObj["Booking Link"]}" class="btn btn-primary btn-lg btn-arrow-right" target="_blank">ICBA Booking Link</a> 
1412                  </#if> 
1413          </div> 
1414		     
1415         <div class="disclaimer"> 
1416            <p> 
1417               <#if infoObj["Location Disclaimer"]?has_content> 
1418               ${infoObj["Location Disclaimer"]} 
1419               </#if> 
1420            </p> 
1421         </div> 
1422      </div> 
1423   </div> 
1424   </#if> 
1425   <!-- End -->								  
1426   <!-- Who should Attend --> 
1427 <#if isWebinar == "true" || isEvent == "true"> 
1428	 <div class="product-info-wrapper product-attendees-info"> 
1429      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
1430         data-bs-target="#attendees-div" role="button" aria-expanded="true" 
1431         aria-controls="attendees-div">Who Should Participate</button></h2> 
1432      <div class="product-info-div collapse show" id="attendees-div"> 
1433         <div class="table-responsive"> 
1434            <table class="table custom-table"> 
1435               <tbody> 
1436                  <tr> 
1437                     <td> 
1438                        <p><strong>Who should attend: </strong></p> 
1439                     </td> 
1440                     <td> 
1441                             <#if infoObj.icbaaudience?? && infoObj.icbaaudience?size gt 0> 
1442                                <#assign formatList = []> 
1443                                    <#list infoObj.icbaaudience as format> 
1444                                       <#if format.value?has_content> 
1445                                          <#assign formatList += [format.value]> 
1446                                       </#if> 
1447                                    </#list> 
1448                                 ${formatList?join(", ")} 
1449                              </#if> 
1450                     </td> 
1451                  </tr> 
1452                  <tr> 
1453                     <td> 
1454                        <p><strong>Prerequisites:</strong></p> 
1455                     </td> 
1456                     <td> 
1457                        <#if infoObj["Prerequisites"]?has_content> 
1458                        <p>${infoObj["Prerequisites"]}</p> 
1459                        </#if>	 
1460                     </td> 
1461                  </tr> 
1462                  <tr> 
1463                     <td> 
1464                        <p><strong>Advanced Preparation:</strong></p> 
1465                     </td> 
1466                     <td> 
1467                        <#if infoObj["Advanced Preparation"]?has_content> 
1468                        <p>${infoObj["Advanced Preparation"]}</p> 
1469                        </#if>	 
1470                     </td> 
1471                  </tr> 
1472                  <tr> 
1473                     <td> 
1474                        <p><strong>Program Level:</strong></p> 
1475                     </td> 
1476                     <td> 
1477                        <#if infoObj["Program Level"]?has_content> 
1478                        <p>${infoObj["Program Level"]}</p> 
1479                        </#if>	 
1480                     </td> 
1481                  </tr> 
1482                  <tr> 
1483                     <td> 
1484                        <p><strong>Field of Study:</strong></p> 
1485                     </td> 
1486                     <td> 
1487                        <#if infoObj["Field of Study"]?has_content> 
1488                        <p>${infoObj["Field of Study"]}</p> 
1489                        </#if>	 
1490                     </td> 
1491                  </tr> 
1492                  <tr> 
1493                     <td> 
1494                        <p><strong>Delivery Method:</strong></p> 
1495                     </td> 
1496                     <td> 
1497                        <#if infoObj.nasbadeliverymethod?? && infoObj.nasbadeliverymethod?size gt 0> 
1498                        <#assign formatList = []> 
1499                        <#list infoObj.nasbadeliverymethod as format> 
1500                        <#if format.value?has_content> 
1501                        <#assign formatList += [format.value]> 
1502                        </#if> 
1503                        </#list> 
1504                        ${formatList?join(", ")} 
1505                        </#if> 
1506                     </td> 
1507                  </tr> 
1508                  <tr> 
1509                     <td> 
1510                        <p><strong>Continuing Professional<br />Education (CPE) Credit Hours:</strong></p> 
1511                     </td> 
1512                     <td> 
1513                        <#if infoObj["CPE Credits"]?has_content> 
1514                        <p>${infoObj["CPE Credits"]} hrs</p> 
1515                        </#if>	 
1516                     </td> 
1517                  </tr> 
1518               </tbody> 
1519            </table> 
1520         </div> 
1521      </div> 
1522   </div> 
1523	 </#if> 
1524    
1525   <!-- Instructor --> 
1526<#if isWebinar == "true" || isEvent == "true"> 
1527	<#if infoObj["InstructorId"]?has_content> 
1528	<div class="product-info-wrapper product-instructors-info"> 
1529      <h2 class="product-info-title"><button type="button" data-bs-toggle="collapse" 
1530         data-bs-target="#instructors-div" role="button" aria-expanded="true" 
1531         aria-controls="instructors-div">Instructors</button></h2> 
1532      <div class="product-info-div collapse show" id="instructors-div"> 
1533         <div class="row"> 
1534				 <!-- Article Structure Type --> 
1535            <#assign instructorString = infoObj["InstructorId"]?string/> 
1536            <#assign instructorIdList = instructorString?split(",")/> 
1537					 <#list instructorIdList as iid> 
1538						 <div class="col-md-6"> 
1539	             <@liferay_journal["journal-article"] 
1540		              articleId="${iid}" 
1541		              ddmTemplateKey="716972" 
1542		              groupId=45248 
1543	             /> 
1544						 </div> 
1545            </#list> 
1546         </div> 
1547      </div> 
1548   </div> 
1549	</#if> 
1550   </#if> 
1551   <!--End--> 
1552   <!-- Disclaimers --> 
1553	   <#if isWebinar == "true" || isEvent == "true" || isPerson == "true"> 
1554			  <div class="product-info-wrapper product-disclaimers-info"> 
1555            <h2 class="product-info-title"> 
1556							<button type="button" data-bs-toggle="collapse" data-bs-target="#disclaimers-div" role="button" aria-expanded="true" aria-controls="disclaimers-div">Disclaimers</button> 
1557					  </h2> 
1558               <div class="product-info-div collapse show" id="disclaimers-div"> 
1559                     <h3>Attendance and Cancellation Policy</h3> 
1560                         <#-- Loop through contentFields to get the "content" field --> 
1561                         <#if isSeminar == "true" || isInstitute == "true"> 
1562													 		<#list attendenceSeminar.contentFields as field> 
1563                                <#if field.name == "content"> 
1564                                     ${htmlUtil.unescape(field.contentFieldValue.data)} 
1565                                 </#if> 
1566                             </#list> 
1567													 </#if>  
1568                         <#if isWebinar == "true"> 
1569													 		<#list attendenceWebinar.contentFields as field> 
1570                                <#if field.name == "content"> 
1571                                     ${htmlUtil.unescape(field.contentFieldValue.data)} 
1572                                 </#if> 
1573                             </#list> 
1574													 </#if>  
1575         
1576													 <hr /> 
1577													  
1578                       <h3>Continuing Professional Education Credit (CPE) Requirements</h3> 
1579                           <#if isSeminar == "true" || isInstitute == "true" && isPerson=="false"> 
1580													    <#list cpeSeminar.contentFields as cpefield> 
1581                                 <#if cpefield.name == "content"> 
1582                                    ${htmlUtil.unescape(cpefield.contentFieldValue.data)} 
1583                                 </#if> 
1584                                </#list> 
1585														 </#if> 
1586												  <#if isWebinar == "true"> 
1587													    <#list cpeWebinar.contentFields as cpefield> 
1588                                 <#if cpefield.name == "content"> 
1589                                    ${htmlUtil.unescape(cpefield.contentFieldValue.data)} 
1590                                 </#if> 
1591                                </#list> 
1592														 </#if> 
1593	                        <#if isPerson == "true"> 
1594													    <#list cpePerson.contentFields as cpefield> 
1595                                 <#if cpefield.name == "content"> 
1596                                    ${htmlUtil.unescape(cpefield.contentFieldValue.data)} 
1597                                 </#if> 
1598                                </#list> 
1599														 </#if>												  
1600													 <hr /> 
1601          
1602										<h3>${coc.title}</h3> 
1603                        <#list coc.contentFields as cocfield> 
1604                            <#if cocfield.name == "content"> 
1605                                ${htmlUtil.unescape(cocfield.contentFieldValue.data)} 
1606                            </#if> 
1607                        </#list> 
1608                    <a href="/code-of-conduct">Read Full Policy</a> 
1609                      
1610											<hr /> 
1611        
1612								<h3>${policy.title}</h3> 
1613                     <#list policy.contentFields as policyfield> 
1614                         <#if policyfield.name == "content"> 
1615                             ${htmlUtil.unescape(policyfield.contentFieldValue.data)} 
1616                          </#if> 
1617                      </#list> 
1618													 											<hr /> 
1619        
1620								<h3>${recording.title}</h3> 
1621                     <#list recording.contentFields as recordingfield> 
1622                         <#if recordingfield.name == "content"> 
1623                             ${htmlUtil.unescape(recordingfield.contentFieldValue.data)} 
1624                          </#if> 
1625                      </#list> 
1626													 											 											<hr /> 
1627        
1628								<h3>${video.title}</h3> 
1629                     <#list video.contentFields as videofield> 
1630                         <#if videofield.name == "content"> 
1631                             ${htmlUtil.unescape(videofield.contentFieldValue.data)} 
1632                          </#if> 
1633                      </#list> 
1634													 													 											 											<hr /> 
1635        
1636								<h3>${nasba.title}</h3> 
1637                     <#list nasba.contentFields as nasbafield> 
1638                         <#if nasbafield.name == "content"> 
1639                             ${htmlUtil.unescape(nasbafield.contentFieldValue.data)} 
1640                          </#if> 
1641                      </#list> 
1642               </div> 
1643            </div> 
1644			 </#if> 
1645  </div> 
1646</#if>	 
1647	 
1648 
1649	  
1650   <!-- End -->		 
1651<#if hasSkus == "true" || infoObj["Alternate URL"]?has_content> 
1652	 <script> 
1653		 function navigateToRegistration(){ 
1654	     var defaultURL = '${displayMapValue[defaultSKUKey]}'; 
1655			  
1656			 var deliveryMethod = document.getElementById("delivery-method"); 
1657			 if(deliveryMethod){ 
1658         defaultURL = deliveryMethod.value; 
1659
1660		   window.location.href = defaultURL; 
1661
1662	 </script> 
1663</#if> 
1664<!-- Handle Registration Form button click -->	  
1665<script> 
1666		 function navigateToRegForm(){ 
1667 
1668			 window.open('/documents/d/asset-library-45247/icba-education-registration-form', '_blank'); 
1669
1670	 </script> 
1671	  
1672<#if isWebinar == "true" && numberOfOptions gt 1 && !infoObj["Alternate URL"]?has_content> 
1673<script> 
1674	 
1675		const delveryMethodSelect = document.getElementById('delivery-method'); 
1676	  const registrationButton = document.getElementById('productRegistrationBtn'); 
1677    registrationButton.classList.add("disabled"); 
1678	  if(delveryMethodSelect){ 
1679			delveryMethodSelect.onchange = function() { 
1680				const selectedValue = delveryMethodSelect.value; 
1681				 
1682				if(selectedValue){ 
1683					 registrationButton.classList.remove("disabled"); 
1684				} else { 
1685						registrationButton.classList.add("disabled"); 
1686
1687
1688		}; 
1689 
1690</script> 
1691</#if>