Artikkel

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 8, column 17 in 10153#10191#6524599.
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 
7 
8<#assign bCode= qstringmap["bankercode"]?first> 
9<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
10<#list bData as b>      
11    <#assign lc = b.locationcode > 
12    <#assign rLC = b.reallocationcode > 
13    <#assign mappedLC = b.mappedLocationCode > 
14</#list>  
15<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
16    <#assign ameriprise = true> 
17<#else> 
18    <#assign ameriprise = false> 
19</#if> 
20 
21<#if mappedLC?has_content && !ameriprise> 
22    <#assign lc = mappedLC > 
23</#if> 
24 
25<#assign fiData= utilServ.makeCall('crcDDCBankerAssistedApp','0&'+bCode)> 
26<#if fiData?first?has_content> 
27    <#assign fi = fiData?first> 
28    <#if ((fi.projectId == "12") || (fi.projectId == "13") || (fi.projectId == "14"))> 
29        <#assign subbu_special = fi.offerId> 
30    </#if> 
31</#if> 
32 
33 
34<#if lc?has_content> 
35    <#assign prefix = "00000" > 
36    <#assign lcWithPrefix = prefix + lc> 
37    <#assign withPrefixLength = lcWithPrefix?length > 
38    <#assign startHere = withPrefixLength - 5> 
39    <#assign lc = lcWithPrefix?substring(startHere)>     
40    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
41    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
42 
43    <#assign clientProfile = clientProfileList?first> 
44    <#assign partnerName = clientProfile.getMarketingNameLong()> 
45    <#assign pbu = clientProfile.getPbu()> 
46    <#assign subbu = clientProfile.getSUBBRANDBUNBR()>     
47    <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
48    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
49    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
50    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\:&#x2F;&#x2F;.*")>             
51        <#assign partnerUrl = 'https://' + partnerUrl> 
52    </#if> 
53 
54    <#assign clientdata = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
55    <#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
56    <#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
57        <script> 
58        console.log('logo url', '${cdnLogoUrl}${logoFileName}'); 
59    </script> 
60    <#if pbu == "0864054"> 
61        <#assign override = "berkshire"> 
62    <#else> 
63        <#assign override = " "> 
64    </#if> 
65    <#--  this one should be delete for prod  --> 
66                 
67    <#assign cdnLogoUrl = "https://4f61efb10f32ceb57895-3733e103896f37259213d6ad72acbe68.ssl.cf2.rackcdn.com">   
68    <#assign logoFileName = pbu + "-" + subbu + ".png"> 
69 
70    <#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
71    <#if (subbu_special?has_content)> 
72        <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
73        <script> 
74            console.log('new subbu', '${subbu_special!''}'); 
75        </script>  
76    <#else> 
77        <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
78    </#if> 
79    <#assign temp = []> 
80    <#assign consumerCards = []> 
81    <#assign businessCards = []>  
82    <#assign offerTypeList = []>       
83    <#assign index = 0> 
84    <#assign ameriprise_cards= []> 
85    <#assign consumerOfferTypes =['104', '101', '103', '108', '109', '115']> 
86    <#assign businessOfferTypes =['144', '128', '143', '121', '123']> 
87    <#list fiCardsData as fib> 
88        <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>   
89            <#assign offerTypeList = offerTypeList + [fib.offerType]> 
90            <#assign temp = temp + fiCardsData[index..index]>    
91            <#if ameriprise> 
92                <#if (fib.offerType == "101" || fib.offerType == "103")> 
93                    <#assign ameriprise_cards= ameriprise_cards + fiCardsData[index..index]> 
94                </#if>                      
95            <#else> 
96                <#if consumerOfferTypes?seq_contains(fib.offerType)> 
97                    <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
98                <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
99                    <#assign businessCards = businessCards + fiCardsData[index..index]> 
100                </#if>             
101            </#if>                 
102        </#if>  
103        <#assign index = index + 1>   
104                     
105    </#list>        
106    <#assign fiCardsData = temp> 
107    <#if ameriprise> 
108        <#assign consumerCards = ameriprise_cards?sort_by("offerType")> 
109    </#if> 
110 
111    <#if (fiCardsData?size > 0)>   
112        <#if (subbu_special?has_content)> 
113            <#assign lc_used = fiCardsData?first.WebLocationCode>   
114        <#else> 
115            <#if ameriprise> 
116                <#assign lc_used = mappedLC>  
117            <#else> 
118                <#assign lc_used = lc>  
119            </#if> 
120        </#if>               
121        <#assign offerId = ""> 
122        <#assign sourceCode = ""> 
123        <#assign cardArtImage = ""> 
124        <#assign productUrl = ""> 
125        <#assign product = ""> 
126        <#assign preparerType = "customer"> 
127        <#assign apr = ""> 
128        <#assign cardIndex = 0>   
129        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
130            <#if (offerTypeList?seq_contains("108")) || (offerTypeList?seq_contains("109")) > 
131                <#list consumerCards as card> 
132                    <#if (card.offerType=="108") || (card.offerType=="109") > 
133                        <#assign offerId = card.offerId> 
134                        <#assign sourceCode = card.sourceCode> 
135                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
136                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
137                        <#assign productUrl="consumer-platinum"> 
138                        <#assign product="Platinum"> 
139                        <#assign cardIndex = 2> 
140                        <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
141                        <#if (scrapedData?size > 0)> 
142                            <#list scrapedData as sItem> 
143                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
144                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
145                                    <#break> 
146                                </#if> 
147                            </#list> 
148                            <script> 
149                                $(document).ready(function () { 
150                                    var aprText = "${apr}"; 
151                                    if (aprText) { 
152                                        try { 
153                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
154                                            var billing_cycle = matches[1]; 
155                                            var apr_min = apr_min = matches[2]; 
156                                            var apr_max = apr_max = matches[3]; 
157                                            if (billing_cycle) { 
158                                                $(".scraped-billing-cycle").html(billing_cycle); 
159
160                                            if (apr_min) { 
161                                                $(".scraped-apr-min").html(apr_min); 
162
163                                            if (apr_max) { 
164                                                $('.scraped-apr-max').html(apr_max); 
165
166 
167                                        } catch (e) { 
168                                            console.log(e); 
169
170
171                                }); 
172                            </script> 
173                        </#if>  
174                    </#if> 
175                </#list> 
176            <#else> 
177                <#assign displayedCard = consumerCards[0]> 
178                <script> 
179                    console.log('dispalyed card:','${displayedCard.offerType}'); 
180                </script> 
181                <#assign offerId = displayedCard.offerId> 
182                <#assign sourceCode = displayedCard.sourceCode> 
183                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
184                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
185                <#if ameriprise> 
186                    <#if (displayedCard.offerType == "101")> 
187                        <#assign productUrl="ameriprise-premier-visa-signature"> 
188                        <#assign product="Premier Visa Signature"> 
189                        <#assign cardIndex = 0> 
190                    <#elseif (displayedCard.offerType == "103")> 
191                        <#assign productUrl = "ameriprise-visa-signature"> 
192                        <#assign product="Visa Signature"> 
193                        <#assign cardIndex = 1> 
194                    </#if> 
195                <#else> 
196                        <#if (displayedCard.offerType == "101" || displayedCard.offerType == "103")> 
197                            <#assign productUrl="real-rewards"> 
198                            <#assign product="Real Rewards"> 
199                            <#assign cardIndex = 1>                           
200                        <#elseif (displayedCard.offerType == "108" || displayedCard.offerType == "109")> 
201                            <#assign productUrl = "consumer-platinum2103"> 
202                            <#assign product="Platinum">    
203                            <#assign cardIndex = 2>    
204                            <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
205                            <#if (scrapedData?size > 0)> 
206                                <#list scrapedData as sItem> 
207                                    <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
208                                        <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
209                                        <#break> 
210                                    </#if> 
211                                </#list> 
212                                <script> 
213                                    $(document).ready(function () { 
214                                        var aprText = "${apr}"; 
215                                        if (aprText) { 
216                                            try { 
217                                                var matches= aprText.match(/\d+(\.\d+)?%?/g); 
218                                                var billing_cycle = matches[1]; 
219                                                var apr_min = apr_min = matches[2]; 
220                                                var apr_max = apr_max = matches[3]; 
221                                                if (billing_cycle) { 
222                                                    $(".scraped-billing-cycle").html(billing_cycle); 
223
224                                                if (apr_min) { 
225                                                    $(".scraped-apr-min").html(apr_min); 
226
227                                                if (apr_max) { 
228                                                    $('.scraped-apr-max').html(apr_max); 
229
230 
231                                            } catch (e) { 
232                                                console.log(e); 
233
234
235                                    }); 
236                                </script> 
237                            </#if>                                                     
238                        <#elseif (displayedCard.offerType == "115")> 
239                            <#assign productUrl = "secured"> 
240                            <#assign product="Secured"> 
241                            <#assign cardIndex = 3> 
242                        </#if> 
243                </#if> 
244            </#if> 
245        </#if> 
246        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
247            <#if (offerTypeList?seq_contains("144")) > 
248                <#list businessCards as card> 
249                    <#if (card.offerType=="144")> 
250                        <#assign offerId = card.offerId> 
251                        <#assign sourceCode = card.sourceCode> 
252                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
253                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
254                        <#assign productUrl="smart-business-rewards"> 
255                        <#assign product="Smart Business Rewards"> 
256                        <#assign cardIndex = 0> 
257                    </#if> 
258                </#list> 
259            <#else> 
260                <#assign displayedCard = businessCards[0]> 
261                <#assign offerId = displayedCard.offerId> 
262                <#assign sourceCode = displayedCard.sourceCode> 
263                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
264                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
265 
266                <#if (displayedCard.offerType=="143")> 
267                    <#assign productUrl="business-real-rewards"> 
268                    <#assign product="Business Real Rewards"> 
269                    <#assign cardIndex = 0>    
270                <#elseif (displayedCard.offerType=="128")> 
271                    <#assign productUrl = "business-cashback"> 
272                    <#assign product="Business Cash"> 
273                    <#assign cardIndex = 1>                     
274                <#elseif (displayedCard.offerType=="121")> 
275                    <#assign productUrl = "visa-business"> 
276                    <#assign product="Visa Business"> 
277                    <#assign cardIndex = 3> 
278                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
279                    <#if (scrapedData?size > 0)> 
280                        <#list scrapedData as sItem> 
281                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
282                                <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
283                                <#break> 
284                            </#if> 
285                        </#list> 
286                        <script> 
287                            $(document).ready(function () { 
288                                var aprText = "${apr}"; 
289                                if (aprText) { 
290                                    try { 
291                                        var matches= aprText.match(/\d+(\.\d+)?%?/g); 
292                                        var billing_cycle = matches[1]; 
293                                        var apr_min = apr_min = matches[2]; 
294                                        var apr_max = apr_max = matches[3]; 
295                                        if (billing_cycle) { 
296                                            $(".scraped-billing-cycle").html(billing_cycle); 
297
298                                        if (apr_min) { 
299                                            $(".scraped-apr-min").html(apr_min); 
300
301                                        if (apr_max) { 
302                                            $('.scraped-apr-max').html(apr_max); 
303
304 
305                                    } catch (e) { 
306                                        console.log(e); 
307
308
309                            }); 
310                        </script> 
311                    </#if>                       
312                </#if> 
313            </#if> 
314        </#if>    
315        <#if product != ""> 
316            <#if ameriprise> 
317                <#assign card_art_alt =  partnerName + " " + product + " Card"> 
318                <#assign rollover_text =  partnerName + " " + product + " Card"> 
319            <#else> 
320                <#assign card_art_alt = partnerName> 
321                <#assign rollover_text =  partnerName + " " + product + " Credit Card"> 
322                <#assign card_text = product + " Card"> 
323            </#if>  
324        </#if>  
325        <div class="jn-hero-container product-${productUrl} tier1-hero-${class.getData()}" title="${rollover_text!''}"> 
326            <div class="hero-main"> 
327                <div class="hero-main-logo"> 
328                    <#if partnerUrl?has_content> 
329                        <a href="${partnerUrl!''}" title="${partnerName!''}"><img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}"></a> 
330                    <#else> 
331                        <a title="${partnerName!''}"><img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}"></a> 
332                    </#if> 
333                </div> 
334                <div class="hero-main-container"> 
335                    <div class="hero-main-offer bg-color-white"> 
336                        <div class="offer-header bg-color-black text-color-white text-bold">${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()}</div> 
337                        <div class="offer-detail"> 
338                            <div class="offer-detail-head">${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}</div> 
339                            <div class="offer-detail-text text-color-default"> 
340                                ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureTop.getData()} 
341                                ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureBottom.getData()} 
342                            </div> 
343                            <div class="offer-detail-cardArt">                                                  
344                                <img src="${cardArtImage!''}" alt="${card_art_alt!''}" srcset="" title="${card_art_alt!''}" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
345                                <p>${card_text!''}</p> 
346                            </div> 
347                            <#if ameriprise> 
348                                <a data-button-name="cta-button-top" title="Learn More about ${partnerName!''} credit cards" class="jn-button apply-button text-bold button-bg-color-custom text-color-white" href="javascript:void(0);" onclick="goToByScroll('product-display')">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a>                                 
349                            <#else>  
350                                <form action="${oadURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=${preparerType}&sourceCode=${sourceCode}" method="post" class="BAAForm"> 
351                                    <label for="appDataBAA-${sourceCode}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
352                                    <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${sourceCode}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
353                                    <input type="submit" data-button-name="cta-button-top"  data-product-name="${productUrl!''}" title="Apply Now for ${partnerName!''} ${product!''} Credit Card" 
354                                        class="jn-button apply-button apply-now-button text-bold button-bg-color-custom text-color-white" value="${productTitle.getSiblings()[cardIndex].ctaText.getData()}" disabled /> 
355                                </form> 
356                            </#if> 
357                        </div> 
358                    </div> 
359                </div> 
360            </div> 
361        </div>   
362 
363    </#if> 
364</#if> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 29, column 17 in 10153#10191#6524603.
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 oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7<#assign environment = url?replace('/index.*','','r')> 
8 
9 
10 
11<#assign text_to_apply_source = "vanity url" > 
12<#if qstringmap["sms"]?has_content> 
13    <#assign sms = 1 > 
14    <#assign text_to_apply_source = "sms" > 
15</#if> 
16<#if qstringmap["qrCode"]?has_content> 
17    <#assign text_to_apply_source = "qr code" > 
18</#if> 
19 
20<#if qstringmap["ecid"]?has_content> 
21    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
22    <#assign campaignId = qstringmap["ecid"]?first > 
23<#else> 
24    <#assign ecidExt=""> 
25    <#assign campaignId = "" > 
26</#if> 
27<#--  check bankercode validity  --> 
28 
29<#assign bCode= qstringmap["bankercode"]?first> 
30 
31<#assign fiData= utilServ.makeCall('crcDDCBankerAssistedApp','0&'+bCode)> 
32<#if fiData?first?has_content> 
33    <#assign fi = fiData?first> 
34    <#if ((fi.projectId == "12") || (fi.projectId == "13") || (fi.projectId == "14"))> 
35        <#assign subbu_special = fi.offerId> 
36    </#if> 
37</#if> 
38 
39<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
40<#list bData as b>      
41    <#assign lc = b.locationcode > 
42    <#assign bName = b.branch > 
43    <#assign bPhone = b.businessphone > 
44    <#assign boeid = b.oeid > 
45    <#assign fName = b.firstname?trim > 
46    <#assign lName = b.lastname?trim > 
47    <#assign rLC = b.reallocationcode > 
48    <#assign mappedLC = b.mappedLocationCode > 
49</#list>  
50 
51<#if qstringmap["ecdma-lc"]?has_content> 
52    <#assign lc_url= qstringmap["ecdma-lc"]?first> 
53</#if> 
54 
55<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
56    <#assign ameriprise = true> 
57<#else> 
58    <#assign ameriprise = false> 
59</#if> 
60<#if mappedLC?has_content && !ameriprise> 
61    <#assign lc = mappedLC > 
62</#if> 
63 
64           
65<#if lc?has_content> 
66    <#assign firstNameLength = fName?length > 
67    <#assign lastNameLength = lName?length > 
68    <#if firstNameLength + lastNameLength &gt; 19 > 
69        <#if lastNameLength &gt; 18 > 
70            <#assign bLName = lName?substring(0,18)> 
71        <#else> 
72            <#assign bLName = lName> 
73        </#if> 
74        <#assign maxFirstName = 19 - bLName?length > 
75        <#if firstNameLength &gt; maxFirstName > 
76            <#assign bFName = fName?substring(0,maxFirstName)> 
77        <#else> 
78            <#assign bFName = fName> 
79        </#if> 
80    <#else> 
81        <#assign bFName = fName> 
82        <#assign bLName = lName> 
83    </#if>  
84 
85    <#assign prefix = "00000" > 
86    <#assign lcWithPrefix = prefix + lc > 
87    <#assign withPrefixLength = lcWithPrefix?length > 
88    <#assign startHere = withPrefixLength - 5> 
89    <#assign lc = lcWithPrefix?substring(startHere)>   
90    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
91    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
92    <#if (clientProfileList?first?has_content)> 
93        <#assign clientProfile = clientProfileList?first> 
94        <#assign partnerName = clientProfile.getMarketingNameLong()> 
95        <#assign pbu = clientProfile.getPbu()> 
96        <#assign subbu = clientProfile.getSUBBRANDBUNBR()>          
97        <#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')>  
98        <#if (subbu_special?has_content)> 
99        <script> 
100            console.log("special subbu:", '${subbu_special}'); 
101        </script> 
102            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
103        <#else> 
104            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
105                    <script> 
106            console.log("subbu:", '${subbu}'); 
107        </script> 
108        </#if> 
109 
110        <#-- Begin: filter cards by sourceCode and offerId and remove duplicated cards--> 
111        <#assign temp = []> 
112        <#assign consumerCards = []> 
113        <#assign businessCards = []>  
114        <#assign offerTypeList = []>  
115        <#assign consumerOfferTypes =['104', '101', '103', '108', '109', '115']> 
116        <#assign businessOfferTypes =['144', '128', '143', '121', '123']>     
117        <#assign index = 0> 
118        <#list fiCardsData as fib> 
119            <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>   
120                <#assign offerTypeList = offerTypeList + [fib.offerType]> 
121                <#assign temp = temp + fiCardsData[index..index]>   
122                <#if consumerOfferTypes?seq_contains(fib.offerType)> 
123                    <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
124                <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
125                    <#assign businessCards = businessCards + fiCardsData[index..index]> 
126                </#if>                 
127            </#if>  
128            <#assign index = index + 1>                
129        </#list>  
130 
131 
132        <#assign fiCardsData = temp> 
133 
134        <#if (fiCardsData?size > 0)>   
135            <#if (subbu_special?has_content)> 
136                <#assign lc_used = fiCardsData?first.WebLocationCode>   
137            <#else> 
138                <#if ameriprise> 
139                    <#assign lc_used = lc_url>  
140                <#else> 
141                    <#assign lc_used = mappedLC>  
142                </#if> 
143            </#if>  
144        </#if>  
145 
146        <#if (consumerCards?size > 0 || businessCards?size > 0)>  
147         
148            <div class="content-container content-container-main jn-consumer-content" id="product-display"> 
149                <#if ((consumerCards?size > 0) && (businessCards?size > 0))> 
150                    <nav class="jn-primary-nav two-tabs"> 
151                        <ul> 
152                            <li title="${partnerName!''} - Personal products"> 
153                                <a href="#" class="tab-nav active" id="consumerTab"><span>Personal</span></a> 
154                            </li> 
155                            <li title="${partnerName!''} - Business products"> 
156                                <a href="#" class="tab-nav" id="businessTab"><span>Business</span></a> 
157                            </li> 
158                        </ul> 
159                    </nav> 
160                <#else> 
161                    <#if (consumerCards?size > 0)> 
162                        <nav class="jn-primary-nav" title="${partnerName!''} - Personal products"> 
163                            <ul> 
164                                <li> 
165                                    <p class="tab-nav" id="consumerTab"><span>Personal</span></p> 
166                                </li> 
167                            </ul> 
168                        </nav> 
169                    </#if> 
170                    <#if (businessCards?size > 0)> 
171                        <nav class="jn-primary-nav" title="${partnerName!''} - Business products"> 
172                            <ul> 
173                                <li> 
174                                    <p class="tab-nav" id="businessTab"><span>Business</span></p> 
175                                </li> 
176                            </ul> 
177                        </nav> 
178                    </#if> 
179                </#if> 
180                <#if (consumerCards?size > 0)> 
181                <div class="tab-more-wrapper"> 
182                    <div class="jn-consumer-content-wrapper jn-tab-content active transition-start" data-id="consumerTab" title="${partnerName!''} - Personal products"> 
183                        <#list consumerCards as fib> 
184                            <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png" > 
185                            <#assign cardArtImageAlt = cdnCardArtUrl + "/"+fib.filename+".jpg">                         
186                            <#if ameriprise>                                
187                                <#if (fib.offerType == "101")> 
188                                        <#assign productName = "premier-visa-signature"> 
189                                        <#assign product="Premier Visa Signature"> 
190                                        <#assign cardIndex = 0> 
191                                <#elseif (fib.offerType == "103")> 
192                                        <#assign productName = "visa-signature"> 
193                                        <#assign product="Visa Signature"> 
194                                        <#assign cardIndex = 1> 
195                                </#if> 
196                                <#assign titleText = consumerTitle.getSiblings()[cardIndex].Title.getData()> 
197                                <#assign titleText = titleText?replace('<[^>]+>','','r')> 
198                            <#else> 
199                                <#switch fib.offerType> 
200                                    <#case "101"> 
201                                        <#assign productName = "real-rewards"> 
202                                        <#assign product="Real Rewards"> 
203                                        <#assign cardIndex = 1> 
204                                        <#break>                                          
205                                    <#case "108"> 
206                                        <#assign productName = "consumer-platinum2103"> 
207                                        <#assign product="Platinum"> 
208                                        <#assign cardIndex = 2> 
209                                         
210                                        <#break> 
211                                    <#case "109"> 
212                                        <#assign productName = "consumer-platinum2103"> 
213                                        <#assign product="Platinum"> 
214                                        <#assign cardIndex = 2> 
215                                        <#break>                                            
216                                    <#case "115"> 
217                                        <#assign productName = "secured"> 
218                                        <#assign product="Secured"> 
219                                        <#assign cardIndex = 3> 
220                                        <#break> 
221                                    <#case "104"> 
222                                        <#assign productName = "max-cash"> 
223                                        <#assign product="Max Cash"> 
224                                        <#assign cardIndex = 0> 
225                                        <#break> 
226                                    <#default> 
227                                </#switch> 
228                                 
229                                <#assign titleText = consumerTitle.getSiblings()[cardIndex].Title.getData()> 
230                                <#assign titleText = titleText?replace('<[^>]+>','','r')> 
231                                 
232 
233                                <#assign APR=""> 
234                                <#assign AMF=""> 
235                                <#assign BAL=""> 
236                                <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
237                                <#if (scrapedData?size > 0)> 
238                                    <#list scrapedData as sItem> 
239                                        <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
240                                            <#assign APR = sItem.scrapedValue> 
241                                        <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
242                                            <#assign AMF = sItem.scrapedValue> 
243                                        <#elseif ((sItem.scrapedLabel?contains("APR for Balance Transfers")) && (sItem.scrapedValue?has_content)) > 
244                                            <#assign BAL = sItem.scrapedValue> 
245                                        </#if> 
246                                        <#if (APR?has_content && AMF?has_content && BAL?has_content)> 
247                                            <#break> 
248                                        </#if> 
249                                    </#list> 
250                                </#if> 
251                            </#if> 
252                            <#if ameriprise> 
253                                <#assign rollover_text =  partnerName + " " + product + " " + " Card"> 
254                            <#else> 
255                                <#assign rollover_text =  partnerName + " " + product + " " + " Credit Card"> 
256                            </#if>                             
257                            <div class="jn-consumer-item item-${fib.offerType}" title="${rollover_text!''}"> 
258                                    <img src="${cardArtImage!''}" alt="${rollover_text!''}"  
259                                        class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
260                                    <h4>${consumerTitle.getSiblings()[cardIndex].Title.getData()}</h4> 
261                                    <p>${consumerTitle.getSiblings()[cardIndex].headlineText.getData()}</p> 
262                                    <ul class="actions"> 
263                                        <li> 
264                                            <form action="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}" method="post" class="BAAForm"> 
265                                                <label for="appDataBAA-${fib.offerId}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
266                                                <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${fib.offerId}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
267                                                <a class="applyNowLink apply-now-button" href="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}"  
268                                                    data-button-name="apply-now-link" data-product-name="${productName}" 
269                                                    title="Apply Now for ${rollover_text!''}">${consumerTitle.getSiblings()[cardIndex].applyNow.getData()}</a> 
270                                            </form> 
271                                        </li> 
272                                        <li> 
273                                        <#if ameriprise> 
274                                            <a href="${environment}/${productName}?bankercode=${bCode}&ecdma-lc=${lc_used}${ecidExt}">${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}</a> 
275                                        <#else> 
276                                            <a href="${environment}/${productName}?bankercode=${bCode}&ecdma-lc=${lc}${ecidExt}">${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}</a> 
277                                        </#if> 
278                                        </li> 
279                                    </ul> 
280                                    <div class="jn-additional"> 
281                                        <ul class="${fib.offerType}"> 
282                                            <#if !ameriprise> 
283                                                <#if (fib.offerType == "104")> 
284                                                    <li class="${fib.offerType}"> 
285                                                        <p> 
286                                                            <strong>APR<sup>*</sup> for Purchases: </strong> 
287                                                            ${APR!''} 
288                                                        </p> 
289                                                         
290                                                    </li> 
291                                                    <li class="${fib.offerType}"> 
292                                                        <p> 
293                                                            <strong>Intro APR<sup>*</sup> for Balance Transfers: </strong> 
294                                                            ${BAL!''} <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a> 
295                                                        </p> 
296                                                    </li> 
297                                                <#elseif (fib.offerType== "115")> 
298                                                    <li class="${fib.offerType}"> 
299                                                        <p> 
300                                                            <strong>APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
301                                                            ${APR!''} <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a> 
302                                                        </p> 
303                                                    </li> 
304                                                <#else> 
305                                                    <li class="${fib.offerType}"> 
306                                                        <p> 
307                                                                <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
308                                                            ${APR!''} <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a> 
309                                                        </p> 
310                                                    </li> 
311                                                </#if> 
312                                            </#if> 
313                                            <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
314                                                <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
315                                                    <li>${marketingInfo.getData()}</li> 
316                                                </#list> 
317                                            </#if> 
318                                            <#if !ameriprise> 
319                                                <li> 
320                                                    <p>Annual Fee: ${AMF!''} <a  href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}"  target="_blank">Terms & Conditions</a></p> 
321                                                </li> 
322                                            </#if> 
323                                        </ul> 
324                                    </div> 
325                            </div> 
326 
327                               
328                        </#list> 
329                    </div> 
330                     
331                </div> 
332                 
333                </#if> 
334                <#if (businessCards?size > 0)>  
335                    <div class="tab-more-wrapper">    
336                        <div class="jn-consumer-content-wrapper jn-tab-content transition-start" data-id="businessTab" title="${partnerName!''} - Business products"> 
337                             
338                            <#list businessCards as fib> 
339                                    <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png"> 
340                                    <#assign cardArtImageAlt = cdnCardArtUrl + "/"+fib.filename+".jpg"> 
341                                    <#switch fib.offerType> 
342                                        <#case "144"> 
343                                            <#assign productName = "smart-business-rewards"> 
344                                            <#assign product="Smart Business Rewards"> 
345                                            <#assign cardIndex = 4> 
346                                            <#break> 
347                                        <#case "128"> 
348                                            <#assign productName = "business-cashback"> 
349                                            <#assign product="Business Cash"> 
350                                            <#assign cardIndex = 5> 
351                                            <#break> 
352                                        <#case "143"> 
353                                            <#assign productName = "business-real-rewards"> 
354                                            <#assign product="Business Real Rewards"> 
355                                            <#assign cardIndex = 6> 
356                                            <#break> 
357                                        <#case "121"> 
358                                            <#assign productName = "visa-business"> 
359                                            <#assign product="Business Card"> 
360                                            <#assign cardIndex = 7> 
361                                            <#break> 
362                                        <#default> 
363                                    </#switch> 
364                                    <#assign APR=""> 
365                                    <#assign AMF=""> 
366                                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
367                                    <#if (scrapedData?size > 0)> 
368                                        <#list scrapedData as sItem> 
369                                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
370                                                <#assign APR = sItem.scrapedValue> 
371                                            <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
372                                                <#assign AMF = sItem.scrapedValue> 
373                                            </#if> 
374                                            <#if (APR?has_content && AMF?has_content)> 
375                                                <#break> 
376                                            </#if> 
377                                        </#list> 
378                                    </#if> 
379                                     
380                                <div class="jn-consumer-item item-${fib.offerType}" title="${partnerName!''} ${product!''} Credit Card"> 
381                                    <img src="${cardArtImage!''}"  alt="${partnerName!''}" class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
382                                    <h4>${consumerTitle.getSiblings()[cardIndex].Title.getData()}</h4> 
383                                    <p>${consumerTitle.getSiblings()[cardIndex].headlineText.getData()}</p> 
384                                    <ul class="actions">                                     
385                                        <li> 
386                                            <form action="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}" method="post" class="BAAForm"> 
387                                                <label for="appDataBAA-${fib.offerId}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
388                                                <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${fib.offerId}" class="appDataBAA" style="display:none;" title="application data"></textarea>                                         
389                                                <a class="applyNowLink apply-now-button"  
390                                                href="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}"  
391                                                data-button-name="apply-now-link" data-product-name="${productName}" 
392                                                title="Apply Now for ${partnerName!''} ${product!''} Credit Card">${consumerTitle.getSiblings()[cardIndex].applyNow.getData()}</a> 
393                                            </form> 
394                                        </li> 
395                                        <li><a href="${environment}/${productName}?bankercode=${bCode}&ecdma-lc=${lc}${ecidExt}">${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}</a></li> 
396                                    </ul> 
397                                    <div class="jn-additional"> 
398                                        <ul> 
399                                            <#if (fib.offerType == "144")> 
400                                                <li> 
401                                                    <p> 
402                                                        <strong>APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
403                                                        ${APR!''} 
404                                                        <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a> 
405                                                    </p> 
406                                                </li> 
407                                            <#else> 
408                                                <li> 
409                                                    <p> 
410                                                        <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
411                                                        ${APR!''} 
412                                                        <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a> 
413                                                    </p> 
414                                                </li> 
415                                            </#if> 
416                                            <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
417                                                <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
418                                                    <li>${marketingInfo.getData()}</li> 
419                                                </#list> 
420                                            </#if> 
421                                            <li><p>Annual Fee: ${AMF!''} <a 
422                                                href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank">Terms & Conditions</a></p> 
423                                            </li> 
424                                        </ul> 
425                                    </div> 
426                                </div> 
427                                 
428                            </#list> 
429                             
430                        </div> 
431                    </div> 
432                </#if>  
433                    <div class="more-link" ><a href="#" role="button" aria-label="More Cards"><div class="more-text">MORE <br> CARDS </div><div class="more-caret"></div></a></div> 
434                    <div class="less-link"><a href="#" role="button" aria-label="Less Cards"><div class="less-caret"></div> <div class="less-text">BACK</div></a></div> 
435            </div> 
436            <script> 
437                var consumerSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="consumerTab"]'; 
438                var businessSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="businessTab"]'; 
439                $(document).ready(function () { 
440                    var banker_code = "${bCode!''}"; 
441                    var tabs=$('.tab-nav'); 
442                    var slideDiv = $('.jn-tab-content.active');                    
443                    var screenWidthMobile = 768; 
444                    var screenWidth = window.innerWidth; 
445 
446                    if (tabs.length == 1) { 
447                        if ($(consumerSelector).length > 0) { 
448                            if(banker_code && (banker_code.indexOf("amp") == 0) && (banker_code.length > 6)) { 
449                                $("nav.jn-primary-nav").hide(); 
450                                changeCardLayout(consumerSelector); 
451                                createMetaTag("consumer"); 
452                            } else { 
453                                hideHeroAndDisclaimer('business'); 
454                                showHeroAndDisclaimer('consumer'); 
455                                changeCardLayout(consumerSelector); 
456                                renumberFootnote("consumer"); 
457                                createMetaTag("consumer");  
458
459                        }  
460                        if ($(businessSelector).length > 0) { 
461                            $(businessSelector).addClass('active'); 
462                            hideHeroAndDisclaimer('consumer'); 
463                            showHeroAndDisclaimer('business'); 
464                            changeCardLayout(businessSelector); 
465                            renumberFootnote("business"); 
466                            createMetaTag("business");  
467
468                        if(screenWidth > screenWidthMobile) { 
469                            if ($("#consumerTab").length > 0) { 
470                                if ($(consumerSelector + ' .jn-consumer-item').length > 3) { 
471                                    $('.more-link').show(); 
472                                } else { 
473                                    $('.more-link').hide(); 
474                                    $('.less-link').hide(); 
475
476                            } else if ($("#businessTab").length > 0) { 
477                                if ($(businessSelector + ' .jn-consumer-item').length > 3) { 
478                                    $('.more-link').show(); 
479                                } else { 
480                                    $('.more-link').hide(); 
481                                    $('.less-link').hide(); 
482
483
484 
485                        }  
486
487                    if (tabs.length == 2) { 
488                        renumberFootnote("consumer"); 
489                        renumberFootnote("business"); 
490                        createMetaTag("consumer"); 
491                        if ($(consumerSelector + ' .jn-consumer-item').length < 3) { 
492                            changeCardLayout(consumerSelector); 
493
494                        if ($(businessSelector + ' .jn-consumer-item').length < 3) { 
495                            changeCardLayout(businessSelector); 
496
497                        if(screenWidth > screenWidthMobile) { 
498                            if ($(consumerSelector + ' .jn-consumer-item').length > 3) { 
499                                $('.more-link').show(); 
500                            } else { 
501                                $('.more-link').hide(); 
502                                $('.less-link').hide(); 
503
504                            /* 
505                            if ($(businessSelector + ' .jn-consumer-item').length > 3) { 
506                                $('.more-link').show(); 
507                            } else { 
508                                $('.more-link').hide(); 
509                                $('.less-link').hide(); 
510
511                            */ 
512                          
513                            $(tabs).click(function(){ 
514                                if ($(this).attr('id') === "consumerTab") { 
515                                    if ($(consumerSelector + ' .jn-consumer-item').length > 3) { 
516                                        slideDiv = $('.jn-tab-content.active'); 
517                                        $(slideDiv).removeClass('transition-left'); 
518                                        $('.less-link').hide(); 
519                                        $('.more-link').show(); 
520                                    } else { 
521                                        $('.less-link').hide(); 
522                                        $('.more-link').hide(); 
523
524
525 
526                                if ($(this).attr('id') === "businessTab") { 
527                                    if ($(businessSelector + ' .jn-consumer-item').length > 3) { 
528                                        slideDiv = $('.jn-tab-content.active'); 
529                                        $(slideDiv).removeClass('transition-left'); 
530                                        $('.less-link').hide(); 
531                                        $('.more-link').show(); 
532                                    } else { 
533                                        $('.less-link').hide(); 
534                                        $('.more-link').hide(); 
535
536
537                            }); 
538                                
539
540                        var tabsNav = document.querySelectorAll('.tab-nav'); 
541                        togglePrimaryNav(tabsNav); 
542 
543
544                    $('.more-link, .less-link').click(function(e){ 
545                        e.preventDefault(); 
546                    }); 
547                    $('.more-link').click(function(){ 
548                        slideDiv = $('.jn-tab-content.active'); 
549                        $(slideDiv).addClass('transition-left'); 
550                        $('.less-link').show(); 
551                        $(this).hide(); 
552                    }); 
553                    $('.less-link').click(function(){ 
554                        slideDiv = $('.jn-tab-content.active'); 
555                        $(slideDiv).removeClass('transition-left'); 
556                        $(this).hide(); 
557                        $('.more-link').show(); 
558                    }); 
559 
560                }); 
561 
562                // Primary Nav function 
563                 
564                function togglePrimaryNav(elem) { 
565                    for (var i = 0; i < elem.length; i++) { 
566                        elem[i].addEventListener("click", function(e) { 
567 
568                            var current = this, 
569                                allSections = document.querySelectorAll('[data-id]'), 
570                                section = document.querySelector("[data-id='"+ current.id +"']"); 
571 
572                            for (var a = 0; a < allSections.length; a++) { 
573                                allSections[a].classList.remove('active'); 
574
575                            for (var c = 0; c < elem.length; c++) { 
576                                if (current != elem[c]) { 
577                                    elem[c].classList.remove('active'); 
578                                } else { 
579                                    current.classList.add('active'); 
580                                    section.classList.add('active'); 
581                                    hideHeroAndDisclaimer('consumer'); 
582                                    hideHeroAndDisclaimer('business'); 
583                                    if(current.getAttribute('id') === "consumerTab"){ 
584                                        showHeroAndDisclaimer('consumer'); 
585                                    } else if(current.getAttribute('id') === "businessTab"){ 
586                                        showHeroAndDisclaimer('business'); 
587
588
589
590                            e.preventDefault(); 
591                        }); 
592
593
594 
595                function renumberFootnote(type) { 
596                    var discriptionSelector = '.jn-consumer-content-wrapper.jn-tab-content' + '[data-id="' + type + 'Tab"]'; 
597                    var disclaimerSelector = '.tier1-disclaimer-landing-' + type; 
598                    var heroSelector = '.tier1-hero-landing-' + type; 
599                    var numOfFootnote = $(disclaimerSelector + ' sup').length; 
600                    var showList = []; 
601                    var hideList=[]; 
602                    for (var i = 1; i <= numOfFootnote; i++) { 
603                    var cssClass="tag-" + i; 
604                    if ($(discriptionSelector + ' sup').hasClass(cssClass) || $(heroSelector + ' sup').hasClass(cssClass)) { 
605                        showList.push(i);      
606                    } else { 
607                        hideList.push(i); 
608
609                    }  
610                    for (var i = 1; i < showList.length + 1; i++) { 
611                        if(showList[i-1] != i) { 
612                            var className="tag-" + showList[i-1]; 
613                            $(heroSelector).find("." +  className).html(i); 
614                            $(discriptionSelector).find("." +  className).html(i); 
615                            $(disclaimerSelector).find("." +  className).html(i); 
616
617
618                    for (var i = 0; i <hideList.length; i++) { 
619                        var cname="tag-" + hideList[i]; 
620                        $(disclaimerSelector).find("." + cname).parent().hide(); 
621                    }    
622
623 
624                function changeCardLayout(cssSelector) { 
625                    var numOfCards = $(cssSelector + ' .jn-consumer-item').length; 
626                    if(numOfCards == 1) { 
627                        $(cssSelector).addClass('one-card'); 
628                    } else if (numOfCards == 2) { 
629                        $(cssSelector).addClass('two-card'); 
630                    }   
631
632                function hideHeroAndDisclaimer(type) { 
633                    try { 
634                        document.querySelector('.tier1-hero-landing-'+ type).classList.remove('show'); 
635                        document.querySelector('.tier1-hero-landing-'+ type).classList.add('hide'); 
636                    } catch (e) { 
637                        console.log(e); 
638
639 
640                    try { 
641                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.remove('show'); 
642                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.add('hide');  
643                    } catch (e) { 
644                        console.log(e); 
645
646 
647
648                function showHeroAndDisclaimer(type) { 
649                    try { 
650                        document.querySelector('.tier1-hero-landing-'+ type).classList.add('show'); 
651                        document.querySelector('.tier1-hero-landing-'+ type).classList.remove('hide'); 
652                    } catch (e) { 
653                        console.log(e); 
654
655                     
656                    try { 
657                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.add('show'); 
658                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.remove('hide');  
659                    } catch (e) { 
660                        console.log(e); 
661
662 
663
664                function createMetaTag(type) { 
665                    var partnerName = "${partnerName!0}"; 
666                    var product_name = $('.jn-hero-container .jn-button').data('product-name'); 
667                    var metaDesc = ""; 
668                    if (type == "consumer") {     
669                        if(location.pathname.indexOf("11t1m") != -1) { 
670                            metaDesc = "Apply Today for an Ameriprise Financial Credit Card. Earn Rewards Points worth $375 cash value when deposited into an eligible account after spending $3,000 in eligible net purchases within the first 90 days of account opening." 
671                        } else {                                    
672                            if(product_name ==  "consumer-platinum2103") { 
673                                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."; 
674                            } else if(product_name ==  "real-rewards") { 
675                                metaDesc = "Apply Today for a "+partnerName+" Credit Card. Take home 2,500 bonus points after your first purchase."; 
676                            } else if(product_name ==  "secured") { 
677                                metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
678                            } else if(product_name ==  "max-cash") { 
679                                metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn a $150 Bonus and 5% cash back on the two categories you select."; 
680
681
682 
683                    } else if (type == "business") { 
684                        if(product_name ==  "business-cashback") {               
685                            metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn Cash back on common business expenses."; 
686                        } else if(product_name ==  "business-real-rewards") { 
687                            metaDesc = "Apply Today for a "+partnerName+" Credit Card. Get more rewards in the categories you spend the most on."; 
688                        } else if(product_name ==  "business-visa") { 
689                            metaDesc = "Apply Today for a "+partnerName+" Business Card. 0% Intro APR on Purchases and Balance Transfers for 15 Billing Cycles"; 
690                        } else if(product_name ==  "smart-business-rewards") { 
691                            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."; 
692
693
694                    var m = document.createElement('meta');  
695                    m.name = 'description';  
696                    m.content = metaDesc;  
697                    document.head.appendChild(m); 
698
699                function goToByScroll(id) { 
700                    var element = document.getElementById(id); 
701                    element.scrollIntoView(true); 
702
703                function slideAmount(length) { 
704 
705
706                 
707            </script> 
708            <script> 
709                    var reportingData = window.reportingData || {}; 
710                document.addEventListener('DOMContentLoaded', function() { 
711                    console.log('inside ready'); 
712                    var page = location.pathname.split('/')[location.pathname.split('/').length-1]; 
713                    var hostName = location.hostname;                                     
714                    function getDomainFromHostname(hostname) { 
715                        var parts = hostname.split('.'); 
716                        return parts.length === 3 ? parts[1] : parts[0]; 
717
718                    var domain = getDomainFromHostname(hostName); 
719                    var partnerName = "${partnerName!0}"; 
720                    var ameriprise = '${ameriprise?string("yes", "no")}'; 
721                    var locationCode = "${rLC!lc}"; 
722                    var eidAmp = ""; 
723                    if (ameriprise == "yes") { 
724                        var bankercode_amp = '${bCode}'; 
725                        eidAmp = bankercode_amp.substring(3); 
726                        locationCode =""; 
727                        document.title = "Ameriprise Financial Credit Card Overview Page"; 
728                    } else { 
729                        document.title = partnerName + " Credit Card Index Page"; 
730
731                     
732                    var lc = '${lc!0}'; 
733 
734                    var regex = /\d+/g; 
735                    var bdNumber = "${bPhone!''}"; 
736                    var phoneNum = bdNumber.match(regex); 
737                    var areaCode = ""; 
738                    var exchangeCode = ""; 
739                    var num = ""; 
740                    if(phoneNum != null) { 
741                        phoneNum = phoneNum.join(""); 
742                        areaCode = phoneNum.substring(0,3); 
743                        exchangeCode = phoneNum.substring(3,6); 
744                        num = phoneNum.substring(6,10); 
745
746 
747                        /* update SiteCatalyst data object */ 
748                    reportingData.current_page = "microsite:${partnerName}:" + domain + ':' + page.replace('-',' '); 
749                    reportingData.page_type = 'product';  
750                    reportingData.site_section = 'credit cards'; 
751                    reportingData.platform = 'microsite'; 
752                    reportingData.campaign_id = '${campaignId}'; 
753                    reportingData.location_code = '${rLC!0}'; 
754                    reportingData.partner_name = "${partnerName}"; 
755                    reportingData.product = 'All Cards'; 
756                    reportingData.text_to_apply_source = '${text_to_apply_source}'; 
757                    reportingData.visitor_type = 'prospect';         
758                    reportingData.Banker_id = '${boeid}'; 
759                    reportingData.Banker_code = '${bCode}'; 
760 
761                                                     
762                    /* SiteCatalyst  pageView tracking */ 
763                    AUI().ready(function() { 
764                        if (window.publisherFW) { 
765                            //console.log('reportingData', reportingData); 
766                            window.publisherFW.publishEvent("pageView", reportingData); 
767
768                    });  
769 
770                                     
771                    $('.jn-button').removeAttr('disabled'); 
772                    $('.jn-button').removeClass('jn-disabled'); 
773 
774                    jQuery('.applyNowLink').on('click', function(e){ 
775                        $(this).closest('.BAAForm').submit(); 
776                        ga("send", { 
777                            hitType: "event", 
778                            eventAction: "ApplyNow", 
779                            eventCategory: "click", 
780                            eventLabel: "BottomButton" 
781                        }); 
782                        return false; 
783                    }); 
784                    jQuery(".BAAForm").on("submit", function(e){ 
785                        e.preventDefault(); 
786                        console.log("in custom submit"); 
787                        var xmlData; 
788                        if(ameriprise == "yes") { 
789                            xmlData = '<?xml version="1.0"?>'+ 
790                                "<prefillData>"+  
791                                "<versionNumber>1.0</versionNumber>"+  
792                                "<applicationData>"+  
793                                "<referral>" +  
794                                "<employeeId>" + eidAmp + "</employeeId>" + 
795                                "<storeNumber>"+"${bName!'0'}"+"</storeNumber>"+ 
796                                "<divisionNumber></divisionNumber>"+ 
797                                "</referral>" +  
798                                "<bankerInformation>"+  
799                                "<locationCode>" + locationCode + "</locationCode>"+ 
800                                "<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
801                                "<employeeID>${boeid!0}</employeeID>"+ 
802                                "<name>" + 
803                                "<first>${bFName!'0'}</first>" + 
804                                "<last>${bLName!'0'}</last>" + 
805                                "</name>"+ 
806                                "<phone>"+ 
807                                "<areaCode>"+areaCode+"</areaCode>"+  
808                                "<exchange>"+exchangeCode+"</exchange>"+ 
809                                "<number>"+num+"</number>"+  
810                                "</phone>"+  
811                                "</bankerInformation>"+  
812                                "</applicationData>"+  
813                                "</prefillData>" 
814                        } else { 
815                            xmlData = '<?xml version="1.0"?>'+ 
816                                "<prefillData>"+  
817                                "<versionNumber>1.0</versionNumber>"+  
818                                "<applicationData>"+  
819                                "<bankerInformation>"+  
820                                "<locationCode>" + locationCode + "</locationCode>"+ 
821                                "<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
822                                "<employeeID>${boeid!0}</employeeID>"+ 
823                                "<name>" + 
824                                "<first>${bFName!'0'}</first>" + 
825                                "<last>${bLName!'0'}</last>" + 
826                                "</name>"+ 
827                                "<phone>"+ 
828                                "<areaCode>"+areaCode+"</areaCode>"+  
829                                "<exchange>"+exchangeCode+"</exchange>"+ 
830                                "<number>"+num+"</number>"+  
831                                "</phone>"+  
832                                "</bankerInformation>"+  
833                                "</applicationData>"+  
834                                "</prefillData>" 
835
836                        $(this).children(".appDataBAA").val(xmlData); 
837                        var buttonName = $(this).find(".apply-now-button").data("button-name"); 
838                        var productName = $(this).find(".apply-now-button").data("product-name"); 
839                        /* SiteCatalyst  onClick tracking */ 
840                        reportingData.apply_button = buttonName; 
841                        reportingData.product = productName; 
842 
843                        if (window.publisherFW) { 
844                            console.log('clicked', reportingData); 
845                            window.publisherFW.publishEvent("onClick", reportingData); 
846
847 
848                        this.submit(); 
849                    });                                                                
850                     
851 
852                }); 
853            </script>                    
854                 
855        </#if>  
856    </#if> 
857</#if> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 5, column 17 in 10153#10191#7973759.
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 
5<#assign bCode= qstringmap["bankercode"]?first> 
6<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
7<#list bData as b>      
8    <#assign lc = b.locationcode > 
9    <#assign rLC = b.reallocationcode > 
10    <#assign mappedLC = b.mappedLocationCode > 
11</#list>  
12<#if mappedLC?has_content && !(url?contains("11t1m"))> 
13    <#assign lc = mappedLC > 
14</#if> 
15<#if lc?has_content> 
16    <#assign prefix = "00000" > 
17    <#assign lcWithPrefix = prefix + lc > 
18    <#assign withPrefixLength = lcWithPrefix?length > 
19    <#assign startHere = withPrefixLength - 5> 
20    <#assign lc = lcWithPrefix?substring(startHere)> 
21    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
22    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
23 
24    <#assign clientProfile = clientProfileList?first>  
25    <#assign partnerName=clientProfile.getMarketingNameLong()> 
26</#if> 
27<div class="content-container" title="${partnerName} - Disclaimer"> 
28    <div class="jn-disclaimer tier1-disclaimer-${class.getData()}"> 
29        ${content.getData()} 
30    </div> 
31</div> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 6, column 17 in 10153#10191#5843861.
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<#assign bCode= qstringmap["bankercode"]?first> 
7<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
8<#list bData as b>      
9    <#assign lc = b.locationcode > 
10    <#assign rLC = b.reallocationcode > 
11    <#assign mappedLC = b.mappedLocationCode > 
12</#list>  
13 
14<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
15    <#assign ameriprise = true> 
16<#else> 
17    <#assign ameriprise = false> 
18</#if> 
19<#if mappedLC?has_content && !ameriprise> 
20    <#assign lc = mappedLC > 
21</#if> 
22 
23<#if lc?has_content> 
24 
25    <#assign prefix = "00000" > 
26    <#assign lcWithPrefix = prefix + lc > 
27    <#assign withPrefixLength = lcWithPrefix?length > 
28    <#assign startHere = withPrefixLength - 5> 
29    <#assign lc = lcWithPrefix?substring(startHere)> 
30    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
31    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
32 
33    <#assign clientProfile = clientProfileList?first> 
34    <#assign pbu = clientProfile.getPbu()> 
35    <#assign subbu = clientProfile.getSUBBRANDBUNBR()>   
36    <#assign partnerName=clientProfile.getMarketingNameLong()> 
37    <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
38    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
39    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
40    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\:&#x2F;&#x2F;.*")> 
41        <#-- add protocal if missing  --> 
42        <#assign partnerUrl = 'https://' + partnerUrl> 
43    </#if> 
44    <footer class="footer bg-color-black text-color-white"> 
45        ${footerContent.getData()} 
46    </footer> 
47    <#if url?contains("11t1m")> 
48        <script>                 
49            document.querySelector('.footer .copyright').classList.add("ecdma-footer-client-name-copyright"); 
50            document.querySelector('.footer .fdic').innerHTML='<a class="text-color-white" href="https://login.elancreditcard.com/onlineCard/publicPrivacyPolicy.do?loc=18598" target="_blank">Privacy and Security</a>'; 
51        </script> 
52    <#else> 
53        <script>                 
54            document.querySelector('.footer .copyright').classList.add("ecdma-footer-client-name-copyright"); 
55            document.querySelector('.footer .fdic').innerHTML='<a class="text-color-white" href="https://www.myaccountaccess.com/onlineCard/publicPrivacyPolicy.do?loc=${lc!0}" target="_blank">Privacy and Security</a>'; 
56            var newNode = document.createElement("div");  
57             newNode.classList.add("member-agreement"); 
58            newNode.innerHTML='<a class="text-color-white" href="https://online1.elancard.com/oad/cmas.controller?locationCode=${lc!0}&preparerType=customer&isNewRequest=false" target="_blank">Cardmember Agreements</a>'; 
59            var fdicNode = document.querySelector('.footer .fdic'); 
60            var parent = fdicNode.parentNode; 
61            parent.insertBefore(newNode, fdicNode); 
62        </script> 
63    </#if> 
64 
65    <#if partnerUrl?has_content> 
66        <script> 
67            document.querySelector('.copyright .homelink').innerHTML="<a class='text-color-white' href='${partnerUrl!''}' title='${partnerName!''}' target='_blank'>Home</a>"; 
68        </script> 
69    </#if> 
70</#if>