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