웹 내용 전시

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 7, column 17 in 10154#10192#153411699.
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 
7<#assign bCode= qstringmap["bankercode"]?first> 
8<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
9<#list bData as b>      
10    <#assign lc = b.locationcode > 
11    <#assign rLC = b.reallocationcode > 
12    <#assign mappedLC = b.mappedLocationCode > 
13</#list>  
14<#if mappedLC?has_content> 
15    <#assign lc = mappedLC > 
16</#if> 
17<#if lc?has_content> 
18    <#assign prefix = "00000" > 
19    <#assign lcWithPrefix = prefix + lc > 
20    <#assign withPrefixLength = lcWithPrefix?length > 
21    <#assign startHere = withPrefixLength - 5> 
22    <#assign lc = lcWithPrefix?substring(startHere)> 
23    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
24    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
25    <#assign clientProfile = clientProfileList?first> 
26    <#assign partnerName = clientProfile.getMarketingNameLong()> 
27    <#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
28 
29    <#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
30    <div class="content-container content-container-main" title="${partnerName!''}"> 
31        <header class="jn-header"> 
32            <div class="header-logo">  
33                <img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''}" title="${partnerName!''}"> 
34            </div>  
35        </header> 
36    </div>        
37</#if> 

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 7, column 17 in 10154#10192#153759683.
1<#assign oadURL = propsUtil.get('elan.oad.url') > 
2<#assign url = request.attributes.CURRENT_URL > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html' > 
6 
7<#assign bCode= qstringmap["bankercode"]?first> 
8<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
9<#list bData as b>      
10    <#assign lc = b.locationcode > 
11    <#assign rLC = b.reallocationcode > 
12    <#assign mappedLC = b.mappedLocationCode > 
13</#list>  
14<#if mappedLC?has_content> 
15    <#assign lc = mappedLC > 
16</#if> 
17<#if lc?has_content> 
18    <#assign prefix = "00000" > 
19    <#assign lcWithPrefix = prefix + lc > 
20    <#assign withPrefixLength = lcWithPrefix?length > 
21    <#assign startHere = withPrefixLength - 5> 
22    <#assign lc = lcWithPrefix?substring(startHere)>         
23    <#assign clientProfileService=serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService")> 
24    <#assign clientProfileList=clientProfileService.findByLocationCode(lc)> 
25 
26    <#assign clientProfile=clientProfileList?first> 
27    <#assign partnerName=clientProfile.getMarketingNameLong()> 
28    <#assign pbu=clientProfile.getPbu()> 
29    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
30    <#assign cdnCardArtUrl=propsUtil.get('rackspace.cdn.cardart.url')> 
31    <#assign fiCardsData=utilServ.makeCall('crcTier3GetPbuData','0&'+pbu+'&'+subbu)> 
32             
33    <#-- filter cards by sourceCode and offerId and remove duplicated cards--> 
34    <#assign temp = []> 
35    <#assign offerTypeList = []>      
36    <#assign index = 0> 
37    <#list fiCardsData as fib> 
38        <#if (fib.offerId?has_content && fib.sourceCode?has_content)>   
39            <#if !(offerTypeList?seq_contains(fib.offerType))> 
40                <#assign offerTypeList = offerTypeList + [fib.offerType]>                    
41                <#assign temp = temp + fiCardsData[index..index]>  
42            </#if> 
43        </#if>  
44        <#assign index = index + 1>                  
45    </#list>  
46    <#assign fiCardsData = temp>  
47    <#if (fiCardsData?size > 0)>     
48        <#assign offerId = ""> 
49        <#assign sourceCode = ""> 
50        <#assign cardArtImage = ""> 
51        <#assign productName = ""> 
52        <#assign preparerType = "customer"> 
53        <#assign apr = ""> 
54        <#list fiCardsData as card> 
55            <#if (class.getData() == "landing-consumer" && card.offerType=="108" ) || (class.getData() == "landing-consumer" && card.offerType=="109" ) ||(class.getData() == "landing-business" && card.offerType=="144")> 
56                <#assign offerId = card.offerId> 
57                <#assign sourceCode = card.sourceCode> 
58                <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
59                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
60                <#if (card.offerType=="108") || (card.offerType=="109")> 
61                    <#assign productName="platinum"> 
62                    <#assign card_text = "Platinum Card"> 
63                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
64                    <#if (scrapedData?size > 0)> 
65                        <#list scrapedData as sItem> 
66                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
67                                <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
68                                <#break> 
69                            </#if> 
70                        </#list> 
71                        <script> 
72                            $(document).ready(function () { 
73                                var aprText = "${apr}"; 
74                                if (aprText) { 
75                                    try { 
76                                        var matches= aprText.match(/\d+(\.\d+)?%?/g); 
77                                        var billing_cycle = matches[1]; 
78                                        var apr_min = apr_min = matches[2]; 
79                                        var apr_max = apr_max = matches[3]; 
80                                        if (billing_cycle) { 
81                                            $(".scraped-billing-cycle").html(billing_cycle); 
82
83                                        if (apr_min) { 
84                                            $(".scraped-apr-min").html(apr_min); 
85
86                                        if (apr_max) { 
87                                            $('.scraped-apr-max').html(apr_max); 
88
89 
90                                    } catch (e) { 
91                                        console.log(e); 
92
93
94                            }); 
95                        </script> 
96                    </#if>   
97                <#elseif (card.offerType=="144")> 
98                    <#assign productName="smart-business-rewards"> 
99                     <#assign card_text = "Smart Business Rewards Card"> 
100                </#if>                
101            </#if> 
102        </#list> 
103         
104        <div class="content-container content-container-main product-${productName} tier2-hero-${class.getData()}"> 
105            <div class="jn-hero jn-hero-card"> 
106                <article class="jn-hero-container"> 
107                    <div class="jn-hero-container-data"> 
108                        <article> 
109                            <div> 
110                                <img src="${cardArtImage!''}" alt="${partnerName!''}" class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
111                                <p>${card_text!''}</p> 
112                            </div> 
113                            <div> 
114                                <div>${primaryHeadlineText.getData()}</div> 
115                                <div class="feature-text">${primaryFeatureText.getData()}</div> 
116                                <#if termsAndConditions.getData() == "yes"> 
117                                    <div class="intro"> 
118                                        <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong>${card.APR} 
119                                        <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=${preparerType}#termsAndCond-details" target="_blank">Terms & Conditions</a> 
120                                    </div> 
121                                </#if> 
122                                <form action="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=${preparerType}&sourceCode=${sourceCode}" method="post" class="BAAForm"> 
123                                    <label for="appDataBAA-${sourceCode}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
124                                    <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${sourceCode}" class="appDataBAA" style="display:none;"></textarea> 
125                                    <input type="submit" data-button-name="cta-button-top" data-product-name="${productName}" title="Apply Now for ${partnerName!''} Credit Card"  
126                                        class="jn-button apply-now-button apply-button text-bold button-bg-color-custom text-color-white" value="${ctaText.getData()}" disabled /> 
127                                </form>                                                
128                            </div> 
129                        </article> 
130                    </div> 
131                </article> 
132            </div> 
133        </div> 
134 
135    </#if> 
136</#if> 

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 7, column 17 in 10154#10192#153759683.
1<#assign oadURL = propsUtil.get('elan.oad.url') > 
2<#assign url = request.attributes.CURRENT_URL > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html' > 
6 
7<#assign bCode= qstringmap["bankercode"]?first> 
8<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
9<#list bData as b>      
10    <#assign lc = b.locationcode > 
11    <#assign rLC = b.reallocationcode > 
12    <#assign mappedLC = b.mappedLocationCode > 
13</#list>  
14<#if mappedLC?has_content> 
15    <#assign lc = mappedLC > 
16</#if> 
17<#if lc?has_content> 
18    <#assign prefix = "00000" > 
19    <#assign lcWithPrefix = prefix + lc > 
20    <#assign withPrefixLength = lcWithPrefix?length > 
21    <#assign startHere = withPrefixLength - 5> 
22    <#assign lc = lcWithPrefix?substring(startHere)>         
23    <#assign clientProfileService=serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService")> 
24    <#assign clientProfileList=clientProfileService.findByLocationCode(lc)> 
25 
26    <#assign clientProfile=clientProfileList?first> 
27    <#assign partnerName=clientProfile.getMarketingNameLong()> 
28    <#assign pbu=clientProfile.getPbu()> 
29    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
30    <#assign cdnCardArtUrl=propsUtil.get('rackspace.cdn.cardart.url')> 
31    <#assign fiCardsData=utilServ.makeCall('crcTier3GetPbuData','0&'+pbu+'&'+subbu)> 
32             
33    <#-- filter cards by sourceCode and offerId and remove duplicated cards--> 
34    <#assign temp = []> 
35    <#assign offerTypeList = []>      
36    <#assign index = 0> 
37    <#list fiCardsData as fib> 
38        <#if (fib.offerId?has_content && fib.sourceCode?has_content)>   
39            <#if !(offerTypeList?seq_contains(fib.offerType))> 
40                <#assign offerTypeList = offerTypeList + [fib.offerType]>                    
41                <#assign temp = temp + fiCardsData[index..index]>  
42            </#if> 
43        </#if>  
44        <#assign index = index + 1>                  
45    </#list>  
46    <#assign fiCardsData = temp>  
47    <#if (fiCardsData?size > 0)>     
48        <#assign offerId = ""> 
49        <#assign sourceCode = ""> 
50        <#assign cardArtImage = ""> 
51        <#assign productName = ""> 
52        <#assign preparerType = "customer"> 
53        <#assign apr = ""> 
54        <#list fiCardsData as card> 
55            <#if (class.getData() == "landing-consumer" && card.offerType=="108" ) || (class.getData() == "landing-consumer" && card.offerType=="109" ) ||(class.getData() == "landing-business" && card.offerType=="144")> 
56                <#assign offerId = card.offerId> 
57                <#assign sourceCode = card.sourceCode> 
58                <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
59                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
60                <#if (card.offerType=="108") || (card.offerType=="109")> 
61                    <#assign productName="platinum"> 
62                    <#assign card_text = "Platinum Card"> 
63                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
64                    <#if (scrapedData?size > 0)> 
65                        <#list scrapedData as sItem> 
66                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
67                                <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
68                                <#break> 
69                            </#if> 
70                        </#list> 
71                        <script> 
72                            $(document).ready(function () { 
73                                var aprText = "${apr}"; 
74                                if (aprText) { 
75                                    try { 
76                                        var matches= aprText.match(/\d+(\.\d+)?%?/g); 
77                                        var billing_cycle = matches[1]; 
78                                        var apr_min = apr_min = matches[2]; 
79                                        var apr_max = apr_max = matches[3]; 
80                                        if (billing_cycle) { 
81                                            $(".scraped-billing-cycle").html(billing_cycle); 
82
83                                        if (apr_min) { 
84                                            $(".scraped-apr-min").html(apr_min); 
85
86                                        if (apr_max) { 
87                                            $('.scraped-apr-max').html(apr_max); 
88
89 
90                                    } catch (e) { 
91                                        console.log(e); 
92
93
94                            }); 
95                        </script> 
96                    </#if>   
97                <#elseif (card.offerType=="144")> 
98                    <#assign productName="smart-business-rewards"> 
99                     <#assign card_text = "Smart Business Rewards Card"> 
100                </#if>                
101            </#if> 
102        </#list> 
103         
104        <div class="content-container content-container-main product-${productName} tier2-hero-${class.getData()}"> 
105            <div class="jn-hero jn-hero-card"> 
106                <article class="jn-hero-container"> 
107                    <div class="jn-hero-container-data"> 
108                        <article> 
109                            <div> 
110                                <img src="${cardArtImage!''}" alt="${partnerName!''}" class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
111                                <p>${card_text!''}</p> 
112                            </div> 
113                            <div> 
114                                <div>${primaryHeadlineText.getData()}</div> 
115                                <div class="feature-text">${primaryFeatureText.getData()}</div> 
116                                <#if termsAndConditions.getData() == "yes"> 
117                                    <div class="intro"> 
118                                        <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong>${card.APR} 
119                                        <a href="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=${preparerType}#termsAndCond-details" target="_blank">Terms & Conditions</a> 
120                                    </div> 
121                                </#if> 
122                                <form action="${oadURL}?locationCode=${lc}&offerId=${offerId}&preparerType=${preparerType}&sourceCode=${sourceCode}" method="post" class="BAAForm"> 
123                                    <label for="appDataBAA-${sourceCode}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
124                                    <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${sourceCode}" class="appDataBAA" style="display:none;"></textarea> 
125                                    <input type="submit" data-button-name="cta-button-top" data-product-name="${productName}" title="Apply Now for ${partnerName!''} Credit Card"  
126                                        class="jn-button apply-now-button apply-button text-bold button-bg-color-custom text-color-white" value="${ctaText.getData()}" disabled /> 
127                                </form>                                                
128                            </div> 
129                        </article> 
130                    </div> 
131                </article> 
132            </div> 
133        </div> 
134 
135    </#if> 
136</#if> 

웹 내용 전시

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

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 5, column 17 in 10154#10192#153411705.
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('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
7<#list bData as b>      
8    <#assign lc = b.locationcode > 
9    <#assign rLC = b.reallocationcode > 
10    <#assign mappedLC = b.mappedLocationCode > 
11</#list>  
12<#if mappedLC?has_content> 
13    <#assign lc = mappedLC > 
14</#if> 
15<#assign prefix = "00000" > 
16<#assign lcWithPrefix = prefix + lc > 
17<#assign withPrefixLength = lcWithPrefix?length > 
18<#assign startHere = withPrefixLength - 5> 
19<#assign lc = lcWithPrefix?substring(startHere)> 
20<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
21<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
22 
23<#assign clientProfile = clientProfileList?first>  
24<#assign partnerName=clientProfile.getMarketingNameLong()> 
25 
26 
27<div class="content-container" title="${partnerName} - Disclaimer"> 
28    <div class="jn-disclaimer tier2-disclaimer-${class.getData()}"> 
29        ${content.getData()} 
30    </div> 
31</div> 

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 5, column 17 in 10154#10192#153411705.
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('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
7<#list bData as b>      
8    <#assign lc = b.locationcode > 
9    <#assign rLC = b.reallocationcode > 
10    <#assign mappedLC = b.mappedLocationCode > 
11</#list>  
12<#if mappedLC?has_content> 
13    <#assign lc = mappedLC > 
14</#if> 
15<#assign prefix = "00000" > 
16<#assign lcWithPrefix = prefix + lc > 
17<#assign withPrefixLength = lcWithPrefix?length > 
18<#assign startHere = withPrefixLength - 5> 
19<#assign lc = lcWithPrefix?substring(startHere)> 
20<#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
21<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
22 
23<#assign clientProfile = clientProfileList?first>  
24<#assign partnerName=clientProfile.getMarketingNameLong()> 
25 
26 
27<div class="content-container" title="${partnerName} - Disclaimer"> 
28    <div class="jn-disclaimer tier2-disclaimer-${class.getData()}"> 
29        ${content.getData()} 
30    </div> 
31</div> 

웹 내용 전시

템플렛을 가공하고 있는 동안 과실은 일어났다.
Expression qstringmap["bankercode"] is undefined on line 7, column 17 in 10154#10192#153411717.
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 
7<#assign bCode= qstringmap["bankercode"]?first> 
8<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
9<#list bData as b>   
10 
11    <#assign lc = b.locationcode > 
12    <#assign rLC = b.reallocationcode > 
13    <#assign mappedLC = b.mappedLocationCode > 
14</#list>  
15<#if mappedLC?has_content> 
16    <#assign lc = mappedLC > 
17</#if> 
18 
19<#if lc?has_content> 
20    <#assign prefix = "00000" > 
21    <#assign lcWithPrefix = prefix + lc > 
22    <#assign withPrefixLength = lcWithPrefix?length > 
23    <#assign startHere = withPrefixLength - 5> 
24    <#assign lc = lcWithPrefix?substring(startHere)> 
25 
26   <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
27   <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
28    <#assign clientProfile = clientProfileList?first> 
29    <#assign pbu = clientProfile.getPbu()> 
30    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
31    <#assign partnerName=clientProfile.getMarketingNameLong()> 
32    <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
33    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
34    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
35    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\:&#x2F;&#x2F;.*")> 
36        <#assign partnerUrl = 'https://' + partnerUrl> 
37    </#if> 
38    <footer class="footer bg-color-black text-color-white"> 
39        ${footerContent.getData()} 
40    </footer> 
41    <script>                 
42            document.querySelector('.footer .copyright').classList.add('ecdma-footer-client-name-copyright'); 
43            document.querySelector('.footer .fdic').innerHTML = "<p><a class='text-color-white' href='https://www.myaccountaccess.com/onlineCard/publicPrivacyPolicy.do?loc=${lc!0}' target='_blank'>Privacy and Security</a></p>"; 
44            var newNode = document.createElement("div");  
45            newNode.classList.add("member-agreement"); 
46            newNode.innerHTML='<p><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></p>'; 
47            var fdicNode = document.querySelector('.footer .fdic'); 
48            var parent = fdicNode.parentNode; 
49            parent.insertBefore(newNode, fdicNode); 
50    </script> 
51    <#if partnerUrl?has_content> 
52        <script> 
53            document.querySelector('.copyright .homelink').innerHTML="<a class='text-color-white' href='${partnerUrl!''}' title='${partnerName!''}' target='_blank'>Home</a>"; 
54        </script> 
55    </#if> 
56</#if>