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