Web Content Display

An error occurred while processing the template.
Error on line 23, column 1 in 10154#10192#152860842
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
1<#assign url=request.attributes.CURRENT_URL> 
2<#assign qstringmap=httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
3<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
4<#assign url404 = '/error/404.html' > 
5 
6<#--  check location id validity  --> 
7<#if qstringmap["ecdma-lc"]?has_content> 
8    <#assign lc= qstringmap["ecdma-lc"]?first>   
9    <#assign prefix = "00000" > 
10    <#assign lcWithPrefix = prefix + lc > 
11    <#assign withPrefixLength = lcWithPrefix?length > 
12    <#assign startHere = withPrefixLength - 5> 
13    <#assign lc = lcWithPrefix?substring(startHere)> 
14<#else> 
15    <script> 
16        console.log("location code missing"); 
17        location.href = '${url404}'; 
18    </script> 
19</#if> 
20 
21<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
22<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
23<#assign clientProfile = clientProfileList?first> 
24<#assign pbu = clientProfile.getPbu()> 
25<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
26 
27<#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
28 <#list clientdata as data> 
29    <#assign backgroundColor=data.backgroundHexColor> 
30    <#assign buttonColor=data.buttonHexColor> 
31    <#assign textColor=data.textHexColor> 
32    <#assign hoverColor=data.hoverColor> 
33</#list> 
34 
35 
36<#if lc?has_content>       
37        <#assign clientProfileService=serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService")> 
38        <#assign clientProfileList=clientProfileService.findByLocationCode(lc)> 
39 
40        <#if clientProfileList?first?has_content> 
41            <#assign clientProfile=clientProfileList?first> 
42            <#assign partnerName=clientProfile.getMarketingNameLong()> 
43            <script> 
44                /* tracking object for SiteCatalyst */ 
45                var reportingData = {}; 
46                var locationCodesOfferIds = { 
47                    // 1.Associated 
48                    '15302': 'QQ2VPB8968', 
49                    }; 
50 
51                /* redirect if locationCode is unknown */ 
52                if (!locationCodesOfferIds['${lc!0}']) { 
53                        //location.href = '/web/elan/404'; 
54
55                var partnerName = "${partnerName!0}";                                     
56                AUI().ready(function () { 
57                    var lc = '${lc!0}'; 
58                    console.log(partnerName); 
59                    var page = location.pathname.split('/')[location.pathname.split('/').length - 1]; 
60                    var product = lc === '24168' ? 'MC Platiunum Card' : 'Visa Platinum Card'; // hard coded for Pilot launch 
61                    var hostName = location.hostname; 
62                    var preparerType = 'customer'; 
63                    var domain = getDomainFromHostname(hostName); 
64                    var sourceCode = ''; 
65 
66                    function getDomainFromHostname(hostname) { 
67                        var parts = hostname.split('.'); 
68                        return parts.length === 3 ? parts[1] : parts[0]; 
69
70 
71                    switch (lc) { 
72                        // 1.Associated 
73                        case '15302': 
74                            sourceCode = '35360'; 
75                            $('body').addClass('bg-gray associated'); 
76                            $('.jn-button').addClass('btn-blue2'); 
77                            break; 
78
79 
80                    /* update SiteCatalyst data object */ 
81                        reportingData.current_page = "microsite:${partnerName}:" + domain + ':' + page.replace('-',' '); 
82                        reportingData.page_type = 'product';  
83                        reportingData.site_section = 'credit cards'; 
84                        reportingData.platform = 'microsite'; 
85                        reportingData.location_code = lc; 
86                        reportingData.partner_name = partnerName; 
87                        reportingData.product = product; 
88                        reportingData.text_to_apply_source = 'vanity url'; 
89                        reportingData.visitor_type = 'prospect';         
90 
91               /* CTA - button click handling */ 
92                    jQuery('.jn-button').click(function () { 
93                        var buttonName = jQuery(this).data('button-name'); 
94 
95                    /* SiteCatalyst  onClick tracking */ 
96                        reportingData.applyButton = buttonName; 
97                        if (window.publisherFW) { 
98                            console.log('reportingData', reportingData); 
99                            window.publisherFW.publishEvent("onClick", reportingData); 
100
101                    }); 
102                    /* SiteCatalyst pageView tracking */ 
103                    if (window.publisherFW) { 
104                        console.log('reportingData', reportingData); 
105                        window.publisherFW.publishEvent("pageView", reportingData); 
106
107                }); 
108 
109            </script> 
110        <#else> 
111            <script> 
112                //location.href = '${url404}'; 
113                console.log("client profile empty"); 
114            </script> 
115        </#if> 
116<#else> 
117    <script> 
118       console.log("location code empty"); 
119       //location.href = '${url404}'; 
120    </script> 
121</#if> 
122        <style> 
123            @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {   
124                select::-ms-expand { 
125                    display: none; 
126
127
128            h1, h2, h3, h4, h5, h6 { 
129                font-weight: 400; 
130
131            li { 
132                list-style: none !important; 
133
134            .tier3-hero-landing-business.hide, 
135            .tier3-hero-landing-consumer.hide, 
136            .tier3-disclaimer-landing-business.hide, 
137            .tier3-disclaimer-landing-consumer.hide, 
138            .tier3-hero-landing-business, 
139            .tier3-disclaimer-landing-business { 
140                display: none !important; 
141
142 
143            .tier3-hero-landing-business.show, 
144            .tier3-hero-landing-consumer.show, 
145            .tier3-disclaimer-landing-business.show, 
146            .tier3-disclaimer-landing-consumer.show { 
147                display: block !important; 
148
149 
150            /*----------------------- Common Styles ------------------------------ */ 
151            body { 
152                background: no-repeat 0 0 fixed #FFFFFF; 
153                background-size: cover; 
154
155 
156            body.bg-gray { 
157                background: rgb(111, 111, 111); 
158                background: linear-gradient(0deg, rgba(111, 111, 111, 1) 0%, rgba(152, 149, 149, 1) 58%, rgba(238, 238, 238, 1) 100%); 
159
160 
161            body.bg-green { 
162                background: rgb(0, 51, 0); 
163                background: linear-gradient(0deg, rgba(0, 51, 0, 1) 0%, rgba(98, 155, 98, 1) 58%, rgba(153, 204, 153, 1) 100%); 
164
165 
166            body.bg-red { 
167                background: rgb(102, 0, 0); 
168                background: linear-gradient(0deg, rgba(102, 0, 0, 1) 0%, rgba(169, 76, 76, 1) 58%, rgba(204, 127, 127, 1) 100%); 
169
170 
171            body.bg-blue { 
172                background: rgb(12, 32, 116); 
173                background: linear-gradient(0deg, rgba(12, 32, 116, 1) 0%, rgba(101, 128, 195, 1) 58%, rgba(153, 178, 229, 1) 100%); 
174
175 
176            .businessMoreLink, .less-link, .more-link { 
177                display: none; 
178                text-align: center; 
179
180            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item sup{ 
181                font-size: 11px; 
182                top: -.7em; 
183
184 
185            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item h4 sup{ 
186                top: -1em; 
187                font-size: 60%; 
188
189             
190            .more-link { 
191                position: absolute; 
192                right: -25px; 
193                top: 250px; 
194
195            .less-link { 
196                position: absolute; 
197                left: -25px; 
198                top: 250px; 
199
200            .more-link a, .less-link a { 
201                display: flex; 
202                align-items: center; 
203
204            .more-caret, .less-caret { 
205                position: relative; 
206                height: 40px; 
207                width: 20px; 
208
209            .more-text { 
210                margin-right: 10px; 
211
212            .less-text { 
213                margin-left: 15px; 
214
215 
216            .more-caret:before { 
217                content: ''; 
218                position: absolute; 
219                top: 0; 
220                left: 0; 
221                border-left: 20px solid #cccccc; 
222                border-top: 20px solid transparent; 
223                border-bottom: 20px solid transparent; 
224
225 
226            .more-caret:after { 
227                content: ''; 
228                position: absolute; 
229                left: 0; 
230                top: 7px; 
231                border-left: 13px solid #fff; 
232                border-top: 13px solid transparent; 
233                border-bottom: 13px solid transparent; 
234
235 
236            .less-caret:before { 
237                content: ''; 
238                position: absolute; 
239                top: 0; 
240                left: 0; 
241                border-right: 20px solid #cccccc; 
242                border-top: 20px solid transparent; 
243                border-bottom: 20px solid transparent; 
244
245 
246            .less-caret:after { 
247                content: ''; 
248                position: absolute; 
249                left: 7px; 
250                top: 7px; 
251                border-right: 13px solid #fff; 
252                border-top: 13px solid transparent; 
253                border-bottom: 13px solid transparent; 
254
255 
256            .secondary-color { 
257                color: #19398a; 
258
259 
260            .jn-subhero h2 { 
261                color: #19398a; 
262                font-size: 22px; 
263
264 
265            .jn-subhero h2 sup { 
266                font-size: 12px; 
267
268 
269            .jn-subhero p sup { 
270                top: -.4em; 
271                font-size: 10px; 
272
273 
274            .jn-banner article, 
275            .jn-find article, 
276            .jn-subhero ul, 
277            .jn-hero-card .jn-hero-container .jn-hero-container-data article { 
278                display: -webkit-box; 
279                display: -webkit-flex; 
280                display: -moz-flex; 
281                display: -ms-flexbox; 
282                display: flex; 
283                -webkit-align-items: flex-start; 
284                -moz-align-items: flex-start; 
285                -ms-align-items: flex-start; 
286                align-items: flex-start; 
287                -webkit-flex-flow: column wrap; 
288                -moz-flex-flow: column wrap; 
289                -ms-flex-flow: column wrap; 
290                flex-flow: column wrap; 
291
292 
293            .jn-banner article, 
294            .jn-subhero ul { 
295                -ms-flex-pack: space-around; 
296                -webkit-justify-content: space-around; 
297                -moz-justify-content: space-around; 
298                -ms-justify-content: space-around; 
299                justify-content: space-around; 
300
301 
302            .overpass { 
303                font-family: 'Overpass', sans-serif; 
304
305 
306            @media screen and (min-width: 769px) { 
307 
308                .jn-banner article, 
309                .jn-find article, 
310                .jn-subhero ul, 
311                .jn-hero-card .jn-hero-container .jn-hero-container-data article { 
312                    -webkit-flex-flow: row wrap; 
313                    -moz-flex-flow: row wrap; 
314                    -ms-flex-flow: row wrap; 
315                    flex-flow: row wrap; 
316 
317
318
319 
320            /*----------------------- Wrapper Styles ------------------------------ */ 
321            .wrapper { 
322                *zoom: 1; 
323                text-rendering: optimizeLegibility; 
324                -webkit-font-smoothing: antialiased; 
325                -moz-osx-font-smoothing: grayscale; 
326                image-rendering: -webkit-optimize-contrast; 
327                margin: 0 auto; 
328                position: relative; 
329                font-family: Helvetica Neue, Helvetica, Arial, sans-serif; 
330                -webkit-font-smoothing: subpixel-antialiased; 
331
332 
333            .wrapper:before, 
334            .wrapper:after { 
335                content: " "; 
336                display: table; 
337
338 
339            .wrapper:after { 
340                clear: both; 
341
342 
343            .wrapper h1 { 
344                font-size: 30px; 
345
346 
347            .wrapper h1, 
348            .wrapper h2, 
349            .wrapper h3, 
350            .wrapper h4, 
351            .wrapper h5, 
352            .wrapper h6 { 
353                margin: 0; 
354                line-height: normal; 
355
356 
357            .wrapper a { 
358                text-decoration: none; 
359                cursor: pointer; 
360                color: #173989; 
361
362 
363            .wrapper a:hover { 
364                text-decoration: none; 
365                cursor: pointer; 
366
367            .wrapper a.t_c_link { 
368                font-size: 17px; 
369                text-decoration: underline; 
370
371            .wrapper a.t_c_link:hover { 
372                text-decoration: underline; 
373
374 
375            .wrapper p { 
376                font-size: 16px; 
377                margin: 0; 
378                line-height: 1.2; 
379                color: #333333; 
380
381 
382            .wrapper ul { 
383                padding: 0; 
384                margin: 0; 
385
386 
387            .wrapper .jn-img-responsive { 
388                max-width: 100%; 
389                width: 100%; 
390                height: auto; 
391
392 
393            .wrapper .content-container { 
394                display: block; 
395                max-width: 825px; 
396                margin: 0 auto; 
397                width: 100%; 
398
399 
400             
401 
402             
403 
404            @media (min-width: 769px) { 
405                .wrapper .content-container { 
406                    max-width: 1336px; 
407
408
409 
410             
411 
412            /*----------------------- Header Styles ------------------------------ */ 
413            .jn-header { 
414                display: flex; 
415                padding: 20px 0; 
416                justify-content: center; 
417                min-height: 113px; 
418                background: #fff; 
419
420            @media (min-width:769px) { 
421                .jn-header { 
422                    padding: 20px 8%; 
423                    justify-content: left; 
424                    max-width: 1363px; 
425                    margin: 0 auto; 
426
427
428 
429            .jn-header .header-logo { 
430                max-width: 230px; 
431
432            .jn-header .header-logo img { 
433                width: 100%; 
434
435 
436            .jn-header .styled-select { 
437                display: none; 
438                background-color: #fff; 
439                border: 1px solid #ccc; 
440                min-width: 200px; 
441                height: 34px; 
442                overflow: hidden; 
443                outline: none; 
444                width: auto; 
445
446
447 
448            .jn-header .styled-select:after { 
449                border-bottom-style: solid; 
450                border-bottom-width: 3px; 
451                border-right-style: solid; 
452                border-right-width: 3px; 
453                content: ''; 
454                display: block; 
455                height: 15px; 
456                right: 12px; 
457                position: absolute; 
458                top: 5px; 
459                width: 15px; 
460                border-color: #99999F; 
461                -moz-transform: rotate(45deg); 
462                -ms-transform: rotate(45deg); 
463                -webkit-transform: rotate(45deg); 
464                transform: rotate(45deg); 
465
466 
467            .jn-header .styled-select select { 
468                background: transparent; 
469                font-family: Arial, Helvetica, sans-serif; 
470                font-weight: bold; 
471                font-size: 14px; 
472                height: 34px; 
473                width: 100%; 
474                padding: 5px 35px 5px 5px; 
475                text-transform: none; 
476                line-height: 1.15; 
477                margin: 0; 
478                border: none; 
479                color: #666666; 
480                -webkit-box-sizing: border-box; 
481                -moz-box-sizing: border-box; 
482                box-sizing: border-box; 
483                -webkit-appearance: none; 
484                -moz-appearance: none; 
485
486 
487            .jn-header a { 
488                font-size: 12px; 
489                color: #1c348b; 
490
491 
492            .jn-header a:hover, 
493            .jn-header a:focus, 
494            .jn-header a:active { 
495                color: #1c348b; 
496
497 
498            @media screen and (min-width: 769px) { 
499                .jn-header .styled-select { 
500                    display: block; 
501                    position: absolute; 
502                    right: 16px; 
503                    top: 50px; 
504
505
506 
507            @media screen and (max-width: 350px) { 
508                .jn-header img { 
509                    width: 200px; 
510
511
512 
513            /*----------------------- Hero Styles ------------------------------ */ 
514            .jn-hero-card { 
515                background: rgba(204, 204, 204, .2); 
516
517 
518            .jn-hero-card .jn-hero-container .jn-hero-container-data article>div .jn-button { 
519                margin: 20px auto; 
520                width: 90%; 
521                float: none; 
522                display: block; 
523
524 
525            .jn-hero-card .jn-hero-container .jn-hero-container-data .feature-text p:last-child { 
526                margin: 10px auto 0; 
527                width: 240px; 
528
529            .stripe-headline { 
530                text-align: center; 
531
532            .stripe-headline h1 { 
533                font-size: 36px; 
534                font-weight: 400; 
535
536            .stripe-headline h3 { 
537                font-size: 14px; 
538                font-weight: 400; 
539                margin-bottom: 15px; 
540                text-transform: uppercase; 
541
542            .stripe-headline__card { 
543                display: block; 
544                height: 100%; 
545                width: 350px; 
546                margin: -105px auto 0; 
547
548            .stripe-headline__card img { 
549                margin-bottom: 10px; 
550
551            .stripe-headline__card p { 
552                text-align: center; 
553                text-transform: uppercase; 
554
555            .stripe-headline__wrapper--lower { 
556                width: 100%; 
557
558            .stripe-headline__wrapper--lower .content-container > * { 
559                display: inline-block; 
560
561            .stripe-headline__wrapper--upper { 
562                padding: 20px 0 110px; 
563                width: 100%; 
564
565             
566 
567 
568            @media screen and (min-width: 769px) { 
569                .stripe-headline { 
570                    text-align: left; 
571
572                .stripe-headline__card { 
573                    margin: -110px 0 0; 
574                    padding-right: 45px; 
575
576                .stripe-headline__heading { 
577                    padding-left: 350px; 
578
579                .stripe-headline__wrapper--lower { 
580                    padding: 20px 0 40px; 
581
582                .stripe-headline__wrapper--lower > .content-container { 
583                     
584
585                .stripe-headline__wrapper--upper { 
586                    padding: 40px 0 20px; 
587
588 
589                .jn-hero-card .jn-hero-container .jn-hero-container-data article>div .jn-button { 
590                    margin: 30px auto 0; 
591                    display: inline-block; 
592                    width: auto; 
593
594
595 
596            @media screen and (min-width: 1200px) { 
597                .jn-hero-card .jn-hero-container .jn-hero-container-data article>div:last-child>div.intro { 
598                    padding: 0 52px; 
599
600
601 
602            /*----------------------- Show card for specific bank if there no a background image ------------------------------ */ 
603            body.associated .jn-hero-card .jn-hero-container .jn-hero-container-data article>div img { 
604                display: block; 
605
606 
607            /*----------------------- Subhero Styles ------------------------------ */ 
608            .jn-subhero { 
609                margin: 0; 
610                background: #ffffff; 
611
612 
613            .jn-subhero ul { 
614                text-align: center; 
615                padding: 30px 0; 
616                -webkit-align-items: center; 
617                -moz-align-items: center; 
618                -ms-align-items: center; 
619                align-items: center; 
620
621 
622            .jn-subhero ul li { 
623                width: 100%; 
624                margin-bottom: 20px; 
625
626 
627            .jn-subhero ul li p { 
628                font-size: 14px; 
629
630 
631            @media screen and (min-width: 769px) { 
632                .jn-subhero { 
633                    background: rgba(204, 204, 204, .2); 
634
635 
636                .jn-subhero ul li { 
637                    width: 31%; 
638                    margin: 0; 
639                    padding: 0; 
640
641 
642                .jn-subhero ul li:nth-child(2) { 
643                    width: 37%; 
644
645 
646                .jn-subhero.offer-type-115 ul li:first-child p { 
647                    width: 80%; 
648
649 
650                .jn-subhero ul li p { 
651                    margin: 0 auto; 
652
653 
654                .jn-subhero ul { 
655                    -webkit-align-items: flex-start; 
656                    -moz-align-items: flex-start; 
657                    -ms-align-items: flex-start; 
658                    align-items: flex-start; 
659
660 
661                .jn-subhero ul li:first-child p { 
662                    width: 70%; 
663
664 
665                .jn-subhero ul li:last-child p { 
666                    width: 75%; 
667
668
669 
670            /*----------------------- Find Styles ------------------------------ */ 
671            .jn-find { 
672                padding: 0 18px 30px; 
673                background-color: #ffffff; 
674
675 
676            .jn-find article { 
677                padding: 0 15px; 
678
679 
680            .jn-find article sup { 
681                top: -0.3em; 
682
683 
684            .jn-find .subtitle p { 
685                font-size: 30px; 
686                font-weight: bold; 
687                color: #333333; 
688                text-align: center; 
689                margin-bottom: 20px; 
690
691 
692            .jn-find article>div { 
693                width: 100%; 
694                padding-right: 0; 
695
696 
697            .jn-find article>div p { 
698                padding-bottom: 15px; 
699
700 
701            .jn-find article>div p:last-child { 
702                padding-bottom: 0; 
703
704 
705            .jn-find article>div h3 { 
706                font-size: 18px; 
707                color: #19398a; 
708                padding-bottom: 14px; 
709
710 
711            .jn-find article>div ul li { 
712                padding-bottom: 14px; 
713
714 
715            .jn-find article>div:last-child { 
716                padding-right: 0; 
717                padding-left: 0; 
718
719 
720            @media screen and (min-width: 769px) { 
721                .jn-find { 
722                    margin: 30px 0; 
723                    padding: 0 30px; 
724                    background-color: transparent; 
725
726 
727                .jn-find .subtitle p { 
728                    font-size: 24px; 
729
730 
731                .jn-find article>div { 
732                    width: 45%; 
733                    padding-right: 40px; 
734
735 
736                .jn-find article>div:last-child { 
737                    padding-right: 0; 
738                    padding-left: 68px; 
739
740
741 
742            @media screen and (min-width: 1200px) { 
743                .jn-find .subtitle p { 
744                    font-size: 29px; 
745
746
747 
748            /*----------------------- Banner Styles ------------------------------ */ 
749            .jn-container-banner .jn-banner-wrapper { 
750                padding: 20px 18px 30px; 
751                background: #f3f3f3; 
752                height: auto; 
753
754 
755            .jn-container-banner .jn-banner article { 
756                padding: 30px 0 0; 
757
758 
759            .jn-container-banner .jn-banner article>div { 
760                width: 100%; 
761
762 
763            .jn-container-banner .jn-banner article img.jn-img-responsive { 
764                width: 200px; 
765                margin: 0 auto; 
766                display: block; 
767
768 
769            .jn-container-banner .jn-banner article>div:last-child { 
770                width: 100%; 
771                padding: 0; 
772
773 
774            .jn-container-banner .jn-banner article>div p { 
775                margin-top: 0; 
776                font-size: 29px; 
777                text-align: center; 
778
779 
780            .jn-container-banner .jn-banner article>div p span { 
781                font-weight: bold; 
782
783 
784            .jn-container-banner .jn-banner article>div p:first-child { 
785                font-size: 26px; 
786                padding: 0 30px; 
787                line-height: normal; 
788                margin-bottom: 20px; 
789
790 
791            .jn-container-banner .jn-banner article>div>p:nth-child(2) { 
792                color: #666666; 
793                font-size: 20px; 
794
795 
796            .jn-container-banner .jn-banner article>div .jn-button { 
797                margin: 15px 0 0; 
798                float: none; 
799                width: 100%; 
800
801 
802            @media screen and (min-width: 769px) { 
803                .jn-container-banner .jn-banner-wrapper { 
804                    margin-bottom: 10px; 
805                    padding: 0 30px; 
806                    background: #ffffff; 
807                    height: 232px; 
808                    background: -moz-linear-gradient(left, #ffffff 0%, #f3f3f3 98%); 
809                    background: -webkit-linear-gradient(left, #ffffff 0%, #f3f3f3 98%); 
810                    background: linear-gradient(to right, #ffffff 0%, #f3f3f3 98%); 
811                    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f3f3f3', GradientType=1); 
812
813 
814                .jn-container-banner .jn-banner article>div { 
815                    width: 37%; 
816
817 
818                .jn-container-banner .jn-banner article>div:last-child { 
819                    width: 60%; 
820                    padding: 0 0 0 15px; 
821
822 
823                .jn-container-banner .jn-banner article img.jn-img-responsive { 
824                    width: 100%; 
825
826 
827                .jn-container-banner .jn-banner article>div p { 
828                    text-align: left; 
829
830 
831                .jn-container-banner .jn-banner article>div p:first-child { 
832                    font-size: 36px; 
833                    padding: 0; 
834                    line-height: 40px; 
835
836 
837                .jn-container-banner .jn-banner article>div .jn-button { 
838                    margin: 25px 0 0; 
839                    float: right; 
840                    width: auto; 
841
842
843 
844            @media screen and (min-width: 1200px) { 
845                .jn-container-banner .jn-banner article>div { 
846                    width: 25%; 
847
848 
849                .jn-container-banner .jn-banner article>div:last-child { 
850                    width: 75%; 
851                    padding: 0 0 0 40px; 
852
853 
854                .jn-container-banner .jn-banner-wrapper { 
855                    padding: 0 64px 0 18px; 
856
857 
858                .jn-container-banner .jn-banner article>div p:first-child { 
859                    font-size: 48px; 
860
861 
862                .jn-container-banner .jn-banner article>div>p:nth-child(2) { 
863                    font-size: 30px; 
864
865
866 
867            /*----------------------- Disclaimer Styles ------------------------------ */ 
868            .jn-disclaimer { 
869                margin-top: 50px; 
870                background-color: #f7f7f7; 
871
872 
873            .jn-disclaimer p { 
874                font-size: 16px; 
875
876 
877            .jn-disclaimer ul li { 
878                margin-bottom: 15px; 
879                font-size: 16px; 
880
881 
882             
883 
884            .jn-disclaimer ul li sup { 
885                margin: 0 2px 0 0; 
886                top: -.3em; 
887                font-size: 12px; 
888
889            .jn-disclaimer .disclaimer { 
890                    padding: 20px 8%; 
891                    margin: 0 auto; 
892                    white-space: pre-wrap; /* CSS3 */     
893                    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ 
894                    white-space: -pre-wrap; /* Opera 4-6 */     
895                    white-space: -o-pre-wrap; /* Opera 7 */     
896                    word-wrap: break-word; /* Internet Explorer 5.5+ */ 
897
898 
899            @media screen and (min-width: 769px) { 
900                .jn-disclaimer .disclaimer { 
901                    padding: 20px 8.335%; 
902
903                .jn-disclaimer ul { 
904                    margin: 0 0 0 35px; 
905
906
907            @media (min-width: 1025px) { 
908                .jn-disclaimer .disclaimer { 
909                    padding: 20px 8.825%; 
910                    max-width: 1363px; 
911
912
913 
914            /*----------------------- Footer Styles ------------------------------ */ 
915            .wrapper footer { 
916                background-color: #000000; 
917                min-height: 135px; 
918
919 
920            .wrapper footer article { 
921                color: #FFFFFF; 
922                font-weight: bold; 
923                max-width: 1200px; 
924                margin: 0 auto; 
925                padding: 40px 30px; 
926                text-align: right; 
927                font-size: 12px; 
928
929            .wrapper footer article .member-agreement { 
930                 display: inline-block; 
931 
932
933             .wrapper footer article .fdic { 
934                 display: inline-block; 
935                 margin-left: 100px; 
936
937 
938            .wrapper footer article a { 
939                color: #fff; 
940                text-transform: none; 
941
942 
943            .wrapper footer article a:hover, 
944            .wrapper footer article a:focus, 
945            .wrapper footer article a:active { 
946                color: #fff; 
947                text-transform: underline; 
948
949 
950 
951            /*----------------------- Consumer Styles ------------------------------ */ 
952             
953 
954            .jn-consumer-content h2 { 
955                font-size: 25px; 
956                color: #333333; 
957                font-weight: 400; 
958
959 
960            .jn-consumer-content .jn-consumer-content-wrapper { 
961                display: -webkit-box; 
962                display: -webkit-flex; 
963                display: -moz-flex; 
964                display: -ms-flexbox; 
965                display: flex; 
966                -webkit-align-items: flex-start; 
967                -moz-align-items: flex-start; 
968                -ms-align-items: flex-start; 
969                align-items: flex-start; 
970                -webkit-flex-flow: column wrap; 
971                -moz-flex-flow: column wrap; 
972                -ms-flex-flow: column wrap; 
973                flex-flow: column wrap; 
974                -ms-flex-pack: space-around; 
975                -webkit-justify-content: space-around; 
976                -moz-justify-content: space-around; 
977                -ms-justify-content: space-around; 
978                justify-content: space-around; 
979                font-family: Arial, Helvetica, sans-serif; 
980
981 
982            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item { 
983                    display: flex; 
984                    flex-direction: column; 
985                    background-color: #fff; 
986                    justify-content: center; 
987                    padding: 50px 8%; 
988                    position: relative; 
989                    border-bottom: 1px solid #ccc; 
990
991            @media (min-width: 769px) { 
992                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item { 
993                    flex-direction: row; 
994                    border-radius: 10px; 
995                    -webkit-box-shadow: 0px 0px 7px 2px rgba(0, 0, 0, 0.2); 
996                    -moz-box-shadow: 0px 0px 7px 2px rgba(0, 0, 0, 0.2); 
997                    box-shadow: 0px 0px 7px 2px rgba(0, 0, 0, 0.2); 
998                    border-bottom: none; 
999                    margin: 20px; 
1,000                    padding: 50px 3%; 
1,001
1,002
1,003 
1,004            .jn-consumer-card-info { 
1,005                width: 100%; 
1,006
1,007            @media (min-width: 769px) { 
1,008                .jn-consumer-card-info { 
1,009                    width: 60%; 
1,010                    margin-left: 5%; 
1,011
1,012
1,013            @media (min-width: 830px) { 
1,014                .jn-consumer-card-info { 
1,015                    margin-left: 5%; 
1,016
1,017
1,018             
1,019 
1,020            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item p { 
1,021                font-size: 12px; 
1,022
1,023 
1,024            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item img { 
1,025                max-width: 285px; 
1,026                max-height: 285px; 
1,027                margin: 0 auto 20px; 
1,028                display: block; 
1,029                width: auto; 
1,030                height: auto; 
1,031
1,032 
1,033            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item h4 { 
1,034                font-size: 15px; 
1,035                font-weight: 300; 
1,036                margin: 0 0 10px; 
1,037                text-transform: uppercase; 
1,038
1,039            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading { 
1,040                text-align: center; 
1,041                margin-bottom: 20px; 
1,042
1,043             
1,044            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading p { 
1,045                font-size: 29px; 
1,046                font-weight: 300; 
1,047                margin: 10px 0; 
1,048
1,049 
1,050            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .jn-additional ul li { 
1,051                list-style-type: none; 
1,052                padding: 0 0 15px 0; 
1,053                color: #333333; 
1,054                font-size: 20px; 
1,055                line-height: 1.2; 
1,056
1,057 
1,058            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .jn-additional ul li p, .jn-consumer-item .jn-consumer-card-image p.tier3-tabs-card-art-description { 
1,059                font-size: 20px; 
1,060                line-height: 1.3; 
1,061
1,062            .jn-consumer-item .jn-consumer-card-image p.tier3-tabs-card-art-description { 
1,063                text-align: center; 
1,064
1,065            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions { 
1,066                display: -webkit-box; 
1,067                display: -webkit-flex; 
1,068                display: -moz-flex; 
1,069                display: -ms-flexbox; 
1,070                display: flex; 
1,071                margin: 10px 0; 
1,072                justify-content: center; 
1,073
1,074            @media (min-width: 769px) { 
1,075                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading { 
1,076                    min-height: 110px; 
1,077                    text-align: left; 
1,078
1,079                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions { 
1,080                    justify-content: flex-start; 
1,081
1,082
1,083            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions a { 
1,084                display: block; 
1,085                font-size: 14px; 
1,086                font-weight: 400; 
1,087                padding: 6px 45px; 
1,088                text-transform: uppercase; 
1,089                text-align: center; 
1,090
1,091 
1,092            @media (max-width: 768px) { 
1,093                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions a { 
1,094                    padding: 6px 0; 
1,095                    width: 100%; 
1,096
1,097                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions li { 
1,098                    width: 49%; 
1,099                    max-width: 180px; 
1,100
1,101                .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .actions li:first-child { 
1,102                    margin-right: 2%; 
1,103
1,104
1,105 
1,106            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li:first-child a { 
1,107                color: #fff; 
1,108                margin-right: 7px; 
1,109                position: relative; 
1,110
1,111 
1,112            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li a:hover, 
1,113            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li a:focus, 
1,114            .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item ul.actions li a:active { 
1,115                color: #fff; 
1,116
1,117 
1,118            @media screen and (min-width: 769px) { 
1,119                 
1,120 
1,121                .jn-consumer-content h2 { 
1,122                    font-size: 29px; 
1,123
1,124 
1,125                .jn-consumer-content .jn-consumer-content-wrapper { 
1,126                    -webkit-flex-flow: row wrap; 
1,127                    -moz-flex-flow: row wrap; 
1,128                    -ms-flex-flow: row wrap; 
1,129                    flex-flow: row wrap; 
1,130                    -ms-flex-pack: space-between; 
1,131                    -webkit-justify-content: space-between; 
1,132                    -moz-justify-content: space-between; 
1,133                    -ms-justify-content: space-between; 
1,134                    justify-content: space-between; 
1,135
1,136
1,137 
1,138            /*----------------------- Tab Styles ------------------------------ */ 
1,139            .jn-primary-nav { 
1,140                margin: 50px auto; 
1,141                display: block; 
1,142                width: 80%; 
1,143
1,144            @media screen and (min-width: 769px) { 
1,145                .jn-primary-nav { 
1,146                    width: 100%; 
1,147                    max-width: 525px; 
1,148
1,149
1,150 
1,151 
1,152            .jn-primary-nav ul { 
1,153                 
1,154                display: -webkit-box; 
1,155                display: -webkit-flex; 
1,156                display: -moz-flex; 
1,157                display: -ms-flexbox; 
1,158                display: flex; 
1,159                -webkit-align-items: center; 
1,160                -moz-align-items: center; 
1,161                -ms-align-items: center; 
1,162                align-items: center; 
1,163                -webkit-justify-content: center; 
1,164                -moz-justify-content: center; 
1,165                -ms-justify-content: center; 
1,166                justify-content: center; 
1,167                -ms-flex-pack: center; 
1,168                width: 100%; 
1,169
1,170 
1,171 
1,172            .jn-primary-nav ul li { 
1,173                width: 50%; 
1,174 
1,175
1,176            .jn-primary-nav ul li a { 
1,177                width: 100%; 
1,178                padding: 8px 0; 
1,179
1,180 
1,181            .jn-primary-nav a, .jn-primary-nav p { 
1,182                font-size: 16px; 
1,183                font-weight: 400; 
1,184                text-align: center; 
1,185                display: block; 
1,186                position: relative; 
1,187                text-transform: uppercase; 
1,188
1,189 
1,190            .jn-primary-nav p:hover { 
1,191                cursor: pointer; 
1,192
1,193 
1,194 
1,195             
1,196 
1,197 
1,198            .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content { 
1,199                display: none; 
1,200
1,201 
1,202            .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active { 
1,203                display: -webkit-box; 
1,204                display: -webkit-flex; 
1,205                display: -moz-flex; 
1,206                display: -ms-flexbox; 
1,207                display: flex; 
1,208
1,209 
1,210 
1,211             
1,212            
1,213            @media screen and (min-width: 769px) { 
1,214               
1,215                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active { 
1,216                    display: block !important; 
1,217                    position: relative; 
1,218
1,219                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.one-card, .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.two-card { 
1,220                    display: flex !important; 
1,221                    width: auto; 
1,222                    position: relative; 
1,223
1,224
1,225            @media screen and (min-width: 769px) { 
1,226                .tab-more-wrapper { 
1,227                    overflow: hidden; 
1,228
1,229
1,230            @media (min-width: 1200px) { 
1,231                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active { 
1,232                    display: block !important; 
1,233
1,234                .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.one-card, .jn-consumer-content .jn-consumer-content-wrapper.jn-tab-content.active.two-card { 
1,235                    display: flex !important; 
1,236                    width: auto; 
1,237
1,238                 
1,239                .transition-start { 
1,240                    transform: translateX(0); 
1,241
1,242                .transition-left { 
1,243                    transform: translateX(-999px); 
1,244
1,245                 
1,246
1,247 
1,248            
1,249             
1,250           
1,251 
1,252     
1,253 
1,254 
1,255 
1,256 
1,257 
1,258    /*customizations*/ 
1,259     
1,260    .jn-consumer-content .jn-consumer-content-wrapper .jn-consumer-item .consumer-card-heading h4 { 
1,261         color: ${textColor!'#173989'}; 
1,262
1,263    .wrapper ul.actions li a.applyNowLink { 
1,264         background-color: ${buttonColor!'#173989'}; 
1,265         border: 1px solid ${buttonColor!'#173989'}; 
1,266
1,267    .wrapper ul.actions li a.applyNowLink:hover { 
1,268         text-decoration: none; 
1,269         color: #fff; 
1,270         background-color: ${hoverColor!'#333333'}; 
1,271
1,272    .wrapper ul.actions li a:not(.applyNowLink) { 
1,273         border: 1px solid ${textColor!'#173989'}; 
1,274         color: ${textColor!'#173989'}; 
1,275    }  
1,276    .wrapper ul.actions li a:hover:not(.applyNowLink) { 
1,277         color: #fff; 
1,278         background-color: ${buttonColor!'#173989'}; 
1,279
1,280    .wrapper .jn-button { 
1,281        cursor: pointer; 
1,282        border: none; 
1,283        color: #fff; 
1,284        padding: 15px 60px; 
1,285        font-weight: normal; 
1,286        text-transform: uppercase; 
1,287        display: inline-block; 
1,288        border-radius: 0!important; 
1,289        font-size: 16px; 
1,290        background-color: ${buttonColor!'#173989'}; 
1,291
1,292    .wrapper .jn-button:hover, 
1,293    .wrapper .jn-button:active, 
1,294    .wrapper .jn-button:focus { 
1,295        background-color: ${hoverColor!'#333333'}; 
1,296
1,297    .tier3-hero-landing-business .jn-button { 
1,298        background-color: #fff; 
1,299        color: ${buttonColor!'#173989'}; 
1,300
1,301    .tier3-hero-landing-business .jn-button:hover { 
1,302        color: #fff; 
1,303
1,304    .tier3-hero-landing-consumer .jn-button { 
1,305        color: #fff; 
1,306        background-color: ${buttonColor!'#173989'}; 
1,307
1,308    .tier3-hero-landing-business .t_c_link { 
1,309        color: #fff; 
1,310
1,311 
1,312    @media (max-width: 768px) { 
1,313        .wrapper .jn-button { 
1,314            margin: 0 auto; 
1,315            max-width: 213px; 
1,316
1,317        .offer-detail { 
1,318            padding: 50px 8%; 
1,319            padding-top: 10px; 
1,320            margin-top: -1px; 
1,321
1,322        .tier3-hero-landing-consumer .offer-detail { 
1,323            background: -moz-linear-gradient(0deg, #f8f8f8 80%, ${backgroundColor!'#173989'} 80%); 
1,324            background: -webkit-linear-gradient(0deg, #f8f8f8 80%, ${backgroundColor!'#173989'} 80%); 
1,325            background: linear-gradient(0deg, #f8f8f8 80%, ${backgroundColor!'#173989'} 80%); 
1,326
1,327        .tier3-hero-landing-consumer .offer-header { 
1,328            background-color: ${backgroundColor!'#173989'}; 
1,329
1,330        .tier3-hero-landing-consumer .hero-primary-benefits { 
1,331            background: -moz-linear-gradient(180deg, #f8f8f8 43%, #fff 43%); 
1,332            background: -webkit-linear-gradient(180deg, #f8f8f8 43%, #fff 43%); 
1,333            background: linear-gradient(180deg, #f8f8f8 43%, #fff 43%); 
1,334
1,335        .tier3-hero-landing-business .offer-detail { 
1,336            background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 25%, ${backgroundColor!'#173989'} 25%); 
1,337            background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 25%, ${backgroundColor!'#173989'} 25%); 
1,338            background: linear-gradient(180deg, rgba(255,255,255,1) 25%, ${backgroundColor!'#173989'} 25%); 
1,339
1,340        .tier3-hero-landing-business .offer-header { 
1,341            background-color: #fff; 
1,342
1,343        .tier3-hero-landing-business .hero-primary-benefits { 
1,344            background: -moz-linear-gradient(180deg, ${backgroundColor!'#173989'} 43%, #fff 43%); 
1,345            background: -webkit-linear-gradient(180deg, ${backgroundColor!'#173989'} 43%, #fff 43%); 
1,346            background: linear-gradient(180deg, ${backgroundColor!'#173989'} 43%, #fff 43%); 
1,347            margin-top: -1px; 
1,348
1,349
1,350    .tier3-hero-landing-business .offer-title p, .tier3-hero-landing-business .offer-title  { 
1,351         color: ${textColor!'#173989'} !important; 
1,352
1,353 
1,354     .tier3-hero-landing-consumer .offer-title, .tier3-hero-landing-consumer .offer-subtitle, .tier3-hero-landing-consumer .offer-title p, .tier3-hero-landing-consumer .offer-subtitle p { 
1,355         color: #fff; 
1,356
1,357    @media (min-width: 769px) { 
1,358        .tier3-hero-landing-consumer .hero-main-container { 
1,359            background: -moz-linear-gradient(0deg, #f8f8f8 63.5%, ${backgroundColor!'#173989'} 63.5%); 
1,360            background: -webkit-linear-gradient(0deg, #f8f8f8 63.5%, ${backgroundColor!'#173989'} 63.5%); 
1,361            background: linear-gradient(0deg, #f8f8f8 63.5%, ${backgroundColor!'#173989'} 63.5%); 
1,362             
1,363
1,364        .tier3-hero-landing-business .hero-main-container{ 
1,365            background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 35%, ${backgroundColor!'#173989'} 35%); 
1,366            background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 35%, ${backgroundColor!'#173989'} 35%); 
1,367            background: linear-gradient(180deg, rgba(255,255,255,1) 35%, ${backgroundColor!'#173989'} 35%); 
1,368
1,369
1,370 
1,371 
1,372    .jn-primary-nav a:hover, 
1,373    .jn-primary-nav a:focus, 
1,374    .jn-primary-nav a.active, 
1,375    .jn-primary-nav p:hover, 
1,376    .jn-primary-nav p:focus, 
1,377    .jn-primary-nav p.active { 
1,378        background-color: ${backgroundColor!'#173989'}; 
1,379        border: 1px solid ${textColor!'#173989'}; 
1,380        color: #fff; 
1,381
1,382    .jn-primary-nav a, .jn-primary-nav p { 
1,383        color: ${textColor!'#173989'}; 
1,384
1,385    .jn-primary-nav ul { 
1,386        border: 1px solid ${textColor!'#173989'}; 
1,387
1,388 
1,389    /*HERO COMBINED*/ 
1,390 
1,391     
1,392 
1,393    .hero-main-offer { 
1,394        height: 100%; 
1,395        width: 100%; 
1,396
1,397 
1,398    @media (min-width: 769px) { 
1,399    .hero-main-offer { 
1,400        padding: 50px 8% 120px 8%; 
1,401        display: flex; 
1,402        flex-direction: row-reverse; 
1,403        justify-content: center; 
1,404        margin: 0 auto; 
1,405
1,406
1,407 
1,408    @media (min-width: 1024px) { 
1,409        .hero-main-offer { 
1,410            max-width: 1363px; 
1,411
1,412
1,413 
1,414    .hero-main-offer .offer-header { 
1,415        padding: 50px 8%; 
1,416        padding-top: 20px; 
1,417        padding-bottom: 10px; 
1,418
1,419 
1,420    @media (min-width: 769px) { 
1,421        .hero-main-offer .offer-header { 
1,422            padding: 0 4%; 
1,423            text-align: left; 
1,424            justify-content: space-between; 
1,425            display: flex; 
1,426            flex-direction: column; 
1,427            max-width: 70%; 
1,428
1,429        .hero-main-offer .offer-header .offer-text-top, .hero-main-offer .offer-header .offer-text-bottom { 
1,430            padding: 20px 0; 
1,431
1,432
1,433 
1,434    .hero-main-offer .offer-title, .hero-main-offer .offer-title p, .hero-main-offer .offer-title h1, .hero-main-offer .offer-title h2, .hero-main-offer .offer-title h3 { 
1,435        margin: 0; 
1,436        margin-bottom: 10px; 
1,437        font-size: 14px; 
1,438        text-transform: uppercase; 
1,439        letter-spacing: 1.136px; 
1,440
1,441 
1,442    .hero-main-offer .offer-subtitle, .hero-main-offer .offer-subtitle p, .hero-main-offer .offer-subtitle h1, .hero-main-offer .offer-subtitle h2, .hero-main-offer .offer-subtitle h3 { 
1,443        margin: 0; 
1,444        font-size: 36px; 
1,445
1,446 
1,447    .hero-main-offer .offer-detail-cardArt { 
1,448        min-height: 220px; 
1,449        min-width: 285px; 
1,450
1,451 
1,452    .hero-main-offer .offer-detail-cardArt img { 
1,453        max-width: 285px; 
1,454        width: auto; 
1,455        height: auto; 
1,456        max-height: 285px; 
1,457
1,458 
1,459    .hero-main-offer .offer-detail-cardArt p { 
1,460        margin: 20px 0; 
1,461        color: #555555; 
1,462        text-transform: uppercase; 
1,463        letter-spacing: 1.136px; 
1,464
1,465 
1,466    .hero-main-offer .offer-detail-text { 
1,467        margin-bottom: 20px; 
1,468
1,469 
1,470    .hero-main-offer .offer-detail-text p { 
1,471        color: #555555; 
1,472
1,473 
1,474    .tier3-hero-landing-business .offer-detail-cardArt p, .tier3-hero-landing-business .offer-detail-text p { 
1,475        color: #fff; 
1,476
1,477 
1,478    .hero-main-logo a { 
1,479        text-align: center; 
1,480
1,481 
1,482    .hero-main-logo-homelink a { 
1,483        color: #ffffff; 
1,484        font-weight: bold; 
1,485
1,486    a.reward-calculator-link { 
1,487        text-decoration: underline; 
1,488        text-align: center; 
1,489        display: block; 
1,490
1,491 
1,492    .hero-main-logo-homelink a:hover, 
1,493    .hero-main-logo-homelink a:focus, 
1,494    .hero-main-logo-homelink a:active { 
1,495        text-decoration: none; 
1,496        background-color: transparent; 
1,497
1,498 
1,499    .hero-main-container { 
1,500        text-align: center; 
1,501
1,502 
1,503    .hero-main-container sup { 
1,504        font-size: 13px !important; 
1,505
1,506    .hide-mobile, .hide-desktop { 
1,507        display: none !important; 
1,508
1,509    @media (min-width: 769px) { 
1,510        .hide-mobile { 
1,511            display: block !important; 
1,512
1,513
1,514    @media (max-width: 768px) { 
1,515        .hide-desktop { 
1,516            display: block !important; 
1,517
1,518
1,519</style> 

Web Content Display

An error occurred while processing the template.
Error on line 36, column 1 in 10154#10192#153417670
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign url = request.attributes.CURRENT_URL > 
4<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
5<#assign url404 = '/error/404.html' > 
6<#assign environment = url?replace('/11t3.*','','r')> 
7 
8<#assign text_to_apply_source = "vanity url" > 
9<#if qstringmap["sms"]?has_content> 
10    <#assign sms = 1 > 
11    <#assign text_to_apply_source = "sms" > 
12</#if> 
13<#if qstringmap["qrCode"]?has_content> 
14    <#assign text_to_apply_source = "qr code" > 
15</#if> 
16 
17<#assign lc= qstringmap["ecdma-lc"]?first>   
18<#assign prefix = "00000" > 
19<#assign lcWithPrefix = prefix + lc > 
20<#assign withPrefixLength = lcWithPrefix?length > 
21<#assign startHere = withPrefixLength - 5> 
22<#assign lc = lcWithPrefix?substring(startHere)> 
23 
24<#if qstringmap["ecid"]?has_content> 
25    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
26    <#assign campaignId = qstringmap["ecid"]?first > 
27<#else> 
28    <#assign ecidExt=""> 
29    <#assign campaignId = "" > 
30</#if> 
31 
32 
33 
34<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
35<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
36<#assign clientProfile = clientProfileList?first> 
37<#assign partnerName = clientProfile.getMarketingNameLong()> 
38<#assign pbu = clientProfile.getPbu()> 
39<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
40 
41<#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
42<#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
43<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+pbu+'&'+subbu)> 
44 
45 <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
46<#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
47<#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
48<script> 
49//console.log('Partner URL', ${partnerUrl}); 
50</script> 
51<#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*")>     
52    <#assign partnerUrl = 'https://' + partnerUrl> 
53</#if> 
54<script> 
55//console.log('Partner URL', ${partnerUrl}); 
56 
57</script> 
58<#-- Begin: filter duplicated cards--> 
59<#assign temp = []> 
60<#assign offerTypeList = []>   
61<#if (fiCardsData?size > 0)>      
62    <#assign index = 0> 
63    <#list fiCardsData as fib> 
64        <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>  
65            <#assign offerTypeList = offerTypeList + [fib.offerType]>                   
66            <#assign temp = temp + fiCardsData[index..index]>  
67        </#if>   
68        <#assign index = index + 1>               
69    </#list>  
70    <#assign fiCardsData = temp> 
71    <#if (fiCardsData?size > 0)> 
72        <div class="content-container content-container-main" title="${partnerName!''}"> 
73            <#if url?contains("index")> 
74                <#assign product="All Cards"> 
75                <header class="jn-header"> 
76                    <div class="header-logo">  
77 
78                        <#if partnerUrl?has_content> 
79                            <a href="${partnerUrl!''}" title="${partnerName!''}"> 
80                                <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}" title="${partnerName!''}"> 
81                            </a> 
82                        <#else> 
83                            <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}" title="${partnerName!''}"> 
84                        </#if> 
85                    </div>  
86                </header>         
87            <#else> 
88                <header class="jn-header"> 
89                    <div class="back-overview hide-desktop">  
90                        <a href="${environment}/11t3/index?ecdma-lc=${lc}${ecidExt}">Home</a> 
91                    </div>  
92 
93                    <div class="header-main-logo" title="${partnerName!''}"> 
94                        <#if partnerUrl?has_content> 
95                            <a href="${partnerUrl!''}" title="${partnerName!''}"> 
96                                <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}" title="${partnerName!''}"> 
97                            </a> 
98                        <#else>                            
99                            <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}" title="${partnerName!''}">                             
100                        </#if> 
101                    </div> 
102                    <div class="styled-select slate"> 
103                        <select> 
104                            <#list fiCardsData as fib>                             
105                                <#if (fib.offerType=="108" || fib.offerType=="109")> 
106                                    <#assign productURL="consumer-platinum2103"> 
107                                    <#assign productName="Platinum Card"> 
108                                <#elseif fib.offerType=="147"> 
109                                    <#assign productURL = "max-cash-secured"> 
110                                    <#assign productName = "Max Cash Secured Card" >   
111                                <#elseif fib.offerType=="104"> 
112                                    <#assign productURL = "max-cash"> 
113                                    <#assign productName = "Max Cash Preferred Card">                                   
114                                <#elseif (fib.offerType=="101" || fib.offerType=="103")> 
115                                    <#assign productURL = "consumer-edr2112"> 
116                                    <#assign productName = "Everyday Rewards+">                                        
117                                <#elseif fib.offerType == "115"> 
118                                    <#assign productURL = "secured"> 
119                                    <#assign productName = "Secured Card" > 
120                                <#elseif fib.offerType == "141"> 
121                                    <#assign productURL = "college-real-rewards"> 
122                                    <#assign productName = "College Real Rewards" >   
123                                <#elseif fib.offerType == "144"> 
124                                    <#assign productURL = "smart-business-rewards"> 
125                                    <#assign productName = "Smart Business Rewards Card" >                                         
126                                <#elseif fib.offerType == "128"> 
127                                    <#assign productURL = "business-cash-preferred"> 
128                                    <#assign productName = "Business Cash Preferred" > 
129                                <#elseif fib.offerType == "143"> 
130                                    <#assign productURL = "business-real-rewards"> 
131                                    <#assign productName = "Business Real Rewards Card" > 
132                                <#elseif fib.offerType == "121"> 
133                                    <#assign productURL = "business-platinum2103"> 
134                                    <#assign productName = "Business Card" > 
135                                </#if> 
136                                <#if url?matches(".*/${productURL}.*")>                                                   
137                                    <#assign product = productURL> 
138                                    <option value="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}" selected="selected">${productName}</option>                                     
139                                <#else>  
140                                    <option value="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}">${productName}</option>                               
141                                </#if> 
142                            </#list> 
143                        </select> 
144                        <div class="styled-select__dropdown"> 
145                            <div class="back-overview hide-mobile">  
146                                <a href="${environment}/11t3/index?ecdma-lc=${lc}${ecidExt}">Home</a> 
147                            </div>   
148                            <div class="dropdown-select"> 
149                                <span class="selected-option"></span>  
150                                <div class="jn-arrow arrow arrow-right"></div> 
151                            </div> 
152                        </div> 
153                        <div class="jn-hamburger hamburger"> 
154                            <div class="first-line transform transformed1"></div> 
155                            <div></div> 
156                            <div class="transform transformed2"></div> 
157                            <div></div> 
158                        </div> 
159                        <ul> 
160                            <#list fiCardsData as fib> 
161                                <#if (fib.offerType=="108" || fib.offerType=="109")> 
162                                    <#assign productURL="consumer-platinum2103"> 
163                                    <#assign productName="Platinum Card"> 
164                                <#elseif fib.offerType=="147"> 
165                                    <#assign productURL = "max-cash-secured"> 
166                                    <#assign productName = "Max Cash Secured Card" >   
167                                <#elseif fib.offerType=="104"> 
168                                    <#assign productURL = "max-cash"> 
169                                    <#assign productName = "Max Cash Preferred Card">                                  
170                                <#elseif (fib.offerType=="101" || fib.offerType=="103")> 
171                                    <#assign productURL = "consumer-edr2112"> 
172                                    <#assign productName = "Everyday Rewards+">                                        
173                                <#elseif fib.offerType == "115"> 
174                                    <#assign productURL = "secured"> 
175                                    <#assign productName = "Secured Card" > 
176                                <#elseif fib.offerType == "141"> 
177                                    <#assign productURL = "college-real-rewards"> 
178                                    <#assign productName = "College Real Rewards" >   
179                                <#elseif fib.offerType == "144"> 
180                                    <#assign productURL = "smart-business-rewards"> 
181                                    <#assign productName = "Smart Business Rewards Card" >                                         
182                                <#elseif fib.offerType == "128"> 
183                                    <#assign productURL = "business-cash-preferred"> 
184                                    <#assign productName = "Business Cash Preferred" > 
185                                <#elseif fib.offerType == "143"> 
186                                    <#assign productURL = "business-real-rewards"> 
187                                    <#assign productName = "Business Real Rewards Card" > 
188                                <#elseif fib.offerType == "121"> 
189                                    <#assign productURL = "business-platinum2103"> 
190                                    <#assign productName = "Business Card" > 
191                                </#if> 
192                                <#if url?matches(".*/${productURL}.*")> 
193                                    <#assign product = productURL> 
194                                    <#if (fib.offerType=="104" && url?contains("max-cash-secured"))>    
195                                        <#-- prevent from max cash overiding max cash secured. --> 
196                                        <li class="dropdown-item" data-value="${productName}"> 
197                                            <a href="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}"> 
198                                            ${productName}  
199                                            </a> 
200                                        </li>  
201                                    <#else>  
202                                        <li class="selected" data-value="${productName}" selected="selected"><a href="javascript:void(0)">${productName}</a></li> 
203                                    </#if> 
204                                <#else>                                 
205                                    <li class="dropdown-item" data-value="${productName}"> 
206                                        <a href="${environment}/11t3/${productURL}?ecdma-lc=${lc}${ecidExt}"> 
207                                        ${productName}  
208                                        </a> 
209                                    </li>                                    
210                                </#if> 
211                            </#list> 
212                        </ul> 
213                    </div> 
214                </header> 
215                <script> 
216                    document.addEventListener('DOMContentLoaded', function() { 
217                        var pageSelected = $('.selected').attr('data-value'); 
218                        $('.jn-hamburger, .dropdown-select ').click(function () { 
219                            $('.styled-select').toggleClass('show-select'); 
220                        }); 
221                        $('.selected-option').text(pageSelected); 
222                    }); 
223                </script>            
224            </#if> 
225        </div> 
226        <script> 
227                     var reportingData = {}; 
228                                                             
229                 document.addEventListener('DOMContentLoaded', function() { 
230                    //console.log('inside ready'); 
231                    var page = location.pathname.split('/')[location.pathname.split('/').length-1]; 
232                    var hostName = location.hostname;                                 
233                    function getDomainFromHostname(hostname) { 
234                        var parts = hostname.split('.'); 
235                        return parts.length === 3 ? parts[1] : parts[0]; 
236
237                    var domain = getDomainFromHostname(hostName); 
238                    var partnerName = "${partnerName!''}"; 
239                    var product = "All Cards"; 
240                    switch(page) { 
241                        case "max-cash-secured": 
242                            product="Max Cash Secured Card" 
243                            break;  
244                        case "max-cash": 
245                            product="Max Cash Preferred Card" 
246                            break;                         
247                        case "consumer-platinum2103": 
248                            product="Platinum Card" 
249                            break; 
250                        case "consumer-edr2112": 
251                            product="Everyday Rewards+" 
252                            break; 
253                        case "secured": 
254                            product="Secured Card" 
255                            break; 
256                        case "college-real-rewards": 
257                            product="College Real Rewards" 
258                            break; 
259                        case "smart-business-rewards": 
260                            product="Smart Business Rewards Card" 
261                            break;                             
262                        case "business-cash-preferred": 
263                            product="Business Cash Preferred" 
264                            break; 
265                        case "business-real-rewards": 
266                            product="Business Real Rewards Card" 
267                            break; 
268                        case "visa-business": 
269                            product="Business Card" 
270                            break; 
271                        default:   
272                            product = "All Cards";                           
273
274                    var lc = "${lc!'0'}"; 
275                    var pageType = "product"; 
276                    if (page == "index") { 
277                        document.title = partnerName + " Credit Card Index Page"; 
278                    }  
279                    /* update SiteCatalyst data object */ 
280                        reportingData.current_page = "microsite:${partnerName}:" + domain + ':' + page.replace('-',' '); 
281                        reportingData.page_type = 'product';  
282                        reportingData.site_section = 'credit cards'; 
283                        reportingData.platform = 'microsite'; 
284                        reportingData.campaign_id = '${campaignId}'; 
285                        reportingData.location_code = lc; 
286                        reportingData.partner_name = partnerName; 
287                        reportingData.product = product; 
288                        reportingData.text_to_apply_source = '${text_to_apply_source}'; 
289                        reportingData.visitor_type = 'prospect';         
290                        reportingData.Banker_id = '0'; 
291                        reportingData.Banker_code = '0';        
292 
293 
294                    /* SiteCatalyst  pageView tracking */ 
295                        AUI().ready(function() { 
296                            if (window.publisherFW) { 
297                                //console.log("pageView"); 
298                                window.publisherFW.publishEvent("pageView", reportingData); 
299                            }  
300                        }); 
301 
302                    jQuery('.jn-button, .applyNowLink').on('click', function(e){ 
303                        var buttonName = $(this).data('button-name'); 
304                        var productName = $(this).data('product-name'); 
305                        /* SiteCatalyst  onClick tracking */ 
306                        reportingData.applyButton = buttonName; 
307                        reportingData.product = productName; 
308 
309                            if (window.publisherFW) { 
310                                //console.log('clicked', reportingData); 
311                                window.publisherFW.publishEvent("onClick", reportingData); 
312                            }   
313 
314                    }); 
315 
316                    jQuery('.applyNowLink').on('click', function(e){ 
317                        ga("send", { 
318                            hitType: "event", 
319                            eventAction: "ApplyNow", 
320                            eventCategory: "click", 
321                            eventLabel: "BottomButton" 
322                        }); 
323                    }); 
324             
325                }); 
326        </script>    
327    <#else> 
328        <script> 
329            console.log("Empty card list"); 
330            location.href = '${url404}'; 
331        </script> 
332    </#if>    
333<#else> 
334    <script> 
335        console.log("FI Cards Data empty", "pbu:", "${pbu}", ",subbu:","${subbu}"); 
336        location.href = '${url404}'; 
337    </script> 
338</#if> 

Web Content Display

An error occurred while processing the template.
Error on line 40, column 1 in 10154#10192#153417688
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html'> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7<#assign currentEnvironment = 'prod' > 
8 
9<#assign lc= qstringmap["ecdma-lc"]?first>   
10<#assign prefix = "00000" > 
11<#assign lcWithPrefix = prefix + lc > 
12<#assign withPrefixLength = lcWithPrefix?length > 
13<#assign startHere = withPrefixLength - 5> 
14<#assign lc = lcWithPrefix?substring(startHere)> 
15 
16 
17<#if qstringmap["ecid"]?has_content> 
18    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
19<#else> 
20    <#assign ecidExt=""> 
21</#if> 
22<#if oadURL?contains("uat-")> 
23    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
24    <#assign currentEnvironment = 'uat' > 
25<#else> 
26    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
27</#if> 
28    <script> 
29        //console.log('%ccurrentEnvironment: ', 'font-weight: bold; color: green;', '${currentEnvironment}'); 
30    </script> 
31<#assign campaignId = "" > 
32<#assign ecidExt=""> 
33<#if qstringmap["ecid"]?has_content> 
34    <#assign campaignId = qstringmap["ecid"]?first > 
35    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
36</#if> 
37 
38<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
39<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
40<#assign clientProfile = clientProfileList?first> 
41<#assign partnerName = clientProfile.getMarketingNameLong()> 
42<#assign pbu = clientProfile.getPbu()> 
43<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
44<#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
45 
46<#assign fiCardsData=utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu + '&'+subbu)> 
47<#assign temp = []> 
48<#assign consumerCards = []> 
49<#assign businessCards = []>  
50<#assign offerTypeList = []>       
51<#assign index = 0> 
52<#assign consumerOfferTypes = ["101", "103", "108", "109", "115", "104", "141", "147"]> 
53<#assign businessOfferTypes = ["128", "123", "121", "143", "144"]> 
54<#list fiCardsData as fib>  
55    <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))> 
56        <#assign offerTypeList = offerTypeList + [fib.offerType]>  
57        <#if (consumerOfferTypes?seq_contains(fib.offerType))> 
58            <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
59        <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
60            <#assign businessCards = businessCards + fiCardsData[index..index]> 
61        </#if>                            
62        <#assign temp = temp + fiCardsData[index..index]>  
63    </#if>   
64    <#assign index = index + 1>               
65</#list>  
66 
67<#assign fiCardsData = temp> 
68 <script> 
69    //console.log("fi card data count", ${fiCardsData?size}) 
70</script> 
71 
72<#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
73<#if (clientdata?size > 0)> 
74    <#assign backgroundColor = clientdata[0].backgroundHexColor>               
75</#if> 
76 
77<#if (fiCardsData?size > 0)>    
78    <#if url?contains("index")>                    
79        <#assign offerId = ""> 
80        <#assign sourceCode = ""> 
81        <#assign cardArtImage = ""> 
82        <#assign productUrlHero = ""> 
83        <#assign product = ""> 
84        <#assign cardIndex = 0> 
85        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
86            <#if (offerTypeList?seq_contains("108")) ||  (offerTypeList?seq_contains("109"))> 
87							<#list consumerCards as card> 
88								<#if (card.offerType=="108") || (card.offerType=="109")> 
89									<#assign offerId = card.offerId> 
90									<#assign sourceCode = card.sourceCode> 
91									<#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
92									<#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
93 
94									<#assign productUrlHero="consumer-edr2112"> 
95									<#assign product="Platinum"> 
96									<#assign cardIndex = 3> 
97									<#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&' + sourceCode)> 
98									<#if (scrapedData?size > 0)> 
99										<#list scrapedData as sItem> 
100										<script> 
101											console.log('Label: ${sItem.scrapedLabel!''}, Content: ${sItem.scrapedValue!''}'); 
102										</script> 
103											<#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
104												<#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
105												<#break> 
106											</#if> 
107										</#list> 
108										<script> 
109											$(document).ready(function () { 
110												var aprText = "${apr}"; 
111												console.log('aprText: ${aprText!''}'); 
112												if (aprText) { 
113													$(".apr-full-text").html(aprText); 
114													try { 
115														var matches= aprText.match(/\d+(\.\d+)?%?/g); 
116														var billing_cycle = matches[1]; 
117														var apr_min = apr_min = matches[2]; 
118														var apr_max = apr_max = matches[3]; 
119														//console.log('billing_cycle', billing_cycle); 
120														//console.log('apr_min', apr_min); 
121														//console.log('apr_max', apr_max); 
122														if (billing_cycle) { 
123															//console.log($(".scraped-billing-cycle")); 
124															$(".scraped-billing-cycle").html(billing_cycle); 
125
126														if (apr_min) { 
127															$(".scraped-apr-min").html(apr_min); 
128
129														if (apr_max) { 
130															$('.scraped-apr-max').html(apr_max); 
131
132 
133													} catch (e) { 
134														console.log(e); 
135
136
137											}); 
138										</script> 
139									</#if> 
140									<script> 
141										$(document).ready(function () { 
142											$(".see-terms").replaceWith('<a href="${oadURL_TC}?step=display&offerId=${card.offerId}&locationCode=${lc}"  target="_blank">See terms & conditions</a>'); 
143										}); 
144									</script> 
145								</#if> 
146							</#list> 
147            <#else> 
148                <#assign displayedCard = consumerCards[0]> 
149                <#assign offerId = displayedCard.offerId> 
150                <#assign sourceCode = displayedCard.sourceCode> 
151                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
152                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
153                <#if (displayedCard.offerType=="101" || displayedCard.offerType=="103")> 
154                    <#assign productUrlHero="consumer-edr2112"> 
155                    <#assign product="Everyday Rewards+"> 
156                    <#assign cardIndex = 3> 
157                <#elseif (displayedCard.offerType=="104")> 
158                    <#assign productUrlHero = "max-cash"> 
159                    <#assign product="Max Cash Preferred"> 
160                    <#assign cardIndex = 0> 
161                <#elseif (displayedCard.offerType=="115")> 
162                    <#assign productUrlHero = "secured"> 
163                    <#assign product="Secured"> 
164                    <#assign cardIndex = 3> 
165                </#if> 
166            </#if> 
167            <#if product?? && product != ""> 
168                <#assign card_text = product + " Card"> 
169            </#if>  
170        </#if> 
171        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
172            <#if (offerTypeList?seq_contains("144")) > 
173                <#list businessCards as card> 
174                    <#if (card.offerType=="128")> 
175                        <#assign offerId = card.offerId> 
176                        <#assign sourceCode = card.sourceCode> 
177                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
178                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
179 
180                        <#assign productUrlHero="business-cash-preferred"> 
181                        <#assign product="Business Cash Preferred"> 
182                        <#assign cardIndex = 1> 
183                    </#if> 
184                </#list> 
185            <#else> 
186                <#assign displayedCard = businessCards[0]> 
187                <#assign offerId = displayedCard.offerId> 
188                <#assign sourceCode = displayedCard.sourceCode> 
189                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
190                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
191                <#if (displayedCard.offerType=="143")> 
192                    <#assign productUrlHero="business-real-rewards"> 
193                    <#assign product="Business Real Rewards"> 
194                    <#assign cardIndex = 2> 
195                <#elseif (displayedCard.offerType=="128")> 
196                    <#assign productUrlHero="business-cash-preferred"> 
197                    <#assign product="Business Cash Preferred"> 
198                    <#assign cardIndex = 1> 
199                <#elseif (displayedCard.offerType=="121")> 
200                    <#assign productUrlHero = "business-platinum2103"> 
201                    <#assign product="Business"> 
202                    <#assign cardIndex = 3>                     
203                </#if> 
204            </#if> 
205            <#if product?? && product != ""> 
206                <#assign card_text = product + " Card"> 
207            </#if>  
208        </#if> 
209			   
210 
211            <div class="hero-container product-${productUrlHero} tier3-hero-${class.getData()}" title="${partnerName!''} ${product!''} Credit Card ${offerType!''}"> 
212                <div class="hero-main"> 
213                    <div class="hero-main-container"> 
214                        <div class="hero-main-offer"> 
215                            <div class="offer-header"> 
216                                <div class="offer-text-top"> 
217                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
218                                </div> 
219                                <div class="offer-text-bottom hide-mobile"> 
220                                    <div class="offer-detail-text text-color-default "> 
221                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                        
222                                    </div> 
223                                    <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
224                                    class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
225                                    title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
226                                </div> 
227                            </div> 
228                            <div class="offer-detail"> 
229                                <div class="offer-detail-cardArt cardArtImg"> 
230                                    <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
231                                    class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'">  
232                                    <#-- <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!'' }" 
233                                     class="jn-img-responsive">--> 
234                                    <p>${card_text!''}</p> 
235                                </div> 
236                                <div class="offer-detail-text text-color-default hide-desktop"> 
237                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                 
238                                </div> 
239                                <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
240                                    class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
241                                    title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
242                            </div> 
243                        </div> 
244                    </div> 
245                </div> 
246            </div> 
247    <#else>      
248        <#list fiCardsData as fib>     
249 
250            <#switch fib.offerType>               
251                <#case "144"> 
252                    <#assign cardIndex = 0 > 
253                    <#assign productUrlHero = "smart-business-rewards"> 
254                    <#assign product="Smart Business Rewards">                                          
255                    <#break> 
256                <#case "104"> 
257                    <#assign cardIndex = 0 > 
258                    <#assign productUrlHero="max-cash"> 
259                    <#assign product="Max Cash Preferred">                       
260                    <#break> 
261                <#case "128"> 
262                    <#assign cardIndex = 1 > 
263                    <#assign productUrlHero = "business-cash-preferred"> 
264                    <#assign product="Business Cash Preferred">                     
265                    <#break> 
266                <#case "108"> 
267                    <#assign cardIndex = 1 > 
268                    <#assign productUrlHero = "consumer-platinum2103"> 
269                    <#assign product="Platinum">                       
270                    <#break> 
271                <#case "109"> 
272                    <#assign cardIndex = 1 > 
273                    <#assign productUrlHero = "consumer-platinum2103"> 
274                    <#assign product="Platinum">                                           
275                    <#break>                                         
276                <#case "143"> 
277                    <#assign cardIndex = 2 > 
278                    <#assign productUrlHero = "business-real-rewards"> 
279                    <#assign product="Business Real Rewards">                     
280                    <#break> 
281                <#case "101"> 
282                    <#assign cardIndex = 3 > 
283                    <#assign productUrlHero = "consumer-edr2112"> 
284                    <#assign product="Everyday Rewards+">                     
285                    <#break>  
286                 <#case "141">                  
287                    <#assign cardIndex = 4 > 
288                    <#assign productUrlHero = "college-real-rewards"> 
289                    <#assign product = "College Real Rewards" >  
290                    <#break>  
291                <#case "147"> 
292                    <#assign cardIndex = 5 > 
293                    <#assign productUrlHero = "max-cash-secured"> 
294                    <#assign product = "Max Cash Secured" >  
295                    <#break>  
296                <#case "103">              
297                    <#assign cardIndex = 1 > 
298                    <#assign productUrlHero = "consumer-edr2112"> 
299                    <#assign product="Everyday Rewards+">                     
300                    <#break>                                          
301                <#case "121"> 
302                    <#assign cardIndex = 3 > 
303                    <#assign productUrlHero = "business-platinum2103"> 
304                    <#assign product="Business">                      
305                    <#break> 
306                <#case "115"> 
307                    <#assign cardIndex = 2 > 
308                    <#assign productUrlHero = "secured"> 
309                    <#assign product="Secured">                     
310                    <#break>                                          
311                <#default> 
312            </#switch>                          
313            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png">  
314            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg">   
315             
316            <script> 
317               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
318            </script> 
319             
320                                    
321            <#if fib.offerType == "104" && url?contains("max-cash-secured")>  
322                 <#-- For max cash securded card. so that max cash secured dose not get set to max cash header -->                            
323            <#elseif url?matches(".*/${productUrlHero}.*")>  
324                 
325                <#if (fib.offerType=="108" || fib.offerType=="109" || fib.offerType == "121")> 
326 
327                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', '${fib.offerId}' + '&'+ '${fib.sourceCode}')> 
328                    <#if (scrapedData?size > 0)> 
329                            <#list scrapedData as sItem> 
330                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
331                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
332                                    <#break> 
333                                </#if> 
334 
335                            </#list> 
336                                            <script> 
337                </script> 
338                            <script> 
339                                $(document).ready(function () { 
340                                    var aprText = "${apr}"; 
341                                    console.log('aprText',aprText); 
342                                    if (aprText) { 
343                                      $(".apr-full-text").html(aprText); 
344                                        try { 
345                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
346                                            var billing_cycle = matches[1]; 
347                                            var apr_min = apr_min = matches[2]; 
348                                            var apr_max = apr_max = matches[3]; 
349                                            //console.log('billing_cycle', billing_cycle); 
350                                            //console.log('apr_min', apr_min); 
351                                            //console.log('apr_max', apr_max); 
352                                            if (billing_cycle) { 
353                                                //console.log($(".scraped-billing-cycle")); 
354                                                $(".scraped-billing-cycle").html(billing_cycle); 
355
356                                            if (apr_min) { 
357                                                $(".scraped-apr-min").html(apr_min); 
358
359                                            if (apr_max) { 
360                                                $('.scraped-apr-max').html(apr_max); 
361
362 
363                                        } catch (e) { 
364                                            console.log(e); 
365
366
367                                }); 
368                            </script> 
369                    </#if>   
370                </#if>      
371                <#if product?? && product != ""> 
372                    <#assign card_text = product + " Card"> 
373                </#if>    
374                <script> 
375               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
376            </script>     
377                <div class="hero-container ${class.getData()}" title="${partnerName!''} ${product!''} Credit Card"> 
378                    <div class="hero-main"> 
379                        <div class="hero-main-container"> 
380                            <div class="hero-main-offer"> 
381                                <div class="offer-header"> 
382                                    <div class="offer-text-top"> 
383                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
384                                    </div> 
385                                    <div class="offer-text-bottom hide-mobile"> 
386                                        <div class="offer-detail-text text-color-default "> 
387                                            ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
388                                            <#-- allow for all except these url --> 
389                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("secured") && !url?contains("consumer-edr2112") && !url?contains("college-real-rewards") && !url?contains("business-cash-preferred"))> 
390                                                <a class="whiteLink" href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank">See terms & conditions</a> 
391                                            </#if> 
392                                        </div> 
393                                        <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
394                                        class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
395                                        title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
396                                        <#-- Allow for these URLs--> 
397                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
398                                            <#if !url?contains("max-cash-secured")> 
399                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
400                                            </#if> 
401                                        </#if> 
402                                    </div> 
403                                </div> 
404                                <div class="offer-detail"> 
405                                    <div class="offer-detail-cardArt cardArtImg"> 
406                                        <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
407                                        onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" class="jn-img-responsive"> 
408                                        <p>${card_text!''}</p> 
409                                    </div> 
410                                    <div class="offer-detail-text text-color-default hide-desktop"> 
411                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
412                                        <#-- allow for all except these url --> 
413                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("consumer-edr2112"))> 
414                                            <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank">See terms & conditions</a> 
415                                        </#if> 
416                                        <#-- Allow only for these url --> 
417                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
418                                            <#if !url?contains("max-cash-secured")> 
419                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
420                                            </#if> 
421                                        </#if> 
422                                    </div> 
423                                    <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
424                                        class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
425                                        title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
426                                </div> 
427                            </div> 
428                        </div> 
429                    </div> 
430                </div> 
431                <#break /> 
432            </#if> 
433        </#list>    
434 
435    </#if> 
436</#if> 
437 
438<script> 
439    AUI().ready(function(){ 
440        //The below script is there to add vertical card art in UAT only so that QA has an easier time auditing. Note that the script only applies to FI SouthState (location code 20419) which is currently the only bank with vertical card art at the moment  
441        var locationCodeParam = '${lc}'; 
442        var currentEnvironmentParam = '${currentEnvironment}'; 
443        if(locationCodeParam == '20419' && currentEnvironmentParam == 'uat'){ 
444            Array.prototype.slice.call(document.querySelectorAll('.cardArtImg')).map(function(e){e.firstElementChild.src = "https://39f6f821fa03de239594-9f1c16ccc3b26ce57656bb4af99947b6.ssl.cf2.rackcdn.com/f20cf80a-6aea-46ec-84fc-c2a6583773d9.png"}) 
445        }         
446    }); 
447</script> 
448<script> 
449    // Makes the Header subtitle work if there is two lines of text  
450    var consumerHeader = document.getElementsByClassName("landing-consumer")[0]; 
451    if(consumerHeader){ 
452        var consumerHeroContainer = consumerHeader.getElementsByClassName("hero-main-container")[0]; 
453        var consumerOfferHeader = consumerHeader.getElementsByClassName("offer-subtitle")[0]; 
454         
455        if(consumerOfferHeader.innerText.length >= 31 && consumerOfferHeader.innerText.length < 48){ 
456            //not two lines but the header on tablet gose outside of allocated space. 
457            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 60%, ${backgroundColor!'#173989'} 60%)"; 
458        } else if (consumerOfferHeader.innerText.length >= 48){ 
459            //two lines 
460            document.querySelector('.offer-text-top').style.marginTop = '0px'; 
461            document.querySelector('.offer-text-bottom').style.marginTop = '8px'; 
462            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 55%, ${backgroundColor!'#173989'} 55%)"; 
463
464
465 
466    var buisnessHeader = document.getElementsByClassName("tier3-hero-landing-business")[0]; 
467    if(buisnessHeader) { 
468        var buisnessHeroContainer = buisnessHeader.getElementsByClassName("hero-main-container")[0]; 
469        var buisnessOfferHeader = buisnessHeader.getElementsByClassName("offer-subtitle")[0]; 
470 
471        if(buisnessOfferHeader.innerText.length >= 31 && buisnessOfferHeader.innerText.length < 48){ 
472            //not two lines but the header on tablet gose outside of allocated space. 
473            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 40%, ${backgroundColor!'#173989'} 40%)"; 
474        } else if (buisnessOfferHeader.innerText.length >= 48){ 
475            //two lines 
476            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 45%, ${backgroundColor!'#173989'} 45%)"; 
477
478
479</script> 

Web Content Display

An error occurred while processing the template.
Error on line 40, column 1 in 10154#10192#153417688
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html'> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7<#assign currentEnvironment = 'prod' > 
8 
9<#assign lc= qstringmap["ecdma-lc"]?first>   
10<#assign prefix = "00000" > 
11<#assign lcWithPrefix = prefix + lc > 
12<#assign withPrefixLength = lcWithPrefix?length > 
13<#assign startHere = withPrefixLength - 5> 
14<#assign lc = lcWithPrefix?substring(startHere)> 
15 
16 
17<#if qstringmap["ecid"]?has_content> 
18    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
19<#else> 
20    <#assign ecidExt=""> 
21</#if> 
22<#if oadURL?contains("uat-")> 
23    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
24    <#assign currentEnvironment = 'uat' > 
25<#else> 
26    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
27</#if> 
28    <script> 
29        //console.log('%ccurrentEnvironment: ', 'font-weight: bold; color: green;', '${currentEnvironment}'); 
30    </script> 
31<#assign campaignId = "" > 
32<#assign ecidExt=""> 
33<#if qstringmap["ecid"]?has_content> 
34    <#assign campaignId = qstringmap["ecid"]?first > 
35    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
36</#if> 
37 
38<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
39<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
40<#assign clientProfile = clientProfileList?first> 
41<#assign partnerName = clientProfile.getMarketingNameLong()> 
42<#assign pbu = clientProfile.getPbu()> 
43<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
44<#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
45 
46<#assign fiCardsData=utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu + '&'+subbu)> 
47<#assign temp = []> 
48<#assign consumerCards = []> 
49<#assign businessCards = []>  
50<#assign offerTypeList = []>       
51<#assign index = 0> 
52<#assign consumerOfferTypes = ["101", "103", "108", "109", "115", "104", "141", "147"]> 
53<#assign businessOfferTypes = ["128", "123", "121", "143", "144"]> 
54<#list fiCardsData as fib>  
55    <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))> 
56        <#assign offerTypeList = offerTypeList + [fib.offerType]>  
57        <#if (consumerOfferTypes?seq_contains(fib.offerType))> 
58            <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
59        <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
60            <#assign businessCards = businessCards + fiCardsData[index..index]> 
61        </#if>                            
62        <#assign temp = temp + fiCardsData[index..index]>  
63    </#if>   
64    <#assign index = index + 1>               
65</#list>  
66 
67<#assign fiCardsData = temp> 
68 <script> 
69    //console.log("fi card data count", ${fiCardsData?size}) 
70</script> 
71 
72<#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
73<#if (clientdata?size > 0)> 
74    <#assign backgroundColor = clientdata[0].backgroundHexColor>               
75</#if> 
76 
77<#if (fiCardsData?size > 0)>    
78    <#if url?contains("index")>                    
79        <#assign offerId = ""> 
80        <#assign sourceCode = ""> 
81        <#assign cardArtImage = ""> 
82        <#assign productUrlHero = ""> 
83        <#assign product = ""> 
84        <#assign cardIndex = 0> 
85        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
86            <#if (offerTypeList?seq_contains("108")) ||  (offerTypeList?seq_contains("109"))> 
87							<#list consumerCards as card> 
88								<#if (card.offerType=="108") || (card.offerType=="109")> 
89									<#assign offerId = card.offerId> 
90									<#assign sourceCode = card.sourceCode> 
91									<#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
92									<#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
93 
94									<#assign productUrlHero="consumer-edr2112"> 
95									<#assign product="Platinum"> 
96									<#assign cardIndex = 3> 
97									<#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&' + sourceCode)> 
98									<#if (scrapedData?size > 0)> 
99										<#list scrapedData as sItem> 
100										<script> 
101											console.log('Label: ${sItem.scrapedLabel!''}, Content: ${sItem.scrapedValue!''}'); 
102										</script> 
103											<#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
104												<#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
105												<#break> 
106											</#if> 
107										</#list> 
108										<script> 
109											$(document).ready(function () { 
110												var aprText = "${apr}"; 
111												console.log('aprText: ${aprText!''}'); 
112												if (aprText) { 
113													$(".apr-full-text").html(aprText); 
114													try { 
115														var matches= aprText.match(/\d+(\.\d+)?%?/g); 
116														var billing_cycle = matches[1]; 
117														var apr_min = apr_min = matches[2]; 
118														var apr_max = apr_max = matches[3]; 
119														//console.log('billing_cycle', billing_cycle); 
120														//console.log('apr_min', apr_min); 
121														//console.log('apr_max', apr_max); 
122														if (billing_cycle) { 
123															//console.log($(".scraped-billing-cycle")); 
124															$(".scraped-billing-cycle").html(billing_cycle); 
125
126														if (apr_min) { 
127															$(".scraped-apr-min").html(apr_min); 
128
129														if (apr_max) { 
130															$('.scraped-apr-max').html(apr_max); 
131
132 
133													} catch (e) { 
134														console.log(e); 
135
136
137											}); 
138										</script> 
139									</#if> 
140									<script> 
141										$(document).ready(function () { 
142											$(".see-terms").replaceWith('<a href="${oadURL_TC}?step=display&offerId=${card.offerId}&locationCode=${lc}"  target="_blank">See terms & conditions</a>'); 
143										}); 
144									</script> 
145								</#if> 
146							</#list> 
147            <#else> 
148                <#assign displayedCard = consumerCards[0]> 
149                <#assign offerId = displayedCard.offerId> 
150                <#assign sourceCode = displayedCard.sourceCode> 
151                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
152                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
153                <#if (displayedCard.offerType=="101" || displayedCard.offerType=="103")> 
154                    <#assign productUrlHero="consumer-edr2112"> 
155                    <#assign product="Everyday Rewards+"> 
156                    <#assign cardIndex = 3> 
157                <#elseif (displayedCard.offerType=="104")> 
158                    <#assign productUrlHero = "max-cash"> 
159                    <#assign product="Max Cash Preferred"> 
160                    <#assign cardIndex = 0> 
161                <#elseif (displayedCard.offerType=="115")> 
162                    <#assign productUrlHero = "secured"> 
163                    <#assign product="Secured"> 
164                    <#assign cardIndex = 3> 
165                </#if> 
166            </#if> 
167            <#if product?? && product != ""> 
168                <#assign card_text = product + " Card"> 
169            </#if>  
170        </#if> 
171        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
172            <#if (offerTypeList?seq_contains("144")) > 
173                <#list businessCards as card> 
174                    <#if (card.offerType=="128")> 
175                        <#assign offerId = card.offerId> 
176                        <#assign sourceCode = card.sourceCode> 
177                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
178                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
179 
180                        <#assign productUrlHero="business-cash-preferred"> 
181                        <#assign product="Business Cash Preferred"> 
182                        <#assign cardIndex = 1> 
183                    </#if> 
184                </#list> 
185            <#else> 
186                <#assign displayedCard = businessCards[0]> 
187                <#assign offerId = displayedCard.offerId> 
188                <#assign sourceCode = displayedCard.sourceCode> 
189                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
190                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
191                <#if (displayedCard.offerType=="143")> 
192                    <#assign productUrlHero="business-real-rewards"> 
193                    <#assign product="Business Real Rewards"> 
194                    <#assign cardIndex = 2> 
195                <#elseif (displayedCard.offerType=="128")> 
196                    <#assign productUrlHero="business-cash-preferred"> 
197                    <#assign product="Business Cash Preferred"> 
198                    <#assign cardIndex = 1> 
199                <#elseif (displayedCard.offerType=="121")> 
200                    <#assign productUrlHero = "business-platinum2103"> 
201                    <#assign product="Business"> 
202                    <#assign cardIndex = 3>                     
203                </#if> 
204            </#if> 
205            <#if product?? && product != ""> 
206                <#assign card_text = product + " Card"> 
207            </#if>  
208        </#if> 
209			   
210 
211            <div class="hero-container product-${productUrlHero} tier3-hero-${class.getData()}" title="${partnerName!''} ${product!''} Credit Card ${offerType!''}"> 
212                <div class="hero-main"> 
213                    <div class="hero-main-container"> 
214                        <div class="hero-main-offer"> 
215                            <div class="offer-header"> 
216                                <div class="offer-text-top"> 
217                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
218                                </div> 
219                                <div class="offer-text-bottom hide-mobile"> 
220                                    <div class="offer-detail-text text-color-default "> 
221                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                        
222                                    </div> 
223                                    <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
224                                    class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
225                                    title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
226                                </div> 
227                            </div> 
228                            <div class="offer-detail"> 
229                                <div class="offer-detail-cardArt cardArtImg"> 
230                                    <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
231                                    class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'">  
232                                    <#-- <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!'' }" 
233                                     class="jn-img-responsive">--> 
234                                    <p>${card_text!''}</p> 
235                                </div> 
236                                <div class="offer-detail-text text-color-default hide-desktop"> 
237                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}                                 
238                                </div> 
239                                <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=customer"  
240                                    class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
241                                    title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
242                            </div> 
243                        </div> 
244                    </div> 
245                </div> 
246            </div> 
247    <#else>      
248        <#list fiCardsData as fib>     
249 
250            <#switch fib.offerType>               
251                <#case "144"> 
252                    <#assign cardIndex = 0 > 
253                    <#assign productUrlHero = "smart-business-rewards"> 
254                    <#assign product="Smart Business Rewards">                                          
255                    <#break> 
256                <#case "104"> 
257                    <#assign cardIndex = 0 > 
258                    <#assign productUrlHero="max-cash"> 
259                    <#assign product="Max Cash Preferred">                       
260                    <#break> 
261                <#case "128"> 
262                    <#assign cardIndex = 1 > 
263                    <#assign productUrlHero = "business-cash-preferred"> 
264                    <#assign product="Business Cash Preferred">                     
265                    <#break> 
266                <#case "108"> 
267                    <#assign cardIndex = 1 > 
268                    <#assign productUrlHero = "consumer-platinum2103"> 
269                    <#assign product="Platinum">                       
270                    <#break> 
271                <#case "109"> 
272                    <#assign cardIndex = 1 > 
273                    <#assign productUrlHero = "consumer-platinum2103"> 
274                    <#assign product="Platinum">                                           
275                    <#break>                                         
276                <#case "143"> 
277                    <#assign cardIndex = 2 > 
278                    <#assign productUrlHero = "business-real-rewards"> 
279                    <#assign product="Business Real Rewards">                     
280                    <#break> 
281                <#case "101"> 
282                    <#assign cardIndex = 3 > 
283                    <#assign productUrlHero = "consumer-edr2112"> 
284                    <#assign product="Everyday Rewards+">                     
285                    <#break>  
286                 <#case "141">                  
287                    <#assign cardIndex = 4 > 
288                    <#assign productUrlHero = "college-real-rewards"> 
289                    <#assign product = "College Real Rewards" >  
290                    <#break>  
291                <#case "147"> 
292                    <#assign cardIndex = 5 > 
293                    <#assign productUrlHero = "max-cash-secured"> 
294                    <#assign product = "Max Cash Secured" >  
295                    <#break>  
296                <#case "103">              
297                    <#assign cardIndex = 1 > 
298                    <#assign productUrlHero = "consumer-edr2112"> 
299                    <#assign product="Everyday Rewards+">                     
300                    <#break>                                          
301                <#case "121"> 
302                    <#assign cardIndex = 3 > 
303                    <#assign productUrlHero = "business-platinum2103"> 
304                    <#assign product="Business">                      
305                    <#break> 
306                <#case "115"> 
307                    <#assign cardIndex = 2 > 
308                    <#assign productUrlHero = "secured"> 
309                    <#assign product="Secured">                     
310                    <#break>                                          
311                <#default> 
312            </#switch>                          
313            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png">  
314            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg">   
315             
316            <script> 
317               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
318            </script> 
319             
320                                    
321            <#if fib.offerType == "104" && url?contains("max-cash-secured")>  
322                 <#-- For max cash securded card. so that max cash secured dose not get set to max cash header -->                            
323            <#elseif url?matches(".*/${productUrlHero}.*")>  
324                 
325                <#if (fib.offerType=="108" || fib.offerType=="109" || fib.offerType == "121")> 
326 
327                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', '${fib.offerId}' + '&'+ '${fib.sourceCode}')> 
328                    <#if (scrapedData?size > 0)> 
329                            <#list scrapedData as sItem> 
330                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
331                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
332                                    <#break> 
333                                </#if> 
334 
335                            </#list> 
336                                            <script> 
337                </script> 
338                            <script> 
339                                $(document).ready(function () { 
340                                    var aprText = "${apr}"; 
341                                    console.log('aprText',aprText); 
342                                    if (aprText) { 
343                                      $(".apr-full-text").html(aprText); 
344                                        try { 
345                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
346                                            var billing_cycle = matches[1]; 
347                                            var apr_min = apr_min = matches[2]; 
348                                            var apr_max = apr_max = matches[3]; 
349                                            //console.log('billing_cycle', billing_cycle); 
350                                            //console.log('apr_min', apr_min); 
351                                            //console.log('apr_max', apr_max); 
352                                            if (billing_cycle) { 
353                                                //console.log($(".scraped-billing-cycle")); 
354                                                $(".scraped-billing-cycle").html(billing_cycle); 
355
356                                            if (apr_min) { 
357                                                $(".scraped-apr-min").html(apr_min); 
358
359                                            if (apr_max) { 
360                                                $('.scraped-apr-max').html(apr_max); 
361
362 
363                                        } catch (e) { 
364                                            console.log(e); 
365
366
367                                }); 
368                            </script> 
369                    </#if>   
370                </#if>      
371                <#if product?? && product != ""> 
372                    <#assign card_text = product + " Card"> 
373                </#if>    
374                <script> 
375               console.log("offerType ${fib.offerType} productUrlHero ${productUrlHero}")                         
376            </script>     
377                <div class="hero-container ${class.getData()}" title="${partnerName!''} ${product!''} Credit Card"> 
378                    <div class="hero-main"> 
379                        <div class="hero-main-container"> 
380                            <div class="hero-main-offer"> 
381                                <div class="offer-header"> 
382                                    <div class="offer-text-top"> 
383                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()} 
384                                    </div> 
385                                    <div class="offer-text-bottom hide-mobile"> 
386                                        <div class="offer-detail-text text-color-default "> 
387                                            ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
388                                            <#-- allow for all except these url --> 
389                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("secured") && !url?contains("consumer-edr2112") && !url?contains("college-real-rewards") && !url?contains("business-cash-preferred"))> 
390                                                <a class="whiteLink" href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank">See terms & conditions</a> 
391                                            </#if> 
392                                        </div> 
393                                        <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
394                                        class="jn-button" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
395                                        title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
396                                        <#-- Allow for these URLs--> 
397                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
398                                            <#if !url?contains("max-cash-secured")> 
399                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
400                                            </#if> 
401                                        </#if> 
402                                    </div> 
403                                </div> 
404                                <div class="offer-detail"> 
405                                    <div class="offer-detail-cardArt cardArtImg"> 
406                                        <img src="${cardArtImage!''}" alt="${partnerName!''}" title="${partnerName!''}" 
407                                        onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" class="jn-img-responsive"> 
408                                        <p>${card_text!''}</p> 
409                                    </div> 
410                                    <div class="offer-detail-text text-color-default hide-desktop"> 
411                                        ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()} 
412                                        <#-- allow for all except these url --> 
413                                            <#if (!url?contains("business-real-rewards") && !url?contains("max-cash") && !url?contains("consumer-edr2112"))> 
414                                            <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank">See terms & conditions</a> 
415                                        </#if> 
416                                        <#-- Allow only for these url --> 
417                                        <#if (url?contains("smart-business-rewards") || url?contains("business-real-rewards") || url?contains("max-cash") || url?contains("consumer-edr2112") || url?contains("business-cash-preferred"))> 
418                                            <#if !url?contains("max-cash-secured")> 
419                                                <a class="whiteLink" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
420                                            </#if> 
421                                        </#if> 
422                                    </div> 
423                                    <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
424                                        class="jn-button hide-desktop btn" data-button-name="cta-button-top" data-product-name="${productUrlHero!''}" 
425                                        title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a> 
426                                </div> 
427                            </div> 
428                        </div> 
429                    </div> 
430                </div> 
431                <#break /> 
432            </#if> 
433        </#list>    
434 
435    </#if> 
436</#if> 
437 
438<script> 
439    AUI().ready(function(){ 
440        //The below script is there to add vertical card art in UAT only so that QA has an easier time auditing. Note that the script only applies to FI SouthState (location code 20419) which is currently the only bank with vertical card art at the moment  
441        var locationCodeParam = '${lc}'; 
442        var currentEnvironmentParam = '${currentEnvironment}'; 
443        if(locationCodeParam == '20419' && currentEnvironmentParam == 'uat'){ 
444            Array.prototype.slice.call(document.querySelectorAll('.cardArtImg')).map(function(e){e.firstElementChild.src = "https://39f6f821fa03de239594-9f1c16ccc3b26ce57656bb4af99947b6.ssl.cf2.rackcdn.com/f20cf80a-6aea-46ec-84fc-c2a6583773d9.png"}) 
445        }         
446    }); 
447</script> 
448<script> 
449    // Makes the Header subtitle work if there is two lines of text  
450    var consumerHeader = document.getElementsByClassName("landing-consumer")[0]; 
451    if(consumerHeader){ 
452        var consumerHeroContainer = consumerHeader.getElementsByClassName("hero-main-container")[0]; 
453        var consumerOfferHeader = consumerHeader.getElementsByClassName("offer-subtitle")[0]; 
454         
455        if(consumerOfferHeader.innerText.length >= 31 && consumerOfferHeader.innerText.length < 48){ 
456            //not two lines but the header on tablet gose outside of allocated space. 
457            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 60%, ${backgroundColor!'#173989'} 60%)"; 
458        } else if (consumerOfferHeader.innerText.length >= 48){ 
459            //two lines 
460            document.querySelector('.offer-text-top').style.marginTop = '0px'; 
461            document.querySelector('.offer-text-bottom').style.marginTop = '8px'; 
462            consumerHeroContainer.style.background = "linear-gradient(0deg, #f8f8f8 55%, ${backgroundColor!'#173989'} 55%)"; 
463
464
465 
466    var buisnessHeader = document.getElementsByClassName("tier3-hero-landing-business")[0]; 
467    if(buisnessHeader) { 
468        var buisnessHeroContainer = buisnessHeader.getElementsByClassName("hero-main-container")[0]; 
469        var buisnessOfferHeader = buisnessHeader.getElementsByClassName("offer-subtitle")[0]; 
470 
471        if(buisnessOfferHeader.innerText.length >= 31 && buisnessOfferHeader.innerText.length < 48){ 
472            //not two lines but the header on tablet gose outside of allocated space. 
473            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 40%, ${backgroundColor!'#173989'} 40%)"; 
474        } else if (buisnessOfferHeader.innerText.length >= 48){ 
475            //two lines 
476            buisnessHeroContainer.style.background = "linear-gradient(180deg, rgba(255,255,255,1) 45%, ${backgroundColor!'#173989'} 45%)"; 
477
478
479</script> 

Web Content Display

An error occurred while processing the template.
Error on line 36, column 1 in 10154#10192#155407401
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign url = request.attributes.CURRENT_URL > 
4<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
5<#assign environment = url?replace('/index.*','','r')> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7 
8<script> 
9var currentUrl = '${url}'; 
10 
11</script> 
12 
13<#assign lc= qstringmap["ecdma-lc"]?first>   
14<#assign prefix = "00000" > 
15<#assign lcWithPrefix = prefix + lc > 
16<#assign withPrefixLength = lcWithPrefix?length > 
17<#assign startHere = withPrefixLength - 5> 
18<#assign lc = lcWithPrefix?substring(startHere)> 
19 
20 
21<#if qstringmap["ecid"]?has_content> 
22    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
23<#else> 
24    <#assign ecidExt=""> 
25</#if> 
26 
27<#if oadURL?contains("uat-")> 
28    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
29<#else> 
30    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
31</#if> 
32 
33 
34<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
35<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
36<#assign clientProfile = clientProfileList?first> 
37<#assign partnerName = clientProfile.getMarketingNameLong()> 
38<#assign pbu = clientProfile.getPbu()> 
39<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
40<script> 
41 //console.log('pbu:', "${pbu}", 'subbu:', '${subbu}'); 
42</script> 
43<#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
44 
45<#if qstringmap["ecid"]?has_content> 
46    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
47    <#assign campaignId = qstringmap["ecid"]?first > 
48<#else> 
49    <#assign ecidExt=""> 
50    <#assign campaignId = "" > 
51</#if> 
52 
53<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu +'&'+subbu)>  
54<#-- filter duplicated cards--> 
55<#assign consumerCards = []> 
56<#assign businessCards = []>  
57<#assign offerTypeList = []>  
58<#assign consumerOfferTypes =['104', '101', '108', '109', '115', '141','147']> 
59<#assign businessOfferTypes =['144', '128', '143', '121', '123']>      
60<#assign index = 0> 
61<#list fiCardsData as fib> 
62    <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>   
63        <#assign offerTypeList = offerTypeList + [fib.offerType]>     
64        <#if consumerOfferTypes?seq_contains(fib.offerType)> 
65            <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
66        <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
67            <#assign businessCards = businessCards + fiCardsData[index..index]> 
68        </#if>                  
69    </#if>  
70    <#assign index = index + 1>                
71</#list>  
72 
73<#if ((consumerCards?size > 0) || (businessCards?size > 0))> 
74    <div class="content-container content-container-main jn-consumer-content"> 
75        <#if ((consumerCards?size > 0) && (businessCards?size > 0))> 
76            <nav class="jn-primary-nav two-tabs"> 
77                <ul> 
78                    <li title="${partnerName!''} - Personal products"> 
79                        <a href="#" class="tab-nav active" id="consumerTab"><span>Personal</span></a> 
80                    </li> 
81                    <li title="${partnerName!''} - Business products"> 
82                        <a href="#" class="tab-nav" id="businessTab"><span>Business</span></a> 
83                    </li> 
84                </ul> 
85            </nav> 
86        <#else> 
87            <#if (consumerCards?size > 0)> 
88                <nav class="jn-primary-nav" title="${partnerName!''} - Personal products"> 
89                    <ul> 
90                        <li> 
91                            <p class="tab-nav" id="consumerTab"><span>Personal</span></p> 
92                        </li> 
93                    </ul> 
94                </nav> 
95            </#if> 
96            <#if (businessCards?size > 0)> 
97                <nav class="jn-primary-nav" title="${partnerName!''} - Business products"> 
98                    <ul> 
99                        <li> 
100                            <p class="tab-nav" id="businessTab"><span>Business</span></p> 
101                        </li> 
102                    </ul> 
103                </nav> 
104            </#if> 
105        </#if> 
106        <#if (consumerCards?size > 0)> 
107            <div class="tab-more-wrapper">   
108                <div class="jn-consumer-content-wrapper jn-tab-content active transition-start" data-id="consumerTab" title="${partnerName!''} - Personal products"> 
109                     
110                    <#list consumerCards as fib>    
111                            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png" > 
112                            <#assign cardArtImageAlt = cdnCardArtUrl + "/" + fib.filename + ".jpg" > 
113                            <#switch fib.offerType> 
114                                <#case "101"> 
115                                    <#assign productName = "consumer-edr2112"> 
116                                    <#assign product="Everyday Rewards+"> 
117                                    <#assign cardIndex = 0> 
118                                    <#break> 
119                                <#case "108"> 
120                                    <#assign productName = "consumer-platinum2103"> 
121                                    <#assign product="Platinum"> 
122                                    <#assign cardIndex = 2> 
123                                    <#break> 
124                                <#case "109"> 
125                                    <#assign productName = "consumer-platinum2103"> 
126                                    <#assign product="Platinum"> 
127                                    <#assign cardIndex = 2> 
128                                    <#break>                                            
129                                <#case "115"> 
130                                    <#assign productName = "secured"> 
131                                    <#assign product="Secured"> 
132                                    <#assign cardIndex = 5> 
133                                    <#break> 
134                                <#case "104"> 
135                                    <#assign productName = "max-cash"> 
136                                    <#assign product="Max Cash Preferred"> 
137                                    <#assign cardIndex = 1> 
138                                    <#break> 
139                                <#case "147"> 
140                                    <#assign productName = "max-cash-secured"> 
141                                    <#assign product="Max Cash Secured"> 
142                                    <#assign cardIndex = 4> 
143                                    <#break> 
144                                <#case "141"> 
145                                    <#assign productName = "college-real-rewards"> 
146                                    <#assign product="College Real Rewards"> 
147                                    <#assign cardIndex = 3> 
148                                    <#break> 
149                                <#default> 
150                            </#switch> 
151                            <#assign titleText = consumerTitle.getSiblings()[cardIndex].Title.getData()> 
152                            <#assign titleText = titleText?replace('<[^>]+>','','r')> 
153                            <#assign APR=""> 
154                            <#assign AMF=""> 
155                            <#assign BAL=""> 
156                            <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
157                            <#if (scrapedData?size > 0)> 
158                                <#list scrapedData as sItem> 
159                                    <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
160                                        <#assign APR = sItem.scrapedValue>                                    
161                                    <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
162                                        <#assign AMF = sItem.scrapedValue> 
163                                    <#elseif ((sItem.scrapedLabel?contains("APR for Balance Transfers")) && (sItem.scrapedValue?has_content)) > 
164                                        <#assign BAL = sItem.scrapedValue> 
165                                    </#if> 
166                                    <#if (APR?has_content && AMF?has_content && BAL?has_content)> 
167                                        <#break> 
168                                    </#if> 
169                                </#list> 
170                            </#if>     
171                            <script> 
172                                // console.log("Product: ${product}, offerType: ${fib.offerType}, sourceCode ${fib.sourceCode}, offerId: ${fib.offerId}"); 
173                                // console.log(`srcraped data: ${APR} `); 
174                            </script>                                      
175                            <div class="jn-consumer-item item-${fib.offerType}" title="${partnerName!''} ${product!''} Credit Card"> 
176                                <div class="consumer-card-heading hide-desktop"> 
177                                    <h4>${consumerTitle.getSiblings()[cardIndex].Title.getData()}</h4> 
178                                    ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
179                                </div> 
180                                <div class="jn-consumer-card-image"> 
181                                    <img src="${cardArtImage!''}" alt="${titleText}" class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
182                                    <#if (fib.offerType=="101" || fib.offerType=="104")> 
183                                        <a class="reward-calculator-link" target="_blank" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' class="whiteLink" href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
184                                    </#if> 
185                                    <#if consumerTitle.getSiblings()[cardIndex].cardArtDescription?has_content> 
186                                        <p class="tier3-tabs-card-art-description">${consumerTitle.getSiblings()[cardIndex].cardArtDescription.getData()}</p> 
187                                    </#if> 
188                                </div> 
189                                 
190                                <div class="jn-consumer-card-info"> 
191                                    <div class="consumer-card-heading hide-mobile"> 
192                                        <h4>${consumerTitle.getSiblings()[cardIndex].Title.getData()}</h4> 
193                                        ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
194                                    </div> 
195                                    <div class="jn-additional"> 
196                                            <ul class="${fib.offerType}">                                                 
197                                                <#if (fib.offerType == "104")> 
198                                                    <li class="${fib.offerType}"> 
199                                                            <p> 
200                                                                <strong>APR for Purchases: </strong> 
201                                                            ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a></p> 
202                                                        </li> 
203                                                        <li class="${fib.offerType}"> 
204                                                                <p> 
205                                                                    <strong>Intro APR<sup>*</sup> for Balance Transfers: </strong> 
206                                                                ${BAL!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a></p> 
207                                                            </li> 
208                                                <#elseif (fib.offerType == "115")> 
209                                                    <li class="${fib.offerType}"> 
210                                                        <p> 
211                                                            <strong>APR for Purchases and Balance Transfers: </strong> 
212                                                        ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a></p> 
213                                                    </li>                                       
214                                                <#elseif (fib.offerType == "101")> 
215                                                    <li class="${fib.offerType}"> 
216                                                        <p> 
217                                                            <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
218                                                        ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a></p> 
219                                                    </li> 
220                                                 <#elseif (fib.offerType == "147")> 
221                                                    <li class="${fib.offerType}"> 
222                                                        <p> 
223                                                            <strong>APR for Purchases and Balance Transfers: </strong> 
224                                                        ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank" class="t_c_link">See terms & conditions.</a></p> 
225                                                    </li> 
226                                                <#else> 
227                                                    <li class="${fib.offerType}"> 
228                                                        <p> 
229                                                            <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
230                                                        ${APR!''} <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a></p> 
231                                                    </li> 
232                                                </#if>              
233         
234                                                <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
235                                                    <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
236                                                        <li>${marketingInfo.getData()}</li> 
237                                                    </#list> 
238                                                </#if> 
239                                                <li> 
240                                                    <p>Annual Fee: ${AMF!''} <a  href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}"  target="_blank" class="t_c_link">See terms & conditions.</a></p> 
241                                                </li> 
242                                            </ul> 
243                                    </div> 
244                                    <ul class="actions"> 
245                                        <li> 
246                                            <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
247                                                class="applyNowLink" data-button-name="apply-now-link" data-product-name="${productName!''}" 
248                                                title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${consumerTitle.getSiblings()[cardIndex].applyNow.getData()}</a> 
249                                        </li> 
250                                        <li><a href="${environment}/${productName}?ecdma-lc=${lc}${ecidExt}">${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}</a> 
251                                        </li> 
252                                    </ul> 
253                                </div> 
254                            </div> 
255                    </#list> 
256                </div> 
257            </div> 
258        </#if> 
259        <#if (businessCards?size > 0)>   
260        <div class="tab-more-wrapper">      
261            <div class="jn-consumer-content-wrapper jn-tab-content transition-start" data-id="businessTab" title="${partnerName!''} - Business products"> 
262                 
263                <#list businessCards as fib> 
264                        <#assign cardArtImage = cdnCardArtUrl + "/"+fib.filename+".png"> 
265                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+fib.filename+".jpg"> 
266                        <#switch fib.offerType> 
267                            <#case "128"> 
268                                <#assign productName = "business-cash-preferred"> 
269                                <#assign product="Business Cash Preferred"> 
270                                <#assign cardIndex = 6> 
271                                <#break> 
272                            <#case "121"> 
273                                <#assign productName = "business-platinum2103"> 
274                                <#assign product="Business Card"> 
275                                <#assign cardIndex = 7> 
276                                <#break> 
277                            <#case "144"> 
278                                <#assign productName = "smart-business-rewards"> 
279                                <#assign product="Smart Business Rewards"> 
280                                <#assign cardIndex = 8> 
281                                <#break>                             
282                            <#case "143"> 
283                                <#assign productName = "business-real-rewards"> 
284                                <#assign product="Business Real Rewards"> 
285                                <#assign cardIndex = 9> 
286                                <#break> 
287                             
288                            <#default> 
289                        </#switch> 
290                         
291                        <#assign APR=""> 
292                        <#assign AMF=""> 
293                            <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
294                            <#if (scrapedData?size > 0)> 
295                                <#list scrapedData as sItem> 
296                                    <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
297                                        <#assign APR = sItem.scrapedValue> 
298                                    <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
299                                        <#assign AMF = sItem.scrapedValue> 
300                                    </#if> 
301                                    <#if (APR?has_content && AMF?has_content)> 
302                                        <#break> 
303                                    </#if> 
304                                </#list> 
305                            </#if>   
306                                            <script> 
307                                                // console.log("Product: ${product}, offerType: ${fib.offerType}, sourceCode ${fib.sourceCode}, offerId: ${fib.offerId}"); 
308                                                // console.log(`srcraped data: ${APR} `); 
309                                            </script> 
310                        <div class="jn-consumer-item" title="${partnerName!''} ${product!''} Credit Card"> 
311                            <div class="consumer-card-heading hide-desktop"> 
312                                <h4>${consumerTitle.getSiblings()[cardIndex].Title.getData()}</h4> 
313                                ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
314                            </div> 
315                            <div class="jn-consumer-card-image"> 
316 
317                                <img src="${cardArtImage!''}" alt="${partnerName!''}" class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
318                                <#if (fib.offerType=="144" ||fib.offerType=="143" || fib.offerType=="128")> 
319                                 <a class="reward-calculator-link" target="_blank" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' class="whiteLink" href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
320                                </#if> 
321                                <#if consumerTitle.getSiblings()[cardIndex].cardArtDescription?has_content> 
322                                    <p class="tier3-tabs-card-art-description">${consumerTitle.getSiblings()[cardIndex].cardArtDescription.getData()}</p> 
323                                </#if> 
324                            </div> 
325                            <div class="jn-consumer-card-info"> 
326                                <div class="consumer-card-heading hide-mobile"> 
327                                    <h4>${consumerTitle.getSiblings()[cardIndex].Title.getData()}</h4> 
328                                    ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
329                                </div> 
330                                <div class="jn-additional"> 
331                                    <ul> 
332                                            <#if (fib.offerType == "144")> 
333                                        <li> 
334                                            <p> 
335                                                <strong>APR for Purchases and Balance Transfers: </strong> 
336                                                ${APR!''} 
337                                                <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a> 
338                                            </p> 
339                                        </li> 
340                                        <#else> 
341                                        <li> 
342                                                <p> 
343                                                    <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
344                                                    ${APR!''} 
345                                                    <a href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a> 
346                                                </p> 
347                                            </li> 
348                                        </#if> 
349                                        <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
350                                            <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
351                                                <li>${marketingInfo.getData()}</li> 
352                                            </#list> 
353                                        </#if> 
354                                        <li><p>Annual Fee: ${AMF!''} <a 
355                                            href="${oadURL_TC}?step=display&offerId=${fib.offerId}&locationCode=${lc}" target="_blank" class="t_c_link">See terms & conditions.</a></p> 
356                                        </li> 
357                                    </ul> 
358                                </div> 
359                                <ul class="actions"> 
360                                    <li> 
361                                        <a href="${oadURL}?locationCode=${lc}&offerId=${fib.offerId}&preparerType=customer"  
362                                            class="applyNowLink" data-button-name="apply-now-link" data-product-name="${productName!''}" 
363                                            title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${consumerTitle.getSiblings()[cardIndex].applyNow.getData()}</a> 
364                                    </li> 
365                                    <li><a href="${environment}/${productName}?ecdma-lc=${lc}${ecidExt}">${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}</a></li> 
366                                </ul> 
367                            </div> 
368                        </div> 
369                         
370                </#list> 
371            </div> 
372            </div> 
373        </#if>  
374    </div> 
375 
376    <script> 
377        document.addEventListener('DOMContentLoaded', function() {                         
378            var tabs=$('.tab-nav'); 
379            var consumerSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="consumerTab"]'; 
380            var businessSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="businessTab"]'; 
381            var screenWidthMobile = 768; 
382            var screenWidth = window.innerWidth; 
383            var heroCardImgs = document.querySelectorAll('.jn-consumer-card-image img, .cardArtImg img'); 
384            for (var index = 0; index < heroCardImgs.length; index++) { 
385                var heroCardImg = heroCardImgs[index]; 
386                var heroCardSrc = heroCardImg.getAttribute("src"); 
387                if(heroCardSrc != "") { 
388                    resizeImg(heroCardImg); 
389
390
391             
392            if (tabs.length == 1) { 
393                $(tabs).parent().css('margin', '0'); 
394                if ($(consumerSelector).length > 0) { 
395                    hideHeroAndDisclaimer('business'); 
396                    showHeroAndDisclaimer('consumer'); 
397                    changeCardLayout(consumerSelector); 
398                    renumberFootnote("consumer"); 
399                    createMetaTag("consumer"); 
400                }  
401                if ($(businessSelector).length > 0) { 
402                    $(businessSelector).addClass('active'); 
403                    hideHeroAndDisclaimer('consumer'); 
404                    showHeroAndDisclaimer('business'); 
405                    changeCardLayout(businessSelector); 
406                    renumberFootnote("business"); 
407                    createMetaTag("business"); 
408
409            }  
410            if (tabs.length == 2) { 
411                renumberFootnote("consumer"); 
412                renumberFootnote("business"); 
413                createMetaTag("consumer"); 
414                 
415                if ($(consumerSelector + ' .jn-consumer-item').length < 3) { 
416                    changeCardLayout(consumerSelector); 
417
418                if ($(businessSelector + ' .jn-consumer-item').length < 3) { 
419                    changeCardLayout(businessSelector); 
420
421                 
422                var tabsNav = document.querySelectorAll('.tab-nav'); 
423                togglePrimaryNav(tabsNav); 
424                 
425                if(window.location.href.indexOf('#business') > -1 ) { 
426                    //console.log('we are on a business url index page bro'); 
427                    $(consumerSelector).removeClass('active'); 
428                    $(businessSelector).addClass('active'); 
429                    $('#consumerTab').removeClass('active'); 
430                    $('#businessTab').addClass('active'); 
431                    hideHeroAndDisclaimer('consumer'); 
432                    showHeroAndDisclaimer('business'); 
433                    changeCardLayout(businessSelector); 
434                    renumberFootnote("business"); 
435                    createMetaTag("business"); 
436 
437                    $(tabs).click(function(){ 
438                        if ($(this).attr('id') === "consumerTab") { 
439                            var newUrl = window.location.toString(); 
440                            window.location = newUrl.replace(/#business/, '#consumer'); 
441
442                        if ($(this).attr('id') === "businessTab") { 
443                            var url = window.location.toString(); 
444                            window.location = url.replace(/#consumer/, '#business'); 
445
446                    }); 
447
448                 
449
450        }); 
451        // Primary Nav function 
452         
453        function togglePrimaryNav(elem) { 
454            for (var i = 0; i < elem.length; i++) { 
455                elem[i].addEventListener("click", function(e) { 
456 
457                    var current = this, 
458                        allSections = document.querySelectorAll('[data-id]'), 
459                        section = document.querySelector("[data-id='"+ current.id +"']"); 
460 
461                    for (var a = 0; a < allSections.length; a++) { 
462                        allSections[a].classList.remove('active'); 
463
464                    for (var c = 0; c < elem.length; c++) { 
465                        if (current != elem[c]) { 
466                            elem[c].classList.remove('active'); 
467                        } else { 
468                            current.classList.add('active'); 
469                            //console.log('current: ', current); 
470                            //console.log('section: ', section); 
471                            section.classList.add('active'); 
472                            hideHeroAndDisclaimer('consumer'); 
473                            hideHeroAndDisclaimer('business'); 
474                            if(current.getAttribute('id') === "consumerTab"){ 
475                                showHeroAndDisclaimer('consumer'); 
476                            } else if(current.getAttribute('id') === "businessTab"){ 
477                                showHeroAndDisclaimer('business'); 
478
479
480
481                    e.preventDefault(); 
482                }); 
483
484
485         
486        function renumberFootnote(type) { 
487            var discriptionSelector = '.jn-consumer-content-wrapper.jn-tab-content' + '[data-id="' + type + 'Tab"]'; 
488            var disclaimerSelector = '.tier3-disclaimer-landing-' + type; 
489            var heroSelector = '.tier3-hero-landing-' + type; 
490            var numOfFootnote = $(disclaimerSelector + ' sup').length; 
491            var showList = []; 
492            var hideList=[]; 
493            for (var i = 1; i <= numOfFootnote; i++) { 
494                var cssClass="tag-" + i; 
495                if ($(discriptionSelector + ' sup').hasClass(cssClass) || $(heroSelector + ' sup').hasClass(cssClass)) { 
496                    showList.push(i);      
497                } else { 
498                    hideList.push(i); 
499
500            }  
501            /* 
502            for (var i = 1; i < showList.length + 1; i++) { 
503                if(showList[i-1] != i) { 
504                    var className="tag-" + showList[i-1]; 
505                     
506                    //$(heroSelector).find("." +  className).html(i); 
507                    // $(discriptionSelector).find("." +  className).html(i); 
508                    //$(disclaimerSelector).find("." +  className).html(i); 
509
510
511            */ 
512            for (var i = 0; i <hideList.length; i++) { 
513                var cname="tag-" + hideList[i]; 
514                $(disclaimerSelector).find("." + cname).parent().hide(); 
515            }    
516
517         
518        function changeCardLayout(cssSelector) { 
519            var numOfCards = $(cssSelector + ' .jn-consumer-item').length; 
520            //console.log('numofcards', numOfCards); 
521            if(numOfCards == 1) { 
522                $(cssSelector).addClass('one-card'); 
523            } else if (numOfCards == 2) { 
524                $(cssSelector).addClass('two-card'); 
525            }   
526
527        function hideHeroAndDisclaimer(type) { 
528            try { 
529                document.querySelector('.tier3-hero-landing-'+ type).classList.remove('show'); 
530                document.querySelector('.tier3-hero-landing-'+ type).classList.add('hide'); 
531            } catch (e) { 
532                console.log(e); 
533
534 
535            try { 
536                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.remove('show'); 
537                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.add('hide');  
538            } catch (e) { 
539                console.log(e); 
540
541 
542
543        function showHeroAndDisclaimer(type) { 
544            try { 
545                document.querySelector('.tier3-hero-landing-'+ type).classList.add('show'); 
546                document.querySelector('.tier3-hero-landing-'+ type).classList.remove('hide'); 
547            } catch (e) { 
548                console.log(e); 
549
550             
551            try { 
552                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.add('show'); 
553                document.querySelector('.tier3-disclaimer-landing-'+ type).classList.remove('hide');  
554            } catch (e) { 
555                console.log(e); 
556
557 
558
559        function createMetaTag(type) { 
560            var partnerName = "${partnerName!0}"; 
561            var product_name = $('.jn-hero-container .jn-button').data('product-name'); 
562            var metaDesc =""; 
563            if (type == "consumer") {             
564                if(product_name ==  "consumer-platinum2103") { 
565                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Limited Time Offer. 0% Intro APR on Purchases and Balance Transfers for 20 Billing Cycles Consolidate your Balances with the "+partnerName+" Intro APR Card."; 
566                } else if(product_name ==  "real-rewards") { 
567                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Take home 2,500 bonus points after your first purchase."; 
568                } else if(product_name ==  "secured") { 
569                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
570                } else if(product_name ==  "max-cash") { 
571                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn a $150 Bonus."; 
572                 } else if(product_name ==  "max-cash-secured") { 
573                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn more on the categories you pick."; 
574
575 
576            } else if (type == "business") { 
577                if(product_name ==  "business-cashback") {               
578                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn Cash back on common business expenses."; 
579                } else if(product_name ==  "business-real-rewards") { 
580                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. Get more rewards in the categories you spend the most on."; 
581                } else if(product_name ==  "business-platinum2103") { 
582                    metaDesc = "Apply Today for a "+partnerName+" Business Card. 0% Intro APR on Purchases and Balance Transfers for 15 Billing Cycles"; 
583                } else if(product_name ==  "smart-business-rewards") { 
584                    metaDesc = "Apply Today for a "+partnerName+" Credit Card. More choices. More value for your business. Earn a $200 Bonus and 2x Rewards on your top 2 spend categories each month with the "+partnerName+" Credit Card."; 
585
586
587            var m = document.createElement('meta');  
588            m.name = 'description';  
589            m.content = metaDesc;  
590            document.head.appendChild(m); 
591
592         
593        function resizeImg(img) { 
594            img.addEventListener("load", function() { 
595                var cardImgWidth = img.width; 
596                var cardImgHeight = img.height; 
597                //console.log('width', cardImgWidth); 
598                //console.log('height', cardImgHeight); 
599                if(cardImgWidth > cardImgHeight) { 
600                    img.style.width = "285px"; 
601                } else { 
602                    img.style.width = "150px"; 
603
604            }); 
605
606    </script>                 
607</#if> 

Web Content Display

An error occurred while processing the template.
Error on line 14, column 1 in 10154#10192#153417682
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign url = request.attributes.CURRENT_URL > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4 
5<#assign lc= qstringmap["ecdma-lc"]?first>   
6<#assign prefix = "00000" > 
7<#assign lcWithPrefix = prefix + lc > 
8<#assign withPrefixLength = lcWithPrefix?length > 
9<#assign startHere = withPrefixLength - 5> 
10<#assign lc = lcWithPrefix?substring(startHere)> 
11 
12<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
13<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
14<#assign clientProfile = clientProfileList?first> 
15<#assign partnerName = clientProfile.getMarketingNameLong()> 
16 
17 
18<div class="jn-disclaimer tier3-disclaimer-${class.getData()}" title="${partnerName!''} - Disclaimer"> 
19    <div class="disclaimer"> 
20        ${content.getData()} 
21    </div> 
22</div> 

Web Content Display

An error occurred while processing the template.
Error on line 14, column 1 in 10154#10192#153417682
clientProfileList?first is undefined.
It cannot be assigned to clientProfile
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign url = request.attributes.CURRENT_URL > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4 
5<#assign lc= qstringmap["ecdma-lc"]?first>   
6<#assign prefix = "00000" > 
7<#assign lcWithPrefix = prefix + lc > 
8<#assign withPrefixLength = lcWithPrefix?length > 
9<#assign startHere = withPrefixLength - 5> 
10<#assign lc = lcWithPrefix?substring(startHere)> 
11 
12<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
13<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
14<#assign clientProfile = clientProfileList?first> 
15<#assign partnerName = clientProfile.getMarketingNameLong()> 
16 
17 
18<div class="jn-disclaimer tier3-disclaimer-${class.getData()}" title="${partnerName!''} - Disclaimer"> 
19    <div class="disclaimer"> 
20        ${content.getData()} 
21    </div> 
22</div> 

Web Content Display

Cardmember Agreements

Privacy and Security