An error occurred while processing the template.
Syntax error in template "20097#20123#98301" in line 482, column 92:
Unknown built-in: "image". Help (latest version): https://freemarker.apache.org/docs/ref_builtins.html; you're using FreeMarker 2.3.29.
The alphabetical list of built-ins:
abs, absolute_template_name, ancestors, api, 
boolean, byte, 
c, cap_first, capitalize, ceiling, children, chop_linebreak, chunk, contains, counter, 
date, date_if_unknown, datetime, datetime_if_unknown, default, double, drop_while, 
ends_with, ensure_ends_with, ensure_starts_with, esc, eval, exists, 
filter, first, float, floor, 
groups, 
has_api, has_content, has_next, html, 
if_exists, index, index_of, int, interpret, is_boolean, is_collection, is_collection_ex, is_date, is_date_like, is_date_only, is_datetime, is_directive, is_enumerable, is_even_item, is_first, is_hash, is_hash_ex, is_indexable, is_infinite, is_last, is_macro, is_markup_output, is_method, is_nan, is_node, is_number, is_odd_item, is_sequence, is_string, is_time, is_transform, is_unknown_date_like, iso, iso_h, iso_h_nz, iso_local, iso_local_h, iso_local_h_nz, iso_local_m, iso_local_m_nz, iso_local_ms, iso_local_ms_nz, iso_local_nz, iso_m, iso_m_nz, iso_ms, iso_ms_nz, iso_nz, iso_utc, iso_utc_fz, iso_utc_h, iso_utc_h_nz, iso_utc_m, iso_utc_m_nz, iso_utc_ms, iso_utc_ms_nz, iso_utc_nz, item_cycle, item_parity, item_parity_cap, 
j_string, join, js_string, json_string, 
keep_after, keep_after_last, keep_before, keep_before_last, keys, 
last, last_index_of, left_pad, length, long, lower_abc, lower_case, 
map, markup_string, matches, max, min, 
namespace, new, next_sibling, no_esc, node_name, node_namespace, node_type, number, number_to_date, number_to_datetime, number_to_time, 
parent, previous_sibling, 
remove_beginning, remove_ending, replace, reverse, right_pad, root, round, rtf, 
seq_contains, seq_index_of, seq_last_index_of, sequence, short, size, sort, sort_by, split, starts_with, string, substring, switch, 
take_while, then, time, time_if_unknown, trim, truncate, truncate_c, truncate_c_m, truncate_m, truncate_w, truncate_w_m, 
uncap_first, upper_abc, upper_case, url, url_path, 
values, 
web_safe, word_list, 
xhtml, xml
1<style> 
2    .btn-holder.d-flex a:focus,.btn-holder.d-flex a:link,.btn-holder.d-flex a:visited{ 
3        color:#0097CE !important; 
4
5     
6    .box-icon.mr-1.border.border-secondary.rounded-circle.p-2 { 
7        border: 0 !important; 
8        font-size: 16px; 
9        margin-top: -7px; 
10        padding: 0 !important; 
11
12     
13    .btn-holder.d-flex a { 
14        text-transform: capitalize; 
15        padding: 0; 
16        padding-bottom: 1rem; 
17
18    .btn-holder.d-flex a.btn-2:hover{ 
19        background:transparent !important; 
20        color:#102935 !important;  
21
22     
23    .tb-2 td, .tb-2 th{ 
24        padding:10px 24px; 
25
26 
27    #schedule-list td .download-schedule,.tb-2 td.type-rs .btn-1{ 
28        text-transform: inherit; 
29        font-size: 16px; 
30
31 
32    div#elementIdku { 
33        min-width: 100%; 
34        /* margin-left: -16px; 
35        margin-right: -16px; */ 
36
37 
38    .modal-all-schedules.active .cs-container .box-content{ 
39        padding: 2rem 32px; 
40
41 
42    .modal-all-schedules.active .container { 
43        max-width: 96%; 
44
45 
46    .course-details-wrap .course-inner { 
47        overflow-x: auto; 
48
49 
50    .tb-2 { 
51        background: transparent; 
52
53 
54    .tb-2 th { 
55        width: auto; 
56
57 
58    .tb-2 th:first-child, 
59    .tb-2 th:last-child { 
60        width: 150px; 
61
62 
63    .tb-2 .btn-1 { 
64        border-radius: 50px; 
65        padding: 10px; 
66        min-height: auto; 
67        width: 140px; 
68
69 
70    .cx-box-close{ 
71        top: 0 !important; 
72        right: 0 !important; 
73        margin-top: -2vh !important; 
74
75 
76    a.cx-download:hover .no-hover,a.cx-link:hover .no-hover{ 
77        display: none;     
78
79 
80    a.cx-download:hover .hover,a.cx-link:hover .hover{ 
81        display: block; 
82
83 
84    a.cx-download .hover,a.cx-link .hover{ 
85        display: none; 
86
87 
88    @media screen and (max-width:550px) { 
89        .tb-2 .btn-1 { 
90            min-width: 80%; 
91
92 
93        .modal-all-schedules.active .cs-container .box-content{ 
94            padding: 2rem 16px; 
95
96        .modal-all-schedules.active .cs-container .box-content{ 
97            height: 89vh; 
98            margin-top: 4vh; 
99
100
101 
102    table#isi { 
103        border: 0; 
104        border-collapse: collapse; 
105        margin: 0; 
106        padding: 0; 
107        width: 100%; 
108        table-layout: fixed; 
109
110 
111    table#isi caption { 
112        text-align: left; 
113        font-size: 1.3em; 
114        margin: 0.5em 0 0.75em; 
115
116 
117    table#isi thead { 
118        display: none; 
119
120 
121    table#isi tr { 
122        background: #dcedf5; 
123        display: block; 
124        /* border: 1px solid #000; */ 
125        padding: 12px 0; 
126        margin-bottom: 2rem; 
127        position: relative; 
128
129 
130    table#isi tr+tr { 
131        margin-top: 0.625em; 
132
133 
134    table#isi tr:nth-of-type(even) { 
135        display: none; 
136
137 
138    table#isi td { 
139        display: flex; 
140        justify-content: flex-start; 
141        align-items: flex-start; 
142        border-bottom: 1px solid #eee; 
143        font-size: 16px; 
144        line-height: 1.35em; 
145        text-align: left; 
146        border: 0px !important; 
147        border-bottom: 0px solid #fff !important; 
148        color: #333333; 
149
150 
151    table#isi td:last-child { 
152        border-bottom: 0px !important; 
153
154 
155    table#isi td:before { 
156        content: attr(data-label); 
157        /* font-size: 0.9em; */ 
158        text-align: left; 
159        font-weight: bold; 
160        text-transform: uppercase; 
161        max-width: 50%; 
162        min-width: 55%; 
163        margin-right: 10px; 
164        color: #333333; 
165
166 
167    @media screen and (max-width:576px) { 
168        table#isi td:before{ 
169            max-width: 30%; 
170            min-width: 36%; 
171
172
173 
174    table#isi td:nth-child(1):before { 
175        content: "Batch ID"; 
176
177 
178    table#isi td:nth-child(2):before { 
179        content: "Course Period"; 
180
181 
182    table#isi td:nth-child(3):before { 
183        content: "Course Title"; 
184
185 
186    table#isi td:nth-child(4):before { 
187        content: "Funding Available"; 
188
189 
190    table#isi td:nth-child(5):before { 
191        content: "Duration (Hours)"; 
192
193 
194    table#isi td:nth-child(6):before { 
195        content: "Session (Hours)"; 
196
197 
198    table#isi td:nth-child(7):before { 
199        content: "Venue"; 
200
201 
202    table#isi td:nth-child(8):before { 
203        content: "Available Seats"; 
204
205 
206    table#isi td:nth-child(9):before { 
207        content: "Online Payment"; 
208
209 
210 
211    table#isi td+td { 
212        margin-top: 0.8em; 
213
214 
215    table#isi td:last-child { 
216        border-bottom: 0; 
217
218 
219    span.payment { 
220        display: none; 
221
222 
223    table#isi tr+tr { 
224        margin-top: 0; 
225
226 
227    .tb-2 td.type-rs .btn-1 { 
228        margin: auto; 
229        /* width: auto; */ 
230
231     
232    @media screen and (max-width:1181px){ 
233 
234    #schedule-list td .download-schedule { 
235		position: absolute; 
236		bottom: 24px; 
237		left: 0; 
238		right: 50%; 
239		margin: auto; 
240		min-width:44%; 
241        padding: 12px; 
242
243 
244	.tb-2 td.type-rs .btn-1 { 
245		margin: auto; 
246		position: absolute; 
247		left: 50%; 
248		right: 0; 
249		bottom: 24px; 
250		min-width:44%; 
251        padding: 12px; 
252
253
254	 
255	/* @media screen and (max-width:768px){ 
256	    #schedule-list td .download-schedule{ 
257	        right:34%; 
258
259	     
260	    .tb-2 td.type-rs .btn-1{ 
261	        left:34%; 
262
263	} */ 
264 
265 
266    table#isi td:last-child { 
267        min-height: 64px; 
268        padding:0px 16px; 
269        margin-top:32px; 
270
271	 
272	@media screen and (max-width:575px){ 
273	    #schedule-list td .download-schedule{ 
274	        bottom:78px; 
275	        right:0%; 
276	        min-width:92%; 
277
278	     
279	    .tb-2 td.type-rs .btn-1{ 
280	        bottom:16px; 
281	        left:0%; 
282            min-width: 92%; 
283
284	    .tb-2 td, .tb-2 th{ 
285	        padding:0 16px; 
286
287 
288        table#isi td:last-child{ 
289			min-height:120px; 
290            padding: 0px 16px; 
291            margin-top:24px; 
292
293
294 
295 
296     
297 
298    @media screen and (max-width:1024px) { 
299        table#isi td { 
300            font-size: 16px !important; 
301
302
303 
304    @media screen and (min-width:1182px) { 
305 
306        #schedule-list td .download-schedule, 
307        .tb-2 td.type-rs .btn-1 { 
308            bottom: 0; 
309            border-radius: 10px; 
310            position: relative; 
311            width: auto; 
312
313
314 
315    @media screen and (min-width: 1181px) { 
316 
317 
318        table#isi caption { 
319            font-size: 10px; 
320
321 
322        table#isi thead { 
323            display: table-header-group; 
324
325 
326        table#isi tr { 
327            display: table-row; 
328            border: 0; 
329
330 
331        table#isi th, 
332        table#isi td { 
333            text-align: center; 
334
335 
336        table#isi th { 
337            font-size: 12px; 
338            text-transform: uppercase; 
339
340 
341        table#isi td { 
342            display: table-cell; 
343
344 
345        table#isi td:before { 
346            display: none; 
347
348 
349        table#isi td:last-child { 
350            border-bottom: 1px solid #eee; 
351
352
353 
354    @media screen and (max-width:320px) { 
355        div#elementIdku .btn-holder.d-flex { 
356            display: block !important; 
357
358         
359        div#elementIdku .btn-holder.d-flex div.ml-3{ 
360            margin-left:0 !important; 
361
362 
363        div#elementIdku .border { 
364            border: 0px !important; 
365
366         
367        
368 
369        .cx-title-bread { 
370            font-size: 12px; 
371            position: relative; 
372
373        i.fa.fa-link,i.fa.fa-download{ 
374            border: 1px solid; 
375            padding: 8px; 
376            border-radius: 50%; 
377
378
379 
380    @media (horizontal-viewport-segments: 2) { 
381 
382        #schedule-list td .download-schedule, 
383        .tb-2 td.type-rs .btn-1 { 
384            left: auto; 
385
386 
387        div#schedule-list { 
388            padding: 0; 
389
390 
391        table#isi td { 
392            font-size: 10px !important; 
393            margin-bottom: -6px; 
394
395 
396        .modal-all-schedules.active .cs-container .box-content { 
397            height: 92vh; 
398            margin-top: 4vh; 
399
400
401 
402    @media (vertical-viewport-segments: 2) { 
403 
404        #schedule-list td .download-schedule, 
405        .tb-2 td.type-rs .btn-1 { 
406            left: auto; 
407
408 
409        div#schedule-list { 
410            padding: 0; 
411            margin-top: -3rem !important; 
412
413 
414        table#isi td { 
415            margin-bottom: -10px; 
416
417 
418        .modal-all-schedules.active .cs-container .box-content { 
419            height: 96vh; 
420            margin-top: 1vh; 
421
422         
423        .modal-all-schedules.active .cs-container .box-close{ 
424            margin-top:1vh; 
425
426
427 
428    a.disabled { 
429        pointer-events: none; 
430        cursor: default; 
431        display: none; 
432
433 
434    .payment { 
435        opacity: 0; 
436
437 
438    .loader { 
439        position: relative !important; 
440
441 
442    .document ul li:before { 
443        opacity: 0; 
444
445 
446    .document ul { 
447        list-style: disc; 
448        margin-left: 0; 
449        padding-left: 0; 
450        padding-inline-start: 20px; 
451
452 
453    .document ul ul { 
454        list-style: circle; 
455
456 
457    .cource-sub-items { 
458        font-size: 16px !important; 
459        font-weight: 400 !important; 
460
461     
462    .sensitive-case { 
463    text-transform: none; /* Menonaktifkan transformasi teks */ 
464
465     
466     
467</style> 
468 <div style="height:70px; width:20px; background-color:#fff"></div> 
469<section class="dt-courses mode-edit-section"> 
470<div class="container main-wrap"> 
471    <div class="sp-main-bot sp-main-top"> 
472    <div class="cx-breadcrumb"> 
473     <@liferay_ui["breadcrumb"] /> 
474     <span class="cx-title-bread">${courseTitle.getData()}</span> 
475     </div> 
476        <div class="course-details-wrap clearfix"> 
477            <div class="course-inner"> 
478                <div class="row intro"> 
479                    <div class="col-lg-5 image"> 
480                        <img width="365" height="286" 
481                            src="${image.getData()}" 
482                            class="attachment-365x286 size-365x286" alt="${image.getData()?image.getAttribute("alt"):'' }" loading="lazy" 
483                            srcset="${image.getData()}" 
484                            sizes="(max-width: 365px) 100vw, 365px"> 
485                    </div> 
486                    <div class="col-lg-7 sp-991-1"> 
487                        <h1>${courseTitle.getData()}</h1> 
488                          <#if getterUtil.getBoolean(popular.getData())> 
489                        	 <div class="info-group"> 
490                                <div class="bcol box-status"> 
491                                    <#if getterUtil.getBoolean(popular.getData())> 
492                                        <span class="popular">POPULAR</span> 
493                                    </#if> 
494                                    <#if getterUtil.getBoolean(funded.getData())> 
495                                        <span class="funded">Funded</span> 
496                                    </#if> 
497                                    </div> 
498                                <div class="sharethis"> 
499                                </div> 
500                            </div> 
501                        <#elseif getterUtil.getBoolean(funded.getData())> 
502                            <div class="info-group"> 
503                                <div class="bcol box-status"> 
504                                    <#if getterUtil.getBoolean(popular.getData())> 
505                                        <span class="popular">POPULAR</span> 
506                                    </#if> 
507                                    <#if getterUtil.getBoolean(funded.getData())> 
508                                        <span class="funded">Funded</span> 
509                                    </#if> 
510                                    </div> 
511                                <div class="sharethis"> 
512                                </div> 
513                            </div> 
514                        </#if> 
515                        <#if CourseDuration.getData() !=""> 
516                            <div class="fas fa-clock ico-row" style="display: block;"> 
517                                <div class="row sp-row-2"> 
518                                    <div class="col-sm-4 bcol"><h2 class="cource-sub-items">Course Duration</h2></div> 
519                                    <div class="col-sm-8 bcol">${CourseDuration.getData()?replace('hr(s)','')} hr(s)</div> 
520                                </div> 
521                            </div> 
522                        </#if> 
523                         <#if modeofAssesment.getData() !=""> 
524                        <div class="fas fa-calendar-check ico-row" style="display: block;"> 
525                            <div class="row sp-row-2"> 
526                                <div class="col-sm-4 bcol"><h2 class="cource-sub-items">Mode of Assessment</h2></div> 
527                                <div class="col-sm-8 bcol"> 
528                                 <p>${modeofAssesment.getData()}</p> 
529                                 </div> 
530                            </div> 
531                        </div> 
532                        </#if> 
533                        <#if whoShouldAttend.getData() !=""> 
534                        <div class="fas fa-user-friends ico-row" style="display: block;"> 
535                            <div class="row sp-row-2"> 
536                                <div class="col-sm-4 bcol"><h2 class="cource-sub-items">Who Should Attend</h2></div> 
537                                <div class="col-sm-8 bcol">${whoShouldAttend.getData()}</div> 
538                            </div> 
539                        </div> 
540                        </#if> 
541 
542                    </div> 
543                </div> 
544                <#if detailWhatsInItforMe.getData() !=""> 
545                <div> 
546                        <h3 style="font-weight: 700;font-size: 30px;">${whatsInItForMe.getData()}</h3> 
547                        ${detailWhatsInItforMe.getData()} 
548                    </div> 
549                </#if> 
550                <div class="document"> 
551                 <div class="loader"></div> 
552                <#if courseOverview.DetailCourseOverview.getData() !=""> 
553                <h2 id="Overview">${courseOverview.getData()}</h2> 
554                    <p>${courseOverview.DetailCourseOverview.getData()}</p> 
555                </#if> 
556                     
557                <!--Start Scedule--> 
558                <div class="schedule-wrapper"> 
559                
560                    <h2 id="Schedule">${courseSchedule.getData()}</h2> 
561                    <p class="fas fa-calendar-check ico-type">Next available schedule</p> 
562                     
563                    <div id ="scdule-api"></div> 
564                    <div class="mb-4"> 
565                    <#if batchID.getData() !=""> 
566                     <div id="download-sc"></div> 
567                    </#if> 
568                     
569 
570                    </div> 
571                    <div> 
572                    <div class="link-1 btn-all-schedules" >See All Schedules</div> 
573                    </div> 
574 
575                </div> 
576                    <!--End Scedule--> 
577                     
578                    <#if courseObjectives.detailCourseObjectives.getData() !=""> 
579                    <h2 id="Objectives">${courseObjectives.getData()}</h2> 
580                    <p>${courseObjectives.detailCourseObjectives.getData()}</p> 
581                    </#if> 
582                     
583                    <#if prerequisites.detailPrerequisites.getData() !=""> 
584                    <h2 id="Requisites">${prerequisites.getData()}</h2> 
585                    <p>${prerequisites.detailPrerequisites.getData()}</p> 
586                    </#if> 
587                     
588                    <#if courseOutline.detailCourseOutline.getData() !=""> 
589                    <h2 id="Outline">${courseOutline.getData()}</h2> 
590                    <p>${courseOutline.detailCourseOutline.getData()}</p> 
591                    </#if> 
592                     
593                    <#if certificateObtainedAndConferredBy.detailCertificateObtainedAndConferredBy.getData() !=""> 
594                    <h2 id="Certificate">${certificateObtainedAndConferredBy.getData()}</h2> 
595                    <p>${certificateObtainedAndConferredBy.detailCertificateObtainedAndConferredBy.getData()}</p> 
596                    </#if> 
597                     
598                    <#if additionalDetails.detailAdditionalDetails.getData() !=""> 
599                    <h2 id="Additional">${additionalDetails.getData()}</h2> 
600                    <p>${additionalDetails.detailAdditionalDetails.getData()}</p> 
601                    </#if> 
602                </div> 
603            </div> 
604            <div id="sidebar" class="sidebar" style=""> 
605                <div class="sidebar-inner" style=""> 
606                    <div class="box"> 
607                        <div class="title-wrap"> 
608                            <!--<div class="status">Funded</div>--> 
609 
610                            <p class="type-1">Course Code</p> 
611                                    <p class="type-2">${courseCode.getData()}</p> 
612                             
613                        </div> 
614                        <ul> 
615                         
616                <#if courseOverview.DetailCourseOverview.getData() !=""> 
617                    <li class="quick-link" data-target="Overview">${courseOverview.getData()}</li> 
618                </#if> 
619                <#if courseDescription.getData() !=""> 
620                    <li class="quick-link" data-target="Schedule">${courseSchedule.getData()}</li> 
621                </#if> 
622                <#if courseObjectives.detailCourseObjectives.getData() !=""> 
623                    <li class="quick-link" data-target="Objectives">${courseObjectives.getData()}</li> 
624                </#if> 
625                <#if prerequisites.detailPrerequisites.getData() !=""> 
626                    <li class="quick-link" data-target="Requisites">${prerequisites.getData()}</li> 
627                </#if> 
628                <#if courseOutline.detailCourseOutline.getData() !=""> 
629                    <li class="quick-link" data-target="Outline">${courseOutline.getData()}</li> 
630                </#if> 
631                <#if certificateObtainedAndConferredBy.detailCertificateObtainedAndConferredBy.getData() !=""> 
632                    <li class="quick-link" data-target="Certificate">${certificateObtainedAndConferredBy.getData()}</li> 
633                </#if> 
634                <#if additionalDetails.detailAdditionalDetails.getData() !=""> 
635                    <li class="quick-link" data-target="Additional">${additionalDetails.getData()}</li> 
636                </#if> 
637                            
638                        </ul> 
639 
640                        <div class="price price-container">Before Funding <strong>${price.getData()}</strong>  
641                        <a href="#price-table"><i class="fa fa-info-circle" aria-hidden="true"></i></a> 
642                        </div> 
643                      
644					<div id="reserve" class="d-none"></div> 
645					<a id="starting-soon" href="javascript:void(0)" class="btn-2 btn-block d-none">Starting Soon</a> 
646						 
647        <div id="btn-enquiry" class="mt-3"></div> 
648                        <!--<a id="btn-enquiry" href="/enquiry-form?course_name=${courseTitle.getData()}&course_code=${courseCode.getData()}&course_type=" class="btn-2 btn-block">ENQUIRE NOW</a>--> 
649                        <p style="color:#ff0000; margin-top: 5px">Please contact us through our enquiry form if there 
650                            are no schedules available.</p> 
651                    </div> 
652                </div> 
653            </div> 
654        </div> 
655    </div> 
656</div> 
657</section> 
658<#if courseCode.getData() !=""> 
659<div class="modal-all-schedules"> 
660    <div class="container cs-container"> 
661        <div class="row"> 
662         
663        <div class="box-content container"> 
664            <div class="position-relative float-right text-right box-close cx-box-close"> 
665                <i class="fas fa-times" style="font-size: 26px;"></i> 
666             </div> 
667           <!---Content----> 
668           <div id="schedule-list" class="mt-2 table-fixed"> 
669          <!-- <button class="btn-2" onclick="printDiv()">DOWNLOAD ALL</button>--> 
670           <div id="elementIdku" class="print-area"> 
671                 
672			<div class="btn-holder d-flex">  
673				<div>  
674					<a class="no-print btn-2 d-flex border-0 align-items-center cx-download" href="javascript:printDiv('elementIdku');">  
675					<div class="box-icon mr-1 border border-secondary rounded-circle p-2" > 
676					<!-- <i class="fa fa-download" aria-hidden="true"></i>  --> 
677                    <!-- <i class="bi bi-download"></i> --> 
678                    <img src="/documents/39367/4629630/icon-download.svg" class="no-hover"> 
679                    <img src="/documents/39367/4629630/icon-download-hover.svg" class="hover"> 
680				</div>  
681					<span class="sensitive-case">Download all</span>  
682					</a>  
683				</div>  
684				<div class="ml-3">  
685				<a id ="copy-link" class="no-print btn-2 d-flex border-0 align-items-center cx-link" href="javascript:createLink();" data-toggle="popover" data-content="Link has been copied to clipboard">  
686				<div class="box-icon mr-1 border border-secondary rounded-circle p-2" >  
687				<!-- <i class="fa fa-link" aria-hidden="true"></i> --> 
688                <!-- <i class="bi bi-link-45deg"></i> --> 
689				<img src="/documents/39367/4629630/icon-link.svg" class="no-hover"> 
690				<img src="/documents/39367/4629630/icon-link-hover.svg" class="hover"> 
691            </div>  
692				<span class="sensitive-case">Copy link</span>  
693				</a>  
694				</div></div> 
695				 
696                <table id="isi"  class="tb-2"> 
697                    <thead> 
698                        <tr> 
699                            <th style="width: 150px;">Batch ID</th> 
700                            <th>Course Period</th> 
701                            <th>Course Title</th> 
702                            <th>Funding<br> Available</th> 
703                            <th>Duration<br> (Hours)</th> 
704                            <th>Session<br> (Hours)</th> 
705                            <th>Venue</th> 
706                            <th>Available<br> Seats</th> 
707                            <th>Online<br> Payment</th> 
708                            <th class="type-rs"></th> 
709                        </tr> 
710                    </thead> 
711                    <tbody> 
712                    </tbody> 
713                </table> 
714            </div> 
715            </div> 
716           <!----End Content----> 
717        </div> 
718        </div> 
719    </div> 
720</div> 
721</#if> 
722 
723<textarea id="printing-css" style="display:none;">html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{ 
724    margin:0; 
725    padding:0; 
726    border:0; 
727    font-size:100%; 
728    font:inherit; 
729    vertical-align:baseline 
730
731article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{ 
732    display:block 
733
734body{ 
735    line-height:1 
736
737table[border="1"] th,table[border="1"] td,table[border="1"] caption{ 
738    border:1px solid #000; 
739    padding:.5em 1em; 
740    text-align:left; 
741    vertical-align:top; 
742    margin-top:20px; 
743    text-align:center; 
744
745th{ 
746   padding:10px 8px; 
747      text-align: center; 
748      background-color: #18355f; 
749      color: white; 
750     vertical-align: middle; 
751
752td{ 
753     padding:10px 8px; 
754     text-align: center; 
755     background-color:#dcedf5; 
756     vertical-align: middle; 
757
758.btn-1{ 
759    background: #18355f; 
760    border: #fcd205 solid 2px; 
761    color: #fcd205 !important; 
762    display:block; 
763    padding:10px 8px; 
764    text-decoration:none; 
765    display:none; 
766
767.type-rs{ 
768    display:none; 
769
770.payment{ 
771        opacity:1; 
772
773table[border="1"] caption{ 
774    border:none; 
775    font-style:italic 
776
777.no-print{ 
778    display:none 
779
780</textarea> 
781  <iframe name="print_frame"  src="about:blank" style="border:0px; display:none"></iframe> 
782 <script> 
783       $(document).ready(function () { 
784             
785           getGlobalCourseType(); 
786           //console.log("courseTypeGlobal = "+courseTypeGlobal); 
787            
788           //popover 
789           $('[data-toggle="popover"]').popover(); 
790 
791            // mengaktifkan Popover secara otomatis saat tautan di klik 
792            $('#copy-link').on('click', function() { 
793              var link = $(this); 
794               
795              // menampilkan Popover setelah penundaan 2 detik 
796              setTimeout(function() { 
797                link.popover('show'); 
798                 
799                // menghilangkan Popover setelah penundaan 2 detik 
800                setTimeout(function() { 
801                  link.popover('hide'); 
802                }, 2000); 
803              }, 2000); 
804            }); 
805			 
806       }); 
807	   var groupId = '${themeDisplay.getScopeGroupId()}'; 
808	   var portalURL = '${themeDisplay.getPortalURL()}'; 
809	   console.log("Portal URL: "+portalURL); 
810 
811        
812       function createLink() { 
813           // Create a dummy input to copy the string array inside it 
814          var dummy = document.createElement("input"); 
815          // Add it to the document 
816          document.body.appendChild(dummy); 
817          // Set its ID 
818          dummy.setAttribute("id", "copy_url_id"); 
819          // Output the array into it 
820		  var courseCodeCopy = '${courseCode.getData()}'; 
821          document.getElementById("copy_url_id").value=portalURL+"/course-schedules-link?courseCode="+courseCodeCopy; 
822          // Select it 
823          dummy.select(); 
824          // Copy its contents 
825          document.execCommand("copy"); 
826          // Remove it as its not needed anymore 
827          document.body.removeChild(dummy); 
828
829        
830       function getGlobalCourseType () { 
831           console.log('${courseCode.getData()}', "course code"); 
832           console.log(groupId, "group id"); 
833           Liferay.Service( 
834                '/ntuc_course_admin.course/get-course-by-course-code', 
835
836				groupId : groupId, 
837                courseCode: '${courseCode.getData()}', 
838                deleted: false 
839            }, 
840                function(result) { 
841					 let courseType = result.length != 0 ? result[0]['courseType'] : ''; 
842                     loadRealData(courseType); 
843
844            ); 
845
846	    
847	   function loadRealData(courseTypeGlob) { 
848			Liferay.Service( 
849			  '/ntuc_course_admin.course/get-course-schedule-from-tms', 
850
851				groupId : groupId, 
852				courseCode: '${courseCode.getData()}' 
853			  }, 
854			  function(data) { 
855				if(data.length == undefined) { 
856				  console.log('failed hit api'); 
857				  loadapiintern(courseTypeGlob); 
858				} else if (data.length == 0) { 
859				  console.log('success hit api but length = 0');  
860				  $('.loader').fadeOut('slow'); 
861				  $(".schedule-wrapper").addClass("d-none"); 
862				  $("#starting-soon").removeClass("d-none"); 
863				}else { 
864				    console.log('not empty'); 
865					$('.loader').fadeOut('slow'); 
866				 
867					data.sort(function(a,b){ 
868                    return convert(a.start_date) - convert(b.start_date) 
869                    }); 
870				 
871					 
872				    $.each(data, function (i) { 
873                        var idbatch = data[i].batchid; 
874                	    var startdate = convert(data[i].start_date).toISOString().slice(0,10) ; 
875                        var enddate = convert(data[i].end_date).toISOString().slice(0,10); 
876                         
877                        var courseduration = data[i].course_duration; 
878                        var noseats = data[i].availability; 
879                        var venue = data[i].venue; 
880                        var othersdetails = data[i].description; 
881                        var coursetitle = data[i].course_title; 
882                        var fundedcourseflag = data[i].funded_course_flag; 
883                        var allowOnlinePayment = data[i].allow_online_payment; 
884                        var urlDownloadAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/prtcourseschedule.do?batchid="+idbatch+"&prtindicator=P&autologin=1" ; 
885                        var urlReserveAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/initregister.do?batchid="+idbatch+"&autologin=1" ; 
886 
887//format date 
888                        var sdate = new Date(startdate); 
889                        var year = sdate.getFullYear(); 
890                        var month = sdate.getMonth()+1; 
891                        var gdt = sdate.getDate(); 
892                        var formatdate = (gdt+'-' + month + '-'+year); 
893                         
894                        var edate = new Date(enddate); 
895                        var eyear = edate.getFullYear(); 
896                        var emonth = edate.getMonth()+1; 
897                        var egdt = edate.getDate(); 
898                        var formatedate = (egdt+'-' + emonth + '-'+eyear); 
899                         
900                        //var coursetype = courseTypeGlobal; 
901                        //if(allowOnlinePayment == 'Yes') { 
902                         //   <i class="fas fa-check color-info"></i> 
903                        //} 
904                         
905                        $("#isi").append("<tr><td class='text-left'>" + idbatch + "<a href='" + urlDownloadAll + "'class='btn-1 btn-block download-schedule' target='_blank'>Download schedule</a> </td><td>" + formatdate + "  to  " + formatedate + "</td><td>" + coursetitle + "</td><td><i class='iconcheckfunded '><span class='payment'>"+fundedcourseflag+"</span></i></td><td>" + courseduration + "</td><td>" + othersdetails + "</td><td>" + venue + "</td><td>" + noseats + "</td><td> <i class='iconcheck '><span class='payment'>"+allowOnlinePayment+"</span></i></td><td class='type-rs'><a id='btn-reserve-isi-"+i+"' href='" +urlReserveAll+ "'class='btn-1 btn-block btn-reserve d-none' target='_blank'>Reserve a spot</a></td><tr>"); 
906                         
907						if(noseats != '' && noseats != '0' && idbatch != ''){ 
908									$('#btn-reserve-isi-'+i).removeClass("d-none"); 
909
910                         
911                         
912                        if (i == 0) { 
913								console.log("noseats = "+noseats); 
914								console.log("idbatch = "+idbatch); 
915								if(noseats != '' && noseats != '0' && idbatch != ''){ 
916									$("#reserve").removeClass("d-none"); 
917								} else { 
918									$("#starting-soon").removeClass("d-none"); 
919
920                                 
921                            	$("#scdule-api").append("<div class='schedule-tb'><div class='row'><div class='col-xl-2 col-lg-3 col-6'><h5>Start date</h5><p>" + formatdate + "</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>End date</h5><p>"+formatedate+"</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>Course Duration</h5><p>" + courseduration + " hr(s)</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>No. seats</h5><p>" + noseats + "</p></div></div><div class='row'><div class='col-xl-4 col-6'><h5>Venue</h5><p>" + venue + "</p></div><div class='col-xl-4 col-6'><h5>Other details</h5><p>" + othersdetails + "</p></div></div></div>"); 
922                            		 
923                            	$("#download-sc").append("<a class='btn-2' href='" + urlDownloadAll + "'>Download schedule</a>"); 
924                            	$("#reserve").append("<a href='" +urlReserveAll+ "' class='btn-1 btn-block btn-reserve' target='_blank'>Reserve a spot</a>");	 
925                                 
926                            }  
927                        if(data[i].allow_web_registration == 'No') { 
928                            $(".btn-reserve").addClass("disabled"); 
929
930                        if(data[i].allow_online_payment == 'Yes') { 
931                            $(".iconcheck").addClass("fas fa-check color-info"); 
932                        } else if(data[i].allow_online_payment == 'No'){ 
933                              $(".iconcheck").addClass("fas fa-times color-info"); 
934
935                         
936                        if(data[i].funded_course_flag == 'Yes') { 
937                            $(".iconcheckfunded").addClass("fas fa-check color-info"); 
938                       } else if(data[i].funded_course_flag == 'No'){ 
939                              $(".iconcheckfunded").addClass("fas fa-times color-info"); 
940
941                         
942                            console.log(i); 
943                      }) 
944
945				$("#btn-enquiry").append("<a href='/enquiry-form?course_name=${htmlUtil.escape(courseTitle.getData())}&course_code=${courseCode.getData()}&course_type="+courseTypeGlob+" 'class='btn-2 btn-block'>ENQUIRE NOW</a>"); 
946
947			); 
948
949		 
950		function isEmpty(obj) { 
951            for(var prop in obj) { 
952                if(obj.hasOwnProperty(prop)) 
953                    return false; 
954
955         
956            return true; 
957
958        
959    	 function loadapiintern(courseTypeGlob) { 
960    	     
961        	Liferay.Service( 
962                '/ntuc_course_admin.course/get-course-by-course-code', 
963
964				groupId : groupId, 
965                courseCode: '${courseCode.getData()}', 
966                deleted: false 
967            }, 
968                function(obj) { 
969				if (obj.length == 0) { 
970				  $('.loader').fadeOut('slow'); 
971				  $(".schedule-wrapper").addClass("d-none"); 
972				  $("#starting-soon").removeClass("d-none"); 
973				} else { 
974				 jQuery.each( obj, function( i, val ) { 
975                 var idbatch = obj[i].batchId; 
976                 var startdate = new Date(obj[i].startDate).toISOString().slice(0,10); 
977                 var enddate = new Date(obj[i].endDate).toISOString().slice(0,10); 
978                 var courseduration = obj[i].courseDuration; 
979                 var availability = obj[i].availability; 
980                 var venue = obj[i].venue; 
981                 var description = obj[i].description; 
982                 var coursetitle = obj[i].courseTitle; 
983                  var allowonlinepayment = obj[i].allowOnlinePayment; 
984                 var fundedcourseflag =  obj[i].fundedCourseFlag; 
985                 //var coursetype = obj[i].courseType; 
986                var urlDownloadAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/prtcourseschedule.do?batchid="+idbatch+"&prtindicator=P&autologin=1" ; 
987                var urlReserveAll= "https://tmspro.ntuclearninghub.com/portal/addins/cms/initregister.do?batchid="+idbatch+"&autologin=1" ; 
988 
989//format date 
990                var sdate = new Date(startdate); 
991                var year = sdate.getFullYear(); 
992                var month = sdate.getMonth()+1; 
993                var gdt = sdate.getDate(); 
994                var formatdate = (gdt+'-' + month + '-'+year); 
995                         
996                var edate = new Date(enddate); 
997                var eyear = edate.getFullYear(); 
998                var emonth = edate.getMonth()+1; 
999                var egdt = edate.getDate(); 
1000                var formatedate = (egdt+'-' + emonth + '-'+eyear); 
1001                 
1002                 
1003                 $("#isi").append("<tr><td class='text-left'> "+idbatch+" <a href='" + urlDownloadAll + "'class='btn-1 btn-block download-schedule' target='_blank'>Download schedule</a></td><td>" + startdate + "  to  " + enddate + "</td><td>" + coursetitle + "</td><td><i class='iconcheckfunded '><span class='payment'>"+fundedcourseflag+"</span></i></td><td>" + courseduration+ "</td><td>" + description + "</td><td>" + venue + "</td><td>" + availability + "</td><td> <i class='iconcheck '><span class='payment'>"+allowonlinepayment+"</span></i></td><td class='type-rs'><a id='btn-reserve-isi' href='" +urlReserveAll+ "'class='btn-1 btn-block' target='_blank'>Reserve a spot</a></td><tr>"); 
1004				  
1005				 if(noseats != '' && noseats != '0' && idbatch != ''){ 
1006				    $('#btn-reserve-isi').removeClass("d-none"); 
1007				 }  
1008				 
1009                 if (i == 0) { 
1010				  
1011					if(availability != "" && availability != "0" && idbatch != ""){ 
1012						$("#reserve").removeClass("d-none"); 
1013					} else { 
1014						$("#starting-soon").removeClass("d-none"); 
1015
1016                 $("#scdule-api").append("<div class='schedule-tb'><div class='row'><div class='col-xl-2 col-lg-3 col-6'><h5>Start date</h5><p>" + startdate + "</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>End date</h5><p>" + enddate + "</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>Course Duration</h5><p>" + courseduration + " hr(s)</p></div><div class='col-xl-2 col-lg-3 col-6'><h5>No. seats</h5><p>" + availability + "</p></div></div><div class='row'><div class='col-xl-4 col-6'><h5>Venue</h5><p>" + venue + "</p></div><div class='col-xl-4 col-6'><h5>Other details</h5><p>" + description + "</p></div></div></div>"); 
1017                  
1018                $("#download-sc").append("<a class='btn-2' href='"+ urlDownloadAll +"'>Download schedule</a>"); 
1019                        		 
1020                 $("#reserve").append("<a href='"+ urlReserveAll +"' class='btn-1 btn-block' target='_blank'>Reserve a spot</a>"); 
1021                        	 
1022            	 
1023
1024            	 if(obj[i].allowWebRegistration == false) { 
1025                        $(".btn-reserve").addClass("disabled"); 
1026
1027                if(obj[i].allowOnlinePayment == true) { 
1028                    $(".iconcheck").addClass("fas fa-check color-info"); 
1029                } else if(obj[i].allowOnlinePayment == false){ 
1030                    $(".iconcheck").addClass("fas fa-times color-info"); 
1031
1032                        
1033                if(obj[i].fundedCourseFlag == true) { 
1034                    $(".iconcheckfunded").addClass("fas fa-check color-info"); 
1035                } else if(obj[i].fundedCourseFlag == false){ 
1036                    $(".iconcheckfunded").addClass("fas fa-times color-info"); 
1037
1038                   
1039                   
1040                }); 
1041                 
1042                //var enquiryLink = document.getElementById("btn-enquiry").href; 
1043				 //enquiryLink += obj[0].courseType; 
1044				 //document.getElementById("btn-enquiry").href = enquiryLink; 
1045				  
1046				 $("#btn-enquiry").append("<a href='/enquiry-form?course_name=${htmlUtil.escape(courseTitle.getData())}&course_code=${courseCode.getData()}&course_type="+courseTypeGlob+" 'class='btn-2 btn-block'>ENQUIRE NOW</a>"); 
1047				}     
1048				$('.loader').fadeOut('slow'); 
1049
1050             
1051            ); 
1052
1053			 
1054		function convert(date) { 
1055        	var parts = date.split("/"); 
1056        	var dt = new Date(parseInt(parts[2], 10), 
1057                          parseInt(parts[1], 10) - 1, 
1058                          parseInt(parts[0], 10) + 1); 
1059        	return dt; 
1060
1061                       
1062                //var enquiryLink = document.getElementById("btn-enquiry").href; 
1063				 //enquiryLink += this['courseType']; 
1064				 //document.getElementById("btn-enquiry").href = enquiryLink; 
1065				 //console.log(enquiryLink)coursetype 
1066			  //} 
1067			//); 
1068        //}); 
1069    </script> 
1070    <script> 
1071        function printDiv(elementIdku) { 
1072             var a = document.getElementById('printing-css').value; 
1073            var b = document.getElementById(elementIdku).innerHTML;window.frames["print_frame"].document.body.innerHTML =  
1074          
1075        window.frames["print_frame"].document.body.innerHTML = '<style>' + a + '</style>' + b; 
1076            window.frames["print_frame"].window.focus(); 
1077         window.frames["print_frame"].window.print(); 
1078
1079    </script> 
1080     
1081     
1082     
1083   <!-- Sosial Share --> 
1084   <section  class="fixed-sosial"> 
1085<div class="sidebar-sosial"> 
1086  <div class="social facebook"> 
1087    <a href="javascript:void(window.open('https://www.facebook.com/sharer.php?u=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title), 
1088'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))" > 
1089      <p><i class="fab fa-facebook-f"></i><span>Share</span> </p> 
1090    </a> 
1091  </div> 
1092  <div class="social twitter"> 
1093    <a href="javascript:void(window.open('https://twitter.com/share?url=' + encodeURIComponent(document.location) + '&amp;text=' + encodeURIComponent(document.title) + '&amp;via=fabienb&amp;hashtags=koandesign','mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))"> 
1094      <p><i class="fab fa-twitter"></i><span>Tweet</span></p> 
1095    </a> 
1096  </div> 
1097  <div class="social pinterest"> 
1098    <a href="javascript:void(window.open('https://www.pinterest.com/sharer.php?u=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title), 
1099'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))" > 
1100      <p><i class="fab fa-pinterest"></i><span>Pin</span></p> 
1101    </a> 
1102  </div> 
1103    <div class="social envelope"> 
1104    <a href="javascript:void(window.open('mailto:?subject=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title), 
1105'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))"> 
1106      <p><i class="far fa-envelope"></i><span>Email</span></p> 
1107    </a> 
1108  </div> 
1109    <div class="social whatsapp"> 
1110    <a href="javascript:void(window.open('https://web.whatsapp.com/sharer.php?u=' + encodeURIComponent(document.location) + '?t=' + encodeURIComponent(document.title), 
1111'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))"> 
1112      <p><i class="fab fa-whatsapp"></i><span>Share</span></p> 
1113    </a> 
1114  </div> 
1115    <div class="social linkedin"> 
1116    <a href="javascript:void(window.open('https://www.linkedin.com/shareArticle?url=' + encodeURIComponent(document.location) + '&amp;title=' + encodeURIComponent (document.title),'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))"> 
1117      <p><i class="fab fa-linkedin-in"></i><span>Share</span></p> 
1118    </a> 
1119  </div> 
1120  <div class="social messenger"> 
1121    <a href="javascript:void(window.open('https://www.facebook.com/dialog/send?link=' + encodeURIComponent(document.location) + '&amp;title=' + encodeURIComponent (document.title),'mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0'))" > 
1122      <p><i class="fab fa-facebook-messenger"></i><span>Share</span></p> 
1123    </a> 
1124  </div> 
1125   
1126 
1127</div> 
1128  <div class="st-toggle"> 
1129  <div class="st-left"> 
1130  <i class="fas fa-angle-double-left"></i> 
1131  </div> 
1132  <div class="st-right"> 
1133   <i class="fas fa-angle-double-right"></i> 
1134  </div> 
1135</div> 
1136</section> 
1137<!-- 
1138<script> 
1139$(document).ready(function(){ 
1140  $('a').attr('target', '_blank'); 
1141});--> 
1142</script> 

What Others Also Enrolled In