URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Submission: On April 16 via api from US

Summary

This website contacted 58 IPs in 8 countries across 50 domains to perform 223 HTTP transactions. The main IP is 2a02:26f0:6c00:189::eaf, located in Ascension Island and belongs to AKAMAI-ASN1, US. The main domain is www.kohls.com.
TLS certificate: Issued by DigiCert SHA2 Extended Validation Ser... on January 21st 2020. Valid for: 2 years.
This is the only time www.kohls.com was scanned on urlscan.io!

urlscan.io Verdict: No classification

Domain & IP information

IP Address AS Autonomous System
70 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
3 74.119.119.135 19750 (AS-CRITEO)
1 4 54.76.175.152 16509 (AMAZON-02)
3 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
3 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
1 52.208.212.211 16509 (AMAZON-02)
2 15.188.31.119 16509 (AMAZON-02)
1 1 66.117.28.86 15224 (OMNITURE)
1 66.117.29.4 15224 (OMNITURE)
2 178.250.0.130 44788 (ASN-CRITE...)
1 178.250.2.149 44788 (ASN-CRITE...)
1 13.225.73.37 16509 (AMAZON-02)
1 54.243.79.244 14618 (AMAZON-AES)
6 23.37.48.184 16625 (AKAMAI-AS)
6 46.137.100.137 16509 (AMAZON-02)
1 34.194.93.145 14618 (AMAZON-AES)
2 2a00:1450:400... 15169 (GOOGLE)
1 172.217.23.98 15169 (GOOGLE)
1 5 2a00:1450:400... 15169 (GOOGLE)
2 6 2a00:1450:400... 15169 (GOOGLE)
6 2a00:1450:400... 15169 (GOOGLE)
1 3.210.28.246 14618 (AMAZON-AES)
3 2620:1ec:c11:... 8068 (MICROSOFT...)
2 23.11.238.95 16625 (AKAMAI-AS)
2 2a00:1450:400... 15169 (GOOGLE)
2 2a03:2880:f02... 32934 (FACEBOOK)
1 13.225.73.102 16509 (AMAZON-02)
1 151.101.113.179 54113 (FASTLY)
2 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
1 13.224.194.81 16509 (AMAZON-02)
6 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
1 74.119.118.146 19750 (AS-CRITEO)
1 2 172.217.18.166 15169 (GOOGLE)
2 13.225.73.33 16509 (AMAZON-02)
1 35.186.249.72 15169 (GOOGLE)
1 1 178.250.0.157 44788 (ASN-CRITE...)
1 1 2600:1f18:730... 14618 (AMAZON-AES)
1 52.200.119.212 14618 (AMAZON-AES)
2 2 185.33.220.241 29990 (ASN-APPNEX)
2 3.248.119.92 16509 (AMAZON-02)
1 1 172.217.22.98 15169 (GOOGLE)
1 2600:9000:21f... 16509 (AMAZON-02)
1 1 2a00:1450:400... 15169 (GOOGLE)
2 35.186.226.184 15169 (GOOGLE)
1 2606:4700::68... 13335 (CLOUDFLAR...)
1 54.164.173.111 14618 (AMAZON-AES)
1 35.227.211.136 15169 (GOOGLE)
1 23.213.15.82 16625 (AKAMAI-AS)
13 2a00:1450:400... 15169 (GOOGLE)
1 151.101.12.157 54113 (FASTLY)
2 104.244.42.67 13414 (TWITTER)
2 104.244.42.69 13414 (TWITTER)
3 2a03:2880:f12... 32934 (FACEBOOK)
4 52.200.2.193 14618 (AMAZON-AES)
6 34.200.164.188 14618 (AMAZON-AES)
9 172.217.22.66 15169 (GOOGLE)
2 23.213.164.234 16625 (AKAMAI-AS)
10 2a00:1450:400... 15169 (GOOGLE)
1 35.190.72.21 15169 (GOOGLE)
1 34.95.127.121 15169 (GOOGLE)
4 2a00:1450:400... 15169 (GOOGLE)
2 2404:6800:400... 15169 (GOOGLE)
1 52.6.27.178 14618 (AMAZON-AES)
223 58
Apex Domain
Subdomains
Transfer
43 kohls.com
www.kohls.com
api-bd.kohls.com
ww8.kohls.com
mon1.kohls.com
1 MB
32 kohlsimg.com
media.kohlsimg.com
194 KB
18 doubleclick.net
googleads.g.doubleclick.net
8632166.fls.doubleclick.net
cm.g.doubleclick.net
stats.g.doubleclick.net
securepubads.g.doubleclick.net
207 KB
16 googlesyndication.com
tpc.googlesyndication.com
pagead2.googlesyndication.com
103 KB
16 clicktale.net
cdnssl.clicktale.net
conductor.clicktale.net
ing-district.clicktale.net
136 KB
8 google.de
www.google.de
adservice.google.de
1005 B
7 google.com
www.google.com
adservice.google.com
972 B
6 thebrighttag.com
s.thebrighttag.com
12 KB
6 btstatic.com
s.btstatic.com
17 KB
5 demdex.net
dpm.demdex.net
kohls.demdex.net
8 KB
5 criteo.com
d.us.criteo.com
b.criteo.com
gum.criteo.com
140 KB
4 ampproject.org
cdn.ampproject.org
146 KB
4 googletagservices.com
www.googletagservices.com
85 KB
3 facebook.com
www.facebook.com
527 B
3 liadm.com
rp.liadm.com
rp4.liadm.com
idx.liadm.com
1 KB
3 bing.com
bat.bing.com
8 KB
2 gstatic.com
csi.gstatic.com
363 B
2 pinterest.com
ct.pinterest.com
634 B
2 t.co
t.co
294 B
2 twitter.com
analytics.twitter.com
283 B
2 snapchat.com
tr.snapchat.com
2 adsrvr.org
match.adsrvr.org
966 B
2 adnxs.com
secure.adnxs.com
2 KB
2 micpn.com
tjxbfc1n.micpn.com
16 KB
2 pinimg.com
s.pinimg.com
17 KB
2 tagdelivery.com
cdn.tagdelivery.com
ad.tagdelivery.com
12 KB
2 facebook.net
connect.facebook.net
142 KB
2 google-analytics.com
www.google-analytics.com
18 KB
2 scorecardresearch.com
sb.scorecardresearch.com
1 KB
2 googletagmanager.com
www.googletagmanager.com
59 KB
2 zineone.com
cdn.zineone.com
apps.zineone.com
176 KB
2 criteo.net
static.criteo.net
520 B
2 go-mpulse.net
s.go-mpulse.net
c.go-mpulse.net
52 KB
1 ojrq.net
www.ojrq.net
416 B
1 rlcdn.com
idsync.rlcdn.com
api.rlcdn.com Failed
40 B
1 akstat.io
6852bd0a.akstat.io
201 B
1 ads-twitter.com
static.ads-twitter.com
2 KB
1 indexww.com
js-sec.indexww.com
37 KB
1 sjv.io
kohls.sjv.io
827 B
1 cloudflare.com
www.cloudflare.com
565 B
1 agkn.com
d.agkn.com
587 B
1 impactradius-event.com
d.impactradius-event.com
13 KB
1 hlserve.com
www.hlserve.com
73 KB
1 curalate.com
cdn.curalate.com
16 KB
1 sc-static.net
sc-static.net
6 KB
1 igodigital.com
6249496.collect.igodigital.com
2 KB
1 googleadservices.com
www.googleadservices.com
10 KB
1 brsrvr.com
cdns.brsrvr.com
4 KB
1 omtrdc.net
kohls.tt.omtrdc.net
6 KB
1 everesttech.net
cm.everesttech.net
554 B
223 50
Domain Requested by
32 media.kohlsimg.com www.kohls.com
28 www.kohls.com www.kohls.com
s.go-mpulse.net
10 tpc.googlesyndication.com securepubads.g.doubleclick.net
www.kohls.com
tpc.googlesyndication.com
cdn.ampproject.org
9 securepubads.g.doubleclick.net www.googletagservices.com
s.go-mpulse.net
securepubads.g.doubleclick.net
www.kohls.com
8 api-bd.kohls.com www.kohls.com
api-bd.kohls.com
s.go-mpulse.net
6 pagead2.googlesyndication.com s.go-mpulse.net
securepubads.g.doubleclick.net
6 ing-district.clicktale.net s.go-mpulse.net
6 cdnssl.clicktale.net www.kohls.com
cdnssl.clicktale.net
6 www.google.de www.kohls.com
6 www.google.com 2 redirects www.kohls.com
6 s.thebrighttag.com s.btstatic.com
www.kohls.com
6 s.btstatic.com www.kohls.com
s.btstatic.com
5 googleads.g.doubleclick.net 1 redirects www.googleadservices.com
5 mon1.kohls.com www.kohls.com
mon1.kohls.com
4 cdn.ampproject.org securepubads.g.doubleclick.net
4 conductor.clicktale.net cdnssl.clicktale.net
s.go-mpulse.net
4 www.googletagservices.com www.kohls.com
securepubads.g.doubleclick.net
4 dpm.demdex.net 1 redirects www.kohls.com
s.go-mpulse.net
3 www.facebook.com
3 bat.bing.com s.btstatic.com
3 d.us.criteo.com www.kohls.com
d.us.criteo.com
2 csi.gstatic.com cdn.ampproject.org
securepubads.g.doubleclick.net
2 ct.pinterest.com s.go-mpulse.net
2 adservice.google.de www.googletagservices.com
2 t.co
2 analytics.twitter.com static.ads-twitter.com
2 tr.snapchat.com sc-static.net
2 match.adsrvr.org s.go-mpulse.net
2 secure.adnxs.com 2 redirects
2 tjxbfc1n.micpn.com www.kohls.com
2 8632166.fls.doubleclick.net 1 redirects www.googletagmanager.com
2 s.pinimg.com www.kohls.com
s.pinimg.com
2 connect.facebook.net s.btstatic.com
connect.facebook.net
2 www.google-analytics.com www.kohls.com
2 sb.scorecardresearch.com www.kohls.com
2 www.googletagmanager.com s.btstatic.com
2 static.criteo.net www.kohls.com
2 ww8.kohls.com www.kohls.com
1 idx.liadm.com s.go-mpulse.net
1 www.ojrq.net
1 idsync.rlcdn.com
1 6852bd0a.akstat.io s.go-mpulse.net
1 adservice.google.com www.googletagservices.com
1 static.ads-twitter.com s.btstatic.com
1 js-sec.indexww.com www.kohls.com
1 kohls.sjv.io s.go-mpulse.net
1 ad.tagdelivery.com cdn.tagdelivery.com
1 www.cloudflare.com s.go-mpulse.net
1 stats.g.doubleclick.net 1 redirects
1 d.agkn.com
1 cm.g.doubleclick.net 1 redirects
1 rp4.liadm.com
1 rp.liadm.com 1 redirects
1 gum.criteo.com 1 redirects
1 d.impactradius-event.com www.kohls.com
1 www.hlserve.com s.btstatic.com
1 cdn.curalate.com www.kohls.com
1 cdn.tagdelivery.com s.btstatic.com
1 sc-static.net www.kohls.com
1 6249496.collect.igodigital.com s.btstatic.com
1 www.googleadservices.com www.googletagmanager.com
1 apps.zineone.com s.go-mpulse.net
1 cdns.brsrvr.com www.kohls.com
1 cdn.zineone.com www.kohls.com
1 b.criteo.com www.kohls.com
1 kohls.tt.omtrdc.net www.kohls.com
1 c.go-mpulse.net s.go-mpulse.net
1 cm.everesttech.net 1 redirects
1 kohls.demdex.net www.kohls.com
1 s.go-mpulse.net www.kohls.com
0 api.rlcdn.com Failed s.go-mpulse.net
223 71
Subject Issuer Validity Valid
www.kohls.com
DigiCert SHA2 Extended Validation Server CA
2020-01-21 -
2021-09-26
2 years crt.sh
*.us.criteo.com
DigiCert ECC Secure Server CA
2019-06-12 -
2020-06-16
a year crt.sh
*.demdex.net
DigiCert SHA2 High Assurance Server CA
2018-01-09 -
2021-02-12
3 years crt.sh
akstat.io
DigiCert SHA2 Secure Server CA
2019-04-16 -
2020-06-14
a year crt.sh
ww8.kohls.com
DigiCert SHA2 High Assurance Server CA
2019-10-16 -
2021-01-20
a year crt.sh
*.tt.omtrdc.net
DigiCert SHA2 High Assurance Server CA
2017-10-19 -
2020-11-25
3 years crt.sh
*.criteo.net
DigiCert ECC Secure Server CA
2020-03-30 -
2020-06-28
3 months crt.sh
*.criteo.com
DigiCert ECC Secure Server CA
2020-03-30 -
2020-06-28
3 months crt.sh
*.zineone.com
Amazon
2019-08-28 -
2020-09-28
a year crt.sh
*.brsrvr.com
Go Daddy Secure Certificate Authority - G2
2018-06-30 -
2020-08-29
2 years crt.sh
s.btstatic.com
DigiCert SHA2 Secure Server CA
2020-02-10 -
2022-02-17
2 years crt.sh
*.thebrighttag.com
DigiCert SHA2 Secure Server CA
2020-03-16 -
2021-03-24
a year crt.sh
*.google-analytics.com
GTS CA 1O1
2020-03-24 -
2020-06-16
3 months crt.sh
www.googleadservices.com
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
*.g.doubleclick.net
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
www.google.com
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
www.google.de
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
*.collect.igodigital.com
DigiCert SHA2 Secure Server CA
2020-02-14 -
2021-02-18
a year crt.sh
www.bing.com
Microsoft IT TLS CA 2
2019-04-30 -
2021-04-30
2 years crt.sh
*.scorecardresearch.com
Sectigo RSA Organization Validation Secure Server CA
2019-12-16 -
2020-12-25
a year crt.sh
*.facebook.com
DigiCert SHA2 High Assurance Server CA
2020-03-01 -
2020-05-30
3 months crt.sh
sc-static.net
DigiCert SHA2 Secure Server CA
2019-03-11 -
2021-03-15
2 years crt.sh
n.ssl.fastly.net
GlobalSign CloudSSL CA - SHA256 - G3
2019-11-07 -
2021-03-03
a year crt.sh
*.pinterest.com
DigiCert SHA2 High Assurance Server CA
2019-06-05 -
2020-07-22
a year crt.sh
*.curalate.com
Amazon
2020-02-18 -
2021-03-18
a year crt.sh
*.clicktale.net
DigiCert SHA2 Secure Server CA
2019-10-06 -
2020-11-04
a year crt.sh
*.hlserve.com
DigiCert ECC Secure Server CA
2019-07-01 -
2020-07-08
a year crt.sh
*.doubleclick.net
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
*.micpn.com
Sectigo RSA Domain Validation Secure Server CA
2019-03-18 -
2020-06-15
a year crt.sh
*.impactradius-event.com
COMODO RSA Domain Validation Secure Server CA
2019-01-08 -
2021-01-20
2 years crt.sh
*.liadm.com
Amazon
2020-01-17 -
2021-02-17
a year crt.sh
*.adsrvr.org
Trustwave Organization Validation SHA256 CA, Level 1
2019-03-07 -
2021-04-19
2 years crt.sh
*.agkn.com
RapidSSL RSA CA 2018
2018-06-21 -
2020-09-16
2 years crt.sh
tr.snapchat.com
DigiCert SHA2 Secure Server CA
2019-02-19 -
2021-02-23
2 years crt.sh
cloudflare.com
DigiCert ECC Extended Validation Server CA
2018-10-30 -
2020-11-03
2 years crt.sh
*.tagdelivery.com
Microsoft IT TLS CA 4
2020-03-02 -
2022-03-02
2 years crt.sh
*.sjv.io
Sectigo RSA Domain Validation Secure Server CA
2019-04-22 -
2021-04-21
2 years crt.sh
san.casalemedia.com
GeoTrust RSA CA 2018
2020-03-02 -
2021-04-01
a year crt.sh
ads-twitter.com
DigiCert SHA2 High Assurance Server CA
2019-08-14 -
2020-08-18
a year crt.sh
*.twitter.com
DigiCert SHA2 High Assurance Server CA
2020-03-05 -
2021-03-02
a year crt.sh
t.co
DigiCert SHA2 High Assurance Server CA
2020-03-05 -
2021-03-02
a year crt.sh
*.google.de
GTS CA 1O1
2020-03-24 -
2020-06-16
3 months crt.sh
*.google.com
GTS CA 1O1
2020-03-24 -
2020-06-16
3 months crt.sh
tpc.googlesyndication.com
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
*.rlcdn.com
Sectigo RSA Domain Validation Secure Server CA
2019-04-24 -
2020-04-23
a year crt.sh
*.ojrq.net
COMODO RSA Domain Validation Secure Server CA
2018-01-05 -
2021-01-27
3 years crt.sh
misc-sni.google.com
GTS CA 1O1
2020-03-24 -
2020-06-16
3 months crt.sh
*.gstatic.com
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh

This page contains 13 frames:

Primary Page: https://www.kohls.com/sale-event/coupons-deals.jsp
Frame ID: 6BCE6801588BF2EDC9EE088EB81F6196
Requests: 203 HTTP requests in this frame

Frame: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Frame ID: 9C0D51056D8268073683C597F79E89CE
Requests: 2 HTTP requests in this frame

Frame: https://kohls.demdex.net/dest5.html?d_nsid=0
Frame ID: D98A286B206AEF1DC192480440406529
Requests: 1 HTTP requests in this frame

Frame: https://mon1.kohls.com/nv/kohls/cav_nv.js?v=REL20170123
Frame ID: B400489E25465EA175187C6DFEAC2715
Requests: 4 HTTP requests in this frame

Frame: https://8632166.fls.doubleclick.net/activityi;dc_pre=CPzAyZnx7OgCFdLjGwodj5cLXQ;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp;u11=Kohl%2527s%2520Coupons%253A%2520Promo%2520Codes%2520%2526%2520Coupon%2520Codes%2520%257C%2520Kohl%2527s;u13=coupons-deals;u2=;u23=New%20Customer;u24=64955286112438701961050183047540692546;u25=07974be1-981a-41c0-a858-f5c463f03860;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp
Frame ID: DF210481DD51E640DCBEEF2514BF2461
Requests: 1 HTTP requests in this frame

Frame: https://tr.snapchat.com/cm/i?pid=8e5c8f64-cb28-46b3-8d73-411e50ce8e8e
Frame ID: 8AA3BB2333C838F20A514F6BE67CD738
Requests: 1 HTTP requests in this frame

Frame: https://tr.snapchat.com/p
Frame ID: 90F09E36963F7E36A67B523B382C5951
Requests: 1 HTTP requests in this frame

Frame: https://securepubads.g.doubleclick.net/pcs/view?xai=AKAOjssNm4FMZd7ZdV1N_K6Es-sS6-a1eP9UDVXg3PDRHc-EkVvPL_qOzeVzXg1n76zjZRioCUj9DyYNcudKmicNwK7NTBPKtcFLQtBWD-2keM0CwE2pOODZBaOMu6qA8ScNykd7WXpHKDGhKvgLEylZNxUekF9QDVrq3L4p_982GkYb0Qd62UYVrNNuG0ndaRDpmOrjYxVpsRpBfz_0QqET8OaAbsmzRmdQdBDNA_rtzYPMeAfK9Jaikg&sig=Cg0ArKJSzPPLoJOZjjmrEAE&urlfix=1&adurl=
Frame ID: 1434F1D52F2D9F52E074A468A5F2E49E
Requests: 14 HTTP requests in this frame

Frame: https://tpc.googlesyndication.com/safeframe/1-0-37/html/container.html
Frame ID: 3F8AA9B3E0F427F5561971963F10FEF7
Requests: 1 HTTP requests in this frame

Frame: https://tpc.googlesyndication.com/safeframe/1-0-37/html/container.html
Frame ID: FD58D6F11396F995124430C649A51751
Requests: 1 HTTP requests in this frame

Frame: https://cdn.ampproject.org/rtv/012003262059300/amp4ads-v0.js
Frame ID: 6987A7F76E88BDE3997A629A7288F752
Requests: 10 HTTP requests in this frame

Frame: https://tpc.googlesyndication.com/sodar/sodar2/209/runner.html
Frame ID: 8F2605DF1E57D4F8AC63924433AC71F7
Requests: 1 HTTP requests in this frame

Frame: https://tpc.googlesyndication.com/sodar/sodar2/209/runner.html
Frame ID: AC4D401CE357BF8393CA12DF3158E3B8
Requests: 1 HTTP requests in this frame

Screenshot


Detected technologies

Overall confidence: 100%
Detected patterns
  • script /googletagservices\.com\/tag\/js\/gpt(?:_mobile)?\.js/i

Overall confidence: 100%
Detected patterns
  • script /\/\/connect\.facebook\.net\/[^/]*\/[a-z]*\.js/i

Overall confidence: 100%
Detected patterns
  • script /google-analytics\.com\/(?:ga|urchin|analytics)\.js/i

Overall confidence: 100%
Detected patterns
  • script /\/\/s\.btstatic\.com\/tag\.js/i

Overall confidence: 100%
Detected patterns
  • script /\/s[_-]code.*\.js/i

Overall confidence: 100%
Detected patterns
  • html /<iframe[^>]* (?:id="comscore"|scr=[^>]+comscore)|\.scorecardresearch\.com\/beacon\.js|COMSCORE\.beacon/i
  • script /\.scorecardresearch\.com\/beacon\.js|COMSCORE\.beacon/i

Page Statistics

223
Requests

98 %
HTTPS

33 %
IPv6

50
Domains

71
Subdomains

58
IPs

8
Countries

2923 kB
Transfer

9512 kB
Size

34
Cookies

Redirected requests

There were HTTP redirect chains for the following requests:

Request Chain 34
  • https://dpm.demdex.net/id?d_visid_ver=4.3.0&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_orgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&d_nsid=0&ts=1587037978079 HTTP 302
  • https://dpm.demdex.net/id/rd?d_visid_ver=4.3.0&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_orgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&d_nsid=0&ts=1587037978079
Request Chain 49
  • https://cm.everesttech.net/cm/dd?d_uuid=59842485181670560920556877779147054954 HTTP 302
  • https://dpm.demdex.net/ibs:dpid=411&dpuuid=XphHGgAAAurBeVL0
Request Chain 130
  • https://8632166.fls.doubleclick.net/activityi;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp;u11=Kohl%2527s%2520Coupons%253A%2520Promo%2520Codes%2520%2526%2520Coupon%2520Codes%2520%257C%2520Kohl%2527s;u13=coupons-deals;u2=;u23=New%20Customer;u24=64955286112438701961050183047540692546;u25=07974be1-981a-41c0-a858-f5c463f03860;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp HTTP 302
  • https://8632166.fls.doubleclick.net/activityi;dc_pre=CPzAyZnx7OgCFdLjGwodj5cLXQ;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp;u11=Kohl%2527s%2520Coupons%253A%2520Promo%2520Codes%2520%2526%2520Coupon%2520Codes%2520%257C%2520Kohl%2527s;u13=coupons-deals;u2=;u23=New%20Customer;u24=64955286112438701961050183047540692546;u25=07974be1-981a-41c0-a858-f5c463f03860;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp
Request Chain 134
  • https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/?value=0&guid=ON&script=0 HTTP 302
  • https://www.google.com/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=128783452 HTTP 302
  • https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=128783452&ipr=y
Request Chain 135
  • https://gum.criteo.com/sync?c=10&r=1&u=https%3A%2F%2Fs.thebrighttag.com%2Fcs%3Fbtt%3D0%26tp%3Dcr%26uid%3D%40USERID%40 HTTP 302
  • https://s.thebrighttag.com/cs?btt=0&tp=cr&uid=9RLEufVHsltzEdU_t7bQinNVN0VceY82
Request Chain 136
  • https://rp.liadm.com/p?aid=a-00oc&duid=1165179720133371016 HTTP 302
  • https://rp4.liadm.com/p?aid=a-00oc&duid=1165179720133371016&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp
Request Chain 137
  • https://secure.adnxs.com/getuid?https%3A%2F%2Fs.thebrighttag.com%2Fcs%3Fbtt%3Ded7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8%26uid%3D$UID%26tp%3Dan%26gdpr%3D1 HTTP 307
  • https://secure.adnxs.com/bounce?%2Fgetuid%3Fhttps%253A%252F%252Fs.thebrighttag.com%252Fcs%253Fbtt%253Ded7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8%2526uid%253D%24UID%2526tp%253Dan%2526gdpr%253D1 HTTP 302
  • https://s.thebrighttag.com/cs?btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&uid=6811137146721912899&tp=an&gdpr=1
Request Chain 139
  • https://cm.g.doubleclick.net/pixel?gdpr=1&google_nid=signal_dmp&google_cm&btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8 HTTP 302
  • https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&google_gid=CAESEDmb-di8UKIpMELtx-yaO4M&google_cver=1
Request Chain 147
  • https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&v=1&_v=j81&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&gjid=1673138546&_gid=1265478232.1587037983&_u=YGBAgAAB~&z=117493242 HTTP 302
  • https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&_v=j81&z=117493242 HTTP 302
  • https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&_v=j81&z=117493242&slf_rd=1&random=1274111276

223 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
Primary Request coupons-deals.jsp
www.kohls.com/sale-event/
202 KB
205 KB
Document
General
Full URL
https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
fbc4a87c9bb2a3264dd6a5326e619c0c2ef0f89e1a8c5cfe366163aa21600be3
Security Headers
Name Value
Content-Security-Policy block-all-mixed-content; frame-ancestors 'self';
Strict-Transport-Security max-age=15768000 ; preload
X-Frame-Options SAMEORIGIN

Request headers

:method
GET
:authority
www.kohls.com
:scheme
https
:path
/sale-event/coupons-deals.jsp
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
none
sec-fetch-mode
navigate
sec-fetch-user
?1
sec-fetch-dest
document
accept-encoding
gzip, deflate, br
accept-language
en-US
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
200
content-type
text/html; charset=UTF-8
set-cookie
AKA_RV=27; expires=Tue, 13-Oct-2020 11:52:57 GMT; path=/; secure _abck=B51CFAF78A3611DF6063644FBF184C3B~-1~YAAQF7sQAi56pnxxAQAAsLvVggNNT3wlqT1HeEM8yV/3D7CzXPDhlwu5Q5hitBWiK/qcELwAVnIBI6lMsItwMX286o+sTPdQ62pon9uUe/dYyA/WbGyYqb6hEbIM5uIT1qjz/wxYbe5dpShXkvf1qmBgWLYuXLuA7hODVuUGJL2ZHK5Nfigc87YaVLi0Zd+nxfVNGFo8sVkpzPHxLnOWO/oYi1x8fm/ILbpM7BbnSwrToY3w632aIPdw4Vznc3wmRDbw9brDsHvKN2v83wT7LcN0OY4oe3riqblhr2i0tWTUItTMG3pKkTc=~-1~-1~-1; Domain=.kohls.com; Path=/; Expires=Fri, 16 Apr 2021 11:52:57 GMT; Max-Age=31536000; Secure bm_sz=0E812F02DCA4305CDEB5EED05AB8EE5E~YAAQF7sQAi16pnxxAQAAsLvVggfQhe5G/uQ45A3XStyMoCgtEe7lpTfpsijSR2+M0RrZ35LZjWSwOQCllUSMNHpOUN/+VX1P8h4fpQqCPomzer6EInpnpk3l3uWDjdVhGcx8Op30mDsO8eqE8RXZGPEPOzVl29ClejiIu+PrNKGmAgzIa7sbj+eBN93lUqc=; Domain=.kohls.com; Path=/; Expires=Thu, 16 Apr 2020 15:52:57 GMT; Max-Age=14400; HttpOnly bm_mi=2C9D72DB53C4CD78F67F3463B819E850~VQt/XCLoO4acyXw+pYoR8/83MtihfBrZFz2wNth4EDfhMtm/hsd8WY5sgXwcNUJrOT0Q+vFhCZGsszq1SZBz2WgtosF85rccEJEJ5gbKBjuk2QPJ603ms7TNIUejwa+f+xsF9aWAz42YJ4EwVSxpsWz0DNvVoz2/hZIZ+VwU+zwMKHAC1eTcH9rfq0pJnQnHVTFsxxRy5J5OvZ2vFYpVeFDj91rxMjXrKphPwlN/fMRBGhkDPpX/592p97A1BEvV; Domain=.kohls.com; Path=/; Max-Age=0; HttpOnly SL_Cookie=a1; expires=Fri, 17 Apr 2020 04:01:18 GMT; path=/; domain=.kohls.com; secure akavpau_www=1587038277~id=84d60f171aea50c218ee3c3b4815eb7b; Path=/; Secure; SameSite=None ak_bmsc=205B5A7E0F4436BA1D17145550FEB7B10210BB17245D00001947985EFA2B4709~plFD52aun/a6xFRCJImVdLBYj7Pht84RzkUfHMrf5GLQintLd20VIUy/lmUWCKLI6I2ZT+7F/dotLOMFaKUr/c4l8Mr5yg23xcWdWkFwMa3gsYWwlEWj1yr1XpYH2Kab+GblOqCMdp+O5Wmy1leDVktvdu/70F3P0O3UGJhc7IHU3eei6JgeF6wywn/zen4LootXv7obLEOQ3DwrPkedoaWKgaVxtgPJbFz1XNoQBIWuE=; expires=Thu, 16 Apr 2020 13:52:57 GMT; max-age=7200; path=/; domain=.kohls.com; HttpOnly AKA_PDP2=False; expires=Tue, 13-Oct-2020 11:52:57 GMT; path=/; secure AKA_HP2=True; expires=Tue, 13-Oct-2020 11:52:57 GMT; path=/; secure SL_Cookie=a1; expires=Thu, 16 Apr 2020 12:00:00 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 09:53:11 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 09:53:10 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 10:18:54 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 04:43:44 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 04:43:44 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 10:18:52 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Thu, 16 Apr 2020 14:27:46 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Thu, 16 Apr 2020 14:27:46 GMT; path=/; domain=.kohls.com; secure
device_type
Touch
strict-transport-security
max-age=15768000 ; preload
x-origin-ttl
Fri, 17 Apr 2020 04:01:18 GMT Fri, 17 Apr 2020 04:01:18 GMT Fri, 17 Apr 2020 04:01:18 GMT
x-origin-cc
max-age=86460 max-age=86460 max-age=86460
x-frame-options
SAMEORIGIN
content-security-policy
block-all-mixed-content; frame-ancestors 'self';
esi_status
ENABLED
server-timing
edge; dur=1 cdn-cache; desc=HIT
host_service
x-akamai-transformed
9 203033 0 pmb=mTOE,3mRUM,2
cache-control
private, max-age=600
expires
Thu, 16 Apr 2020 12:02:57 GMT
date
Thu, 16 Apr 2020 11:52:57 GMT
environment.js
www.kohls.com/snb/media/javascript/deploy/
8 KB
4 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/environment.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
7981dac50c9f26875336de70feca8696ea7e73a7d74438842eb21810dcb39755
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:57 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 03:24:31 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 03:24:31 GMT, Thu, 02 Apr 2020 03:24:31 GMT, Thu, 02 Apr 2020 03:24:31 GMT, Thu, 02 Apr 2020 03:24:31 GMT, Thu, 02 Apr 2020 03:24:31 GMT
etag
"5e6c7201-2060"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
3061
expires
Fri, 17 Apr 2020 11:52:57 GMT
kjscore3.js
www.kohls.com/snb/media/javascript/deploy/
51 KB
17 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
14fcf6193151f5336b176b2c55eadfad39d073d6670629f726fe66009054e0cc
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:38:15 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:38:14 GMT, Thu, 02 Apr 2020 05:38:14 GMT, Thu, 02 Apr 2020 05:38:14 GMT
etag
"5e729ee8-cd0c"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
17129
expires
Fri, 17 Apr 2020 11:52:58 GMT
ktag.js
www.kohls.com/snb/media/javascript/deploy/
137 KB
42 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/ktag.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
22ffd3c91878a778c0c80d919abd9c063bf1b889faed4bc0e2fe69617a9f8458
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:38:05 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:38:04 GMT, Thu, 02 Apr 2020 05:38:04 GMT, Thu, 02 Apr 2020 05:38:04 GMT, Thu, 02 Apr 2020 05:38:04 GMT
etag
"5e729ee8-223d7"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
42089
expires
Fri, 17 Apr 2020 11:52:58 GMT
homepage1.css
www.kohls.com/snb/media/css/
189 KB
30 KB
Stylesheet
General
Full URL
https://www.kohls.com/snb/media/css/homepage1.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
aceabcad789ecff956642f386c61536a07b581d1c73f5bd4462686682bf9aa5f
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:57 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:40:30 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:40:30 GMT, Thu, 02 Apr 2020 05:40:30 GMT, Thu, 02 Apr 2020 05:40:30 GMT, Thu, 02 Apr 2020 05:40:30 GMT
etag
"5e729eea-2f43e"
strict-transport-security
max-age=15768000 ; preload
content-type
text/css
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
29981
expires
Fri, 17 Apr 2020 11:52:57 GMT
homepage.css
www.kohls.com/snb/media/css/
238 KB
36 KB
Stylesheet
General
Full URL
https://www.kohls.com/snb/media/css/homepage.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
2294527b0a142dc18d6247eab841f78253166755adac5cc483f3ece6e04f4677
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:57 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:48:09 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:48:08 GMT, Thu, 02 Apr 2020 05:48:08 GMT, Thu, 02 Apr 2020 05:48:08 GMT
etag
"5e729eea-3b82b"
strict-transport-security
max-age=15768000 ; preload
content-type
text/css
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
36427
expires
Fri, 17 Apr 2020 11:52:57 GMT
hfjFonts.css
www.kohls.com/snb/media/css/fonts/
238 KB
137 KB
Stylesheet
General
Full URL
https://www.kohls.com/snb/media/css/fonts/hfjFonts.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
9d39e3127b199df526678091aa4681f829efb05a2df130f83edb51da08753fcd
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:57 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:53:21 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:53:20 GMT, Thu, 02 Apr 2020 05:53:20 GMT, Thu, 02 Apr 2020 05:53:20 GMT
etag
"5e729f05-3b6b7"
strict-transport-security
max-age=15768000 ; preload
content-type
text/css
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
139432
expires
Fri, 17 Apr 2020 11:52:57 GMT
skava-custom.css
www.kohls.com/snb/media/css/
6 KB
2 KB
Stylesheet
General
Full URL
https://www.kohls.com/snb/media/css/skava-custom.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
ea46c4bbfb1c549721ae599d61413502c57785c0f411e9aafcf95985d2ea4a8b
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
br
last-modified
Wed, 25 Mar 2020 05:55:44 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 26 Mar 2020 05:55:43 GMT, Thu, 26 Mar 2020 05:55:43 GMT, Thu, 26 Mar 2020 05:55:43 GMT, Thu, 26 Mar 2020 05:55:43 GMT, Thu, 26 Mar 2020 05:55:43 GMT
etag
"5e6c7214-1960"
strict-transport-security
max-age=15768000 ; preload
content-type
text/css
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
1072
expires
Fri, 17 Apr 2020 11:52:58 GMT
bd-experience-rendering-sdk.base.min.css
api-bd.kohls.com/update/ede/assets/experiences/webstore/
0
303 B
Stylesheet
General
Full URL
https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.base.min.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
server
Apache
fwdhst
kohls.download.akamai.com
etag
"d41d8cd98f00b204e9800998ecf8427e:1553752341"
vary
Accept-Encoding
content-type
text/css
status
200
cache-control
max-age=1800
akamai-request-id2
2.16.187.23:b3428b2
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
20
expires
Thu, 16 Apr 2020 12:22:58 GMT
bd-experience-rendering-sdk.default.theme.min.css
api-bd.kohls.com/update/ede/assets/experiences/webstore/
194 KB
20 KB
Stylesheet
General
Full URL
https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.default.theme.min.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache /
Resource Hash
63630dabec4f48e5b818c21158eda205d78186285a429833931511b5c79ea337

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
server
Apache
fwdhst
kohls.download.akamai.com
etag
"b330d165d1fa1f7ddb4d73fcbf23f587:1580192838"
vary
Accept-Encoding
content-type
text/css
status
200
cache-control
max-age=1800
akamai-request-id2
2.16.187.23:b34289d
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
20170
expires
Thu, 16 Apr 2020 12:22:58 GMT
bd-experience-rendering-sdk.min.js
api-bd.kohls.com/update/ede/assets/experiences/webstore/
502 KB
111 KB
Script
General
Full URL
https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache /
Resource Hash
b69335ae739737089bebce27cfc370df981bd29f27fca7ba40cc6cd893af9060

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
server
Apache
fwdhst
kohls.download.akamai.com
etag
"744116693b0d1dafbb72e36f8d5f7d29:1580192839"
vary
Accept-Encoding
content-type
application/x-javascript
status
200
cache-control
max-age=1800
akamai-request-id2
2.16.187.23:b3428c0
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
113597
expires
Thu, 16 Apr 2020 12:22:58 GMT
33bf7c8
www.kohls.com/akam/11/
32 KB
11 KB
Script
General
Full URL
https://www.kohls.com/akam/11/33bf7c8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
8c37840429cf932dcab57bf805c73d1508a27dcbd457839af775c02a34c7cfb3
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
last-modified
Thu, 02 May 2019 20:06:44 GMT
x-origin-ttl
, ,
etag
"dc6bce692019f8bdfe74d157d03b5282f232f903bee145fc2eb880dbf02f6331"
vary
Accept-Encoding
content-type
application/javascript
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
cache-control
max-age=0, no-cache, no-store
x-origin-cc
, ,
strict-transport-security
max-age=15768000 ; preload
content-length
10450
expires
Thu, 16 Apr 2020 11:52:58 GMT
order-status-icon.png
www.kohls.com/media/images/global-header-refresh-icons/
1 KB
2 KB
Image
General
Full URL
https://www.kohls.com/media/images/global-header-refresh-icons/order-status-icon.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
99e502f00a1a89faf52ecf66791b4e3f5e85d5806544ecbf2943c5e4c4667c7e
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
last-modified
Tue, 16 Jan 2018 19:45:04 GMT
x-origin-ttl
, , , , , , , , , , , , , , ,
etag
"17c0-4c5-562e9f7921000"
strict-transport-security
max-age=15768000 ; preload
content-type
image/png
status
200
cache-control
max-age=86400
x-origin-cc
, , , , , , , , , , , , , , ,
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
x-edgeconnect-cache-status
1
content-length
1221
expires
Fri, 17 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-kcash1
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-kcash1?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
29c0847f7eb03566d7a594e25003b1d1b9d52e34de5f04f1d18d6e75ed08a6c4

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"0d3d39deeddc0a6b8b6caf1a00b85cff"
x-serial
951
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1664
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-kcash2
media.kohlsimg.com/is/image/kohls/
958 B
1 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-kcash2?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
23b14b2e5675f2d8cd3e33bf31535f63a6f7595da6057781d89fc41f97395a19

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"69e1448cd6ea4ccdba8ddf64b25c1f0e"
x-serial
1168
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
958
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-so-logo
media.kohlsimg.com/is/image/kohls/
1 KB
1 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-so-logo?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
440be39822a32d71b9e72094418a648c8a036dc4ab3275ef98bc3eaf4943b4cf

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Manager
etag
"dadf6915a0a75dfab1f288860aadfd40"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1229
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-so
media.kohlsimg.com/is/image/kohls/
1 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-so?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
acb67bb41b44277ba1d945f57f5f3f4325df997328e8885ee06de124ecbde118

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"056b3e0a3fd71fa5170120435cc424e5"
x-serial
1489
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1398
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-nike-logo
media.kohlsimg.com/is/image/kohls/
262 B
469 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-nike-logo?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
50e5b7750f96375135dc10f803c330c87399fdde7e8f3ddd46a686eea84696b0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"712ef343a078f213f4ecb2af3f6e35d7"
x-serial
1331
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
262
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-nike
media.kohlsimg.com/is/image/kohls/
1 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-nike?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
2335971fe77e0b85cc6eb697b200f0443afa14b7d868f3b5b75ffa063c65cd5f

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"40507dce09a41ad511dcc5e1194835ac"
x-serial
1512
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
ZErBo/LR0Ds2LicVQkYshQ==
content-length
1314
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-cb-logo
media.kohlsimg.com/is/image/kohls/
610 B
816 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-cb-logo?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
ac9a5669ea71757e3799700d24c24fcabd3c8b97e2e6d267c67bbc3be4436462

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"6c74010a9d2fcf03c6fbdc04384b4e06"
x-serial
1611
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
610
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-cb
media.kohlsimg.com/is/image/kohls/
1 KB
1 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-cb?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
328da8a68dd2762e1340a56542aa3b5be06ddbe59d80d716c944c972be6393c8

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Manager
etag
"bc6b94e1c4d074de8840e8d03446c4ac"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=274543
content-length
1282
expires
Sun, 19 Apr 2020 16:08:41 GMT
20190403-dt-wallet-bar-ua-logo
media.kohlsimg.com/is/image/kohls/
512 B
699 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-ua-logo?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Server /
Resource Hash
897f99031b52d443fb29133ecdbbbc8ef5ff340a1611b52c773da94d61b20f5d

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Server
etag
"3d3bb4445af932a0e9d1507eb40d4b2f"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, max-age=622
x-akamai-note
original-image
content-length
512
expires
Thu, 16 Apr 2020 12:03:20 GMT
20190403-dt-wallet-bar-ua
media.kohlsimg.com/is/image/kohls/
1 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-ua?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
833360b05801708e010d6706e83816a33dbd1fdc13c0d877108ac7b3475db05c

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"d6a032b3e2235c37f45590479b9237c9"
x-serial
1998
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1420
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-levis-logo
media.kohlsimg.com/is/image/kohls/
524 B
732 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-levis-logo?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
f9f0e5457c894f1f7b34ba5f5cee2ed960ac3a627cabde4046e48e890d266679

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"93767b4554da97812342902e5e8af898"
x-serial
1517
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, no-transform, max-age=463286
content-length
524
expires
Tue, 21 Apr 2020 20:34:24 GMT
20190403-dt-wallet-bar-levis
media.kohlsimg.com/is/image/kohls/
1 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-levis?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
2269cbc39c46b2b67c20c1e8fa4a623fb654261c892b50878c2ea9449450688f

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Manager
etag
"24418bef990a3a1844ca0a49e0333802"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1370
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-so-logo-p
media.kohlsimg.com/is/image/kohls/
1 KB
1 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-so-logo-p?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
e4b76ed0af6234ca979307d2e2c19a867fef645585f9785ad695fb36dbd45a98

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"378319fe70e601ef66435291dad0af46"
x-serial
540
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1220
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-nike-logo-p
media.kohlsimg.com/is/image/kohls/
254 B
461 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-nike-logo-p?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
72e8b153d15dbfb59a1e1d0fb28f19ade39b5058928d897dd1823f419f21f0f3

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
NO
server
Akamai Image Manager
etag
"cfe62d095701022ca01efcc1472e3486"
x-serial
1538
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
254
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-cb-logo-p
media.kohlsimg.com/is/image/kohls/
625 B
871 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-cb-logo-p?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
d47ef8e6e343895b5561cd0bb52f4cdb7fc04e55045740e0120e410cd0dddf81

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"523f6b7f563e4befcf96b90e0c701ee8"
x-serial
1945
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
NpzxRu4EcfdDMdIC+F1cPA==
content-length
625
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-ua-logo-p
media.kohlsimg.com/is/image/kohls/
498 B
743 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-ua-logo-p?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
87f9d92602dd93eeb48d5a8c67788a8c64a524f5d8f592df485a52a7d790866b

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"283c38930b2adc1ac4a5d521f36adcb4"
x-serial
2013
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
neuFapuymcbNxYnT3ORNVQ==
content-length
498
expires
Thu, 23 Apr 2020 11:52:58 GMT
20190403-dt-wallet-bar-levis-logo-p
media.kohlsimg.com/is/image/kohls/
508 B
685 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20190403-dt-wallet-bar-levis-logo-p?scl=1&fmt=png8
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
ca25c041281d4b52800a89f8b5538c06ab5b95d99afd45c7c42654ca636feb4f

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Manager
etag
"b599e3ed1132d56787da0379db4cc2aa"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
508
expires
Thu, 23 Apr 2020 11:52:58 GMT
td-20200401-kcash
media.kohlsimg.com/is/image/kohls/
6 KB
6 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/td-20200401-kcash?scl=1&fmt=png8-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
28479d70ec950db5b20da923f73963b924f8192a93e998a890c3b2aaa8d6e9b5

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Manager
etag
"f7f3f7513d52838ef4e980ea6b9cc300"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
5898
expires
Thu, 23 Apr 2020 11:52:58 GMT
td-v2-20200416-kcash-pile_04
media.kohlsimg.com/is/image/kohls/
10 KB
10 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/td-v2-20200416-kcash-pile_04?scl=1&fmt=png24-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
e4a0335391a0cdd1e57626a33f8d947f0b7f4d74b0102a3c225961ba746b2126

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Manager
etag
"523349361d9015b7fb27480ab39ef349"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
10242
expires
Thu, 23 Apr 2020 11:52:58 GMT
td-v2-20200401-kcash-rewards
media.kohlsimg.com/is/image/kohls/
11 KB
11 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/td-v2-20200401-kcash-rewards?scl=1&fmt=png24-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
62bafc2ebe289567c662bc897d81b6e3ecd6a9b6b7c5ec7a077e1287dd56e60a

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Manager
etag
"0179421d27d62068f4946dc3df50aba3"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
11320
expires
Thu, 23 Apr 2020 11:52:58 GMT
td-v2-20200401-kohls-app
media.kohlsimg.com/is/image/kohls/
15 KB
15 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/td-v2-20200401-kohls-app?scl=1&fmt=png24-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
f74e2e7af5a2e1dcd32ce663bbcd4e79ca38177cc9aed4947873be75c4f58eb6

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"48c6dd71de2299b7c4b30c522124e690"
x-serial
2003
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
14966
expires
Thu, 23 Apr 2020 11:52:58 GMT
hook.js
d.us.criteo.com/Delivery/ClientPaths/Library/
258 KB
73 KB
Script
General
Full URL
https://d.us.criteo.com/Delivery/ClientPaths/Library/hook.js?cid=164
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
74.119.119.135 , United States, ASN19750 (AS-CRITEO, US),
Reverse DNS
Software
nginx/1.16.1 /
Resource Hash
fc64a3f93236408f1b7804c07d5bc6a4e9feac0388b7a94a6c6c2b61c5d2186e

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
200
date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
last-modified
Wed, 15 Apr 2020 16:00:40 GMT
server
nginx/1.16.1
etag
W/"5e972fa8-406bb"
content-type
application/javascript
rd
dpm.demdex.net/id/
Redirect Chain
  • https://dpm.demdex.net/id?d_visid_ver=4.3.0&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_orgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&d_nsid=0&ts=1587037978079
  • https://dpm.demdex.net/id/rd?d_visid_ver=4.3.0&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_orgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&d_nsid=0&ts=1587037978079
8 KB
3 KB
XHR
General
Full URL
https://dpm.demdex.net/id/rd?d_visid_ver=4.3.0&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_orgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&d_nsid=0&ts=1587037978079
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
54.76.175.152 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-54-76-175-152.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
fe7421687d3a97be3bed374774393148c6fe69a4fcb2eb47bd7d67717ad514c0
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

DCS
dcs-prod-irl1-v065-05aef055a.edge-irl1.demdex.com 5.66.0.20200408080925 3ms (+1ms)
Pragma
no-cache
Strict-Transport-Security
max-age=31536000; includeSubDomains
Content-Encoding
gzip
X-TID
kozYU63BRbM=
Vary
Origin, Accept-Encoding, User-Agent
P3P
policyref="/w3c/p3p.xml", CP="NOI NID CURa ADMa DEVa PSAa PSDa OUR SAMa BUS PUR COM NAV INT"
Access-Control-Allow-Origin
https://www.kohls.com
Cache-Control
no-cache,no-store,must-revalidate,max-age=0,proxy-revalidate,no-transform,private
Access-Control-Allow-Credentials
true
Connection
keep-alive
Content-Type
application/json;charset=utf-8
Content-Length
2233
Expires
Thu, 01 Jan 1970 00:00:00 GMT

Redirect headers

Pragma
no-cache
Strict-Transport-Security
max-age=31536000; includeSubDomains
Access-Control-Allow-Origin
https://www.kohls.com
X-TID
t9JXn8vQS1g=
Vary
Origin
P3P
policyref="/w3c/p3p.xml", CP="NOI NID CURa ADMa DEVa PSAa PSDa OUR SAMa BUS PUR COM NAV INT"
Location
https://dpm.demdex.net/id/rd?d_visid_ver=4.3.0&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_orgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&d_nsid=0&ts=1587037978079
Cache-Control
no-cache,no-store,must-revalidate,max-age=0,proxy-revalidate,no-transform,private
Access-Control-Allow-Credentials
true
Connection
keep-alive
Content-Length
0
Expires
Thu, 01 Jan 1970 00:00:00 GMT
ipadcss.css
www.kohls.com/snb/media/css/
4 KB
2 KB
Stylesheet
General
Full URL
https://www.kohls.com/snb/media/css/ipadcss.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
132fefcf69e743721cc84433604b9be4030a96f20797af1e03ab030edca4d76f
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:38:44 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:38:42 GMT, Thu, 02 Apr 2020 05:38:42 GMT, Thu, 02 Apr 2020 05:38:42 GMT, Thu, 02 Apr 2020 05:38:42 GMT, Thu, 02 Apr 2020 05:38:42 GMT
etag
"5e729eea-11a5"
strict-transport-security
max-age=15768000 ; preload
content-type
text/css
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
1080
expires
Fri, 17 Apr 2020 11:52:58 GMT
0d627b0f916377baf33570265c79a
www.kohls.com/public/
64 KB
17 KB
Script
General
Full URL
https://www.kohls.com/public/0d627b0f916377baf33570265c79a
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
8bd5e5729a3fb989a0bcb99fd966df11e1c44198c447712fa4136996e2b28c0a
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
last-modified
Tue, 04 Feb 2020 20:25:53 GMT
x-origin-ttl
,
etag
"aa9808af4a63a6991976c58d3a0b688b4fa00b617dcffd0fc56464fdf04f2074"
vary
Accept-Encoding
content-type
application/javascript
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
cache-control
max-age=604800
x-origin-cc
,
strict-transport-security
max-age=15768000 ; preload
content-length
16429
expires
Thu, 16 Apr 2020 11:52:58 GMT
id
api-bd.kohls.com/v1/ecs/correlation/
36 B
358 B
XHR
General
Full URL
https://api-bd.kohls.com/v1/ecs/correlation/id
Requested by
Host: api-bd.kohls.com
URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
944f7b834df014080fc6703401c66a25a7f784148a6a2e758c0594568ae351a6

Request headers

Accept
*/*
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
fwdhst
origin-gcp-us-central1-ecs.kohls.com
status
200
content-type
text/plain
access-control-allow-origin
*
akamai-request-id2
2.16.187.21:259cfd7
server-timing
cdn-cache; desc=MISS, edge; dur=102, origin; dur=17
content-length
36
id
api-bd.kohls.com/v1/ecs/correlation/
36 B
358 B
XHR
General
Full URL
https://api-bd.kohls.com/v1/ecs/correlation/id
Requested by
Host: api-bd.kohls.com
URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
fa8b52ffbef4c3722d121854e0fd4028fc6cd0372e07d4950e4c23ba0750696f

Request headers

Accept
*/*
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
fwdhst
origin-gcp-us-central1-ecs.kohls.com
status
200
content-type
text/plain
access-control-allow-origin
*
akamai-request-id2
2.16.187.21:259d022
server-timing
cdn-cache; desc=MISS, edge; dur=104, origin; dur=16
content-length
36
truncated
/
63 KB
0
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
f24cd77318c239a2211ea8382efa423e81b21e515b902fbf707b7996f1b99a45

Request headers

Origin
https://www.kohls.com
Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
text/plain;charset=US-ASCII
truncated
/
30 KB
0
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
80cc8ef5083239b68a12bff0d34ce0fd015791a72ef9c173417edc29d95da6e8

Request headers

Origin
https://www.kohls.com
Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
text/plain;charset=US-ASCII
4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
s.go-mpulse.net/boomerang/ Frame 9C0D
202 KB
49 KB
Script
General
Full URL
https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:184::11a6 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
9fb974b84a129972abbd1e2e5cfdf685cab5f6f22d881adf3845bc73b43eb4ad

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
br
last-modified
Mon, 09 Mar 2020 22:40:11 GMT
vary
Accept-Encoding
content-type
application/javascript; charset=utf-8
status
200
cache-control
max-age=604800
timing-allow-origin
*
content-length
50141
search-icon.svg
www.kohls.com/snb/media/images/global-header-refresh-icons/
324 B
806 B
Image
General
Full URL
https://www.kohls.com/snb/media/images/global-header-refresh-icons/search-icon.svg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
a3d50ef27006d215b4828faae5cce1617ef8cbb2800346351dc17cb5159eaa50
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/snb/media/css/homepage.css
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , ,
etag
"5e729f06-144"
vary
Accept-Encoding
content-type
image/svg+xml
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
cache-control
max-age=86400
x-origin-cc
, , ,
strict-transport-security
max-age=15768000 ; preload
accept-ranges
bytes
content-length
228
expires
Fri, 17 Apr 2020 11:52:58 GMT
gh-test-shoppingcart
media.kohlsimg.com/is/image/kohls/
738 B
903 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/gh-test-shoppingcart?scl=1&fmt=png-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Server /
Resource Hash
2d3c362dea9616624060e41064907033f41959ddf6bda37f26c87e6047fcd20a

Request headers

Referer
https://www.kohls.com/snb/media/css/homepage.css
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
server
Akamai Image Server
etag
"f4d95f99ca6627c0da518f4776dd6700"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, max-age=727
content-length
738
expires
Thu, 16 Apr 2020 12:05:05 GMT
truncated
/
14 KB
14 KB
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
8dccc8a29c28ee78f0d1f0336ccc95edfc29e32134efd81160fb7a224f51a270

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
Origin
https://www.kohls.com

Response headers

Content-Type
application/x-font-woff
truncated
/
14 KB
14 KB
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
f94a0b8748fb6d8f32b70d464162f64e541983caa0631e5d3f2e73c40a17e393

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
Origin
https://www.kohls.com

Response headers

Content-Type
application/x-font-woff
truncated
/
14 KB
14 KB
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
c79dc828b12ed77c8d0dc59ef0c96a630d758bd5b19f26b9e5c1051822f0a39b

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
Origin
https://www.kohls.com

Response headers

Content-Type
application/x-font-woff
Cookie set dest5.html
kohls.demdex.net/ Frame D98A
0
0
Document
General
Full URL
https://kohls.demdex.net/dest5.html?d_nsid=0
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/ktag.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.208.212.211 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-208-212-211.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Host
kohls.demdex.net
Connection
keep-alive
Pragma
no-cache
Cache-Control
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site
cross-site
Sec-Fetch-Mode
navigate
Sec-Fetch-Dest
iframe
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
Accept-Encoding
gzip, deflate, br
Accept-Language
en-US
Cookie
demdex=59842485181670560920556877779147054954
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp

Response headers

Accept-Ranges
bytes
Cache-Control
max-age=21600
Content-Encoding
gzip
Content-Type
text/html
Expires
Thu, 01 Jan 1970 00:00:00 GMT
Last-Modified
Wed, 08 Apr 2020 13:03:55 GMT
P3P
policyref="/w3c/p3p.xml", CP="NOI NID CURa ADMa DEVa PSAa PSDa OUR SAMa BUS PUR COM NAV INT"
Pragma
no-cache
Set-Cookie
demdex=59842485181670560920556877779147054954;Path=/;Domain=.demdex.net;Expires=Tue, 13-Oct-2020 11:52:58 GMT;Max-Age=15552000;Secure;SameSite=None
Strict-Transport-Security
max-age=31536000; includeSubDomains
Vary
Accept-Encoding, User-Agent
X-TID
F2jdNZMPQWU=
Content-Length
2785
Connection
keep-alive
id
ww8.kohls.com/
48 B
479 B
XHR
General
Full URL
https://ww8.kohls.com/id?d_visid_ver=4.3.0&d_fieldgroup=A&mcorgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&mid=64955286112438701961050183047540692546&ts=1587037978557
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/ktag.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
15.188.31.119 Paris, France, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-15-188-31-119.eu-west-3.compute.amazonaws.com
Software
jag /
Resource Hash
fe8344de630b9e2cff3a5439c0962e31e02cd66470a16f0484a69a8332861c59
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/x-www-form-urlencoded

Response headers

status
200
date
Thu, 16 Apr 2020 11:52:58 GMT
x-content-type-options
nosniff
server
jag
xserver
anedge-65fb49f79-f74bg
vary
Origin
x-c
master-1221.I0e927e.M0-376
p3p
CP="This is not a P3P policy"
access-control-allow-origin
https://www.kohls.com
cache-control
no-cache, no-store, max-age=0, no-transform, private
access-control-allow-credentials
true
content-type
application/x-javascript;charset=utf-8
content-length
48
x-xss-protection
1; mode=block
ibs:dpid=411&dpuuid=XphHGgAAAurBeVL0
dpm.demdex.net/
Redirect Chain
  • https://cm.everesttech.net/cm/dd?d_uuid=59842485181670560920556877779147054954
  • https://dpm.demdex.net/ibs:dpid=411&dpuuid=XphHGgAAAurBeVL0
42 B
915 B
Image
General
Full URL
https://dpm.demdex.net/ibs:dpid=411&dpuuid=XphHGgAAAurBeVL0
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
54.76.175.152 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-54-76-175-152.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains
X-Content-Type-Options nosniff

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

DCS
dcs-prod-irl1-v065-064a36882.edge-irl1.demdex.com 5.66.0.20200408080925 1ms (+0ms)
Pragma
no-cache
Strict-Transport-Security
max-age=31536000; includeSubDomains
X-Content-Type-Options
nosniff
X-TID
sstF2vNNSM0=
P3P
policyref="/w3c/p3p.xml", CP="NOI NID CURa ADMa DEVa PSAa PSDa OUR SAMa BUS PUR COM NAV INT"
Cache-Control
no-cache,no-store,must-revalidate,max-age=0,proxy-revalidate,no-transform,private
Connection
keep-alive
Content-Type
image/gif
Content-Length
42
Expires
Thu, 01 Jan 1970 00:00:00 GMT

Redirect headers

Date
Thu, 16 Apr 2020 11:52:57 GMT
Server
AMO-cookiemap/1.1
P3P
CP="NOI NID DEVa PSAa PSDa OUR IND PUR COM NAV INT DEM"
Location
https://dpm.demdex.net/ibs:dpid=411&dpuuid=XphHGgAAAurBeVL0
Cache-Control
no-cache
Connection
Keep-Alive
Keep-Alive
timeout=15,max=100
Content-Length
0
truncated
/
14 KB
14 KB
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
fb4491ac8ba8263bc3648569c13e5c3db6559373d119c760b3bdf7816f352196

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
Origin
https://www.kohls.com

Response headers

Content-Type
application/x-font-woff
floop
api-bd.kohls.com/v1/ecs/topics/
0
297 B
Other
General
Full URL
https://api-bd.kohls.com/v1/ecs/topics/floop
Requested by
Host: api-bd.kohls.com
URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

status
204
date
Thu, 16 Apr 2020 11:52:58 GMT
akamai-request-id2
2.16.187.23:b342cae
server-timing
cdn-cache; desc=MISS, edge; dur=104, origin; dur=22
access-control-allow-origin
*
fwdhst
origin-gcp-us-central1-ecs.kohls.com
config.json
c.go-mpulse.net/api/ Frame 9C0D
13 KB
3 KB
XHR
General
Full URL
https://c.go-mpulse.net/api/config.json?key=4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T&d=www.kohls.com&t=5290127&v=1.667.0&if=&sl=0&si=7tmw302xm59-q8vqc9&plugins=AK,ConfigOverride,Continuity,PageParams,IFrameDelay,AutoXHR,SPA,Angular,Backbone,Ember,History,RT,CrossDomain,BW,PaintTiming,NavigationTiming,ResourceTiming,Memory,CACHE_RELOAD,Errors,TPAnalytics,UserTiming,Akamai,Early,LOGN&acao=&ak.ai=225159
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:184::11a6 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
fe80262f4c357e72737b9fdbcd80883a5d0ea9d53996e5c84592d9d9f5cc04e2

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:52:58 GMT
Content-Encoding
gzip
Vary
Accept-Encoding
Content-Type
application/json
Access-Control-Allow-Origin
*
Cache-Control
private, max-age=300, stale-while-revalidate=60, stale-if-error=120
Connection
keep-alive
Timing-Allow-Origin
*
Content-Length
2735
json
kohls.tt.omtrdc.net/m2/kohls/mbox/
16 KB
6 KB
XHR
General
Full URL
https://kohls.tt.omtrdc.net/m2/kohls/mbox/json?mbox=target-global-mbox&mboxSession=8ecbcd71933845fda9d9119a20320f2b&mboxPC=&mboxPage=f7446c89b99f458799f69968d87eba0f&mboxRid=371be28c918641f49c18d43720963430&mboxVersion=1.7.1&mboxCount=1&mboxTime=1587045178102&mboxHost=www.kohls.com&mboxURL=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&mboxReferrer=&browserHeight=1200&browserWidth=1600&browserTimeOffset=120&screenHeight=1200&screenWidth=1600&colorDepth=24&devicePixelRatio=1&screenOrientation=landscape&at_property=bb529821-b52b-bf89-2022-4492a94a6d05&customerLoggedStatus=false&tceIsRedesign=True&tceIsPDPRedesign=False&tceIsCNCRedesign=false&mboxMCSDID=125FAFED0A481692-08430E6AD32565C3&vst.trk=ww9.kohls.com&vst.trks=ww8.kohls.com&mboxMCGVID=64955286112438701961050183047540692546&mboxAAMB=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y&mboxMCGLH=6
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/ktag.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
66.117.29.4 , United States, ASN15224 (OMNITURE, US),
Reverse DNS
Software
/
Resource Hash
276d549ad430e8782313e8c586a080aed51d54c5fb86c11d402de637365af6ca

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:52:58 GMT
content-encoding
gzip
status
200
vary
Origin,Accept-Encoding
content-type
application/json;charset=UTF-8
access-control-allow-origin
https://www.kohls.com
cache-control
no-cache
access-control-allow-credentials
true
timing-allow-origin
*
x-request-id
371be28c918641f49c18d43720963430
pixel.gif
static.criteo.net/images/
43 B
260 B
Image
General
Full URL
https://static.criteo.net/images/pixel.gif?ch=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
178.250.0.130 , France, ASN44788 (ASN-CRITEO-EUROPE, FR),
Reverse DNS
Software
nginx /
Resource Hash
b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
last-modified
Tue, 09 Dec 2008 16:52:36 GMT
server
nginx
etag
"493ea254-2b"
status
200
content-type
image/gif
access-control-allow-origin
*
cache-control
max-age=31104000, public
accept-ranges
bytes
timing-allow-origin
*
content-length
43
expires
Sun, 11 Apr 2021 11:52:58 GMT
pixel.gif
static.criteo.net/images/
43 B
260 B
Image
General
Full URL
https://static.criteo.net/images/pixel.gif?ch=2
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
178.250.0.130 , France, ASN44788 (ASN-CRITEO-EUROPE, FR),
Reverse DNS
Software
nginx /
Resource Hash
b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:58 GMT
last-modified
Tue, 09 Dec 2008 16:52:36 GMT
server
nginx
etag
"493ea254-2b"
status
200
content-type
image/gif
access-control-allow-origin
*
cache-control
max-age=31104000, public
accept-ranges
bytes
timing-allow-origin
*
content-length
43
expires
Sun, 11 Apr 2021 11:52:58 GMT
0d627b0f916377baf33570265c79a
www.kohls.com/public/
17 B
735 B
XHR
General
Full URL
https://www.kohls.com/public/0d627b0f916377baf33570265c79a
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
x-origin-ttl
Thu, 16 Apr 2020 11:52:59 GMT
status
201
vary
Origin
content-type
application/json
access-control-allow-origin
https://www.kohls.com
access-control-allow-credentials
true
x-origin-cc
max-age=0, no-cache, no-store
strict-transport-security
max-age=15768000 ; preload
access-control-allow-headers
Content-Type
content-length
17
truncated
/
8 KB
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
d54f94df1233ab7224af68f63fe3df27584c4c01d70b2e65bcdc774ba05c6b41

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/png
truncated
/
157 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
80d54533f80e8233621f965ae0a7713928bdb4d491ed0eb5e90434550f1894cb

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/png
foundation3.js
www.kohls.com/snb/media/javascript/deploy/
229 KB
72 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/foundation3.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
86ff0cb1658b5b1e3368575112eab5ebdf2da7a786599ce73cee1ed875bd9f80
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:38:24 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:38:23 GMT, Thu, 02 Apr 2020 05:38:23 GMT, Thu, 02 Apr 2020 05:38:23 GMT
etag
"5e729ee8-39599"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
72898
expires
Fri, 17 Apr 2020 11:52:59 GMT
homepageR51.js
www.kohls.com/snb/media/javascript/deploy/
587 KB
119 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/homepageR51.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
260d6c5edacb67917465bd4692d5dc5b5d1abf3fd0e3bc9287b7a6e8d074d935
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
br
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
content-length
120757
pragma
no-cache
last-modified
Wed, 25 Mar 2020 08:37:19 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Wed, 25 Mar 2020 08:37:18 GMT, Wed, 25 Mar 2020 08:37:18 GMT, Wed, 25 Mar 2020 08:37:18 GMT, Wed, 25 Mar 2020 08:37:18 GMT
etag
"5e6c7213-92d0d"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
cache-control
max-age=0, no-cache, no-store
x-origin-cc
, max-age=0, no-cache, no-store, max-age=0, no-cache, no-store, max-age=0, no-cache, no-store, max-age=0, no-cache, no-store
accept-ranges
bytes
expires
Thu, 16 Apr 2020 11:52:59 GMT
SkavaOmnitureCode.js
www.kohls.com/snb/media/omniture/
10 KB
3 KB
Script
General
Full URL
https://www.kohls.com/snb/media/omniture/SkavaOmnitureCode.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
e5063c2f8d59f2fa55456040d32935d5cceac9c23a0ae8a3e3ce026f08542496
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:40:01 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:40:00 GMT, Thu, 02 Apr 2020 05:40:00 GMT, Thu, 02 Apr 2020 05:40:00 GMT, Thu, 02 Apr 2020 05:40:00 GMT, Thu, 02 Apr 2020 05:40:00 GMT
etag
"5e729f13-2615"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
2231
expires
Fri, 17 Apr 2020 11:52:59 GMT
kohls_v1_m56577569839297458.js
www.kohls.com/snb/media/javascript/deploy/
20 KB
5 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/kohls_v1_m56577569839297458.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
9a3c12072ed3b8a80321998ec90ed1915c2262b71c148b7a4ba08099d7fc0541
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:39:02 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:39:01 GMT, Thu, 02 Apr 2020 05:39:01 GMT, Thu, 02 Apr 2020 05:39:01 GMT
etag
"5e729f05-4f91"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
4780
expires
Fri, 17 Apr 2020 11:52:59 GMT
s_code.js
www.kohls.com/snb/media/javascript/deploy/
80 KB
25 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/s_code.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
790d3cb3a1372c1185ee7f4d65f27b31797f50d21ef4093d8933c7f32030797c
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
br
etag
"5e729f13-13f6e"
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
content-length
25016
last-modified
Wed, 01 Apr 2020 05:39:04 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:39:03 GMT, Thu, 02 Apr 2020 05:39:03 GMT, Thu, 02 Apr 2020 05:39:03 GMT, Thu, 02 Apr 2020 05:39:03 GMT
x-edgeconnect-cache-status
1
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400
accept-ranges
bytes
expires
Fri, 17 Apr 2020 11:52:59 GMT
experiences
api-bd.kohls.com/v1/ede/
17 KB
19 KB
XHR
General
Full URL
https://api-bd.kohls.com/v1/ede/experiences?cid=WebStore&pgid=SalesEvent&plids=KohlsCoupons1%7C15%2CKohlsCoupons2%7C15%2CKohlsCoupons3%7C15
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
e62580f2c2ae3878ba802740769fed193abe0b1d22a3130bdb36f9c69aa41332

Request headers

Accept
application/json, text/javascript, */*; q=0.01
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
X-APP-API_KEY
NQeOQ7owHHPkdkMkKuH5tPpGu0AvIIOu
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/json

Response headers

x-edgeconnect-origin-mex-latency
59
date
Thu, 16 Apr 2020 11:52:59 GMT
status
200
x-edgeconnect-midmile-rtt
100
x-edgeconnect-cache-status
0
ede-bundle_params
{"channelId":"WebStore","pageId":"SalesEvent","executedInfoList":[{"placementId":"KohlsCoupons1","departmentName":"","category":"","subCategory":"","bundleId":"513","placementRevision":"1585751737272","bundleRevision":"1586354453005","kiraRevision":"1549965842000","uuid":"d7b68e67-a25b-4de6-b900-33e308dd012a","infoMeta":{"type":"DealsFlatRec"},"infoPayload":{"executedAlgorithmsInfo":{"executedAlgorithmInfoList":[{"algorithmId":"804","ccpParametersUsed":["primaryProductType"],"isPersonalized":false}],"contextBasedOptimized":false,"autoOptimized":false,"optimizedMetric":"None"},"executedRulesInfo":{"executedRuleInfoList":[{"ruleId":"26","ruleType":"DO_NOT_RECOMMEND"}],"backfillDisabledFromRule":false},"isAb":false,"abTestId":"","currentAbVariationId":"","recGenerationCycleStatus":{"recGenerationCycleMask":71468256854080,"requestId":"e7afb28b-e244-43de-a3cd-7c8129445de9"}}},{"placementId":"KohlsCoupons2","departmentName":"","category":"","subCategory":"","bundleId":"512","placementRevision":"1585751853575","bundleRevision":"1585666373730","kiraRevision":"1549965842000","uuid":"90a725b7-fb2a-4c58-b3af-0a9d7f512541","infoMeta":{"type":"DealsFlatRec"},"infoPayload":{"executedAlgorithmsInfo":{"executedAlgorithmInfoList":[{"algorithmId":"805","ccpParametersUsed":["primaryProductType"],"isPersonalized":false}],"contextBasedOptimized":true,"autoOptimized":false,"optimizedMetric":"None"},"executedRulesInfo":{"executedRuleInfoList":[{"ruleId":"1","ruleType":"DO_NOT_RECOMMEND"}],"backfillDisabledFromRule":false},"isAb":false,"abTestId":"","currentAbVariationId":"","recGenerationCycleStatus":{"recGenerationCycleMask":71468255871040,"requestId":"e7afb28b-e244-43de-a3cd-7c8129445de9"}}},{"placementId":"KohlsCoupons3","departmentName":"","category":"","subCategory":"","bundleId":"511","placementRevision":"1585666010133","bundleRevision":"1582141925940","kiraRevision":"1549965842000","uuid":"6e7fe825-a772-457b-810c-2979c1bc1979","infoMeta":{"type":"FlatRec"},"infoPayload":{"executedAlgorithmsInfo":{"executedAlgorithmInfoList":[],"contextBasedOptimized":false,"autoOptimized":false,"optimizedMetric":"None"},"executedRulesInfo":{"executedRuleInfoList":[],"backfillDisabledFromRule":false},"isAb":false,"abTestId":"","currentAbVariationId":"","recGenerationCycleStatus":{"recGenerationCycleMask":70377338306688,"requestId":"e7afb28b-e244-43de-a3cd-7c8129445de9"}}}]}
content-type
application/json
access-control-allow-origin
*
fwdhst
origin-ede-gcp-central-green.kohls.com
access-control-expose-headers
EDE-AB_VAR_PARAMS, EDE-BUNDLE_PARAMS, Content-Type
akamai-request-id2
2.16.187.21:259ddfa
server-timing
cdn-cache; desc=MISS, edge; dur=104, origin; dur=59
content-length
17190
page
d.us.criteo.com/delivery/v2/api/
105 KB
66 KB
Script
General
Full URL
https://d.us.criteo.com/delivery/v2/api/page?~it=js&key=164&shopper-browser-id=1234&page-id=DealsWeb&placement-id=DealsWeb-Toys&category=homepage&shopper-account-id=9876&abe=0&filters=(ratingeligible%2Ceq%2C1)&json=hl_43&_=617
Requested by
Host: d.us.criteo.com
URL: https://d.us.criteo.com/Delivery/ClientPaths/Library/hook.js?cid=164
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
74.119.119.135 , United States, ASN19750 (AS-CRITEO, US),
Reverse DNS
Software
Microsoft-IIS/10.0 / ASP.NET
Resource Hash
e38f3f6f64fbb78489847e48d4664d32c59979542b154782c3be5ae72da860a0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
gzip
server
Microsoft-IIS/10.0
x-aspnet-version
4.0.30319
status
200
x-powered-by
ASP.NET
vary
Origin,Accept-Encoding
content-type
application/x-javascript;charset=utf-8
access-control-allow-origin
*
cache-control
private
page
d.us.criteo.com/delivery/v2/api/
0
0
Script
General
Full URL
https://d.us.criteo.com/delivery/v2/api/page?~it=js&key=164&shopper-browser-id=1234&page-id=DealsWeb&placement-id=DealsWeb-CustomerFavs%20&category=homepage&shopper-account-id=9876&abe=0&filters=(ratingeligible%2Ceq%2C1)&json=hl_507&_=68
Requested by
Host: d.us.criteo.com
URL: https://d.us.criteo.com/Delivery/ClientPaths/Library/hook.js?cid=164
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
74.119.119.135 , United States, ASN19750 (AS-CRITEO, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

0d627b0f916377baf33570265c79a
www.kohls.com/public/
17 B
733 B
XHR
General
Full URL
https://www.kohls.com/public/0d627b0f916377baf33570265c79a
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
x-origin-ttl
Thu, 16 Apr 2020 11:52:59 GMT
status
201
vary
Origin
content-type
application/json
access-control-allow-origin
https://www.kohls.com
access-control-allow-credentials
true
x-origin-cc
max-age=0, no-cache, no-store
strict-transport-security
max-age=15768000 ; preload
access-control-allow-headers
Content-Type
content-length
17
tr_phase2_common.css
www.kohls.com/snb/media/css/
58 KB
10 KB
Stylesheet
General
Full URL
https://www.kohls.com/snb/media/css/tr_phase2_common.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
fc49380a326d18192e6e10dc8b95f7738e27af87961a0221523910a6b8470500
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:38:46 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:38:45 GMT, Thu, 02 Apr 2020 05:38:45 GMT, Thu, 02 Apr 2020 05:38:45 GMT
etag
"5e729f05-e69f"
strict-transport-security
max-age=15768000 ; preload
content-type
text/css
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
9641
expires
Fri, 17 Apr 2020 11:52:59 GMT
pb.module.js
www.kohls.com/snb/media/javascript/deploy/
46 KB
11 KB
Script
General
Full URL
https://www.kohls.com/snb/media/javascript/deploy/pb.module.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
0012bc12b8e4b21f101266c3e52c8a244739be6694eb451c8f77383655a0a998
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:52:59 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:39:09 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:39:08 GMT, Thu, 02 Apr 2020 05:39:08 GMT, Thu, 02 Apr 2020 05:39:08 GMT
etag
"5e729f05-b6c6"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
10502
expires
Fri, 17 Apr 2020 11:52:59 GMT
beacon
b.criteo.com/
43 B
265 B
Image
General
Full URL
https://b.criteo.com/beacon?fid=164&hl_qs=oltUdbtGVslQn4xXKbedELfbby2grg9uQvEC56QoDITafCozspFCTLiscj0jE5XB%2BYjei8grv%2BzfhDJuSGZQkxe2GbIS2CLwdqfXGFQU4YBYNNIEx2xU9S8f1xYCnXYdkhTVQ1DzEWP5lAQNkDIRhE8kUHK6%2BSGJDyn4qs1yqAt9JlTEFrVoTB1Q3dx4v%2FG2lo%2Bu%2FDbfGrvZTQ6gagkYoTyLtQZbGH9KVH12wa8O7EXvSHh9SfyNTXRRBDPQ%2BaIl4lnOqTUSKiQO7xRjCrWAKFK88WN3HZ%2BvGHmqSSGzeUOrdi6z4xBIQF3XOQICJM%2BFgzQvivFy643PU%2BcLwZOkHiGbN4%2FyyHF4McbileW1uNo1Q910XUMe8Evd%2BYM4LjwOBFp%2FRlp118w9R%2FQ3KuZcSwa7Fxkcmgvlg4KtuxKkaec%2F8EVd%2FxMCROtHpLEYcha51TKnjdwz%2FQ8K%2FN%2FxVmOErArW2h86wueSQNA7Y7WQ4YnF8c8lMISrnwqjZ9jKQ3ox3fqapUMhE5n3G03y5Y0JbqX8JPiGiA5dXBXgWEpfWC94%2FkQNrTm4B2WVwFuOJHKjVfq9vwv23cUHfrB6Qg%2BxCgliUUitQZR%2FNtUf1yXEzLXD3m7FS4kkMH%2BbO01eSHu3Pfe1xKairqwLO%2BIGvh5VJJmkUzY4oEUiZIew0FWu48kyC7C0wQlzI3ISP9TuWEbNcHehNsZE8Ksh976rU%2F7gb3gmkQiXAM8PHJ4OfYrlncZyOFxGdTfClJjvnMkbPJl6WuFP2rh35tC3a1yKM55m0F6LrLGnEAkeBz4AwUqcHmItCRZzqE8XESa84wEEcgLdgr6B5Y9zjDVKQB3vd0UB5mA8UPb5Qum554zcNVAUpAxkr%2F5Kb6uNFP5VNqaKofYYPLSo74uLawMKNgpjXE2pMW9niVfPE2iJjz7wDj0ZfoZ0WKN9BACZWDMXSJ8YLGmn6Y9m00VKMEYrI6Kq%2FBrSWGVxzfKTv1Z81oFjrtiVhQcSvn9ZuEIEoUivSwOyM%2F19oCHvN7cWsoCELHgaklfbx%2BHym7TUNNqwLYUJxCSHUxWcePzKUXxYdA4CrolAF2LOgodNsSJ8xSZKqW6ZbH75rA1HaXBeHdSBSwa7Z1Cbpo7uC7lR0jJ1m7pRLIdZetUYn2pbyT5wKZ84AWnw92EV6EYvZCYfFRl32KY1vXuRVu8hvG%2F%2FMIW8FmsJBdxxv6l55hBlny4i8DoqAdcGRoDUHq6h6M2KXXLqh%2B6XGnFz0Qf8UESSnIMv5TW0zt%2BOFeAL&ev=2&action=page&origc=A&pid=5e5720a5-bcc7-4b9d-85b6-2f8985c981f4&rn=506179329&abe=0
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
178.250.2.149 , France, ASN44788 (ASN-CRITEO-EUROPE, FR),
Reverse DNS
Software
Kestrel /
Resource Hash
4e0705327480ad2323cb03d9c450ffcae4a98bf3a5382fa0c7882145ed620e49

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:00 GMT
cache-control
no-cache
server
Kestrel
content-type
image/gif
truncated
/
3 KB
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
3ac5ca978196ded2a4cf29e2cc940a0b83809ae6f577bf22197aa60c419b45fa

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml
truncated
/
311 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
1b9677254b31d53bea24c7bf91d321e1c17c975a0d38544a141428005169364e

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml;charset=US-ASCII
truncated
/
452 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
350a160781abcfed2b855db11228ffa4b0e71a19c2e1212aa363336dff19d9a8

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml;charset=US-ASCII
truncated
/
324 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
38dff88a20261df3e510cf1bef67e1d9c68398158137cef3b9c06505d12033ae

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml;charset=US-ASCII
truncated
/
455 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
019a576b7eccf17e9314ace09cd88544ef0c2131682d7bb8ae033a0f96ccd9dc

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml;charset=US-ASCII
truncated
/
400 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
12a00ce90d3f47313490ff265720a5277a4f2db42b7cca9a830ea63d3538e241

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml;charset=US-ASCII
truncated
/
457 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
644fe710e6435028a30263c2b907c700f61934afaff7a8c539c0e4337f79eccb

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml;charset=US-ASCII
truncated
/
424 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
8ee94e76927614a59084b18f322ac6257f3ec5692d13426436a3e48a12db9de0

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/svg+xml;charset=US-ASCII
floop
api-bd.kohls.com/v1/ecs/topics/
0
262 B
Other
General
Full URL
https://api-bd.kohls.com/v1/ecs/topics/floop
Requested by
Host: api-bd.kohls.com
URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

x-edgeconnect-origin-mex-latency
29
date
Thu, 16 Apr 2020 11:53:00 GMT
x-edgeconnect-midmile-rtt
101
x-edgeconnect-cache-status
0
status
204
access-control-allow-origin
*
fwdhst
origin-gcp-us-central1-ecs.kohls.com
akamai-request-id2
2.16.187.23:b34346c
server-timing
cdn-cache; desc=MISS, edge; dur=475, origin; dur=29
2854228
media.kohlsimg.com/is/image/kohls/
20 KB
20 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2854228?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
fa3e9da6350b5a959cfc7b371fd9665fe017982f650514c0d59cd31c474bd8c7

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
server
Akamai Image Manager
etag
"b31a9b8e848dce523d0a71efc920f834"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
20534
expires
Thu, 23 Apr 2020 11:53:00 GMT
2280804
media.kohlsimg.com/is/image/kohls/
27 KB
27 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2280804?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
087fac5420f662b7d1176e2440faace2812f7c0ff0546cc9e341ea66fd58e51a

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
server
Akamai Image Manager
etag
"5820ffd60043040b1de30ee9395e498a"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
27456
expires
Thu, 23 Apr 2020 11:53:00 GMT
2558886
media.kohlsimg.com/is/image/kohls/
13 KB
13 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2558886?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
34147804d98bbad1613d2f50c0eabcb74a7b1ba3273e3b477990d44951ce8212

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
server
Akamai Image Manager
etag
"5f626e237684fe1fa64b94cab5b55176"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
12818
expires
Thu, 23 Apr 2020 11:53:00 GMT
3006607
media.kohlsimg.com/is/image/kohls/
12 KB
12 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3006607?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
a70223898829b1dae52f218a01792075cf87c8f5bc10f410e2d15f0fb057f17a

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"ee09718e4847b2f6b2f1d0c97fafde59"
x-serial
814
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=450137
x-akamai-ssl-client-sid
q907vQDjxoT/ey2oR26rJQ==
content-length
12390
expires
Tue, 21 Apr 2020 16:55:17 GMT
2888508
media.kohlsimg.com/is/image/kohls/
18 KB
19 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2888508?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
b206040bd0394b10f97d5f7b12a8310e280a2f8fee90e7385f80c275f214fb64

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"796ab2a788838cee0a6e514ac9bbaba0"
x-serial
386
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
FJkaB0pyDg1AkLyzPIV/kw==
content-length
18856
expires
Thu, 23 Apr 2020 11:53:00 GMT
3006770
media.kohlsimg.com/is/image/kohls/
9 KB
9 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3006770?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
8b8bf95eea442cfcd7c2e67279e323e08915eab8a7c451dd0b6b5993944145fe

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
server
Akamai Image Manager
etag
"e0d3345a10c7a0d7f1013208c15f5265"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
9400
expires
Thu, 23 Apr 2020 11:53:00 GMT
3266727_Pink_Unicorn
media.kohlsimg.com/is/image/kohls/
11 KB
11 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3266727_Pink_Unicorn?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Server /
Resource Hash
b35f56de9c9628ab933499b9b424670c904afe4ffd2a22070d198cf459247260

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
server
Akamai Image Server
etag
"bef7b9f209d89b040562422898c4851e"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=622
content-length
10783
expires
Thu, 16 Apr 2020 12:03:22 GMT
3309630
media.kohlsimg.com/is/image/kohls/
11 KB
11 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3309630?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Server /
Resource Hash
25bd1eae99efbcb478306716b4f8de819213917cdc7fa9f6eb8fc6edc9e27e5d

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
server
Akamai Image Server
etag
"387db75d13d7c733851af16bc0e0c5c9"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=621
content-length
11021
expires
Thu, 16 Apr 2020 12:03:21 GMT
2980310_Dark_Gray_Heather
media.kohlsimg.com/is/image/kohls/
4 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2980310_Dark_Gray_Heather?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
5394cdcfabc886296d184d2d7101f59612b59fe5baa239485a725b2bf4da6053

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"990a4c47bc763b31cffcb9a8e4c76851"
x-serial
194
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
3940
expires
Thu, 23 Apr 2020 11:53:00 GMT
2571518_Graphite
media.kohlsimg.com/is/image/kohls/
6 KB
6 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2571518_Graphite?wid=300&hei=300&op_sharpen=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
3053381ef6d6082e5b67ce1037e2c997fa8f019c1b344dac46cc82b803a397c0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"3481342311fc2ad731f6335cf527bdd3"
x-serial
1085
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
d8nx7MG02xCUs+fe7PVSpg==
content-length
6064
expires
Thu, 23 Apr 2020 11:53:00 GMT
pixel_33bf7c8
www.kohls.com/akam/11/
0
662 B
XHR
General
Full URL
https://www.kohls.com/akam/11/pixel_33bf7c8
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/x-www-form-urlencoded

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:00 GMT
x-origin-ttl
strict-transport-security
max-age=15768000 ; preload
content-type
text/html
status
200
cache-control
max-age=0, no-cache, no-store, private
x-origin-cc
server-timing
cdn-cache; desc=HIT, edge; dur=3
content-length
0
expires
Thu, 16 Apr 2020 11:53:00 GMT
session.jsp
www.kohls.com/web/
295 B
2 KB
XHR
General
Full URL
https://www.kohls.com/web/session.jsp?lpf=v2
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
118577f6c1fa5cd509378cde5fd3323c46b7d13f4c77e8bac90d9ee7049d194e
Security Headers
Name Value
Content-Security-Policy block-all-mixed-content; frame-ancestors 'self';
Strict-Transport-Security max-age=15768000 ; preload
X-Frame-Options SAMEORIGIN

Request headers

Accept
application/json
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
X-Requested-With
XMLHttpRequest
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/json

Response headers

x-partner_guid
3049814945305ACCMf5c463f03860
x-edgeconnect-origin-mex-latency
19
date
Thu, 16 Apr 2020 11:53:00 GMT
x-sessionid
07974be1-981a-41c0-a858-f5c463f03860
vary
Accept-Encoding
x-edgeconnect-midmile-rtt
99
x-isvalidated
true
status
200
x-sessionid_expires
2020-04-16 07:08:00.313
server-timing
cdn-cache; desc=MISS, edge; dur=108, origin; dur=19
content-encoding
gzip
content-length
224
pragma
no-cache
correlation-id
:null::71cfdb59-c909-4481-b194-09637265fa71::1587037980312::us-central1-f::cprod-green-accservice-prod-mwm9::null::ACC::session::22.0.2-20200318.222029-967::null::null::null::null::null::null
x-lat
A
x-origin-ttl
Thu, 01 Jan 1970 00:00:00 GMT, Thu, 01 Jan 1970 00:00:00 GMT
x-edgeconnect-cache-status
0
x-frame-options
SAMEORIGIN
strict-transport-security
max-age=15768000 ; preload
content-type
application/json
cache-control
max-age=0, no-cache, no-store, private
x-origin-cc
,
content-security-policy
block-all-mixed-content; frame-ancestors 'self';
expires
Thu, 16 Apr 2020 11:53:00 GMT
oo_tab_icon_retina.gif
www.kohls.com/onlineopinionV5/
2 KB
2 KB
Image
General
Full URL
https://www.kohls.com/onlineopinionV5/oo_tab_icon_retina.gif
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache /
Resource Hash
140b59aaf164518b2c1b4a592f8b3fabd61dcdf810f00c83ab3d8c979a0f32b9
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:00 GMT
last-modified
Fri, 09 Sep 2016 20:34:29 GMT
server
Apache
x-origin-ttl
, , , ,
etag
"498cea522de993e22192a73eedfd00be:1473453269"
strict-transport-security
max-age=15768000 ; preload
content-type
image/gif
status
200
cache-control
max-age=0, no-cache, no-store
x-origin-cc
, , , ,
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
1942
expires
Thu, 16 Apr 2020 11:53:00 GMT
static_pb_drawerV2.js
www.kohls.com/snb/media/R51/javascript/tmpl/tr/
80 KB
10 KB
XHR
General
Full URL
https://www.kohls.com/snb/media/R51/javascript/tmpl/tr/static_pb_drawerV2.js
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
4c87707ce17127fc5385771fbde9f6c94bccbd208b0de2d0edfc2939601f6af1
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Accept
text/html, */*; q=0.01
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
X-Requested-With
XMLHttpRequest
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:37:59 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:37:59 GMT, Thu, 02 Apr 2020 05:37:59 GMT, Thu, 02 Apr 2020 05:37:59 GMT, Thu, 02 Apr 2020 05:37:59 GMT
etag
"5e729f06-14094"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
10002
expires
Fri, 17 Apr 2020 11:53:00 GMT
OmnitureAkamai.jsp
www.kohls.com/wcs-internal/
5 KB
2 KB
Script
General
Full URL
https://www.kohls.com/wcs-internal/OmnitureAkamai.jsp
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
b9100a86e7eb0f3f86e40d25e8dd057a28793bbb984e88438fd3e7df05eaaa49
Security Headers
Name Value
Content-Security-Policy block-all-mixed-content; frame-ancestors 'self';
Strict-Transport-Security max-age=15768000 ; preload
X-Frame-Options SAMEORIGIN

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
content-encoding
gzip
vary
Accept-Encoding
status
200
server-timing
cdn-cache; desc=MISS, edge; dur=106, origin; dur=15
content-length
1602
host_service
FutureTenseContentServer:11.1.1.8.0
last-modified
Thu, 16 Apr 2020 11:53:00 GMT
x-origin-ttl
,
x-frame-options
SAMEORIGIN
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
pragma
no-cache
cache-control
max-age=0, no-cache, no-store, private
x-origin-cc
no-store, no-store
content-security-policy
block-all-mixed-content; frame-ancestors 'self';
device_type
Touch
expires
Thu, 16 Apr 2020 11:53:00 GMT
nv_bootstrap.js
mon1.kohls.com/nv/kohls/
1 KB
917 B
Script
General
Full URL
https://mon1.kohls.com/nv/kohls/nv_bootstrap.js?v=REL20170123
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
9a118dcfc9dcb4b08cb5974926483ca437750f2c9becf6db10128accd57b198b

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
content-encoding
gzip
etag
"0169249613"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
624
expires
Thu, 16 Apr 2020 12:53:00 GMT
oo_desktop.js
www.kohls.com/onlineopinionV5/
122 KB
18 KB
Script
General
Full URL
https://www.kohls.com/onlineopinionV5/oo_desktop.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
6d257ae7d283ba55180a09d9933ff94e8069ceaac0ad76c5a01bf2d4fd170665
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
content-encoding
br
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
content-length
17213
pragma
no-cache
last-modified
Fri, 10 Apr 2020 21:05:02 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Fri, 10 Apr 2020 21:05:02 GMT, Fri, 10 Apr 2020 21:05:02 GMT, Fri, 10 Apr 2020 21:05:02 GMT, Fri, 10 Apr 2020 21:05:02 GMT, Fri, 10 Apr 2020 21:05:02 GMT
etag
"3e414249afa4e3e7ce2654942161f33c:1579898640"
strict-transport-security
max-age=15768000 ; preload
content-type
application/x-javascript
cache-control
max-age=0, no-cache, no-store
x-origin-cc
, max-age=0, no-cache, no-store, max-age=0, no-cache, no-store, max-age=0, no-cache, no-store, max-age=0, no-cache, no-store, max-age=0, no-cache, no-store
accept-ranges
bytes
expires
Thu, 16 Apr 2020 11:53:00 GMT
z1m.js
cdn.zineone.com/apps/latest/
80 KB
21 KB
Script
General
Full URL
https://cdn.zineone.com/apps/latest/z1m.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.37 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-37.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
6102b6f9b0a2f3d5b128c566862198ada13900b20be86edd070d9744329c14f1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 09 Apr 2020 12:44:54 GMT
Content-Encoding
gzip
Last-Modified
Tue, 04 Feb 2020 07:05:50 GMT
Server
AmazonS3
Age
601687
ETag
"76f3ffb5d22c60d6015df0332ad5f3f4"
X-Cache
Hit from cloudfront
Content-Type
application/javascript
Via
1.1 a32f966fc5896281eb3de44fd8f57d40.cloudfront.net (CloudFront)
Connection
keep-alive
X-Amz-Cf-Pop
FRA2-C2
Accept-Ranges
bytes
Content-Length
21357
X-Amz-Cf-Id
QuctEE0fl613CfJ9m6o_MBxD_kxvjcJ5F-e0KS1lUPnG5H-UP6g8Tw==
br-trk-5117.js
cdns.brsrvr.com/v1/
9 KB
4 KB
Script
General
Full URL
https://cdns.brsrvr.com/v1/br-trk-5117.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
54.243.79.244 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-54-243-79-244.compute-1.amazonaws.com
Software
nginx/1.4.6 (Ubuntu) /
Resource Hash
3fee8ee9cdc7566bfdf93c8158870816876ef54b93e58b205cb7f52f1d9ed064

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:01 GMT
Content-Encoding
gzip
Last-Modified
Thu, 22 Jun 2017 09:40:40 GMT
Server
nginx/1.4.6 (Ubuntu)
Connection
keep-alive
Content-Length
3606
Content-Type
application/x-javascript
tag.js
s.btstatic.com/
34 KB
12 KB
Script
General
Full URL
https://s.btstatic.com/tag.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.37.48.184 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-37-48-184.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
4e948638a694a5d3ec13f7f13f254788d5501905e246d99779e825aff3fbb725

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:00 GMT
Content-Encoding
gzip
Last-Modified
Thu, 13 Feb 2020 16:33:37 GMT
Server
nginx
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
public, max-age=14400
Connection
keep-alive
Accept-Ranges
bytes
Content-Type
application/javascript
Content-Length
12429
s77766909553383
ww8.kohls.com/b/ss/kohlscomprod/10/JS-2.0.0/
8 KB
9 KB
Script
General
Full URL
https://ww8.kohls.com/b/ss/kohlscomprod/10/JS-2.0.0/s77766909553383?AQB=1&ndh=1&pf=1&callback=s_c_il[1].doPostbacks&et=1&t=16%2F3%2F2020%2013%3A53%3A0%204%20-120&d.&nsid=0&jsonv=1&.d&sdid=125FAFED0A481692-08430E6AD32565C3&mid=64955286112438701961050183047540692546&aamlh=6&ce=UTF-8&ns=kohls&pageName=deals&g=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&c.&k.&pageDomain=www.kohls.com&.k&mcid.&version=4.3.0&icsmcvid=-false&mcidcto=-false&aidcto=-false&.mcid&.c&cc=USD&pageType=sale%20event%20landing&events=event1&products=%3Bproductmerch1&aamb=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y&tnt=524186%3A1%3A0%2C523998%3A0%3A0%2C524571%3A1%3A0%2C521474%3A0%3A0%2C523996%3A0%3A0%2C524251%3A1%3A0%2C519833%3A1%3A0%2C&c1=no%20taxonomy&c2=no%20taxonomy&c3=no%20taxonomy&v3=browse&c4=sale%20event%20landing&c5=non-search&c7=no%20taxonomy&v8=non-search&c16=browse&c17=kohls%20not%20logged%20in%7Cloyalty%20not%20logged%20in&v17=kohls%20not%20logged%20in%7Cloyalty%20not%20logged%20in&c18=thu%7Cweekday%7C06%3A00%20am&v18=thu%7Cweekday%7C06%3A00%20am&c22=2020-04-16&v22=desktop&v23=browse&v24=browse&v25=no%20taxonomy&v26=no%20taxonomy&v27=no%20taxonomy&v28=no%20taxonomy&c39=browse&c40=browse&v40=cloud17&c41=browse&c42=browse&v42=no%20cart&c50=D%3Ds_tempsess&c53=deals&c64=VisitorAPI%20Present&v68=deals&v70=07974be1-981a-41c0-a858-f5c463f03860&v71=klsbrwcki%3A07974be1-981a-41c0-a858-f5c463f03860&s=1600x1200&c=24&j=1.6&v=N&k=Y&bw=1600&bh=1200&AQE=1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/s_code.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
15.188.31.119 Paris, France, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-15-188-31-119.eu-west-3.compute.amazonaws.com
Software
jag /
Resource Hash
047d611897c812052f201dfc342417e92e816f06081591df05a7d8a1d48eb945
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

x-aam-tid
IWPQUEQXQ8Y=
date
Thu, 16 Apr 2020 11:53:00 GMT
x-content-type-options
nosniff
x-c
master-1221.I0e927e.M0-376
p3p
CP="This is not a P3P policy"
status
200
content-length
8306
x-xss-protection
1; mode=block
dcs
dcs-prod-irl1-v065-0e763926a.edge-irl1.demdex.com 5.66.0.20200408080925 9ms (+1ms)
pragma
no-cache
last-modified
Fri, 17 Apr 2020 11:53:00 GMT
server
jag
xserver
anedge-65fb49f79-8tzgg
etag
3408138110890246144-4614653047009172854
vary
*
content-type
application/x-javascript;charset=utf-8
access-control-allow-origin
*
cache-control
no-cache, no-store, max-age=0, no-transform, private
expires
Wed, 15 Apr 2020 11:53:00 GMT
cav_nv.js
mon1.kohls.com/nv/kohls/ Frame B400
698 KB
180 KB
Script
General
Full URL
https://mon1.kohls.com/nv/kohls/cav_nv.js?v=REL20170123
Requested by
Host: mon1.kohls.com
URL: https://mon1.kohls.com/nv/kohls/nv_bootstrap.js?v=REL20170123
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
28d5c7d2279d76c0643863a7d3926cb5b831c26538611f92a105cc6533cd531a

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
content-encoding
gzip
etag
"0192755084"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
183985
expires
Thu, 16 Apr 2020 12:53:00 GMT
config.js
mon1.kohls.com/nv/kohls/dotcom/
46 KB
12 KB
Script
General
Full URL
https://mon1.kohls.com/nv/kohls/dotcom/config.js?v=REL20170123
Requested by
Host: mon1.kohls.com
URL: https://mon1.kohls.com/nv/kohls/cav_nv.js?v=REL20170123
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
6dfa271e269c6f6693aee52b71b1e808077d6f9c0cb8389c8e4a2181ec595f2d

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:00 GMT
content-encoding
gzip
etag
"0195452992"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
12331
expires
Thu, 16 Apr 2020 12:53:00 GMT
tag
s.thebrighttag.com/
25 KB
8 KB
Script
General
Full URL
https://s.thebrighttag.com/tag?site=4DPyaxM&H=5fvnsyj
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.100.137 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-100-137.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
ef22f8a5a2bedb042fc46f75b94d94706df3f0f874f897d9abddb56784f586e1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:01 GMT
Content-Encoding
gzip
Server
nginx
ETag
efd15fcf68ff1f8266491d51f1e8460b
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Transfer-Encoding
chunked
Connection
keep-alive
Content-Type
text/javascript
X-BT-RequestId
d292a1f0-7fd8-11ea-bd46-0000ac1508e6
Expires
Thu, 01 Jan 1970 00:00:00 GMT
a414e9a0-db3a-4fa7-a646-69e384eb42be
apps.zineone.com/c3/api/v1/connect/
1 MB
155 KB
XHR
General
Full URL
https://apps.zineone.com/c3/api/v1/connect/a414e9a0-db3a-4fa7-a646-69e384eb42be?deviceId=a414e9a0-db3a-4fa7-a646-69e384eb42be&os=html5&devicetype=desktop&loadConfig
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
34.194.93.145 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-194-93-145.compute-1.amazonaws.com
Software
/
Resource Hash
3f956444ef88d61a2776f6f33681a65ac73559446c7002d51d16d33ae46516f1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
apikey
apps@2b6b5a02-b3e0-4a05-9e3b-d727afbfa357
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:01 GMT
content-encoding
gzip
access-control-allow-origin
*
access-control-allow-headers
apikey
vary
Accept-Encoding, User-Agent
content-type
text/plain;charset=utf-8
js
www.googletagmanager.com/gtag/
79 KB
29 KB
Script
General
Full URL
https://www.googletagmanager.com/gtag/js?id=DC-2195488
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:815::2008 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Google Tag Manager /
Resource Hash
84b2426a6096b022d9eddbc7b9318f98d10c6b51bfa99bd1aa3b605dd2c2264c
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:01 GMT
content-encoding
br
vary
Accept-Encoding
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
30043
x-xss-protection
0
last-modified
Thu, 16 Apr 2020 09:00:00 GMT
server
Google Tag Manager
strict-transport-security
max-age=31536000; includeSubDomains
content-type
application/javascript; charset=UTF-8
access-control-allow-origin
*
cache-control
private, max-age=900
access-control-allow-credentials
true
access-control-allow-headers
Cache-Control
expires
Thu, 16 Apr 2020 11:53:01 GMT
js
www.googletagmanager.com/gtag/
79 KB
29 KB
Script
General
Full URL
https://www.googletagmanager.com/gtag/js?id=DC-8632166
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:815::2008 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Google Tag Manager /
Resource Hash
91bd671d9ef32c444bc363d40e7d072a317e899b9c662ad1dd837d1d2277ed3a
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:01 GMT
content-encoding
br
vary
Accept-Encoding
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
30045
x-xss-protection
0
last-modified
Thu, 16 Apr 2020 09:00:00 GMT
server
Google Tag Manager
strict-transport-security
max-age=31536000; includeSubDomains
content-type
application/javascript; charset=UTF-8
access-control-allow-origin
*
cache-control
private, max-age=900
access-control-allow-credentials
true
access-control-allow-headers
Cache-Control
expires
Thu, 16 Apr 2020 11:53:01 GMT
745abcebb4573a60dc1dc7f5d132864d1c23e738.js
s.btstatic.com/lib/
238 B
527 B
Script
General
Full URL
https://s.btstatic.com/lib/745abcebb4573a60dc1dc7f5d132864d1c23e738.js?v=2
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.37.48.184 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-37-48-184.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
a400fe551ce1b5f459f1808f5c93714ea243d7e4b10dc962936b21635f34f8b0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:01 GMT
Content-Encoding
gzip
Last-Modified
Fri, 23 Aug 2019 22:16:24 GMT
Server
nginx
ETag
"0b24c206dd04d75aece3515ed8c93413"
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
max-age=31536000
Connection
keep-alive
Content-Type
application/javascript; charset=utf-8
Content-Length
165
conversion_async.js
www.googleadservices.com/pagead/
28 KB
10 KB
Script
General
Full URL
https://www.googleadservices.com/pagead/conversion_async.js
Requested by
Host: www.googletagmanager.com
URL: https://www.googletagmanager.com/gtag/js?id=DC-2195488
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.23.98 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
mil04s23-in-f98.1e100.net
Software
cafe /
Resource Hash
1e57ef80de847edfe190c3cc278688675dd98bd4f419f189e317a6be83394d05
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:01 GMT
content-encoding
gzip
x-content-type-options
nosniff
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
content-disposition
attachment; filename="f.txt"
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
10625
x-xss-protection
0
server
cafe
etag
11196337773217644603
vary
Accept-Encoding
content-type
text/javascript; charset=UTF-8
cache-control
private, max-age=3600
timing-allow-origin
*
expires
Thu, 16 Apr 2020 11:53:01 GMT
c8c3096e256a91eaf614d7c9433aad0eb1322fcd.js
s.btstatic.com/lib/
617 B
764 B
Script
General
Full URL
https://s.btstatic.com/lib/c8c3096e256a91eaf614d7c9433aad0eb1322fcd.js?v=2
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.37.48.184 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-37-48-184.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
935c78ed2a8b54d1e45405f33a81d7122820c14a965750229f9be8e5d48d3376

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:01 GMT
Content-Encoding
gzip
Last-Modified
Fri, 22 Mar 2019 17:16:07 GMT
Server
nginx
ETag
"5132eebc44531d56f078eb41d9c05967"
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
max-age=31536000
Connection
keep-alive
Content-Type
application/javascript; charset=utf-8
Content-Length
402
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/
2 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/?random=1587037981910&cv=9&fst=1587037981910&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&ig=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
Requested by
Host: www.googleadservices.com
URL: https://www.googleadservices.com/pagead/conversion_async.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:819::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
29ab1bc64a50b7914491ee4513673976c72915ea183ea1618012a63a71c00ca5
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:01 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
status
200
cache-control
no-cache, must-revalidate
content-disposition
attachment; filename="f.txt"
content-type
text/javascript; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
1057
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/
2 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/?random=1587037981913&cv=9&fst=1587037981913&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&ig=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
Requested by
Host: www.googleadservices.com
URL: https://www.googleadservices.com/pagead/conversion_async.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:819::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
a97dc3e56726da365e5116195a6b9eefc98b5018e73f53c5bd6e99583f79f56d
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:01 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
status
200
cache-control
no-cache, must-revalidate
content-disposition
attachment; filename="f.txt"
content-type
text/javascript; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
1057
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
bab4054f319c98a48fb79fa3356393230b835099.js
s.btstatic.com/lib/
817 B
806 B
Script
General
Full URL
https://s.btstatic.com/lib/bab4054f319c98a48fb79fa3356393230b835099.js?v=2
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.37.48.184 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-37-48-184.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
5683d721043542df3d73195d4449d2842042193e896c63aba9552de00b5ed207

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:01 GMT
Content-Encoding
gzip
Last-Modified
Fri, 22 Mar 2019 17:15:38 GMT
Server
nginx
ETag
"f64c91661627cc152221c44e831c53b6"
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
max-age=31536000
Connection
keep-alive
Content-Type
application/javascript; charset=utf-8
Content-Length
444
/
www.google.com/pagead/1p-user-list/1071871169/
42 B
117 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1071871169/?random=1587037981910&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1127165706&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.de/pagead/1p-user-list/1071871169/
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/1071871169/?random=1587037981910&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1127165706&resp=GooglemKTybQhCsO&rmt_tld=1&ipr=y
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81b::2003 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.com/pagead/1p-user-list/1018012790/
42 B
117 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1018012790/?random=1587037981913&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=999150396&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.de/pagead/1p-user-list/1018012790/
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/1018012790/?random=1587037981913&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=999150396&resp=GooglemKTybQhCsO&rmt_tld=1&ipr=y
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81b::2003 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
collect.js
6249496.collect.igodigital.com/
9 KB
2 KB
Script
General
Full URL
https://6249496.collect.igodigital.com/collect.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
3.210.28.246 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-3-210-28-246.compute-1.amazonaws.com
Software
/
Resource Hash
4a63ccc41b6e27c88fca243efd1030d401bc83bd3ae22aaff2b0d1354ba25703

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 07:23:49 GMT
vary
Accept-Encoding
content-type
application/javascript
d3ba78441d586dd7df57c95bad6ca4771a9d3907.js
s.btstatic.com/lib/
444 B
711 B
Script
General
Full URL
https://s.btstatic.com/lib/d3ba78441d586dd7df57c95bad6ca4771a9d3907.js?v=2
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.37.48.184 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-37-48-184.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
1c45f1dbc5afc1034ac9f4322cc6a66f4db7442f88be435d05897289ad475bd1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

x-amz-server-side-encryption
AES256
Date
Thu, 16 Apr 2020 11:53:02 GMT
Content-Encoding
gzip
Last-Modified
Thu, 10 Oct 2019 22:08:16 GMT
Server
nginx
ETag
"65b8cb09dc193bdece1c4f60f0729362"
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
max-age=31536000
Connection
keep-alive
Content-Type
application/javascript; charset=utf-8
Content-Length
311
bat.js
bat.bing.com/
25 KB
8 KB
Script
General
Full URL
https://bat.bing.com/bat.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2620:1ec:c11::200 , United States, ASN8068 (MICROSOFT-CORP-MSN-AS-BLOCK, US),
Reverse DNS
Software
/
Resource Hash
079e218ad07f42523479d475b4973a6e386ba95209ee964c04c1a6eb6186bda3

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
last-modified
Mon, 13 Apr 2020 22:01:50 GMT
x-msedge-ref
Ref A: 06E71AA648704E949E634F948E43C038 Ref B: FRAEDGE1120 Ref C: 2020-04-16T11:53:02Z
status
200
etag
"0db222df11d61:0"
vary
Accept-Encoding
content-type
application/javascript
access-control-allow-origin
*
cache-control
private,max-age=1800
accept-ranges
bytes
content-length
7610
btprivacy.js
s.btstatic.com/
5 KB
2 KB
Script
General
Full URL
https://s.btstatic.com/btprivacy.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.37.48.184 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-37-48-184.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
e15f21cd7a83e4e8d32c071f464287a2704794f2bdac683133a7b34dac6d55ba

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:02 GMT
Content-Encoding
gzip
Last-Modified
Thu, 16 Jan 2020 19:30:42 GMT
Server
nginx
ETag
"f6dc55142ef9aa5bac26b4b5c9febf29"
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
max-age=14400
Connection
keep-alive
Content-Type
application/javascript; charset=utf-8
Content-Length
1602
beacon.js
sb.scorecardresearch.com/
1 KB
1 KB
Script
General
Full URL
https://sb.scorecardresearch.com/beacon.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
23.11.238.95 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-11-238-95.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
a256529bd5b1b8846f8d2536ce7581fb6cea4479992f222d01535903dff48d79

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:02 GMT
Content-Encoding
gzip
Vary
Accept-Encoding
Content-Type
application/x-javascript
Cache-Control
private, no-transform, max-age=86400
Connection
keep-alive
Content-Length
884
Expires
Fri, 17 Apr 2020 11:53:02 GMT
analytics.js
www.google-analytics.com/
44 KB
18 KB
Script
General
Full URL
https://www.google-analytics.com/analytics.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:818::200e Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Golfe2 /
Resource Hash
eaf1b128b927ac2868755cb7366d35554255c8af362235afe270f9614f8c806d
Security Headers
Name Value
Strict-Transport-Security max-age=10886400; includeSubDomains; preload
X-Content-Type-Options nosniff

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

strict-transport-security
max-age=10886400; includeSubDomains; preload
content-encoding
gzip
x-content-type-options
nosniff
last-modified
Thu, 06 Feb 2020 00:21:02 GMT
server
Golfe2
age
868
date
Thu, 16 Apr 2020 11:38:34 GMT
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=7200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
18174
expires
Thu, 16 Apr 2020 13:38:34 GMT
fbevents.js
connect.facebook.net/en_US/
126 KB
30 KB
Script
General
Full URL
https://connect.facebook.net/en_US/fbevents.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f02d:12:face:b00c:0:3 , Ireland, ASN32934 (FACEBOOK, US),
Reverse DNS
Software
/
Resource Hash
5a91c6d3e635c0bd1551a53cf0769328132151a7732039170280d500dbcb4685
Security Headers
Name Value
Content-Security-Policy default-src * data: blob:;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 'unsafe-inline' 'unsafe-eval' blob: data: 'self';style-src data: blob: 'unsafe-inline' *;connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self' chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm;
Strict-Transport-Security max-age=31536000; preload; includeSubDomains
X-Content-Type-Options nosniff
X-Frame-Options DENY
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

strict-transport-security
max-age=31536000; preload; includeSubDomains
content-encoding
gzip
x-content-type-options
nosniff
status
200
alt-svc
h3-27=":443"; ma=3600
content-length
30466
x-xss-protection
0
pragma
public
x-fb-debug
RLzdmVjARNb2KEOmw2bYAdqxvQmMk7y9qOwmsT7ouLr885y48ue/19cL6/jgsewap5OmkB7+NjlNiZ2fDtowLg==
x-fb-trip-id
1850256238
x-frame-options
DENY
date
Thu, 16 Apr 2020 11:53:02 GMT, Thu, 16 Apr 2020 11:53:02 GMT
vary
Accept-Encoding
content-type
application/x-javascript; charset=utf-8
cache-control
public, max-age=1200
content-security-policy
default-src * data: blob:;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 'unsafe-inline' 'unsafe-eval' blob: data: 'self';style-src data: blob: 'unsafe-inline' *;connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self' chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm;
expires
Sat, 01 Jan 2000 00:00:00 GMT
scevent.min.js
sc-static.net/
13 KB
6 KB
Script
General
Full URL
https://sc-static.net/scevent.min.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.102 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-102.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
e93047ab88ddf3a33047a506b4a7594914e84fcf5ebac4b2723739e728e284b5

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 01:13:07 GMT
content-encoding
gzip
last-modified
Tue, 25 Feb 2020 22:48:01 GMT
server
AmazonS3
age
38396
vary
Accept-Encoding
x-cache
Hit from cloudfront
content-type
application/javascript
status
200
cache-control
public, s-maxage=86400, max-age=600
x-amz-cf-pop
FRA2-C2
x-amz-cf-id
KaaDwsyBEstMmL4H6c4uUoWMQu5GowQSgBEX6bHRcz-9SP047NGnjw==
via
1.1 2afacc6ad96dbba3f0b477cd95f16459.cloudfront.net (CloudFront)
kohls.js
cdn.tagdelivery.com/request/client/
43 KB
11 KB
Script
General
Full URL
https://cdn.tagdelivery.com/request/client/kohls.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
151.101.113.179 Frankfurt am Main, Germany, ASN54113 (FASTLY, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
7d1b654bc56485872b4c88231b981623294f36b863fc193ae0390a6d02a99130

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
age
2959
x-cache
HIT
status
200
content-length
10964
x-amz-id-2
YTDi1FzotXh5RjDS7KVjfUwqDPpll2TYrC/DWOv+QqPci0kemmIu5shf2y7xaiCvb9YnR4sGZdY=
x-served-by
cache-hhn4076-HHN
last-modified
Thu, 09 Apr 2020 16:44:11 GMT
server
AmazonS3
x-timer
S1587037983.547992,VS0,VE0
etag
"e13e8d9466f37fc0f0235771a13bc98f"
vary
Accept-Encoding
x-amz-request-id
5F48E5E39F6BF1ED
via
1.1 varnish
x-robots-tag
noindex, nofollow
accept-ranges
bytes
content-type
application/javascript
x-cache-hits
2
core.js
s.pinimg.com/ct/
1 KB
729 B
Script
General
Full URL
https://s.pinimg.com/ct/core.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:19d::1931 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
a8a5c752f8ae0c033572453cbb3240ca9047eae565ea1f3df7cb1ea67e9984d9

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

content-encoding
gzip
x-cdn
akamai
etag
"fdf03ac619d384023432225dbd221b25"
vary
Accept-Encoding, Origin
content-type
application/javascript
status
200
cache-control
max-age=7200
x-fallback
32a8059e-2.16.187.4
accept-ranges
bytes
content-length
563
site.min.js
cdn.curalate.com/sites/kohlsfanreel-afeck7/site/latest/
62 KB
16 KB
Script
General
Full URL
https://cdn.curalate.com/sites/kohlsfanreel-afeck7/site/latest/site.min.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.224.194.81 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-224-194-81.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
b9d2e26f22cdbae9b33b328fcaec06435834b057c435fd14a615dda245ce64d5

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

x-amz-version-id
LAbOQw7fXEOtEF2XigbQ6RaYv5G5.Y97
content-encoding
gzip
last-modified
Thu, 30 Jan 2020 18:16:05 GMT
server
AmazonS3
age
1782
date
Thu, 16 Apr 2020 11:23:20 GMT
vary
Accept-Encoding
x-cache
Hit from cloudfront
content-type
application/javascript
status
200
cache-control
max-age=1800,s-maxage=1800
x-amz-replication-status
COMPLETED
x-amz-cf-pop
FRA2-C1
x-amz-cf-id
0jvRQH4C_0tlOBYjP-7fOuLXEQCSwSlbfx35beWpcZdjxVYLVD84Gg==
via
1.1 9568a708c8ab21597698ebe7dce6c42e.cloudfront.net (CloudFront)
d82d7432-724c-4af9-8884-ffab4841f0a1.js
cdnssl.clicktale.net/www47/ptc/
96 KB
23 KB
Script
General
Full URL
https://cdnssl.clicktale.net/www47/ptc/d82d7432-724c-4af9-8884-ffab4841f0a1.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:183::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
7d902a1ffa6a76ad5c599742f4d37b2d21c3601c7745463a10d310b60aed734f

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 11:24:44 GMT
server
AmazonS3
x-amz-request-id
61B00F870494DBDF
etag
"da8db03d27b659523256cb212d3e4a59"
vary
Accept-Encoding
content-type
application/x-javascript
status
200
cache-control
max-age=600
accept-ranges
bytes
access-control-allow-origin
*
content-length
22814
x-amz-id-2
q8IX+DgFEsgYIybYJnSbEyYFGQD/JkOIGQ3Og90R9kt0kvtZJgGXZ5L95AsRQvwm1JDnlAZNknc=
expires
Thu, 16 Apr 2020 12:03:02 GMT
hook.js
www.hlserve.com/Delivery/ClientPaths/Library/
258 KB
73 KB
Script
General
Full URL
https://www.hlserve.com/Delivery/ClientPaths/Library/hook.js?cid=164
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
74.119.118.146 , United States, ASN19750 (AS-CRITEO, US),
Reverse DNS
Software
nginx/1.16.1 /
Resource Hash
2fe93a620764866e312afd421c1aa924b70994c7084664c12a8ed60fa0a7b90b

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
last-modified
Wed, 15 Apr 2020 16:00:40 GMT
server
nginx/1.16.1
etag
W/"5e972fa8-406bb"
content-type
application/javascript
activityi;dc_pre=CPzAyZnx7OgCFdLjGwodj5cLXQ;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-de...
8632166.fls.doubleclick.net/ Frame DF21
Redirect Chain
  • https://8632166.fls.doubleclick.net/activityi;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-...
  • https://8632166.fls.doubleclick.net/activityi;dc_pre=CPzAyZnx7OgCFdLjGwodj5cLXQ;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww...
0
0
Document
General
Full URL
https://8632166.fls.doubleclick.net/activityi;dc_pre=CPzAyZnx7OgCFdLjGwodj5cLXQ;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp;u11=Kohl%2527s%2520Coupons%253A%2520Promo%2520Codes%2520%2526%2520Coupon%2520Codes%2520%257C%2520Kohl%2527s;u13=coupons-deals;u2=;u23=New%20Customer;u24=64955286112438701961050183047540692546;u25=07974be1-981a-41c0-a858-f5c463f03860;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp?
Requested by
Host: www.googletagmanager.com
URL: https://www.googletagmanager.com/gtag/js?id=DC-8632166
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.18.166 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s29-in-f6.1e100.net
Software
cafe /
Resource Hash
Security Headers
Name Value
Strict-Transport-Security max-age=21600
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

:method
GET
:authority
8632166.fls.doubleclick.net
:scheme
https
:path
/activityi;dc_pre=CPzAyZnx7OgCFdLjGwodj5cLXQ;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp;u11=Kohl%2527s%2520Coupons%253A%2520Promo%2520Codes%2520%2526%2520Coupon%2520Codes%2520%257C%2520Kohl%2527s;u13=coupons-deals;u2=;u23=New%20Customer;u24=64955286112438701961050183047540692546;u25=07974be1-981a-41c0-a858-f5c463f03860;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp?
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
cross-site
sec-fetch-mode
navigate
sec-fetch-dest
iframe
referer
https://www.kohls.com/sale-event/coupons-deals.jsp
accept-encoding
gzip, deflate, br
accept-language
en-US
cookie
IDE=AHWqTUmtfskw5Cq2QfvWrXvkTSdGU8Y4lrTUQxxTQwvEcd5Sbf5ZbDL8RwVm7P4b
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
about:blank

Response headers

status
200
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:02 GMT
expires
Thu, 16 Apr 2020 11:53:02 GMT
cache-control
private, max-age=0
strict-transport-security
max-age=21600
content-type
text/html; charset=UTF-8
x-content-type-options
nosniff
content-encoding
gzip
server
cafe
content-length
488
x-xss-protection
0
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000

Redirect headers

status
302
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:02 GMT
pragma
no-cache
expires
Fri, 01 Jan 1990 00:00:00 GMT
cache-control
no-cache, must-revalidate
follow-only-when-prerender-shown
1
strict-transport-security
max-age=21600
location
https://8632166.fls.doubleclick.net/activityi;dc_pre=CPzAyZnx7OgCFdLjGwodj5cLXQ;src=8632166;type=landi0;cat=unive0;ord=752447927848;gtm=2od480;auiddc=1505746831.1587037982;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp;u11=Kohl%2527s%2520Coupons%253A%2520Promo%2520Codes%2520%2526%2520Coupon%2520Codes%2520%257C%2520Kohl%2527s;u13=coupons-deals;u2=;u23=New%20Customer;u24=64955286112438701961050183047540692546;u25=07974be1-981a-41c0-a858-f5c463f03860;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp?
content-type
text/html; charset=UTF-8
x-content-type-options
nosniff
server
cafe
content-length
0
x-xss-protection
0
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
1.js
tjxbfc1n.micpn.com/p/js/
44 KB
15 KB
Script
General
Full URL
https://tjxbfc1n.micpn.com/p/js/1.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.33 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-33.fra2.r.cloudfront.net
Software
/
Resource Hash
317ef593559c12ec00d2005fa8aef8f47511604cad625727ce8b0c12022a013d

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
x-amz-cf-pop
FRA2-C2
vary
Accept-Encoding
x-cache
Miss from cloudfront
p3p
policyref="https://movableink.com/w3c/p3p.xml", CP="DEVa PSAa PSDa IVAa IVDa OUR IND DSP NON COR NAV UNI"
status
200
cache-control
no-cache max-age=0
content-type
text/javascript
x-amz-cf-id
mESoOIT8gw9ap_o0FuuhYLLYhiRp8jJl9mHGv5vvQAzrL6kK4rlCAg==
via
1.1 57d93b321db68494cc6755a0d3fb29cd.cloudfront.net (CloudFront)
x-uuid
80693127-f028-4ff3-9bb7-a713de484c85
expires
Thu, 01 Dec 1994 16:00:00 GMT
A375953-1cd4-4523-a263-b5b3c8c11fb81.js
d.impactradius-event.com/
41 KB
13 KB
Script
General
Full URL
https://d.impactradius-event.com/A375953-1cd4-4523-a263-b5b3c8c11fb81.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
35.186.249.72 Mountain View, United States, ASN15169 (GOOGLE, US),
Reverse DNS
72.249.186.35.bc.googleusercontent.com
Software
UploadServer /
Resource Hash
c3d0ccc036971aca7f6332aec2cac5dd18c057ccd8395d350467b9c0dfc432c8

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:51:57 GMT
content-encoding
gzip
age
65
x-guploader-uploadid
AEnB2UqTbddm_VoqNqt2ijO8rT-6Dmf3CzrgzxDcQ4toQEE6AmBzQM5Uw5MFnLN6L-EUEE-3nWGT4r9w6pox2JTmfmUh2qCS4wRFrAw8Zj7b5IOQrV0ESeQ
x-goog-storage-class
MULTI_REGIONAL
status
200
x-goog-metageneration
1
x-goog-stored-content-encoding
gzip
alt-svc
clear
content-length
13175
last-modified
Thu, 09 Apr 2020 17:45:02 GMT
server
UploadServer
etag
"f1071e1e23d0bc22b7deba850c7b16fb"
vary
Accept-Encoding
x-goog-hash
crc32c=Alb9+w==, md5=8QceHiPQvCK33rqFDHsW+w==
x-goog-generation
1586454302796059
cache-control
public,max-age=900,s-maxage=300
x-goog-stored-content-length
13175
accept-ranges
bytes
content-type
text/javascript; charset=utf-8
expires
Thu, 16 Apr 2020 11:56:57 GMT
tag
s.thebrighttag.com/
3 KB
2 KB
Script
General
Full URL
https://s.thebrighttag.com/tag?site=4DPyaxM&H=5fvnsyj&referrer=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&mode=v2&cf=4847722%2C4847939%2C6706303%2C6706308%2C7432823&btpdb.4DPyaxM.dGZjLjYyMTAxMDM=REFZUw&btpdb.4DPyaxM.dGZjLjYyMTAxMTA=REFZUw&btpdb.4DPyaxM.dGZjLjYyMDYyMTU=REFZUw&btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gc2Vzc2lvbg=ODcxMDUyNzgzMTExMjA0Nzg4OQ&btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gMzY1IGRheXM=MTE2NTE3OTcyMDEzMzM3MTAxNg
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.100.137 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-100-137.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
1c49158415dcf6733f51a6e2cef201ca5d70c56fa97287c630f19f1360b3ca11

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:02 GMT
Content-Encoding
gzip
Server
nginx
ETag
36c45f52f36cc4a1fdcdaf39baeda028
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Transfer-Encoding
chunked
Connection
keep-alive
Content-Type
text/javascript
X-BT-RequestId
d37e6180-7fd8-11ea-a05d-0000ac150af8
Expires
Thu, 01 Jan 1970 00:00:00 GMT
/
www.google.de/pagead/1p-user-list/1071871169/
Redirect Chain
  • https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/?value=0&guid=ON&script=0
  • https://www.google.com/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=128783452
  • https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=128783452&ipr=y
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=128783452&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81b::2003 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT

Redirect headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
x-content-type-options
nosniff
server
cafe
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
302
content-type
image/gif
location
https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=128783452&ipr=y
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
cs
s.thebrighttag.com/
Redirect Chain
  • https://gum.criteo.com/sync?c=10&r=1&u=https%3A%2F%2Fs.thebrighttag.com%2Fcs%3Fbtt%3D0%26tp%3Dcr%26uid%3D%40USERID%40
  • https://s.thebrighttag.com/cs?btt=0&tp=cr&uid=9RLEufVHsltzEdU_t7bQinNVN0VceY82
35 B
717 B
Image
General
Full URL
https://s.thebrighttag.com/cs?btt=0&tp=cr&uid=9RLEufVHsltzEdU_t7bQinNVN0VceY82
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.100.137 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-100-137.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:02 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
d387b050-7fd8-11ea-ad36-0000ac15092d
Content-Type
image/gif
Content-Length
35
Expires
Thu, 01 Jan 1970 00:00:00 GMT

Redirect headers

strict-transport-security
max-age=31536000
server
Microsoft-IIS/10.0
date
Thu, 16 Apr 2020 11:53:01 GMT
status
302
content-type
text/html; charset=utf-8
location
https://s.thebrighttag.com/cs?btt=0&tp=cr&uid=9RLEufVHsltzEdU_t7bQinNVN0VceY82
cache-control
private, max-age=0, no-cache, no-store, must-revalidate
content-length
203
p
rp4.liadm.com/
Redirect Chain
  • https://rp.liadm.com/p?aid=a-00oc&duid=1165179720133371016
  • https://rp4.liadm.com/p?aid=a-00oc&duid=1165179720133371016&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp
43 B
512 B
Image
General
Full URL
https://rp4.liadm.com/p?aid=a-00oc&duid=1165179720133371016&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.200.119.212 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-200-119-212.compute-1.amazonaws.com
Software
nginx/1.16.1 /
Resource Hash
b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b
Security Headers
Name Value
Content-Security-Policy default-src 'self'
Strict-Transport-Security max-age=31536000; includeSubDomains
X-Content-Type-Options nosniff
X-Frame-Options DENY
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.kohls.com/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:05 GMT
referrer-policy
origin-when-cross-origin, strict-origin-when-cross-origin
server
nginx/1.16.1
vary
Origin
x-frame-options
DENY
content-type
image/gif
status
200
x-xss-protection
1; mode=block
x-permitted-cross-domain-policies
master-only
content-security-policy
default-src 'self'
strict-transport-security
max-age=31536000; includeSubDomains
request-time
1
content-length
43
x-content-type-options
nosniff

Redirect headers

date
Thu, 16 Apr 2020 11:53:02 GMT
referrer-policy
origin-when-cross-origin, strict-origin-when-cross-origin
server
nginx/1.16.1
request-time
0
status
302
x-frame-options
DENY
location
https://rp4.liadm.com/p?aid=a-00oc&duid=1165179720133371016&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp
x-xss-protection
1; mode=block
x-permitted-cross-domain-policies
master-only
content-security-policy
default-src 'self'
strict-transport-security
max-age=31536000; includeSubDomains
vary
Origin
content-length
0
x-content-type-options
nosniff
cs
s.thebrighttag.com/
Redirect Chain
  • https://secure.adnxs.com/getuid?https%3A%2F%2Fs.thebrighttag.com%2Fcs%3Fbtt%3Ded7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8%26uid%3D$UID%26tp%3Dan%26gdpr%3D1
  • https://secure.adnxs.com/bounce?%2Fgetuid%3Fhttps%253A%252F%252Fs.thebrighttag.com%252Fcs%253Fbtt%253Ded7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8%2526uid%253D%24UID%2526tp%253Dan%2526gdpr%253D1
  • https://s.thebrighttag.com/cs?btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&uid=6811137146721912899&tp=an&gdpr=1
35 B
717 B
Image
General
Full URL
https://s.thebrighttag.com/cs?btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&uid=6811137146721912899&tp=an&gdpr=1
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.100.137 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-100-137.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:03 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
d3c359c1-7fd8-11ea-b252-0000ac1509bc
Content-Type
image/gif
Content-Length
35
Expires
Thu, 01 Jan 1970 00:00:00 GMT

Redirect headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:04 GMT
X-Proxy-Origin
195.242.213.147; 195.242.213.147; 732.bm-nginx-loadbalancer.mgmt.ams1; *.adnxs.com; 185.33.220.19:80
AN-X-Request-Uuid
6ec0cd32-80c5-41ce-ae99-1e670fc335ac
Server
nginx/1.13.4
Access-Control-Allow-Origin
*
P3P
policyref="http://cdn.adnxs.com/w3c/policy/p3p.xml", CP="NOI DSP COR ADM PSAo PSDo OURo SAMo UNRo OTRo BUS COM NAV DEM STA PRE"
Location
https://s.thebrighttag.com/cs?btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&uid=6811137146721912899&tp=an&gdpr=1
Cache-Control
no-store, no-cache, private
Access-Control-Allow-Credentials
true
Connection
keep-alive
Content-Type
text/html; charset=utf-8
Content-Length
0
X-XSS-Protection
0
Expires
Sat, 15 Nov 2008 16:00:00 GMT
generic
match.adsrvr.org/track/cmf/
70 B
264 B
Image
General
Full URL
https://match.adsrvr.org/track/cmf/generic?gdpr=1&ttd_pid=signal&ttd_tpi=1&ttd_puid=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
3.248.119.92 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-3-248-119-92.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
8d70b3e6badb6973663b398d297bb32eaedd08826a1af98d0a1cfce5324ffce0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
x-aspnet-version
4.0.30319
p3p
CP="NOI DSP COR CUR ADMo DEVo PSAo PSDo OUR SAMo BUS UNI NAV"
status
200
cache-control
private,no-cache, must-revalidate
content-type
image/gif
content-length
70
cs
s.thebrighttag.com/
Redirect Chain
  • https://cm.g.doubleclick.net/pixel?gdpr=1&google_nid=signal_dmp&google_cm&btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8
  • https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&google_gid=CAESEDmb-di8UKIpMELtx-yaO4M&google_cver=1
35 B
741 B
Image
General
Full URL
https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&google_gid=CAESEDmb-di8UKIpMELtx-yaO4M&google_cver=1
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.100.137 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-100-137.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:03 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
d3b947a1-7fd8-11ea-89ee-0000ac1508bb
Content-Type
image/gif
Content-Length
35
Expires
Thu, 01 Jan 1970 00:00:00 GMT

Redirect headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
server
HTTP server (unknown)
status
302
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
location
https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=ed7NAe4kzBny0CDN_OKlx_YlTyJ6ksv66VChWxcU_S8&google_gid=CAESEDmb-di8UKIpMELtx-yaO4M&google_cver=1
cache-control
no-cache, must-revalidate
content-type
text/html; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
358
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
d.agkn.com/pixel/10107/
43 B
587 B
Image
General
Full URL
https://d.agkn.com/pixel/10107/?che=4268756598&mcvisid=64955286112438701961050183047540692546
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
2600:9000:21f3:5600:19:fc2c:a140:93a1 , United States, ASN16509 (AMAZON-02, US),
Reverse DNS
Software
Apache-Coyote/1.1 /
Resource Hash
cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
via
1.1 a10d58b5ce965502cc34c5b27682fe23.cloudfront.net (CloudFront)
server
Apache-Coyote/1.1
x-amz-cf-pop
FRA2-C2
x-cache
Miss from cloudfront
p3p
CP="NOI DSP COR CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT"
status
200
cache-control
no-cache, must-revalidate
content-type
image/gif
content-length
43
x-amz-cf-id
9i3wj7YQw_eBBTCvC1zK4P69A_Js7f_3o5eH4bL06-Mx-L9O9sJYtw==
expires
Sat, 01 Jan 2000 00:00:00 GMT
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/
2 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/?random=1587037982579&cv=9&fst=1587037982579&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&ig=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
Requested by
Host: www.googleadservices.com
URL: https://www.googleadservices.com/pagead/conversion_async.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:819::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
55af98da637eb49fe8ba4b0434fe6cbafcc12dc9bd893efb9574e6f9e437103f
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
status
200
cache-control
no-cache, must-revalidate
content-disposition
attachment; filename="f.txt"
content-type
text/javascript; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
1056
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/
2 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/?random=1587037982581&cv=9&fst=1587037982581&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&ig=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&hn=www.googleadservices.com&async=1&rfmt=3&fmt=4
Requested by
Host: www.googleadservices.com
URL: https://www.googleadservices.com/pagead/conversion_async.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:819::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
49883085e5d855cd7d5cab287586671205b999dd61b48ad4b98537a8d5d11375
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
status
200
cache-control
no-cache, must-revalidate
content-disposition
attachment; filename="f.txt"
content-type
text/javascript; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
1057
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
0
bat.bing.com/action/
0
93 B
Image
General
Full URL
https://bat.bing.com/action/0?ti=4024145&Ver=2&mid=71f84386-5f9b-15fe-dbf4-a1d1d6faf78e&sid=fe000f3d-1d77-20b1-5b7c-da1210aa59a3&pi=0&lg=en-US&sw=1600&sh=1200&sc=24&tl=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&p=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&r=&lt=5060&evt=pageLoad&msclkid=N&sv=1&rn=474846
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2620:1ec:c11::200 , United States, ASN8068 (MICROSOFT-CORP-MSN-AS-BLOCK, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
204
pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
cache-control
no-cache, must-revalidate
x-msedge-ref
Ref A: 9F4AF4B411E04C838E9ECD431B41189D Ref B: FRAEDGE1120 Ref C: 2020-04-16T11:53:02Z
access-control-allow-origin
*
expires
Fri, 01 Jan 1990 00:00:00 GMT
0
bat.bing.com/action/
0
92 B
Image
General
Full URL
https://bat.bing.com/action/0?ti=4024145&Ver=2&mid=71f84386-5f9b-15fe-dbf4-a1d1d6faf78e&sid=fe000f3d-1d77-20b1-5b7c-da1210aa59a3&prodid=event&pagetype=product&en=Y&evt=custom&msclkid=N&rn=332640
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2620:1ec:c11::200 , United States, ASN8068 (MICROSOFT-CORP-MSN-AS-BLOCK, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
204
pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
cache-control
no-cache, must-revalidate
x-msedge-ref
Ref A: 170998E828D44FCC91B844E2870C680F Ref B: FRAEDGE1120 Ref C: 2020-04-16T11:53:02Z
access-control-allow-origin
*
expires
Fri, 01 Jan 1990 00:00:00 GMT
test_rum_nv
mon1.kohls.com/ Frame B400
277 B
722 B
Script
General
Full URL
https://mon1.kohls.com/test_rum_nv?s=000000000000000000000&p=1&op=timing&pi=1&CavStore=-1&pid=10&d=1|0|-1|1|633|6|5|12|173|460|-2|4861|1|23|5037|1725|10|2735|0|149||https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp|www.kohls.com|VisitorId%3D07974be1-981a-41c0-a858-f5c463f03860%3B%20CavSF%3DcavnvComplete%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C1%2C%2C%2C%3B%20loglevel%3DSILENT%3B%20mosaic%3Dgcpg%3B%20akacd_www-kohls-com-mosaic-p2%3D2177452799~rv%3D19~id%3D67b39543b0766db2c63209c66c15bf3d%3B%20AMCVS_F0EF5E09512D2CD20A490D4D%2540AdobeOrg%3D1%3B%20s_ecid%3DMCMID%25PIPE%2564955286112438701961050183047540692546%3B%20AMCV_F0EF5E09512D2CD20A490D4D%2540AdobeOrg%3D-1712354808%25PIPE%25MCIDTS%25PIPE%2518369%25PIPE%25MCMID%25PIPE%2564955286112438701961050183047540692546%25PIPE%25MCAAMLH-1587642778%25PIPE%256%25PIPE%25MCAAMB-1587642778%25PIPE%25RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%25PIPE%25MCOPTOUT-1587045178s%25PIPE%25NONE%25PIPE%25MCAID%25PIPE%25NONE%25PIPE%25MCSYNCSOP%25PIPE%25411-18376%25PIPE%25vVersion%25PIPE%254.3.0%3B%20hl_p%3D2dc945ec-b877-4977-be5d-397fdc8223f6%3B%20mbox%3Dsession%238ecbcd71933845fda9d9119a20320f2b%231587039840%25PIPE%25PC%238ecbcd71933845fda9d9119a20320f2b.26_0%231650282780%3B%20mboxEdgeCluster%3D26%3B%20check%3Dtrue%3B%20CRTOABE%3D0%3B|0|114|-1|24|24|Mac%20OS|Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_14_5)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F74.0.3729.169%20Safari%2F537.36|en-US|%5Bobject%20PluginArray%5D|Mozilla|0|PC|74.0|10.14.5|-1|1|0|0|%7B-1%7D|1513|-2|17306|825171|0|0|0&lts=-1&d2=-1|-1|-1|1|100|0
Requested by
Host: mon1.kohls.com
URL: https://mon1.kohls.com/nv/kohls/cav_nv.js?v=REL20170123
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
6c532e2c890da8d2b8120ec057276d71a73f705e8ed2fb39ef221ffe285da1d3

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
access-control-request-headers
*
status
200
access-control-max-age
300
access-control-allow-methods
POST, PUT, DELETE, GET, OPTIONS
content-type
text/plain
access-control-allow-origin
*
cache-control
max-age=0, no-cache, no-store
access-control-allow-credentials
true
timing-allow-origin
*
access-control-allow-headers
Origin, X-Requested-With, Content-Type, Accept, Authorization, Content-Encoding
content-length
0000000277
expires
Thu, 16 Apr 2020 11:53:02 GMT
collect
www.google-analytics.com/
35 B
103 B
Image
General
Full URL
https://www.google-analytics.com/collect?v=1&_v=j81&a=1138353683&t=pageview&_s=1&dl=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&ul=en-us&de=UTF-8&dt=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&sd=24-bit&sr=1600x1200&vp=1585x1200&je=0&_u=YGBAgAAB~&jid=436088155&gjid=1673138546&cid=1379223742.1587037983&tid=UA-45121696-1&_gid=1265478232.1587037983&cd2=07974be1-981a-41c0-a858-f5c463f03860&cd4=&z=1226714204
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:818::200e Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Golfe2 /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
Security Headers
Name Value
X-Content-Type-Options nosniff

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Fri, 10 Apr 2020 05:26:57 GMT
x-content-type-options
nosniff
last-modified
Sun, 17 May 1998 03:00:00 GMT
server
Golfe2
age
541565
status
200
content-type
image/gif
access-control-allow-origin
*
cache-control
no-cache, no-store, must-revalidate
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
35
expires
Mon, 01 Jan 1990 00:00:00 GMT
ga-audiences
www.google.de/ads/
Redirect Chain
  • https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&v=1&_v=j81&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&gjid=1673138546&_gid=1265478232.1587037983&_u=YGBAgAAB~&z=117493242
  • https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&_v=j81&z=117493242
  • https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&_v=j81&z=117493242&slf_rd=1&random=1274111276
42 B
109 B
Image
General
Full URL
https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&_v=j81&z=117493242&slf_rd=1&random=1274111276
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81b::2003 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT

Redirect headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
x-content-type-options
nosniff
server
cafe
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
302
content-type
text/html; charset=UTF-8
location
https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1379223742.1587037983&jid=436088155&_v=j81&z=117493242&slf_rd=1&random=1274111276
cache-control
no-cache, no-store, must-revalidate
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
831984583490556
connect.facebook.net/signals/config/
447 KB
112 KB
Script
General
Full URL
https://connect.facebook.net/signals/config/831984583490556?v=2.9.15&r=stable
Requested by
Host: connect.facebook.net
URL: https://connect.facebook.net/en_US/fbevents.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f02d:12:face:b00c:0:3 , Ireland, ASN32934 (FACEBOOK, US),
Reverse DNS
Software
/
Resource Hash
0d01964116ba5a9c79219a78fd6196568ed155c40ae5a85104104f134bdc0d91
Security Headers
Name Value
Content-Security-Policy default-src * data: blob:;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 'unsafe-inline' 'unsafe-eval' blob: data: 'self';style-src data: blob: 'unsafe-inline' *;connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self' chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm;
Strict-Transport-Security max-age=31536000; preload; includeSubDomains
X-Content-Type-Options nosniff
X-Frame-Options DENY
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

strict-transport-security
max-age=31536000; preload; includeSubDomains
content-encoding
gzip
x-content-type-options
nosniff
status
200
alt-svc
h3-27=":443"; ma=3600
content-length
114941
x-xss-protection
0
pragma
public
x-fb-debug
AhibZpV/Y95ejCs7szGLT1BeehYB3jhn+Kx+DXwoY1cuWoa7wQyABrfN1Imle1yjON9JZhAtgVuAeQvGgVDoyw==
x-fb-trip-id
1850256238
x-frame-options
DENY
date
Thu, 16 Apr 2020 11:53:02 GMT, Thu, 16 Apr 2020 11:53:02 GMT
vary
Accept-Encoding
content-type
application/x-javascript; charset=utf-8
cache-control
public, max-age=1200
content-security-policy
default-src * data: blob:;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 'unsafe-inline' 'unsafe-eval' blob: data: 'self';style-src data: blob: 'unsafe-inline' *;connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com 'self' chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm;
expires
Sat, 01 Jan 2000 00:00:00 GMT
monitor-latest.js
cdnssl.clicktale.net/www/
61 KB
19 KB
Script
General
Full URL
https://cdnssl.clicktale.net/www/monitor-latest.js
Requested by
Host: cdnssl.clicktale.net
URL: https://cdnssl.clicktale.net/www47/ptc/d82d7432-724c-4af9-8884-ffab4841f0a1.js
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:183::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Microsoft-IIS/8.5 /
Resource Hash
9d8a2811fe6cec544f8e4ba7915c7ee8d4caa72257d97bf4f8964dae6c621ff6

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
last-modified
Thu, 20 Feb 2020 17:06:57 GMT
server
Microsoft-IIS/8.5
status
200
etag
"808e442810e8d51:0"
vary
Accept-Encoding
content-type
application/javascript
access-control-allow-origin
*
cache-control
max-age=86400
accept-ranges
bytes
content-length
19662
expires
Fri, 17 Apr 2020 11:53:02 GMT
d82d7432-724c-4af9-8884-ffab4841f0a1.js
cdnssl.clicktale.net/www47/pcc/
103 KB
28 KB
Script
General
Full URL
https://cdnssl.clicktale.net/www47/pcc/d82d7432-724c-4af9-8884-ffab4841f0a1.js?DeploymentConfigName=Release_20200416&Version=5
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:183::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
df179f7583362a8382421dadcbc9a497639f19dac1ea7c3774741d88b458c058

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 09:12:45 GMT
server
AmazonS3
x-amz-request-id
33CCCD80BA7A435F
etag
"7d7e65cdfc77a2f4d27ee2998575accf"
vary
Accept-Encoding
content-type
application/x-javascript
status
200
cache-control
max-age=86400
accept-ranges
bytes
access-control-allow-origin
*
content-length
27997
x-amz-id-2
+gTNWOgdSx7ONp5x4Dj2Awqif213YIm2A8txlhZbWuC8nXGcg+LeVYXHOapgfOeWAfOBb1cyzQ8=
expires
Fri, 17 Apr 2020 11:53:02 GMT
WR-latest.js
cdnssl.clicktale.net/www/
57 KB
19 KB
Script
General
Full URL
https://cdnssl.clicktale.net/www/WR-latest.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:183::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Microsoft-IIS/8.5 /
Resource Hash
2f05563ca65e7640350b200b8bbd1fc1d159870edae312279124cab44fd95e18

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
last-modified
Tue, 07 Apr 2020 09:56:31 GMT
server
Microsoft-IIS/8.5
status
200
etag
"80f12fd0c2cd61:0"
vary
Accept-Encoding
content-type
application/javascript
access-control-allow-origin
*
cache-control
max-age=86400
accept-ranges
bytes
content-length
19054
expires
Fri, 17 Apr 2020 11:53:02 GMT
i
tr.snapchat.com/cm/ Frame 8AA3
0
0
Document
General
Full URL
https://tr.snapchat.com/cm/i?pid=8e5c8f64-cb28-46b3-8d73-411e50ce8e8e
Requested by
Host: sc-static.net
URL: https://sc-static.net/scevent.min.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
35.186.226.184 Mountain View, United States, ASN15169 (GOOGLE, US),
Reverse DNS
184.226.186.35.bc.googleusercontent.com
Software
nginx/1.17.3 /
Resource Hash
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

:method
GET
:authority
tr.snapchat.com
:scheme
https
:path
/cm/i?pid=8e5c8f64-cb28-46b3-8d73-411e50ce8e8e
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
cross-site
sec-fetch-mode
navigate
sec-fetch-dest
iframe
referer
https://www.kohls.com/sale-event/coupons-deals.jsp
accept-encoding
gzip, deflate, br
accept-language
en-US
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp

Response headers

status
200
server
nginx/1.17.3
date
Thu, 16 Apr 2020 11:53:03 GMT
content-type
text/html
content-length
0
strict-transport-security
max-age=31536000; includeSubDomains
via
1.1 google
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
trace
www.cloudflare.com/cdn-cgi/
281 B
565 B
XHR
General
Full URL
https://www.cloudflare.com/cdn-cgi/trace
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700::6811:d109 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
e8390161ca933cb69515ed25ff87cbf82bdea9ab678606541b9fe21dcd3ab0a9
Security Headers
Name Value
X-Frame-Options SAMEORIGIN

Request headers

Accept
*/*
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
server
cloudflare
status
200
x-frame-options
SAMEORIGIN
content-type
text/plain
access-control-allow-origin
*
cache-control
no-cache
cf-ray
584db420aeebd6d9-FRA
cf-request-id
02246ee8670000d6d9eda2f200000001
expires
Thu, 01 Jan 1970 00:00:01 GMT
request
ad.tagdelivery.com/
70 B
620 B
Script
General
Full URL
https://ad.tagdelivery.com/request?targets=category%3D%2Fwomens%2Fclothing%2Fbottoms%2Fpants&slot=1240&callback=TagDeliveryContent.callbacks._a54c5046_31ab_4b38_bea2_e303413056ee&count=5&url=
Requested by
Host: cdn.tagdelivery.com
URL: https://cdn.tagdelivery.com/request/client/kohls.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
54.164.173.111 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-54-164-173-111.compute-1.amazonaws.com
Software
/
Resource Hash
5a444223b2eb63eb310ea2de90643436fe54292410140ebabba6e94178c4e1da

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:04 GMT
Content-Type
application/javascript
P3P
CP="NON DSP ADM DEV PSD OUR IND STP PHY PRE NAV UNI"
Access-Control-Allow-Origin
*
Cache-Control
max-age=0, no-cache, no-store
Connection
keep-alive
X-Robots-Tag
noindex, nofollow
Content-Length
70
X-Request-ID
1316e7f2-cafe-4953-9a6f-072863c02989
Expires
Thu, 16 Apr 2020 11:53:04 UTC
5349
kohls.sjv.io/xc/385561/362119/
206 B
827 B
XHR
General
Full URL
https://kohls.sjv.io/xc/385561/362119/5349
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
35.227.211.136 Mountain View, United States, ASN15169 (GOOGLE, US),
Reverse DNS
136.211.227.35.bc.googleusercontent.com
Software
/
Resource Hash
6f871c183621b8a86f2d8f72d3d01014ca12b3a78faff8dcdbd0bf9f3abe61fa

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/x-www-form-urlencoded;charset=UTF-8

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
via
1.1 google
server
status
200
p3p
policyref="\/w3c/p3p.xml", CP="ALL BUS LEG DSP COR ADM CUR DEV PSA OUR NAV INT"
access-control-allow-origin
https://www.kohls.com
cache-control
no-store, no-cache, must-revalidate, post-check=0, pre-check=0
access-control-allow-credentials
true
content-type
application/json; charset=UTF-8
alt-svc
clear
expires
Thu, 16 Apr 2020 11:53:03 GMT
p
tr.snapchat.com/ Frame 90F0
0
0
Document
General
Full URL
https://tr.snapchat.com/p
Requested by
Host: sc-static.net
URL: https://sc-static.net/scevent.min.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
35.186.226.184 Mountain View, United States, ASN15169 (GOOGLE, US),
Reverse DNS
184.226.186.35.bc.googleusercontent.com
Software
nginx/1.17.3 /
Resource Hash
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

:method
POST
:authority
tr.snapchat.com
:scheme
https
:path
/p
content-length
267
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
origin
https://www.kohls.com
content-type
application/x-www-form-urlencoded
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
cross-site
sec-fetch-mode
navigate
sec-fetch-dest
iframe
referer
https://www.kohls.com/sale-event/coupons-deals.jsp
accept-encoding
gzip, deflate, br
accept-language
en-US
Upgrade-Insecure-Requests
1
Origin
https://www.kohls.com
Content-Type
application/x-www-form-urlencoded
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp

Response headers

status
200
server
nginx/1.17.3
date
Thu, 16 Apr 2020 11:53:03 GMT
content-type
text/html
content-length
0
access-control-allow-origin
*
cache-control
no-cache, no-transform
set-cookie
sc_at=v2|H4sIAAAAAAAAAAXBgRHAIAgDwIm4w5AiGae1OgXD+7+xhFNhTKXxhZscsBXkn98ePOoeT02PqYr2Cw0ynyMyAAAA;SameSite=None;Version=1;Comment=;Domain=.snapchat.com;Path=/;Max-Age=33696000;Secure
strict-transport-security
max-age=31536000; includeSubDomains
via
1.1 google
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
b
sb.scorecardresearch.com/
0
248 B
Image
General
Full URL
https://sb.scorecardresearch.com/b?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&ns__t=1587037982930&ns_c=UTF-8&cv=3.5&c8=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&c9=
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
23.11.238.95 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-11-238-95.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:04 GMT
Cache-Control
private, no-cache, no-cache=Set-Cookie, no-store, proxy-revalidate
Connection
keep-alive
Content-Length
0
Expires
Mon, 01 Jan 1990 00:00:00 GMT
184399-89471702884776.js
js-sec.indexww.com/ht/p/
124 KB
37 KB
Script
General
Full URL
https://js-sec.indexww.com/ht/p/184399-89471702884776.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
23.213.15.82 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-213-15-82.deploy.static.akamaitechnologies.com
Software
Apache /
Resource Hash
2039082ed79cca9faa87a80ebbf516502cda4ca08c67f1ef46b718fee79b47f3

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Date
Thu, 16 Apr 2020 11:53:05 GMT
Content-Encoding
gzip
Last-Modified
Thu, 16 Apr 2020 11:31:30 GMT
Server
Apache
ETag
"da2410-1f1b5-5a366c63071d2"
Vary
Accept-Encoding
P3P
policyref="/w3c/p3p.xml", CP="NOI DSP COR DEVa TAIa OUR BUS UNI"
Cache-Control
max-age=2470
Connection
keep-alive
Accept-Ranges
bytes
Content-Type
text/javascript
Content-Length
37249
Expires
Thu, 16 Apr 2020 12:34:15 GMT
gpt.js
www.googletagservices.com/tag/js/
43 KB
14 KB
Script
General
Full URL
https://www.googletagservices.com/tag/js/gpt.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
baafbc5d3a470ea59040dddefc64b8241b8d5081c5df1d0f3e2d395ca9270d44
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"487 / 392 of 1000 / last-modified: 1586794212"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, max-age=900, stale-while-revalidate=3600
timing-allow-origin
*
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
14667
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:02 GMT
main.a37a8bbc.js
s.pinimg.com/ct/lib/
45 KB
16 KB
Script
General
Full URL
https://s.pinimg.com/ct/lib/main.a37a8bbc.js
Requested by
Host: s.pinimg.com
URL: https://s.pinimg.com/ct/core.js
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:19d::1931 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
5e8923354dc828bba8fd3a84f1fed88a4b7095207803798b521710119bf347da

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

content-encoding
gzip
x-cdn
akamai
etag
"dca924303eac8ed14b9cb0fa8819af3d"
vary
Accept-Encoding, Origin
content-type
application/javascript
status
200
cache-control
max-age=1209600
x-fallback
32a8088e-2.16.187.4
accept-ranges
bytes
content-length
16477
/
www.google.com/pagead/1p-user-list/1071871169/
42 B
117 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1071871169/?random=1587037982579&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1484957131&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.de/pagead/1p-user-list/1071871169/
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/1071871169/?random=1587037982579&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1484957131&resp=GooglemKTybQhCsO&rmt_tld=1&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81b::2003 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:02 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
uwt.js
static.ads-twitter.com/
5 KB
2 KB
Script
General
Full URL
https://static.ads-twitter.com/uwt.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
151.101.12.157 Frankfurt am Main, Germany, ASN54113 (FASTLY, US),
Reverse DNS
Software
/
Resource Hash
319949c8c08b86e9c35ea542c0dc0c30cedaa9b8d3d3c3327a36c91aefbd8af5

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:02 GMT
content-encoding
gzip
age
13104
x-cache
HIT
p3p
CP="CAO DSP LAW CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT"
status
200
content-length
1954
x-served-by
cache-fra19177-FRA
last-modified
Tue, 23 Jan 2018 20:09:00 GMT
x-timer
S1587037983.985598,VS0,VE0
etag
"b7b33882a4f3ffd5cbf07434f3137166+gzip"
vary
Accept-Encoding,Host
content-type
application/javascript; charset=utf-8
via
1.1 varnish
cache-control
no-cache
accept-ranges
bytes
adsct
analytics.twitter.com/i/
43 B
166 B
Image
General
Full URL
https://analytics.twitter.com/i/adsct?p_id=49582&p_user_id=ab2b32a2-193c-499e-a824-5be360072c80
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
104.244.42.67 , United States, ASN13414 (TWITTER, US),
Reverse DNS
Software
tsa_o /
Resource Hash
ac8778041fdb7f2e08ceb574c9a766247ea26f1a7d90fa854c4efcf4b361a957
Security Headers
Name Value
Strict-Transport-Security max-age=631138519
X-Content-Type-Options nosniff
X-Frame-Options SAMEORIGIN
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
status
200, 200 OK
x-twitter-response-tags
BouncerCompliant
content-length
65
x-xss-protection
0
x-response-time
111
pragma
no-cache
last-modified
Thu, 16 Apr 2020 11:53:03 GMT
server
tsa_o
x-frame-options
SAMEORIGIN
strict-transport-security
max-age=631138519
content-type
image/gif;charset=utf-8
cache-control
no-cache, no-store, must-revalidate, pre-check=0, post-check=0
x-connection-hash
e39678203180af3363bfa009024517b7
x-transaction
00259c02007d3f8a
expires
Tue, 31 Mar 1981 05:00:00 GMT
adsct
t.co/i/
43 B
170 B
Image
General
Full URL
https://t.co/i/adsct?p_id=49582&p_user_id=ab2b32a2-193c-499e-a824-5be360072c80
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
104.244.42.69 , United States, ASN13414 (TWITTER, US),
Reverse DNS
Software
tsa_o /
Resource Hash
ac8778041fdb7f2e08ceb574c9a766247ea26f1a7d90fa854c4efcf4b361a957
Security Headers
Name Value
Strict-Transport-Security max-age=0
X-Content-Type-Options nosniff
X-Frame-Options SAMEORIGIN
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
status
200, 200 OK
x-twitter-response-tags
BouncerCompliant
content-length
65
x-xss-protection
0
x-response-time
111
pragma
no-cache
last-modified
Thu, 16 Apr 2020 11:53:03 GMT
server
tsa_o
x-frame-options
SAMEORIGIN
strict-transport-security
max-age=0
content-type
image/gif;charset=utf-8
cache-control
no-cache, no-store, must-revalidate, pre-check=0, post-check=0
x-connection-hash
7b196999fde3f1412fdaf2f1270be696
x-transaction
00b1bcf6005c169f
expires
Tue, 31 Mar 1981 05:00:00 GMT
tr
www.facebook.com/
44 B
259 B
Image
General
Full URL
https://www.facebook.com/tr?id=1272022626312394&ev=PageView&cd[order_id]=64955286112438701961050183047540692546
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f12d:83:face:b00c:0:25de , Ireland, ASN32934 (FACEBOOK, US),
Reverse DNS
Software
proxygen-bolt /
Resource Hash
10d8d42d73a02ddb877101e72fbfa15a0ec820224d97cedee4cf92d571be5caa
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT, Thu, 16 Apr 2020 11:53:03 GMT
last-modified
Fri, 21 Dec 2012 00:00:01 GMT
server
proxygen-bolt
strict-transport-security
max-age=31536000; includeSubDomains
content-type
image/gif
status
200
cache-control
no-cache, must-revalidate, max-age=0
alt-svc
h3-27=":443"; ma=3600
content-length
44
expires
Thu, 16 Apr 2020 11:53:03 GMT
/
www.google.com/pagead/1p-user-list/1018012790/
42 B
117 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1018012790/?random=1587037982581&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=2907863952&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.de/pagead/1p-user-list/1018012790/
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/1018012790/?random=1587037982581&cv=9&fst=1587034800000&num=1&bg=ffffff&guid=ON&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_his=2&u_tz=120&u_java=false&u_nplug=0&u_nmime=0&gtm=2od480&sendb=1&data=event%3Dgtag.config&frm=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&tiba=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=2907863952&resp=GooglemKTybQhCsO&rmt_tld=1&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81b::2003 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
660167c6-58ac-431e-a0f3-56f691b6f7b3
https://www.kohls.com/ Frame B400
17 KB
0
Other
General
Full URL
blob:https://www.kohls.com/660167c6-58ac-431e-a0f3-56f691b6f7b3
Requested by
Host: mon1.kohls.com
URL: https://mon1.kohls.com/nv/kohls/cav_nv.js?v=REL20170123
Protocol
BLOB
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
af9fa9f0773266d650cff80076d18e7b3b6b170e807badd366cfef901e8e9235

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Length
17284
track.gif
tjxbfc1n.micpn.com/p/cp/-1/
42 B
618 B
Image
General
Full URL
https://tjxbfc1n.micpn.com/p/cp/-1/track.gif?t=1587037982990&mi_u=anon-1587037982988-574372687&mi_cid=8212&page_title=Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s&timezone_offset=-120&event_type=pageview&cdate=1587037982988&ck=false
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.33 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-33.fra2.r.cloudfront.net
Software
/
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
via
1.1 57d93b321db68494cc6755a0d3fb29cd.cloudfront.net (CloudFront)
x-amz-cf-pop
FRA2-C2
status
200
x-cache
Miss from cloudfront
content-type
image/gif
access-control-allow-origin
http://movableink.com
access-control-expose-headers
X-Error
cache-control
no-store, no-cache, must-revalidate, max-age=0,post-check=0, pre-check=0
content-length
42
x-amz-cf-id
gVKD_Qa5-_FCIb9Q02dgO7-4BWMzem1o9CnB9jN5Xo1E-JlSz3UqkA==
x-uuid
1708bde5-7701-4a5e-874d-eba9b2229805
monitor
conductor.clicktale.net/
1 B
251 B
Other
General
Full URL
https://conductor.clicktale.net/monitor?t=preinit&p=271&2=7832119308565728&v=1.5.5&7=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&3=3714542795455868&4=2635064298948800&5=0
Requested by
Host: cdnssl.clicktale.net
URL: https://cdnssl.clicktale.net/www/monitor-latest.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.200.2.193 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-200-2-193.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

Access-Control-Allow-Origin
https://www.kohls.com
Date
Thu, 16 Apr 2020 11:53:03 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Access-Control-Allow-Headers
*
Content-Length
1
Content-Type
text/plain
monitor
conductor.clicktale.net/
1 B
260 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=auth&p=271&2=7832119308565728&v=1.5.5
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.200.2.193 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-200-2-193.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

Date
Thu, 16 Apr 2020 11:53:03 GMT
Vary
*
Content-Type
text/plain
Access-Control-Allow-Origin
https://www.kohls.com
Access-Control-Allow-Credentials
true
Connection
keep-alive
Access-Control-Allow-Headers
*
Content-Length
1
ChangeMonitor-latest.js
cdnssl.clicktale.net/www/
47 KB
16 KB
Script
General
Full URL
https://cdnssl.clicktale.net/www/ChangeMonitor-latest.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:183::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Microsoft-IIS/8.5 /
Resource Hash
1958bb7f293956e7170f639ce93a3d628ae465fa24fd751e1a2b3cd837059ffa

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
last-modified
Thu, 20 Feb 2020 17:06:57 GMT
server
Microsoft-IIS/8.5
status
200
etag
"808e442810e8d51:0"
vary
Accept-Encoding
content-type
application/javascript
access-control-allow-origin
*
cache-control
max-age=86400
accept-ranges
bytes
content-length
15711
expires
Fri, 17 Apr 2020 11:53:03 GMT
/
ing-district.clicktale.net/ctn_v2/auth/
265 B
413 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/auth/?pid=24&as=1&3813619&subsid=233441&msgsize=120
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
34.200.164.188 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-200-164-188.compute-1.amazonaws.com
Software
/
Resource Hash
041309a55336c7c9bfb4da02df1c484099eaa18b702422655364f445a0f6a9ee

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:03 GMT
access-control-allow-credentials
true
access-control-allow-origin
https://www.kohls.com
content-length
265
content-type
application/json; charset=UTF-8
/
www.facebook.com/tr/
44 B
111 B
Image
General
Full URL
https://www.facebook.com/tr/?id=831984583490556&ev=PageView&dl=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&rl=&if=false&ts=1587037983101&sw=1600&sh=1200&v=2.9.15&r=stable&a=sig&ec=0&o=30&fbp=fb.1.1587037983099.1359884874&it=1587037982789&coo=false&rqm=GET
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f12d:83:face:b00c:0:25de , Ireland, ASN32934 (FACEBOOK, US),
Reverse DNS
Software
proxygen-bolt /
Resource Hash
10d8d42d73a02ddb877101e72fbfa15a0ec820224d97cedee4cf92d571be5caa
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT, Thu, 16 Apr 2020 11:53:03 GMT
last-modified
Fri, 21 Dec 2012 00:00:01 GMT
server
proxygen-bolt
strict-transport-security
max-age=31536000; includeSubDomains
content-type
image/gif
status
200
cache-control
no-cache, must-revalidate, max-age=0
alt-svc
h3-27=":443"; ma=3600
content-length
44
expires
Thu, 16 Apr 2020 11:53:03 GMT
integrator.js
adservice.google.de/adsid/
109 B
171 B
Script
General
Full URL
https://adservice.google.de/adsid/integrator.js?domain=www.kohls.com
Requested by
Host: www.googletagservices.com
URL: https://www.googletagservices.com/tag/js/gpt.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
0482a98d09daebc18a0d2e1ed8f748da5b0179e61223ed541101df1f4699f073
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
p3p
CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657 for more info."
status
200
cache-control
private, no-cache, no-store
content-disposition
attachment; filename="f.txt"
content-type
application/javascript; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
104
x-xss-protection
0
integrator.js
adservice.google.com/adsid/
109 B
171 B
Script
General
Full URL
https://adservice.google.com/adsid/integrator.js?domain=www.kohls.com
Requested by
Host: www.googletagservices.com
URL: https://www.googletagservices.com/tag/js/gpt.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
0482a98d09daebc18a0d2e1ed8f748da5b0179e61223ed541101df1f4699f073
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
p3p
CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657 for more info."
status
200
cache-control
private, no-cache, no-store
content-disposition
attachment; filename="f.txt"
content-type
application/javascript; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
104
x-xss-protection
0
pubads_impl_2020032401.js
securepubads.g.doubleclick.net/gpt/
168 KB
62 KB
Script
General
Full URL
https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020032401.js?21065813
Requested by
Host: www.googletagservices.com
URL: https://www.googletagservices.com/tag/js/gpt.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
sffe /
Resource Hash
123d4b411f97e36f72e2f44be0b18944489e908ff159f59ab8aba984c69517fe
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
last-modified
Tue, 24 Mar 2020 13:43:01 GMT
server
sffe
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, immutable, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
62966
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:03 GMT
/
ct.pinterest.com/user/
35 B
352 B
XHR
General
Full URL
https://ct.pinterest.com/user/?tid=2616391205865&pd=%7B%22em%22%3A%22a683c5c5349f6f7fb903ba8a9e7e55d0ba1b8f03579f95be83f4954c33e81098%22%7D&cb=1587037983178
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
23.213.164.234 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-213-164-234.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
37b17c5135a176a9474521af147d96dfa1fb4ca0f43f00d1400bd1885be3ab9b
Security Headers
Name Value
Strict-Transport-Security max-age=31536000 ; includeSubDomains ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
x-cdn
akamai
status
200
strict-transport-security
max-age=31536000 ; includeSubDomains ; preload
content-type
image/gif
access-control-allow-origin
https://www.kohls.com
access-control-expose-headers
Epik
cache-control
no-cache,no-store,must-revalidate,max-age=0
access-control-allow-credentials
true
x-envoy-upstream-service-time
2
content-length
35
x-pinterest-rid
4117018884232848
expires
Sat, 01 Jan 2000 00:00:00 GMT
/
ct.pinterest.com/v3/
35 B
282 B
Image
General
Full URL
https://ct.pinterest.com/v3/?tid=2616391205865&pd=%7B%22em%22%3A%22a683c5c5349f6f7fb903ba8a9e7e55d0ba1b8f03579f95be83f4954c33e81098%22%7D&event=init&ad=%7B%22loc%22%3A%22https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp%22%2C%22ref%22%3A%22%22%2C%22if%22%3Afalse%2C%22sh%22%3A1200%2C%22sw%22%3A1600%7D&cb=1587037983188
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
23.213.164.234 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-213-164-234.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
37b17c5135a176a9474521af147d96dfa1fb4ca0f43f00d1400bd1885be3ab9b
Security Headers
Name Value
Strict-Transport-Security max-age=31536000 ; includeSubDomains ; preload

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
x-cdn
akamai
status
200
strict-transport-security
max-age=31536000 ; includeSubDomains ; preload
content-type
image/gif
access-control-allow-origin
*
cache-control
no-cache,no-store,must-revalidate,max-age=0
x-envoy-upstream-service-time
6
content-length
35
x-pinterest-rid
7198103023977509
expires
Sat, 01 Jan 2000 00:00:00 GMT
adsct
analytics.twitter.com/i/
31 B
117 B
Script
General
Full URL
https://analytics.twitter.com/i/adsct?p_id=Twitter&p_user_id=0&txn_id=nuubl&events=%5B%5B%22pageview%22%2C%7B%7D%5D%5D&tw_sale_amount=0&tw_order_quantity=0&tw_iframe_status=0&tpx_cb=twttr.conversion.loadPixels&tw_document_href=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp
Requested by
Host: static.ads-twitter.com
URL: https://static.ads-twitter.com/uwt.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
104.244.42.67 , United States, ASN13414 (TWITTER, US),
Reverse DNS
Software
tsa_o /
Resource Hash
df3e003cc30e9bdd0313100e8ee5d468070b4b34d11ad355f276a356d4b9c7bf
Security Headers
Name Value
Strict-Transport-Security max-age=631138519
X-Content-Type-Options nosniff
X-Frame-Options SAMEORIGIN
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
p3p
CP="CAO DSP LAW CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT"
status
200, 200 OK
x-twitter-response-tags
BouncerCompliant
strict-transport-security
max-age=631138519
content-length
57
x-xss-protection
0
x-response-time
115
pragma
no-cache
last-modified
Thu, 16 Apr 2020 11:53:03 GMT
server
tsa_o
x-frame-options
SAMEORIGIN
content-type
application/javascript;charset=utf-8
cache-control
no-cache, no-store, must-revalidate, pre-check=0, post-check=0
x-connection-hash
e39678203180af3363bfa009024517b7
x-transaction
003bcbcb00973ecb
expires
Tue, 31 Mar 1981 05:00:00 GMT
adsct
t.co/i/
43 B
124 B
Image
General
Full URL
https://t.co/i/adsct?p_id=Twitter&p_user_id=0&txn_id=nuubl&events=%5B%5B%22pageview%22%2C%7B%7D%5D%5D&tw_sale_amount=0&tw_order_quantity=0&tw_iframe_status=0
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
104.244.42.69 , United States, ASN13414 (TWITTER, US),
Reverse DNS
Software
tsa_o /
Resource Hash
ac8778041fdb7f2e08ceb574c9a766247ea26f1a7d90fa854c4efcf4b361a957
Security Headers
Name Value
Strict-Transport-Security max-age=0
X-Content-Type-Options nosniff
X-Frame-Options SAMEORIGIN
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
status
200, 200 OK
x-twitter-response-tags
BouncerCompliant
content-length
65
x-xss-protection
0
x-response-time
103
pragma
no-cache
last-modified
Thu, 16 Apr 2020 11:53:03 GMT
server
tsa_o
x-frame-options
SAMEORIGIN
strict-transport-security
max-age=0
content-type
image/gif;charset=utf-8
cache-control
no-cache, no-store, must-revalidate, pre-check=0, post-check=0
x-connection-hash
7b196999fde3f1412fdaf2f1270be696
x-transaction
00c45fcd00b1527a
expires
Tue, 31 Mar 1981 05:00:00 GMT
/
6852bd0a.akstat.io/
0
201 B
Other
General
Full URL
https://6852bd0a.akstat.io/
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:184::11a6 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/x-www-form-urlencoded

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
status
204
content-type
image/gif
access-control-allow-origin
https://www.kohls.com
cache-control
max-age=0, no-cache, no-store
access-control-allow-credentials
true
timing-allow-origin
*
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:03 GMT
WR1031b.js
cdnssl.clicktale.net/www/
91 KB
30 KB
Script
General
Full URL
https://cdnssl.clicktale.net/www/WR1031b.js
Requested by
Host: cdnssl.clicktale.net
URL: https://cdnssl.clicktale.net/www/WR-latest.js
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:183::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Microsoft-IIS/8.5 /
Resource Hash
d6887aae055eff5ba1d8eeb653fc7c2ba7f6c4831d2f06ee20b5dd1e45178273

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
last-modified
Thu, 26 Mar 2020 17:50:39 GMT
server
Microsoft-IIS/8.5
status
200
etag
"80418ff973d61:0"
vary
Accept-Encoding
content-type
application/javascript
access-control-allow-origin
*
cache-control
max-age=86400
accept-ranges
bytes
content-length
30060
expires
Fri, 17 Apr 2020 11:53:03 GMT
test_rum_nv
mon1.kohls.com/ Frame B400
1 B
461 B
XHR
General
Full URL
https://mon1.kohls.com/test_rum_nv?s=000852567651726132077&p=1&op=pagedump&pi=1&CavStore=-1&pid=10&d=10|2|0&lts=198503870&nvcounter=1
Requested by
Host: mon1.kohls.com
URL: https://mon1.kohls.com/nv/kohls/cav_nv.js?v=REL20170123
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:04 GMT
access-control-request-headers
*
status
200
access-control-max-age
300
access-control-allow-methods
POST, PUT, DELETE, GET, OPTIONS
content-type
text/plain
access-control-allow-origin
https://www.kohls.com
cache-control
max-age=0, no-cache, no-store
access-control-allow-credentials
true
timing-allow-origin
*
access-control-allow-headers
Origin, X-Requested-With, Content-Type, Accept, Authorization, Content-Encoding
content-length
0000000001
expires
Thu, 16 Apr 2020 11:53:04 GMT
de52630d-fda8-47c0-af68-d73ee9c1109a
https://www.kohls.com/
0
0
Other
General
Full URL
blob:https://www.kohls.com/de52630d-fda8-47c0-af68-d73ee9c1109a
Requested by
Host: cdnssl.clicktale.net
URL: https://cdnssl.clicktale.net/www/WR1031b.js
Protocol
BLOB
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Length
0
/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2735596884935206&24&10&0&0&0&8&subsid=233441&msgsize=120
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
34.200.164.188 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-200-164-188.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:03 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2735596884935206&24&10&1&0&1&8&subsid=233441&msgsize=120
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
34.200.164.188 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-200-164-188.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:03 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
id
dpm.demdex.net/
8 KB
3 KB
XHR
General
Full URL
https://dpm.demdex.net/id?d_visid_ver=4.3.0&d_fieldgroup=AAM&d_rtbd=json&d_ver=2&d_orgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&d_nsid=0&d_mid=64955286112438701961050183047540692546&d_blob=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y&d_cid_ic=mcvid%012735596884935206&ts=1587037983689
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
54.76.175.152 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-54-76-175-152.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
b49f6a40e717ffb76dd7efa4e7ea878b60827127f18143705f6ab2e8b25f1283
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/x-www-form-urlencoded

Response headers

DCS
dcs-prod-irl1-v065-0f05486f1.edge-irl1.demdex.com 5.66.0.20200408080925 3ms (+1ms)
Pragma
no-cache
Strict-Transport-Security
max-age=31536000; includeSubDomains
Content-Encoding
gzip
X-TID
01WKsRUvRU4=
Vary
Origin, Accept-Encoding, User-Agent
P3P
policyref="/w3c/p3p.xml", CP="NOI NID CURa ADMa DEVa PSAa PSDa OUR SAMa BUS PUR COM NAV INT"
Access-Control-Allow-Origin
https://www.kohls.com
Cache-Control
no-cache,no-store,must-revalidate,max-age=0,proxy-revalidate,no-transform,private
Access-Control-Allow-Credentials
true
Connection
keep-alive
Content-Type
application/json;charset=utf-8
Content-Length
2234
Expires
Thu, 01 Jan 1970 00:00:00 GMT
ads
securepubads.g.doubleclick.net/gampad/
37 KB
10 KB
XHR
General
Full URL
https://securepubads.g.doubleclick.net/gampad/ads?gdfp_req=1&pvsid=4242641392471762&correlator=3018288779149968&output=ldjh&impl=fifs&adsid=NT&eid=21065813%2C21065516%2C44716867&vrg=2020032401&guci=1.2.0.0.2.2.0.0&sc=1&sfv=1-0-37&ecs=20200416&iu_parts=17763952%2CROS&enc_prev_ius=%2F0%2F1%2C%2F0%2F1%2C%2F0%2F1%2C%2F0%2F1%2C%2F0%2F1&prev_iu_szs=1x1%2C160x600%2C300x250%2C300x250%2C320x50%7C1024x45%7C1024x64%7C1024x128&fluid=0%2C0%2C0%2C0%2Cheight&ists=16&prev_scp=pos%3Dwallpaper%7Cpos%3Dleft%7Cpos%3Dbottomleft%7Cpos%3Dbottomright%7Cpos%3Dmarquee&cust_params=pgtype%3Dsevent%26pgname%3Dcoupons-deals.jsp%26channel%3Ddesktop%26env%3Dprod&cookie_enabled=1&bc=31&abxe=1&lmt=1587037983&dt=1587037983770&dlt=1587037977634&idt=6029&frm=20&biw=1585&bih=1200&oid=3&adxs=0%2C16%2C546%2C945%2C281&adys=0%2C1579%2C4251%2C4251%2C169&adks=2843302286%2C75013542%2C3790634569%2C3599039604%2C4275178073&ucis=1%7C2%7C3%7C4%7C5&ifi=1&u_tz=120&u_his=2&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_sd=1&flash=0&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&dssz=155&icsg=13139826088960&mso=512&std=23&vis=1&dmc=8&scr_x=0&scr_y=0&psz=1585x5565%7C166x1974%7C798x314%7C798x314%7C1585x70&msz=1585x1%7C166x600%7C300x250%7C300x250%7C1024x70&ga_vid=1379223742.1587037983&ga_sid=1587037984&ga_hid=1138353683&fws=0%2C4%2C0%2C0%2C0&ohw=0%2C190%2C0%2C0%2C0
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
cafe /
Resource Hash
e09c9127dac0929d232d9eaf49ee76941efa25807b2d6197c561327b46288d89
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
br
x-content-type-options
nosniff
google-mediationgroup-id
-2,-2,-2,-2,-2
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
9783
x-xss-protection
0
google-lineitem-id
-2,5235292292,5338295166,5037969354,5276570810
pragma
no-cache
server
cafe
google-mediationtag-id
-2
google-creative-id
-2,103006517592,138307873913,110287952952,138300936806
content-type
text/plain; charset=UTF-8
access-control-allow-origin
https://www.kohls.com
access-control-expose-headers
x-google-amp-ad-validated-version
cache-control
no-cache, must-revalidate
access-control-allow-credentials
true
timing-allow-origin
*
expires
Fri, 01 Jan 1990 00:00:00 GMT
pubads_impl_rendering_2020032401.js
securepubads.g.doubleclick.net/gpt/
66 KB
24 KB
Script
General
Full URL
https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
sffe /
Resource Hash
0290a012deb1b25451f5211d8cb8b40d8fa6f3942d23ecc12d96670e4c0ed7a5
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:03 GMT
content-encoding
gzip
x-content-type-options
nosniff
last-modified
Tue, 24 Mar 2020 13:43:01 GMT
server
sffe
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, immutable, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
24573
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:03 GMT
container.html
tpc.googlesyndication.com/safeframe/1-0-37/html/
0
0
Other
General
Full URL
https://tpc.googlesyndication.com/safeframe/1-0-37/html/container.html
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
/
Resource Hash

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

455679.gif
idsync.rlcdn.com/
0
40 B
Image
General
Full URL
https://idsync.rlcdn.com/455679.gif?partner_uid=d4449854-7fd8-11ea-b673-42010a246608
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
35.190.72.21 Mountain View, United States, ASN15169 (GOOGLE, US),
Reverse DNS
21.72.190.35.bc.googleusercontent.com
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
204
date
Thu, 16 Apr 2020 11:53:04 GMT
via
1.1 google
alt-svc
clear
/
www.ojrq.net/p/
50 B
416 B
Image
General
Full URL
https://www.ojrq.net/p/?return=&cid=5349&tpsync=no
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
34.95.127.121 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
121.127.95.34.bc.googleusercontent.com
Software
/
Resource Hash
ec34cd386427fe6deacf99f4fdbeea4b1d1ed25f505411650d7ceaa843a7fc63

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:03 GMT
via
1.1 google
server
p3p
policyref="\/w3c/p3p.xml", CP="ALL BUS LEG DSP COR ADM CUR DEV PSA OUR NAV INT"
status
200
cache-control
no-store, no-cache, must-revalidate, post-check=0, pre-check=0
content-type
image/gif
alt-svc
clear
content-length
50
expires
Thu, 16 Apr 2020 11:53:03 GMT
d7474254-d679-424f-9b3c-2e353cdc0e09
https://www.kohls.com/
36 KB
0
Other
General
Full URL
blob:https://www.kohls.com/d7474254-d679-424f-9b3c-2e353cdc0e09
Requested by
Host: cdnssl.clicktale.net
URL: https://cdnssl.clicktale.net/www/WR1031b.js
Protocol
BLOB
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
411c045d2a620b9b58931bcfee6a2345031696ea884ff22ed59a20efd81bd217

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Length
36838
view
securepubads.g.doubleclick.net/pcs/ Frame 1434
0
0
Fetch
General
Full URL
https://securepubads.g.doubleclick.net/pcs/view?xai=AKAOjssNm4FMZd7ZdV1N_K6Es-sS6-a1eP9UDVXg3PDRHc-EkVvPL_qOzeVzXg1n76zjZRioCUj9DyYNcudKmicNwK7NTBPKtcFLQtBWD-2keM0CwE2pOODZBaOMu6qA8ScNykd7WXpHKDGhKvgLEylZNxUekF9QDVrq3L4p_982GkYb0Qd62UYVrNNuG0ndaRDpmOrjYxVpsRpBfz_0QqET8OaAbsmzRmdQdBDNA_rtzYPMeAfK9Jaikg&sig=Cg0ArKJSzPPLoJOZjjmrEAE&urlfix=1&adurl=
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
cafe /
Resource Hash
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:04 GMT
x-content-type-options
nosniff
server
cafe
status
200
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
access-control-allow-origin
*
cache-control
private
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
x-xss-protection
0
gpt.js
www.googletagservices.com/tag/js/ Frame 1434
42 KB
14 KB
Script
General
Full URL
https://www.googletagservices.com/tag/js/gpt.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
bd2da9fc69887da8658af5688aacaf16bf76541964f19fb40c22497855e15740
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"487 / 550 of 1000 / last-modified: 1586794147"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, max-age=900, stale-while-revalidate=3600
timing-allow-origin
*
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
14292
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:04 GMT
osd_listener.js
www.googletagservices.com/activeview/js/current/ Frame 1434
74 KB
28 KB
Script
General
Full URL
https://www.googletagservices.com/activeview/js/current/osd_listener.js?cache=r20110914
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
0b502dbf33a515f9b0fd2a857166c6bb00e41b8dfc07bfa8ef194224fd266b7e
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"1586950235212681"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, max-age=3000
accept-ranges
bytes
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
28756
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:04 GMT
osd.js
www.googletagservices.com/activeview/js/current/
74 KB
28 KB
Script
General
Full URL
https://www.googletagservices.com/activeview/js/current/osd.js?cb=%2Fr20100101
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
2565892bc9a7c05ac215b1784631317b1c0a8c7a91986394662768a6d4dab1d9
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"1586950235212681"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, max-age=3000
accept-ranges
bytes
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
28446
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:04 GMT
container.html
tpc.googlesyndication.com/safeframe/1-0-37/html/ Frame 3F8A
0
0
Document
General
Full URL
https://tpc.googlesyndication.com/safeframe/1-0-37/html/container.html
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

:method
GET
:authority
tpc.googlesyndication.com
:scheme
https
:path
/safeframe/1-0-37/html/container.html
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
cross-site
sec-fetch-mode
navigate
sec-fetch-dest
iframe
referer
https://www.kohls.com/sale-event/coupons-deals.jsp
accept-encoding
gzip, deflate, br
accept-language
en-US
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp

Response headers

status
200
accept-ranges
bytes
vary
Accept-Encoding
content-encoding
gzip
content-type
text/html
timing-allow-origin
*
content-length
2973
date
Thu, 16 Apr 2020 11:01:32 GMT
expires
Fri, 16 Apr 2021 11:01:32 GMT
last-modified
Thu, 21 Nov 2019 16:01:11 GMT
x-content-type-options
nosniff
server
sffe
x-xss-protection
0
cache-control
public, immutable, max-age=31536000
age
3092
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
container.html
tpc.googlesyndication.com/safeframe/1-0-37/html/ Frame FD58
0
0
Document
General
Full URL
https://tpc.googlesyndication.com/safeframe/1-0-37/html/container.html
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

:method
GET
:authority
tpc.googlesyndication.com
:scheme
https
:path
/safeframe/1-0-37/html/container.html
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
cross-site
sec-fetch-mode
navigate
sec-fetch-dest
iframe
referer
https://www.kohls.com/sale-event/coupons-deals.jsp
accept-encoding
gzip, deflate, br
accept-language
en-US
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp

Response headers

status
200
accept-ranges
bytes
vary
Accept-Encoding
content-encoding
gzip
content-type
text/html
timing-allow-origin
*
content-length
2973
date
Thu, 16 Apr 2020 11:01:32 GMT
expires
Fri, 16 Apr 2021 11:01:32 GMT
last-modified
Thu, 21 Nov 2019 16:01:11 GMT
x-content-type-options
nosniff
server
sffe
x-xss-protection
0
cache-control
public, immutable, max-age=31536000
age
3092
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
amp4ads-v0.js
cdn.ampproject.org/rtv/012003262059300/ Frame 6987
200 KB
56 KB
Script
General
Full URL
https://cdn.ampproject.org/rtv/012003262059300/amp4ads-v0.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81d::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
da8c4bacc841dac6fd247e95d34e81f9896c52f1c9560e1dc300b628c37330d1
Security Headers
Name Value
Content-Security-Policy default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
Strict-Transport-Security max-age=31536000; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
Origin
https://www.kohls.com

Response headers

content-security-policy
default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
content-encoding
br
x-content-type-options
nosniff
age
3932
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
55871
x-xss-protection
0
server
sffe
date
Thu, 16 Apr 2020 10:47:32 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
content-type
text/javascript
access-control-allow-origin
*
vary
Accept-Encoding
cache-control
public, max-age=31536000
etag
"5920a4a9dcd48347"
accept-ranges
bytes
timing-allow-origin
*
expires
Fri, 16 Apr 2021 10:47:32 GMT
amp4ads-v0.js
cdn.ampproject.org/rtv/012003262059300/ Frame 6987
200 KB
55 KB
Script
General
Full URL
https://cdn.ampproject.org/rtv/012003262059300/amp4ads-v0.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81d::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
da8c4bacc841dac6fd247e95d34e81f9896c52f1c9560e1dc300b628c37330d1
Security Headers
Name Value
Content-Security-Policy default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
Strict-Transport-Security max-age=31536000; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

content-security-policy
default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
content-encoding
br
x-content-type-options
nosniff
age
3932
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
55871
x-xss-protection
0
server
sffe
date
Thu, 16 Apr 2020 10:47:32 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
content-type
text/javascript
access-control-allow-origin
*
vary
Accept-Encoding
cache-control
public, max-age=31536000
etag
"5920a4a9dcd48347"
accept-ranges
bytes
timing-allow-origin
*
expires
Fri, 16 Apr 2021 10:47:32 GMT
amp-analytics-0.1.js
cdn.ampproject.org/rtv/012003262059300/v0/ Frame 6987
93 KB
28 KB
Script
General
Full URL
https://cdn.ampproject.org/rtv/012003262059300/v0/amp-analytics-0.1.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81d::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
a58db5adf9958450ff7368808e322df972146f6c86546e471b0608af84e93bb3
Security Headers
Name Value
Content-Security-Policy default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
Strict-Transport-Security max-age=31536000; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

content-security-policy
default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
content-encoding
br
x-content-type-options
nosniff
age
3932
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
28417
x-xss-protection
0
server
sffe
date
Thu, 16 Apr 2020 10:47:32 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
content-type
text/javascript
access-control-allow-origin
*
vary
Accept-Encoding
cache-control
public, max-age=31536000
etag
"40aee2f6297ccc56"
accept-ranges
bytes
timing-allow-origin
*
expires
Fri, 16 Apr 2021 10:47:32 GMT
truncated
/ Frame 6987
210 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
2f2e15efe8e2821d572e09b8dba03d7691d3ac1440a7770526846dc9dbe47dd8

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/png
amp4ads-host-v0.js
cdn.ampproject.org/rtv/012003262059300/
20 KB
8 KB
Script
General
Full URL
https://cdn.ampproject.org/rtv/012003262059300/amp4ads-host-v0.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81d::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
4d30ac22ab046870c2859ae90b8598967936e693bf0773ef5e41dae33a04f0a5
Security Headers
Name Value
Content-Security-Policy default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
Strict-Transport-Security max-age=31536000; includeSubDomains; preload
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

content-security-policy
default-src * blob: data:; script-src blob: https://cdn.ampproject.org/esm/ https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/mp/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sp/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
content-encoding
br
x-content-type-options
nosniff
age
3933
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
7162
x-xss-protection
0
server
sffe
date
Thu, 16 Apr 2020 10:47:31 GMT
strict-transport-security
max-age=31536000; includeSubDomains; preload
content-type
text/javascript
access-control-allow-origin
*
vary
Accept-Encoding
cache-control
public, max-age=31536000
etag
"124c7b7cd5d53550"
accept-ranges
bytes
timing-allow-origin
*
expires
Fri, 16 Apr 2021 10:47:31 GMT
gen_204
pagead2.googlesyndication.com/pagead/
0
69 B
Image
General
Full URL
https://pagead2.googlesyndication.com/pagead/gen_204?id=gpt_sz&pvsid=4242641392471762&r=300x250&w=300&h=250
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:04 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
204
cache-control
no-cache, must-revalidate
content-type
image/gif
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
9032382293420641580
tpc.googlesyndication.com/simgad/ Frame 6987
41 KB
41 KB
Image
General
Full URL
https://tpc.googlesyndication.com/simgad/9032382293420641580
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
7196e4dffbdae71684f3e01f40718fa99f3d9b1e5b059e0e6269261be00aa301
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 09 Apr 2020 04:57:55 GMT
x-content-type-options
nosniff
age
629709
x-dns-prefetch-control
off
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
41867
x-xss-protection
0
last-modified
Tue, 21 Jan 2020 17:01:08 GMT
server
sffe
content-type
image/jpeg
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
expires
Fri, 09 Apr 2021 04:57:55 GMT
px
s.thebrighttag.com/ Frame 6987
35 B
353 B
Image
General
Full URL
https://s.thebrighttag.com/px?site=4DPyaxM&referrer=onsitead%3Adesktop&adcreativeid=138300936806&adorderid=2653706782&adunitid=40820232&advertiserid=32614632&lineitemid=5276570810&rand=1013992272
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.100.137 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-100-137.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Pragma
no-cache
Date
Thu, 16 Apr 2020 11:53:04 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
d47c7090-7fd8-11ea-9314-0000ac1508b6
Content-Type
image/gif
Content-Length
35
Expires
Thu, 01 Jan 1970 00:00:00 GMT
view
securepubads.g.doubleclick.net/pcs/ Frame 6987
0
48 B
Image
General
Full URL
https://securepubads.g.doubleclick.net/pcs/view?xai=AKAOjsv97D2EJwMtsCgg4UI6dj2X439s7sop9bagCOild-lf9CZuLjp-WHwqRe6VSLQ-GO2CeK63N90KMYkfUvPxxyeIrCzsetjigPvtJTrH9Tft4oZhC04zcm0MX4QLNVqtVmHNQUTSpI6HsIlc3ksYzfX2A6TwvhjSvqBj_g0NgsZ8W4QPPFP7JEVtDa6am3fEpA8DeOCwx4bR26dPR075eaWf_obY9C_3n8gxcSRb7GUVolhj2DwQ_egL2qiv3G5VFAnVsPnP4Mk&sig=Cg0ArKJSzJURCM2Xs5IeEAE&adurl=
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
cafe /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:04 GMT
x-content-type-options
nosniff
server
cafe
status
200
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
access-control-allow-origin
*
cache-control
private
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
x-xss-protection
0
sodar
pagead2.googlesyndication.com/getconfig/
7 KB
5 KB
XHR
General
Full URL
https://pagead2.googlesyndication.com/getconfig/sodar?sv=200&tid=gpt&tv=2020032401&st=env
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
31a1e53d649d50a76ae296058b09c2598d051b5260513d6296644b4e35f8c91b
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
status
200
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
access-control-allow-origin
*
cache-control
private
content-disposition
attachment; filename="f.txt"
content-type
application/json; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
5133
x-xss-protection
0
pubads_impl_2020040702.js
securepubads.g.doubleclick.net/gpt/ Frame 1434
167 KB
61 KB
Script
General
Full URL
https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020040702.js
Requested by
Host: www.googletagservices.com
URL: https://www.googletagservices.com/tag/js/gpt.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
sffe /
Resource Hash
740078cb1778d885689a3108d2ca696b01fd80cb73437528af4ed0dd6e7466b7
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
last-modified
Tue, 07 Apr 2020 20:25:36 GMT
server
sffe
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, immutable, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
62521
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:04 GMT
integrator.sync.js
adservice.google.de/adsid/ Frame 1434
113 B
175 B
Script
General
Full URL
https://adservice.google.de/adsid/integrator.sync.js?domain=www.kohls.com
Requested by
Host: www.googletagservices.com
URL: https://www.googletagservices.com/tag/js/gpt.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ea03bfd7fdda1eac185ebc3e8e74b33065b04c8e0adc48cbbd4136748dbd2742
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
p3p
CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657 for more info."
status
200
cache-control
private, no-cache, no-store
content-disposition
attachment; filename="f.txt"
content-type
application/javascript; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
108
x-xss-protection
0
sodar2.js
tpc.googlesyndication.com/sodar/
14 KB
5 KB
Script
General
Full URL
https://tpc.googlesyndication.com/sodar/sodar2.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020032401.js?21065813
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
a47f17d6ebbf4621d8fe87ab790d8d8fb5c3086629194d9ff2d64faaa6e46ab6
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"1582746470043195"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, max-age=3000
accept-ranges
bytes
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
5456
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:04 GMT
ads
securepubads.g.doubleclick.net/gampad/ Frame 1434
325 B
222 B
XHR
General
Full URL
https://securepubads.g.doubleclick.net/gampad/ads?gdfp_req=1&pvsid=4450629622406063&correlator=4111959021898322&output=ldjh&impl=fif&eid=21061507%2C21064211&vrg=2020040702&guci=1.2.0.0.2.2.0.0&sc=1&sfv=1-0-37&ecs=20200416&iu_parts=7349846%2Ckohls%2CRSX_IAB_160x600&enc_prev_ius=%2F0%2F1%2F2&prev_iu_szs=160x600&prev_scp=clientName%3Dkohls%26adSize%3D160x600&eri=2&cookie=ID%3D2567640917e42fe4%3AT%3D1587037983%3AS%3DALNI_MYt6M-4Ie5M8SsBG_aubROxWeC7pw&cdm=www.kohls.com&bc=31&abxe=1&lmt=1587037984&dt=1587037984462&dlt=1587037984089&idt=294&ea=0&frm=23&biw=1585&bih=1200&isw=160&ish=600&oid=3&adxs=16&adys=1597&adks=444540742&ucis=n8o7k3x5wt8f&ifi=1&ifk=1587417299&u_tz=120&u_his=2&u_h=1200&u_w=1600&u_ah=1200&u_aw=1600&u_cd=24&u_sd=1&flash=0&nhd=1&iag=3&url=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&top=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&dssz=8&icsg=10&std=0&vis=1&dmc=8&scr_x=0&scr_y=0&ga_vid=1379223742.1587037983&ga_sid=1587037984&ga_hid=1648126449&fws=256&ohw=0&btvi=1
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020040702.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
cafe /
Resource Hash
851bcd830e7bff040b563814c5fbd58683bd39e77f2aa87fbd3f97a1b21c42f7
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
br
x-content-type-options
nosniff
google-mediationgroup-id
-2
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
144
x-xss-protection
0
google-lineitem-id
-2
pragma
no-cache
server
cafe
google-mediationtag-id
-2
google-creative-id
-2
content-type
text/plain; charset=UTF-8
access-control-allow-origin
https://www.kohls.com
cache-control
no-cache, must-revalidate
access-control-allow-credentials
true
timing-allow-origin
*
expires
Fri, 01 Jan 1990 00:00:00 GMT
pubads_impl_rendering_2020040702.js
securepubads.g.doubleclick.net/gpt/ Frame 1434
64 KB
23 KB
Script
General
Full URL
https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020040702.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020040702.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
sffe /
Resource Hash
fb30d19bfdc58c092bdabad889657613116021c0d07e936fdb3e9e5dbd669872
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
last-modified
Tue, 07 Apr 2020 20:25:36 GMT
server
sffe
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, immutable, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
23928
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:04 GMT
container.html
tpc.googlesyndication.com/safeframe/1-0-37/html/ Frame 1434
0
0
Other
General
Full URL
https://tpc.googlesyndication.com/safeframe/1-0-37/html/container.html?n=1
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_2020040702.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
/
Resource Hash

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

truncated
/ Frame 1434
207 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
4d370cfa6938e0d8d53a40150f811e553498d0e5224dc1a61e461aff18451572

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Type
image/png
runner.html
tpc.googlesyndication.com/sodar/sodar2/209/ Frame 8F26
0
0
Document
General
Full URL
https://tpc.googlesyndication.com/sodar/sodar2/209/runner.html
Requested by
Host: tpc.googlesyndication.com
URL: https://tpc.googlesyndication.com/sodar/sodar2.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

:method
GET
:authority
tpc.googlesyndication.com
:scheme
https
:path
/sodar/sodar2/209/runner.html
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
cross-site
sec-fetch-mode
navigate
sec-fetch-dest
iframe
referer
https://www.kohls.com/sale-event/coupons-deals.jsp
accept-encoding
gzip, deflate, br
accept-language
en-US
cookie
__gads=ID=1ba192e78965c79c:T=1587037984:S=ALNI_Mb6Ie1aw6OvoZFi56u03E88EyHCxg
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp

Response headers

status
200
accept-ranges
bytes
vary
Accept-Encoding
content-encoding
gzip
content-type
text/html
content-length
5727
date
Thu, 16 Apr 2020 11:00:42 GMT
expires
Fri, 16 Apr 2021 11:00:42 GMT
last-modified
Tue, 25 Feb 2020 17:32:01 GMT
x-content-type-options
nosniff
server
sffe
x-xss-protection
0
cache-control
public, max-age=31536000
age
3142
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
monitor
conductor.clicktale.net/
1 B
251 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=init&p=271&2=7832119308565728&v=1.5.5
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.200.2.193 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-200-2-193.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

Access-Control-Allow-Origin
https://www.kohls.com
Date
Thu, 16 Apr 2020 11:53:05 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Access-Control-Allow-Headers
*
Content-Length
1
Content-Type
text/plain
/
www.facebook.com/tr/
44 B
157 B
Image
General
Full URL
https://www.facebook.com/tr/?id=831984583490556&ev=Microdata&dl=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&rl=&if=false&ts=1587037984692&cd[DataLayer]=%5B%5D&cd[Meta]=%7B%22title%22%3A%22Kohl%27s%20Coupons%3A%20Promo%20Codes%20%26%20Coupon%20Codes%20%7C%20Kohl%27s%22%2C%22meta%3Adescription%22%3A%22Enjoy%20the%20latest%20Kohl%27s%20promo%20codes%2C%20coupons%2C%20free%20shipping%20deals%20and%20discounts%20at%20unbeatable%20prices!%20Save%20money%20on%20thousands%20of%20items%20you%20love!%22%2C%22meta%3Akeywords%22%3A%22%22%7D&cd[OpenGraph]=%7B%7D&cd[Schema.org]=%5B%5D&cd[JSON-LD]=%5B%5D&sw=1600&sh=1200&v=2.9.15&r=stable&a=sig&ec=1&o=30&fbp=fb.1.1587037983099.1359884874&it=1587037982789&coo=false&es=automatic&tm=3&rqm=GET
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f12d:83:face:b00c:0:25de , Ireland, ASN32934 (FACEBOOK, US),
Reverse DNS
Software
proxygen-bolt /
Resource Hash
10d8d42d73a02ddb877101e72fbfa15a0ec820224d97cedee4cf92d571be5caa
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT, Thu, 16 Apr 2020 11:53:04 GMT
last-modified
Fri, 21 Dec 2012 00:00:01 GMT
server
proxygen-bolt
strict-transport-security
max-age=31536000; includeSubDomains
content-type
image/gif
status
200
cache-control
no-cache, must-revalidate, max-age=0
alt-svc
h3-27=":443"; ma=3600
content-length
44
expires
Thu, 16 Apr 2020 11:53:04 GMT
a4f14a8f-ff44-43d0-9050-0edf458df191
https://www.kohls.com/
36 KB
0
Other
General
Full URL
blob:https://www.kohls.com/a4f14a8f-ff44-43d0-9050-0edf458df191
Requested by
Host: cdnssl.clicktale.net
URL: https://cdnssl.clicktale.net/www/WR1031b.js
Protocol
BLOB
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
411c045d2a620b9b58931bcfee6a2345031696ea884ff22ed59a20efd81bd217

Request headers

Referer
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

Content-Length
36838
/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2735596884935206&24&10&2&0&2&8&subsid=233441&msgsize=120
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
34.200.164.188 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-200-164-188.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:04 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2735596884935206&24&10&3&1&0&105&subsid=233441&msgsize=120
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
34.200.164.188 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-200-164-188.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:04 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
9032382293420641580
tpc.googlesyndication.com/simgad/ Frame 6987
41 KB
41 KB
Image
General
Full URL
https://tpc.googlesyndication.com/simgad/9032382293420641580
Requested by
Host: cdn.ampproject.org
URL: https://cdn.ampproject.org/rtv/012003262059300/amp4ads-v0.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
7196e4dffbdae71684f3e01f40718fa99f3d9b1e5b059e0e6269261be00aa301
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 09 Apr 2020 04:57:55 GMT
x-content-type-options
nosniff
age
629709
x-dns-prefetch-control
off
status
200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
41867
x-xss-protection
0
last-modified
Tue, 21 Jan 2020 17:01:08 GMT
server
sffe
content-type
image/jpeg
access-control-allow-origin
*
cache-control
public, max-age=31536000
accept-ranges
bytes
timing-allow-origin
*
expires
Fri, 09 Apr 2021 04:57:55 GMT
sodar
pagead2.googlesyndication.com/getconfig/ Frame 1434
7 KB
5 KB
XHR
General
Full URL
https://pagead2.googlesyndication.com/getconfig/sodar?sv=200&tid=gpt&tv=2020040702&st=env
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020040702.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
6f8eaec182e63c7eaa74506405e61f720bcaa55bf9a572a723d3890b1a794257
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

timing-allow-origin
*
date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
cafe
status
200
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
access-control-allow-origin
*
cache-control
private
content-disposition
attachment; filename="f.txt"
content-type
application/json; charset=UTF-8
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
5195
x-xss-protection
0
rum.js
securepubads.g.doubleclick.net/pagead/js/ Frame 1434
53 KB
21 KB
Script
General
Full URL
https://securepubads.g.doubleclick.net/pagead/js/rum.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/coupons-deals.jsp
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
172.217.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
cafe /
Resource Hash
d46ad86c11e4092faaececa2e076f72a78b0d965f6a2ca4e9c9c48c54f7cf5df
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:34:23 GMT
content-encoding
gzip
x-content-type-options
nosniff
age
1121
p3p
policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
status
200
content-disposition
attachment; filename="f.txt"
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
20822
x-xss-protection
0
server
cafe
etag
9202514379504351325
vary
Accept-Encoding
content-type
text/javascript; charset=UTF-8
cache-control
public, max-age=3600
timing-allow-origin
*
expires
Thu, 16 Apr 2020 12:34:23 GMT
csi
csi.gstatic.com/ Frame 6987
0
47 B
Other
General
Full URL
https://csi.gstatic.com/csi?s=ampad&ctx=2&puid=1~1587037984866&qqid=CPzulZrx7OgCFds74Aod2XIKxg&rt=a4a.link.2.21.9.7.1h.1.17vq.173z~a4a.script.2.4a.2c.e.1h.1.1772.173z~aa.script.2.20.7.9.0.0.m0p.lxd~simg.img.a.1f.1.9.0.0.wf1.waz~any.img.a.6q.70.0.0.0.0.0~vu.img.a.3x.0.2f.0.0.1c.0~simg.img.ir.8.1.6.0.0.wdg.waz&met.a4a=dcl.0~ol.575~nvs.1587037984107~ini.1587037984867
Requested by
Host: cdn.ampproject.org
URL: https://cdn.ampproject.org/rtv/012003262059300/v0/amp-analytics-0.1.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c03::5e Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Golfe2 /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:05 GMT
last-modified
Wed, 21 Jan 2004 19:51:30 GMT
server
Golfe2
status
204
content-type
image/gif
access-control-allow-origin
*
cache-control
no-cache, no-store, must-revalidate
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
sodar2.js
tpc.googlesyndication.com/sodar/ Frame 1434
14 KB
5 KB
Script
General
Full URL
https://tpc.googlesyndication.com/sodar/sodar2.js
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2020040702.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
a47f17d6ebbf4621d8fe87ab790d8d8fb5c3086629194d9ff2d64faaa6e46ab6
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

date
Thu, 16 Apr 2020 11:53:04 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"1582746470043195"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
private, max-age=3000
accept-ranges
bytes
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
5456
x-xss-protection
0
expires
Thu, 16 Apr 2020 11:53:04 GMT
/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2735596884935206&24&10&4&2&0&105&subsid=233441&msgsize=120
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
34.200.164.188 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-200-164-188.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

status
200
date
Thu, 16 Apr 2020 11:53:05 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
csi
csi.gstatic.com/ Frame 1434
0
316 B
Other
General
Full URL
https://csi.gstatic.com/csi?v=2&s=pagead&action=csi_pagead&dmc=8&puid=1~k92pfuev&chm=1&ctx=2&qqid=CPnulZrx7OgCFds74Aod2XIKxg&met.4=fb.2~lb.ay~ol.l5~idt.4em~dt.-8v&met.9=1.2h~2.86&met.3=197.ar~123.ap_8~118.g5_1~197.gj~143.gj_1~118.ir_1~118.is~118.it~118.je~117.l5~143.l6_1~118.lb~118.le~113.nz_4~112.nx_6&met.1=1.k92pftqx~14.0~15.0~16.0~17.0~18.0~19.0~20.ji~21.l6~22.dz~23.dz&met.7=CA0QChgBIAMoAzAUOBFoBHATeMZwgAHUb4gBoNECsAEBuAED~CCoQChgBIAMoAzAVOBE~CA4QChgBIFooWjCvAThVaF1wqAF4wukDgAG56AOIAdu0CrABAbgBAw~CDAQBxgBIFsoWzCnAThMaF1wowF4rwGAAWyIAXGwAQG4AQM~CA8QDRgBIPsCKPsCMNIDOFdo_AJw0QN43gGAAZABiAHFArABAbgBAw~CCwQChgBIPwCKPwCMNEDOFRo_QJwmAN4xrsBgAH4ugGIAff-A7ABAbgBAw~CCcQDRgBIPkFKPkFMI0GOBNo-gVwjAZ4kymAAcsoiAGgNbABAbgBAw~CCgQChgBIIMGKIMGMJkGOBZohQZwmAZ4iaQBgAHWogGIAY2lA7ABAbgBAw
Requested by
Host: securepubads.g.doubleclick.net
URL: https://securepubads.g.doubleclick.net/pagead/js/rum.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2404:6800:4003:c03::5e Singapore, Singapore, ASN15169 (GOOGLE, US),
Reverse DNS
Software
Golfe2 /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain;charset=UTF-8

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:05 GMT
last-modified
Wed, 21 Jan 2004 19:51:30 GMT
server
Golfe2
status
204
content-type
image/gif
access-control-allow-origin
*
cache-control
no-cache, no-store, must-revalidate
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
runner.html
tpc.googlesyndication.com/sodar/sodar2/209/ Frame AC4D
0
0
Document
General
Full URL
https://tpc.googlesyndication.com/sodar/sodar2/209/runner.html
Requested by
Host: tpc.googlesyndication.com
URL: https://tpc.googlesyndication.com/sodar/sodar2.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

:method
GET
:authority
tpc.googlesyndication.com
:scheme
https
:path
/sodar/sodar2/209/runner.html
pragma
no-cache
cache-control
no-cache
upgrade-insecure-requests
1
user-agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site
cross-site
sec-fetch-mode
navigate
sec-fetch-dest
iframe
referer
https://www.kohls.com/sale-event/coupons-deals.jsp
accept-encoding
gzip, deflate, br
accept-language
en-US
cookie
__gads=ID=1ba192e78965c79c:T=1587037984:S=ALNI_Mb6Ie1aw6OvoZFi56u03E88EyHCxg
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Referer
https://www.kohls.com/sale-event/coupons-deals.jsp

Response headers

status
200
accept-ranges
bytes
vary
Accept-Encoding
content-encoding
gzip
content-type
text/html
content-length
5727
date
Thu, 16 Apr 2020 11:00:42 GMT
expires
Fri, 16 Apr 2021 11:00:42 GMT
last-modified
Tue, 25 Feb 2020 17:32:01 GMT
x-content-type-options
nosniff
server
sffe
x-xss-protection
0
cache-control
public, max-age=31536000
age
3142
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
gen_204
pagead2.googlesyndication.com/pagead/
0
69 B
Image
General
Full URL
https://pagead2.googlesyndication.com/pagead/gen_204?id=sodar2&v=209&t=2&li=gpt_2020032401&jk=4242641392471762&bg=!ZmWlZX1YjeEMfLTERFQCAAAA01IAAAAVmQFZAEVVm8fmAKkVcCNqRdXGytVDYkZn2ZxkNpu0BiO4iapoK_gNaKKxBs9Rk5Njg5ZAERjXdW0Fi49Y7RNFo1xccAc0eaW064NQgmiUc6xBM5VVkRbg4Cxyct0EkDLBt37R-V8aeM0VDl-q2uNoGVq62XWzKx9fh7Kzec119DqwwHpGpOaInf6ljAiA0SaEnbse-K9pRR3Hwy-6yu4KZtJZUCVjpLRKBoGsNoIAnRiGfVVzOsaJmq0ryt10liOlHJq-2Pbu90nOLn9AvpMaASt6nTTSAW2HegONown5cvSzZDc6dhNXPX9bTzwP65LTLndsFaSEdNP2Qm5A3P1gPdIDPT_OlgZ9BHsdO8HfrovUem3U1xMo2cZbp3mIyN5m82Nypy73_02TBOVzsDUEPxNSiraQgZVZYNJNUBLS-J2_8S9nZgKazylwO-tAtbyZk7DGYc3MlDrbNQ6V
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:05 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
204
cache-control
no-cache, must-revalidate
content-type
image/gif
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
gen_204
pagead2.googlesyndication.com/pagead/ Frame 1434
0
69 B
Image
General
Full URL
https://pagead2.googlesyndication.com/pagead/gen_204?id=sodar2&v=209&t=2&li=gpt_2020040702&jk=4450629622406063&bg=!KCulKzNY-rbIwPyO0U0CAAAASlIAAAAPmQFfi_7I6X5OaL0EQQzwZrorP-EJxAmvLivAUgOMeyh0DcdcVr2qbb8bthuwPtWbh3rc-tNeZDz68UqXBVoaRTl7M8AN5OuSCCyrCt1SQOqtsr0M3KMztNKWje9SDNgTtolKitfoImIFusc8sQGiGj7w7GkDQ8e4cPqzKmScnv0p-yFLrd_WzEv5aR1wo3aNvnzZUJHMiAnqciaykRtYDluG7w681uy6ZV0mc4A-7mAW4Zv0zpzVjeiPr4oVSjI-hiIkhx1wsGxPVtEp64S9oue-lsuy3PHsNiJ3MYXg0Z1gTbd9yZV-fx0aq402cLF59WIgfO1QjfD101qxMNhTOX-bW_aicMAej4O9RXRuGAqyR3deE58NsMhSpmonYLnUTon8BZO3E_EJoVP5gTQTqtmaOoUhUGp2aJM7wwfqW7otpattIdnV5qL30J2gyyEavNFh_vauz_MplFo_xUvnAXZw
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:05 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
204
cache-control
no-cache, must-revalidate
content-type
image/gif
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
0
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
rid
match.adsrvr.org/track/
108 B
702 B
XHR
General
Full URL
https://match.adsrvr.org/track/rid?ttd_pid=casale&fmt=json&p=184399
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
3.248.119.92 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-3-248-119-92.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
6d279a98030f1cbef07a45cbd97823021b501a9d636ecde314d4ccc372f0e591

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/x-www-form-urlencoded; charset=UTF-8

Response headers

date
Thu, 16 Apr 2020 11:53:05 GMT
x-aspnet-version
4.0.30319
status
200
vary
Origin
content-type
application/json; charset=utf-8
access-control-allow-origin
https://www.kohls.com
cache-control
private
access-control-allow-credentials
true
access-control-allow-headers
Origin, X-Requested-With, Content-Type, Content-Length, Content-Encoding, Vary, Cache-Control, Accept
content-length
108
expires
Sat, 16 May 2020 11:53:05 GMT
identity
api.rlcdn.com/api/
0
0

any
idx.liadm.com/idex/ie/
0
406 B
XHR
General
Full URL
https://idx.liadm.com/idex/ie/any
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.6.27.178 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-6-27-178.compute-1.amazonaws.com
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
application/x-www-form-urlencoded; charset=UTF-8

Response headers

Access-Control-Allow-Origin
https://www.kohls.com
Date
Thu, 16 Apr 2020 11:53:06 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Strict-Transport-Security
max-age=31536000; includeSubDomains
activeview
pagead2.googlesyndication.com/pcs/ Frame 6987
42 B
122 B
Image
General
Full URL
https://pagead2.googlesyndication.com/pcs/activeview?xai=AKAOjsuIGTYuhR4X3VRT_KU-X-5l_BrMr9WfFaUIuUO3_zA6K1XMbkhKBEjYbgx5u2ky3AGIJgQoMBwuFFX52pQryTDsJ1JRPvU869HAf0z903o&sig=Cg0ArKJSzE02yPT4Xy0ZEAE&id=ampim&o=281,168&d=1024,64&ss=1600,1200&bs=1600,1200&mcvt=1000&mtos=0,0,1000,1000,1000&tos=0,0,1000,0,0&tfs=295&tls=1295&g=100&h=100&tt=1295&r=v&avms=ampa&adk=4275178073
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Response headers

pragma
no-cache
date
Thu, 16 Apr 2020 11:53:05 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
status
200
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
access-control-allow-origin
*
cache-control
no-cache, must-revalidate
content-type
image/gif
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
monitor
conductor.clicktale.net/
1 B
251 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=chunk&p=271&2=7832119308565728&v=1.5.5
Requested by
Host: s.go-mpulse.net
URL: https://s.go-mpulse.net/boomerang/4BQ4T-P2CA2-RNGSJ-DLGVP-DF78T
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.200.2.193 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-200-2-193.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/coupons-deals.jsp
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Content-Type
text/plain

Response headers

Access-Control-Allow-Origin
https://www.kohls.com
Date
Thu, 16 Apr 2020 11:53:08 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Access-Control-Allow-Headers
*
Content-Length
1
Content-Type
text/plain

Failed requests

These URLs were requested, but there was no response received. You will also see them in the list above.

Domain
api.rlcdn.com
URL
https://api.rlcdn.com/api/identity?pid=2&rt=envelope

Verdicts & Comments Add Verdict or Comment

732 JavaScript Global Variables

These are the non-standard "global" variables defined on the window object. These can be helpful in identifying possible client-side frameworks and code.

object| onformdata object| onpointerrawupdate boolean| enableTHCOmniture function| $env object| googletag function| _googCsa object| Kjs string| trJsonData object| suites function| jQuery function| $ function| $node function| $module function| $err object| $log function| $requires function| $sync function| $init function| $ready function| $unload object| $load function| createCookie function| getCookie function| $r function| $v function| $s function| $o function| $tf function| OptanonWrapper function| e object| visitor string| tceIsRedesign string| tceIsPDPRedesign boolean| tceIsCNCRedesign function| targetPageParams function| isEmpty function| key function| distinct object| adobe function| Visitor object| s_c_il number| s_c_in object| targetGlobalSettings object| ___target_traces function| mboxCreate function| mboxDefine function| mboxUpdate string| kohls_domain string| saleEventDFPRootNetworkHierarchy object| bd string| BDRecsPrimaryType string| BDRecsProductType string| BDRecsSubType string| BDRecsGender string| cookieId string| atgId string| zipCode string| storeNumber string| K_favstore string| K_favstoreSplit object| mcid string| vId object| saleEventP1Valuesplit string| saleEventP1Value object| recommendationRenderer object| BOOMR_mq string| BOOMR_API_key object| BOOMR number| BOOMR_lstart string| bazadebezolkohpepadr function| getCookieByNames string| prop50_Value object| HLLibrary function| getCookieByName string| pagePostalCode object| pageData string| domain1 function| setLoginSuccessCookie string| LoginSuccess object| SCTrackingBean number| BOOMR_configt string| brightTagScriptCallURL string| brightTagScriptCallParam function| getUrlVars undefined| page_rr_ads function| isNative function| isTabletDevice function| isMobile function| isMobileDomain function| setNativeCookie undefined| multiSuite string| standardSuite string| mobileCookie string| s_account string| VisitorUsaFullNameCookieValue object| _cf object| _ac object| bmak string| _sd_trace string| urhehlevkedkilrobacf object| ttMETA undefined| receiveMessage string| s_tnt string| tntVal function| ttMBX boolean| tntADDEnabled boolean| tntADD_STDMaxSLA boolean| AccurateDDBoss boolean| tntADD_BOSSMaxSLA boolean| AccurateDD function| hl_507 undefined| _jsv function| $$ object| $msg function| $tpl function| $tmpl function| $panel object| $omniture function| AC_AddExtension function| AC_Generateobj function| AC_FL_RunContent function| AC_SW_RunContent function| AC_GetArgs object| swfobject number| a undefined| b number| c object| timeArray function| _getTime function| _calcTime function| _pushTime function| displayMobileFooter function| updateSwitchLink function| handleCookies function| convertHTML function| getParameterByName function| updateParameterByName function| checkSessionforOverlay function| fillProductInfoDetails function| setMiniShoppingCartData function| getCartRequestNeeded function| getCartRequest function| errorCleanUp function| cleanExpErr function| clearExpirationErr function| validatePaymentForm function| validateForm function| validateCity function| validatePhone function| validateZip function| cardExp function| emailErr function| validateSameFields function| validatePasswordFields function| validateEmail function| validateCCNumber function| validateCvvNumber function| validateField string| errorClass string| emailClass string| ccNumClass string| cvvClass string| emailError string| confirmPasswordMessage string| confirmEmailMessage object| mainErrorClass string| ccNumInvalid string| cvvNum string| pinErr string| ccExpClass string| ccExpError object| emailRegEx boolean| valid boolean| emptyEmail boolean| otherPayMode string| validationFieldType string| cityinvalid object| strOnly function| validateRewards string| relativeJsPath function| addCurrency function| addLoyaltyCurrency function| addCurrencyNoDec function| getShippingDetailLabelByMethod function| getAllVgcShipmentItemsCountOrTotal function| cartHasShipItem function| vgcFindOrNot function| openCreateAccountPopup function| invokeSigninPopup function| openFancyboxPopup undefined| xmlHttp undefined| pwpGetProdId undefined| offerType boolean| overlayWidthFlag number| carouselNumber function| redirectToGwpPwpOnClick function| redirectToGwpPwpShoppingBagOnClick function| imageRedirect function| redirectToGwpPwpOnUpdateClick function| redirectOnClick function| redirectToCollectionPage function| redirectToCollectionPWPPage function| redirectOnClickOnCartPage function| createXMLHttpRequest1 function| callForAddOnCartPage function| redirectToCheckOutOnClick function| submitOnClick function| launchBB function| launchSP function| textCounter function| setCardKey function| newWindow function| displayCollectionQuickViewContent function| sc_quickView function| sc_bvTabOpen function| sc_bvQATabOpen function| clearVars function| continueShopping function| createXMLHttpRequest function| addToCartPDP function| checkSessionExpiry function| addToCartPDPPWPSingleSku function| addToCartPDPPWPCollections function| addToCartGwpCollections function| callForAddQuickCollectionBuy function| callForAddQuickCollectionGet function| callForAddQuickPWPCollections function| addToCartQview function| callForAddQuick function| callForAdd function| validateAddToBag function| validateGwpCollectionAddToBag function| addToBagQuickview function| callForAddtoBagQuickSingleSku function| callForAddtoBagQuickMultipleSku function| setProdIdSkuIdToBag function| chkGftItem function| sizeChkGftItem function| redirectSessionTimeOut function| dynamicGWPAddToCart function| callForGwpDynamicMessageDisplay function| dynamicPWPMessageDisplay function| callForPWPDynamicMessageDisplay function| dynamicGWPAddToCartANDMsgDisplay function| offerMesgANDAddToBagDisplay function| formatPinitUrl function| updateViewLargerlink function| loadOfferGetProductsTohiddenParam function| displayYourPriceForGetProduct function| callForYourPriceDisplay undefined| getProductId undefined| buyProductId undefined| productId function| displayMessagesInPDPPage function| callForAkamaiMessages function| displayMessagesForCollectionPage function| callForForCollectionPage function| checkval function| checkval1 function| trackSigninModel function| _addModalFancyboxClasses function| _removeModalFancyboxClasses function| spendTracerOmniture function| orderConfirmOmniture function| getFreeShipDelta function| orderGetShippingSurchargesGiftAndTax function| kcCloseSuccessCallBack2 function| kcCloseErrorCallBack function| kcCloseSuccessCallBack function| preBoxOpen function| gwpGiftFancyboxOpen function| gwpFancyBoxCall function| getGwpContent function| openShipSurchargeTaxModal function| _loadBigData function| openKohlsCashModal function| applyDiscountModal function| mmddyyDateFormat function| callShipSurchargeTaxModal function| promooffer function| bagedititemfocus function| intibagedititem function| isValidEmailAddress function| validation function| captureTabClickUserTracking function| updateProp52WhenLCSServiceDown function| getProp75Data function| captureBrightTagData function| createBrightTagShoppingItems function| createBrightTagProductDetails function| smartCartOmnitureBopusOffer function| loyaltyCustomOmnitureEvent function| AMLoyaltyCustomLink function| birthayPerfCustomLink function| emailOptInOptOutCustomLink function| emailToggleEvent function| convertNumber function| addDecimal function| formatPhoneNumber function| getTotalQuantity function| getTotalQuantityByShipMethod function| successGiftsAndTax function| errorGiftsAndTax function| getMultipleShippingAddresses function| getPrimaryAddress function| isEliteFreeShipping function| isEliteFreeShippingGetOrderDetails function| _isEliteFreeKillSwitchEnabled object| trJson function| onVisaCheckoutReady undefined| newwin number| xpos number| ypos boolean| submitFlag function| buildOptions function| launchNew function| launchExt function| launchDetails function| launch function| launchCorporate function| launchEnlargedBBABImage function| launchEnlargedBBGSImage function| launchEnlargedBBGRImage function| launchEnlargedBBFLImage function| launchSwatch function| launchEnlargedImage function| getMVM function| launchZoom function| launchZoomButton function| checkSubmit function| checkCardSubmit function| checkForCookies function| trackLink function| $box function| $modal object| availableDiscountPanel object| appliedDiscountPanel function| getUrlParameter function| captureUserTrackingData function| getPaymentMonth object| skava object| newProtocol string| parentURL boolean| autoLoginEnabled boolean| skava_popup_status boolean| skava_popup_login_status function| loginstatus function| displayLoginModal function| displayFirstModal function| successActionNew function| displayRecPassModal function| displayRecPassConfirmModal function| validateLogin function| displayLoginErrors function| _handleLoginServerResponse function| validateCreate function| displayCreateErrors function| _handleCreateServerResponse function| validateRecPass function| displayRecPassErrors function| _handleRecPassServerResponse function| isBetween function| setFieldFormatting function| markInvalidLabelAndField function| unmarkInvalidLabelAndField function| validateName function| successAction function| failureAction function| _updateOmnitureLoggedInStatus object| analyticEvents object| pageLoadValues function| trackAnalytics object| s function| s_getObjectID function| s_doPlugins function| AppMeasurement_Module_ActivityMap function| AppMeasurement_Module_AudienceManagement function| AppMeasurement function| s_gi function| s_pgicq function| DIL number| s_objectID number| s_giq function| _setIncentiveRedirectCookie function| _renderRedesignPBDrawer undefined| isOldPBLayoutEnabled object| globalPbCart function| _displayStore function| _getGeoStoreCookie function| _getKFavStoreCookie function| _getNearStoreLocation function| _callStoreLocator function| _onSuccess function| _onError function| _setStoreLocationStorages string| newStoreName function| calculateDate function| showLoyaltyMesage string| visitorId string| trackingCookieValue string| eVar39_Value string| userStatus string| eVar70_Value string| eVar71_Value string| eVar73_value string| customerNameCookie string| y2yTablet string| y2yMobile string| y2yDesktop string| eVar42_Value string| prop4_Value string| prop63_Value string| eVar19_Value string| eVar18_Value string| eVar20_Value string| eVar40_Value string| eVar68_Value string| eVar3_Value string| eVar8_Value string| prop9_Value string| pageName_Value string| eVar22_Value string| CartPersistence string| total string| visitorName object| values undefined| visitorBagTotals string| PageUrl function| _more object| dateObj object| date function| redirectSignInToCheckout object| Kohls boolean| isPersonalizeEnabled string| j string| k string| x string| y object| s_i_kohlscomprod string| __nv_agent_version string| pathToAssets string| bar_gif string| float_gif string| loading_gif string| tab_1_gif string| bar_gif_retina string| float_gif_retina string| tab_1_gif_retina object| css string| cssText object| OOo object| $jscomp function| Z1 object| ZineOne function| _enablePushNotification function| checkIfPushSubscriptionExists function| _printSdkVersion function| _setApiKey function| _getApiKey function| _setAccessToken function| _getAccessToken function| _setDomainName function| _setHostName function| _getHostName function| _generateUUID function| _acceptLocation function| _isLocationEnabled function| _initWebPush function| _getZ1Widget function| _getInboxCount function| _getInfo function| _fetchInboxData function| _onInboxDataSuccessful function| _showFAQ function| _onFAQSuccessful function| _openSession function| _onSetCustomerId function| _onSetCustomKey function| _createMessagingLayer function| _pushEvent function| _localStorageSetItem function| _localStorageGetItem object| _webPush object| _loader object| _Session number| width number| height object| browserInfo function| XMLProfiler object| Zlib object| CAVUA object| CAVNV function| cav_nv_ajax_pg_start function| cav_nv_ajax_pg_end function| cav_nv_pg_ready_cb function| cav_nv_pg_unload_cb function| cav_nv_before_beacon_cb function| cav_nv_after_beacon_cb function| cav_nv_get_session_data function| cav_nv_set_session_data function| cav_nv_add_cb function| cav_nv_set_loginid function| cav_nv_set_sessionid function| cav_nv_set_orderTotal function| cav_nv_set_transactionId function| cav_nv_log_customMetrics function| cav_nv_set_userSegment function| cav_nv_auth function| cav_nv_enable_nd function| cav_nv_log_event function| bt_eval function| bt_parameter function| bt_meta function| bt_cookie function| bt_data function| bt_log function| bt_handle_exception undefined| _bt_url_prefix undefined| _bt_referrer undefined| _bt_site undefined| _bt_mode function| btServe function| bt_data_escaped object| BrightTag number| urlLength number| subUrlLength object| BrTrk object| config undefined| eventNames function| __nativeXHR boolean| __nvjse object| DepartmentManager object| google_tag_manager object| dataLayer function| gtag object| google_tag_data function| GooglemKTybQhCsO function| google_trackConversion object| GooglebQhCsO function| extractParamFromUri object| _etmc object| _etmc_temp function| UET object| BTPrivacy number| BOOMR_onload object| _comscore string| GoogleAnalyticsObject function| ga function| fbq function| _fbq function| snaptr object| TagDeliveryQueue function| pintrk string| CRL8_SITENAME object| crl8 boolean| clickTaleTagInjected object| uetq string| MovableInkTrack function| mitr string| ire_o function| ire function| _onBodyAction function| _loopThroughGlobalTriggers boolean| __ooc object| gaplugins object| gaGlobal object| gaData object| autoMonitorConfig string| ct_pdc_qs_val object| ClickTaleGlobal object| ClickTaleMonitor object| ClickTaleSettings object| ct_dispatcher function| ClickTaleCreateDOMElement function| ClickTaleAppendInHead function| ClickTaleXHTMLCompliantScriptTagCreate function| clickTaleATIntegration function| clickTaleCheckIfATExists undefined| uid undefined| expires undefined| days undefined| cookieName function| ClickTaleOnRecording boolean| isHttps undefined| scriptSource undefined| pccSource string| pccSrc object| pccScriptElement object| ctVEconfig object| ClickTaleOnReadyList boolean| ClickTaleIsXHTMLCompliant boolean| ClickTaleIncludedOnWindowLoad boolean| ClickTaleIncludedOnDOMReady string| ClickTaleScriptSource function| onloaded undefined| ClickTalePrevOnReady function| ClickTaleOnReady string| sfIp function| get_gender function| createShelfContainer object| TagDeliveryContent function| ImpactRadiusEvent object| irEvent function| udm_ object| ns_p object| COMSCORE function| twq object| twtObject object| contentIds object| CEC string| WRFi number| WRFk number| WRFh number| WRFj object| WRFw number| ClickTaleUnloadPause number| ClickTaleEventsMask string| ClickTaleIgnoreCookieName string| ClickTaleUIDCookieName function| ClickTaleLog function| ClickTale string| ClickTaleCookieDomain function| ClickTaleUploadPage function| ClickTaleDelayUploadPage function| ClickTaleIsUploadPage function| ClickTaleSetAllSensitive function| ClickTaleResetAllSensitive function| ClickTaleSetSomeSensitive function| ClickTaleResetSomeSensitive function| ClickTaleIgnore function| ClickTaleRegisterFormSubmitFailure function| ClickTaleGetVersion function| ClickTaleSetCustomElementID function| ClickTaleRegisterFormSubmitSuccess function| ClickTaleExec function| ClickTaleField function| ClickTaleNote function| ClickTaleTag function| ClickTaleEvent function| ClickTaleGetPID function| ClickTaleSetUID function| ClickTaleGetUID function| ClickTaleGetSID function| ClickTaleUnsubscribe function| ClickTaleSubscribe function| ClickTaleLogical function| ClickTaleDetectAgent function| ClickTaleIsPlayback number| ClickTaleCookieExpiryDays function| ClickTaleIsSavedRecording function| ClickTaleIsRecording function| ClickTaleSendJsonMessage function| ClickTaleDispatchPersistedMessages function| ClickTaleUploadPageNow function| ClickTaleAddAugmentElementPathHandler function| ClickTaleGetAuthResponse function| ClickTaleGetSubscriberId function| ClickTaleGetPartition function| ClickTaleGetWRIgnoreExpiry number| WRInitTime object| ClickTaleFetchFromWithCookies object| ctRules_PrePCC object| ctCustomCode_PrePCC function| doOnlyWhen object| ct boolean| ClickTaleFirstPCCGo function| clickTaleStartEventSignal function| clickTaleEndEventSignal function| ClicktaleIntegrationExperienceHandler object| ggeac object| closure_memoize_cache_ object| googleToken object| googleIMState object| google_js_reporting_queue function| processGoogleToken object| twttr function| MutationSummary object| ClickTaleOnUploadPageContentFetched object| ClickTaleOnStop string| tagId number| index undefined| google_measure_js_timing number| google_srt function| WRAB function| ClickTaleStop function| ClickTaleTerm function| ClickTaleGetClientIp function| ClickTaleEventTrigger function| ClickTaleRegisterFormSubmit function| ClickTaleRegisterFormSubmitSent function| ClickTaleRegisterFormSubmitNotSent function| ClickTaleRebindEvents function| ClickTaleLogicalForm function| ClickTaleRegisterTouchAction function| ClickTaleRegisterElementAction function| ClickTaleFormDisable function| ClickTaleFormDisableAll function| ClickTaleFormGetInputs function| ClickTaleSendThresholdExceededEvent function| ClickTaleRegisterScroll function| ClickTaleSendImmediate function| ClickTaleRegisterManualEvent function| ClickTaleLogicalWithUploadPage object| WRDt number| __google_ad_urls_id number| google_unique_id function| Goog_AdSense_getAdAdapterInstance function| Goog_AdSense_OsdAdapter object| ampInaboxIframes object| ampInaboxPendingMessages object| __google_ad_urls boolean| google_osd_loaded boolean| google_onload_fired object| google_image_requests object| GoogleGcLKhOms function| Goog_Osd_UnloadAdBlock function| Goog_Osd_UpdateElementToMeasure function| google_osd_amcb object| __AMP_LOG object| __AMP_ERRORS boolean| ampInaboxInitialized object| __AMP_MODE function| __AMP_REPORT_ERROR object| ampInaboxPositionObserver object| ampInaboxFrameOverlayManager object| AMP object| headertag function| headertag_render object| pbjs object| rubicontag boolean| clickTaleNotAvailableOnPageWhereOLClicked boolean| clickTaleNeverAvailableOnSite

34 Cookies

Domain/Path Name / Value
.demdex.net/ Name: dextp
Value: 21-1-1587037979392|60-1-1587037979493|358-1-1587037979594|477-1-1587037979756|601-1-1587037979874|640-1-1587037979975|771-1-1587037980076|822-1-1587037980178|992-1-1587037980284|1123-1-1587037980385|1083-1-1587037980489|1085-1-1587037980593|1086-1-1587037980695|1087-1-1587037980800|1088-1-1587037980901|903-1-1587037981002|20-1-1587037981103|3047-1-1587037981212|28645-1-1587037981312|30064-1-1587037981418|30646-1-1587037981519|575-1-1587037981650|53196-1-1587037981753|49276-1-1587037981854|73426-1-1587037981958|75557-1-1587037982062|79908-1-1587037982163|2340-1-1587037982266|66757-1-1587037982367|121998-1-1587037982469
.demdex.net/ Name: demdex
Value: 59842485181670560920556877779147054954
.kohls.com/ Name: RT
Value: "z=1&dm=kohls.com&si=06c70189-11d0-493c-af67-f032457ae375&ss=k92pfomq&sl=1&tt=3wk&bcn=%2F%2F6852bd0a.akstat.io%2F&ld=3wv"
www.kohls.com/ Name: btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gMzY1IGRheXM
Value: MTE2NTE3OTcyMDEzMzM3MTAxNg
www.kohls.com/ Name: btpdb.4DPyaxM.dGZjLjYyMDYyMTU
Value: REFZUw
www.kohls.com/ Name: btpdb.4DPyaxM.dGZjLjYyMTAxMDM
Value: REFZUw
www.kohls.com/ Name: SignalSpring2016
Value: A
.kohls.com/ Name: _gcl_au
Value: 1.1.1505746831.1587037982
.kohls.com/ Name: AAMC_kohls_0
Value: REGION%7C6
www.kohls.com/ Name: kohls_klbd_cookie
Value: 122345482.16970.0000
www.kohls.com/ Name: akavpau_www
Value: 1587038280~id=5682c3a5aac556619ccaae8c4a3e69a0
www.kohls.com/ Name: btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gc2Vzc2lvbg
Value: ODcxMDUyNzgzMTExMjA0Nzg4OQ
.kohls.com/ Name: productnum
Value: 1
.www.kohls.com/ Name: VisitorId
Value: 07974be1-981a-41c0-a858-f5c463f03860
.kohls.com/ Name: _abck
Value: 26445C9A3DD97E2EBDAE096A9E852432~-1~YAAQF7sQAkZ6pnxxAQAA6cPVggMagSSqfVkTPRUPfM2oYKHsXjpIA9EY/J8tSlP/EHGlv6FZjaIn1S0M/un7saWLiNOD+IH3b2GGQxzUkuHt3vKH6GZrNcCeOJ4mNQsij/LfxF9q4GGDBCaYB8pbGxprzUMnRAYsc9vNMzpejezHTzPu35P6cC/WrHsrUaO0HplA+phvk6y9X7vA+uxIp6PRjEfL86nB8+bFV71Sq+8TOib/i7jFAKi5gdYqzhOZrvOtFjp7rM6/gPY/tRWPSDsSaiFdBfDs69RTvCAffhRHpaiK0YnyOGQwxBnJXfxVl43zoUEv3RL5ef+izdq0ZIWQzxY=~-1~-1~-1
www.kohls.com/ Name: X-SESSIONID
Value: 07974be1-981a-41c0-a858-f5c463f03860
.kohls.com/ Name: ak_bmsc
Value: 8800FB947E500F09A9DD0987A4FA38270210BB17245D00001A47985E4685415F~plgXCu+WR5JfKJLdI0SD3s7ZHrf/hkAwcgBVROsVy8HMwG+G3gSBJ3WTtsh+6z1cBzskhZaM2q4wiOoVPJkdpfM5MDrg5cpXuqbK60fkDDoKsL11Gm3k8OubCLPga799v8pHGvwqAnwrK1iMTWLqtIiK4InqbCPzaIrOrRjV4T/u0DK3Y/G18Szf6+llGRTJxdbJmcRPv7CE3MDPX2gc/ESzXmGazxeIt37rF8Grqxshf/HEHh1gso+Br2OmQqnbK3bi9WsczbGXrXGCl1sllhMUbewWztgabIHMHdloUKLY0=
www.kohls.com/ Name: CRTOABE
Value: 0
.kohls.com/ Name: s_stv
Value: non-search
.kohls.com/ Name: bm_sz
Value: AF16B5407762C0C7085258183C3EB8BE~YAAQF7sQAjd6pnxxAQAAH77Vggcm8sWNfzmMiSdYadCm3jc6k7vq1eqhQNMNymtRTcjKh91gv6b/wo6lFmxZkkv6Hv5k0zwI98WZhxPDwAvStrrLBYd8Eu8u8SWTCaulCbiCAgLRPntSvsegowHOZKBNteLA+Ts8wjlct60tcXU+/0o0wfjnmUT/K2aIJd4=
.kohls.com/ Name: check
Value: true
www.kohls.com/ Name: akacd_www-kohls-com-mosaic-p2
Value: 2177452799~rv=19~id=67b39543b0766db2c63209c66c15bf3d
.kohls.com/ Name: mboxEdgeCluster
Value: 26
www.kohls.com/ Name: hl_p
Value: 2dc945ec-b877-4977-be5d-397fdc8223f6
.kohls.com/ Name: s_cc
Value: true
.kohls.com/ Name: AMCV_F0EF5E09512D2CD20A490D4D%40AdobeOrg
Value: -1712354808%7CMCIDTS%7C18369%7CMCMID%7C64955286112438701961050183047540692546%7CMCAAMLH-1587642778%7C6%7CMCAAMB-1587642778%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1587045178s%7CNONE%7CMCAID%7CNONE%7CMCSYNCSOP%7C411-18376%7CvVersion%7C4.3.0
.kohls.com/ Name: s_ecid
Value: MCMID%7C64955286112438701961050183047540692546
.kohls.com/ Name: AMCVS_F0EF5E09512D2CD20A490D4D%40AdobeOrg
Value: 1
www.kohls.com/sale-event Name: loglevel
Value: SILENT
www.kohls.com/ Name: btpdb.4DPyaxM.dGZjLjYyMTAxMTA
Value: REFZUw
www.kohls.com/ Name: mosaic
Value: gcpg
.kohls.com/ Name: gpv_v9
Value: deals
.kohls.com/ Name: aam_uuid
Value: 59842485181670560920556877779147054954
.kohls.com/ Name: mbox
Value: session#8ecbcd71933845fda9d9119a20320f2b#1587039840|PC#8ecbcd71933845fda9d9119a20320f2b.26_0#1650282780

93 Console Messages

Source Level URL
Text
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data removing failure. TypeError: Cannot read property 'removeItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data setting failure. TypeError: Cannot read property 'setItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api log URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
[INFO][renderer][RecommendationRenderer]: Input Context - {"ccpKeys":{"atgId":"","cookieId":"","mcmId":"","zipCode":"","storeNumber":"","departmentName":"","category":"","subCategory":"","gender":"","saleEventType":"coupons-deals"},"placements":{},"apiKey":"NQeOQ7owHHPkdkMkKuH5tPpGu0AvIIOu","channelId":"WebStore","pageId":"SalesEvent"}
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data setting failure. TypeError: Cannot read property 'setItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data setting failure. TypeError: Cannot read property 'setItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data setting failure. TypeError: Cannot read property 'setItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[$log] An early $(document).ready(function() {...}) handler was registered
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[$log] An early $(function() {...}) ready handler was registered
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api error URL: https://api-bd.kohls.com/update/ede/assets/experiences/webstore/bd-experience-rendering-sdk.min.js(Line 1)
Message:
LocalStorageManager data getting failure. TypeError: Cannot read property 'getItem' of null
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[startup] No static messages to load for https://www.kohls.com/sale-event/coupons-deals.jsp
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel1000)
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel1001)
console-api log URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 21)
Message:
[requires] (msgRequiresInInit) $requires was called during $init phase. THIS IS NOT RECOMMENDED! Place all $requires calls in load phase.
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[requires] (msgRequiresInInit) $requires was called during $init phase. THIS IS NOT RECOMMENDED! Place all $requires calls in load phase. /wcs-internal/OmnitureAkamai.jsp
console-api log URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
console.groupEnd
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[errors] Nested exec call! (2)
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[frame] DOM element ".Enr_Terms" does not exist. It is possibly a dynamic element that has not been created, yet - binding to live event.
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[frame] DOM element ".tellAFriend" does not exist. It is possibly a dynamic element that has not been created, yet - binding to live event.
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[frame] DOM element ".largerView" does not exist. It is possibly a dynamic element that has not been created, yet - binding to live event.
console-api log URL: https://www.kohls.com/snb/media/javascript/deploy/s_code.js(Line 55)
Message:
AppMeasurement Debug: https://ww8.kohls.com/b/ss/kohlscomprod/10/JS-2.0.0/s77766909553383?AQB=1&ndh=1&pf=1&callback=s_c_il[1].doPostbacks&et=1&t=16%2F3%2F2020%2013%3A53%3A0%204%20-120&d.&nsid=0&jsonv=1&.d&sdid=125FAFED0A481692-08430E6AD32565C3&mid=64955286112438701961050183047540692546&aamlh=6&ce=UTF-8&ns=kohls&pageName=deals&g=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Fcoupons-deals.jsp&c.&k.&pageDomain=www.kohls.com&.k&mcid.&version=4.3.0&icsmcvid=-false&mcidcto=-false&aidcto=-false&.mcid&.c&cc=USD&pageType=sale%20event%20landing&events=event1&products=%3Bproductmerch1&aamb=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y&tnt=524186%3A1%3A0%2C523998%3A0%3A0%2C524571%3A1%3A0%2C521474%3A0%3A0%2C523996%3A0%3A0%2C524251%3A1%3A0%2C519833%3A1%3A0%2C&c1=no%20taxonomy&c2=no%20taxonomy&c3=no%20taxonomy&v3=browse&c4=sale%20event%20landing&c5=non-search&c7=no%20taxonomy&v8=non-search&c16=browse&c17=kohls%20not%20logged%20in%7Cloyalty%20not%20logged%20in&v17=kohls%20not%20logged%20in%7Cloyalty%20not%20logged%20in&c18=thu%7Cweekday%7C06%3A00%20am&v18=thu%7Cweekday%7C06%3A00%20am&c22=2020-04-16&v22=desktop&v23=browse&v24=browse&v25=no%20taxonomy&v26=no%20taxonomy&v27=no%20taxonomy&v28=no%20taxonomy&c39=browse&c40=browse&v40=cloud17&c41=browse&c42=browse&v42=no%20cart&c50=D%3Ds_tempsess&c53=deals&c64=VisitorAPI%20Present&v68=deals&v70=07974be1-981a-41c0-a858-f5c463f03860&v71=klsbrwcki%3A07974be1-981a-41c0-a858-f5c463f03860&s=1600x1200&c=24&j=1.6&v=N&k=Y&bw=1600&bh=1200&AQE=1 https://ww8.kohls.com/b/ss/kohlscomprod/10/JS-2.0.0/s77766909553383?AQB=1 ndh=1 pf=1 callback=s_c_il[1].doPostbacks et=1 t=16/3/2020 13:53:0 4 -120 d. nsid=0 jsonv=1 .d sdid=125FAFED0A481692-08430E6AD32565C3 mid=64955286112438701961050183047540692546 aamlh=6 ce=UTF-8 ns=kohls pageName=deals g=https://www.kohls.com/sale-event/coupons-deals.jsp c. k. pageDomain=www.kohls.com .k mcid. version=4.3.0 icsmcvid=-false mcidcto=-false aidcto=-false .mcid .c cc=USD pageType=sale event landing events=event1 products=;productmerch1 aamb=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y tnt=524186:1:0,523998:0:0,524571:1:0,521474:0:0,523996:0:0,524251:1:0,519833:1:0, c1=no taxonomy c2=no taxonomy c3=no taxonomy v3=browse c4=sale event landing c5=non-search c7=no taxonomy v8=non-search c16=browse c17=kohls not logged in|loyalty not logged in v17=kohls not logged in|loyalty not logged in c18=thu|weekday|06:00 am v18=thu|weekday|06:00 am c22=2020-04-16 v22=desktop v23=browse v24=browse v25=no taxonomy v26=no taxonomy v27=no taxonomy v28=no taxonomy c39=browse c40=browse v40=cloud17 c41=browse c42=browse v42=no cart c50=D=s_tempsess c53=deals c64=VisitorAPI Present v68=deals v70=07974be1-981a-41c0-a858-f5c463f03860 v71=klsbrwcki:07974be1-981a-41c0-a858-f5c463f03860 s=1600x1200 c=24 j=1.6 v=N k=Y bw=1600 bh=1200 AQE=1
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_deviceId from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to write to localStorage, retaining information in SDK
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
z1_deviceId
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
a414e9a0-db3a-4fa7-a646-69e384eb42be
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_connectDirty from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_connectDirty from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_sessionStart_ts from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to write to localStorage, retaining information in SDK
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
z1_sessionStart_ts
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
1587037981014
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_cust_id from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_connectData_tts from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_cust_key from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to write to localStorage, retaining information in SDK
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
z1_connectDirty
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
true
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_connectData from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to write to localStorage, retaining information in SDK
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
z1_connectData_tts
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
1587037981942
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to write to localStorage, retaining information in SDK
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
z1_connectData
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
{"actionMappingChanged":true,"profileId":"ef2b2447-848a-43d3-ba38-061ec39f83f2","sdkPropsChanged":true,"firstTimeUser":true,"sessionTime":"30","id":"a414e9a0-db3a-4fa7-a646-69e384eb42be","config":{"actionMapping":[{"actionType":"z1script","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""},"tagName":"z1_codeLibraryTag","script":"var z1CodeLib = function () { };\nz1CodeLib.prototype = (function () {\n\n return {\n checkForSupcData: function () {\n \n \tvar supcInSession = sessionStorage.getItem('z1_supc');\n \tif(supcInSession && location.href.toString().indexOf('shopping_cart') == -1)\n {\n\t\t\t\tlocalStorage.setItem('z1_supc',supcInSession);\n sessionStorage.removeItem('z1_supc');\n \n }\n },\n };\n}) ();\n\n\nthis.configUtils = new z1CodeLib();\n\nthis.configUtils.checkForSupcData();"},{"tagName":"Creating Z1 Widget Div on CatalogPage","actionType":"z1script","script":"//add msg div as child of notifyDiv\n//var notifyDiv = document.getElementById(\"container\");\ntry {\n var notifyDiv = document.getElementById(\"mini-cart\");\n var z1Div = document.createElement(\"div\");\n z1Div.setAttribute(\"data-zineone-widget\", \"z1_content_widget\");\n z1Div.setAttribute(\"id\", \"z1widget\");\n notifyDiv.appendChild(z1Div);\n} catch (z1ie) {\n console.log(\"exception in Tag creating div to attch z1widget=\" + z1ie);\n}\n","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"/catalog"}},{"tagName":"webstoreSendEventAllPages","actionType":"z1script","script":"/*Changes done for IE\nA. function declaration like, var abc = function() won't work in IE if function is used first and then declared and defined. Please take below precaution before using it:\n 1. If you want to use function declaration like, var abc = function(), first declare it and then use it\n 2. Use normal function declaration like, function abc(). you can declare function anywhere in the page and use it before or after declaration. It will work on all the browsers.\nB. Do not use multiline strings, also call as 'Template String'. Template Strings are demarked by a backtick(`).\n Example. var abc = `This is multiline\n comment`; //multiline comments won't work in IE\n Use simple concatenation to achieve the same like,\n var abc = \"\";\n abc += 'This is multiline';\n abc += 'comment';\nC. You can not set defalut parameter values for function in IE.\n for e.g. function abc(num = 0,str=\"hello\") //Won't work in IE\nD. You can not use arguments object ([...args] or (...args) in function) in IE.\n For e.g function abc(...args){\n console.log(\"received paramenters \", args)\n } // Won't work in IE\nE. 'append' function won't work in IE. You can use 'appendChild' function to achieve the same functionality.\nF. 'prepend' function won't work IE. Try to use 'insertBefore' function to achieve the same functionality.\nG. new Event() function won't work in IE. You can use new CustomEvent() function to achieve the same functionality.\nH. Arrow functions (=>) won't work in IE\n*/\ntry {\n //var isIE = function() { //\n /*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if ( !(cust_id == \"3000000030411692\" || cust_id == \"3000000126553504\") ) return;*/\n console.log(\"[Zineone-I]\");\n\n /* Aditya: fsg: js-shipping-banner --> js-shipping-banner-2\n * Aditya: fsg: js-meter-summary --> js-meter-summary-2\n * Aditya: getBopusInfo and get_Xhours\n * Manish: Webstore instrumentation for all pages except OrderConfirmation and MyAccount\n * Juzer: Added ML Instrumentation\n */\n var TIME_TO_LIVE = 1440; //Venkat on 11/22 - changing 1440 (24 hours) to 60 MINUTES\n // Venkat - Begin - 01/09/2019\n // PLEASE set the following var TO ENABLE the BOPUS Pdp store hour notifications\n var ENABLE_BOPUS_STORE_HOUR = false;\n // Venkat - End - 01/09/2019\n\n var isJsonNull = false;\n\n try {\n var debugScr = true;\n var cartValue = 0;\n var currentUserCartArr = [];\n\n\n console.log(\"[ZineOne] sendEventOnAllPages Tag is running.\");\n\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n\n };\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n\n\n\n\n function isNumeric(value) {\n return /^-{0,1}\\d+$/.test(value);\n }\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n // Get cookie from user's browser/desktop\n function getCookie(name) {\n var value = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n if (debugScr && value != null) console.log(\"[ZineOne] getCookie value for = \" + name + \" value - \" + value);\n return (value != null) ? unescape(value[2]) : null;\n //var re = new RegExp(name + \"=([^;]+)\");\n //var value = re.exec(document.cookie);\n //return (value != null) ? unescape(value[1]) : null;\n }\n //PerkPerf start\n function getBirthdayCookie(cname) {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return;\n }\n //PerkPerf end\n\n function getCartData() {\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n if(cartData && !isValid(cartData)){\n cartData = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n \n if (isValid(cartData)) {\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n var cartInfo = JSON.parse(cartData);\n var productsArr = [];\n\n //Send the Event even if the Cart does not have any item, so that the OpenAPI could be called\n //on the Server side\n\n if (cartInfo == null || cartInfo.cartItems == null || cartInfo.cartItems.length <= 0)\n return true;\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var si = cartInfo.cartItems[i];\n var saleUnitprice = 0;\n var regularUnitPrice = 0;\n if (!si.itemPriceInfo && !si.itemPriceInfo.saleUnitprice)\n saleUnitprice = si.itemPriceInfo.saleUnitprice;\n\n if (!si.itemPriceInfo && !si.itemPriceInfo.regularUnitPrice)\n regularUnitPrice = si.itemPriceInfo.regularUnitPrice;\n var obj = {\n \"id\": si.cartItemId,\n \"skuCode\": si.skuId,\n \"webID\": si.productId,\n \"saleUnitPrice\": saleUnitprice.toString(),\n \"regularUnitPrice\": regularUnitPrice.toString(),\n \"quantity\": si.quantity.toString()\n };\n productsArr.push(obj);\n //if (debugScr) console.log(\"[ZineOne] Product Array ==>\" + productsArr);\n }\n //if (debugScr) console.log(\"[ZineOne] Out of loop\");\n if (debugScr) console.log(\"[ZineOne] Product Array ==>\" + productsArr);\n return JSON.stringify(productsArr);\n }\n }\n\n //console.log(\"z1now start\");\n var z1Widgets = ZineOne.getZ1Widget();\n var configMap = { \"z1.banner.secondsToShow\": \"1200\" };\n z1Widgets.setConfiguration(configMap);\n //console.log(\"z1now end\");\n\n function getCurrentCartData(storeInLocal) {\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n if(cartData && !isValid(cartData)){\n cartData = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n if (isValid(cartData)) {\n var cartInfo = JSON.parse(cartData);\n\n if (cartInfo.cartItems) {\n var finalCartItems = [];\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var cartObj = cartInfo.cartItems[i];\n\n var tempObj = {};\n var skuId = cartObj.skuId;\n var quantity = cartObj.quantity;\n\n tempObj.skuId = skuId;\n tempObj.quantity = quantity;\n\n finalCartItems[finalCartItems.length] = tempObj;\n\n }\n\n if (finalCartItems.length > 0 && storeInLocal == true) {\n localStorage.setItem('z1_current_cart_data', JSON.stringify(finalCartItems));\n }\n\n return finalCartItems;\n\n\n }\n }\n\n return null;\n }\n\n function checkForCartChanges() {\n var currentCartData = getCurrentCartData(false);\n var oldCartData = localStorage.getItem('z1_current_cart_data');\n\n if (validateForNotNull(currentCartData)) {\n oldCartData = JSON.parse(oldCartData);\n\n var removedSku = [];\n var updatedSku = [];\n var updatedskuQty = [];\n\n for (var i = 0; i < oldCartData.length; i++) {\n var tempOldSkuObj = oldCartData[i];\n var isFound = false;\n var isQtyUpdated = false;\n\n for (var j = 0; j < currentCartData.length; j++) {\n var tempCurrentSkuObj = currentCartData[j];\n\n if (tempOldSkuObj.skuId == tempCurrentSkuObj.skuId) {\n isFound = true;\n if (tempOldSkuObj.quantity != tempCurrentSkuObj.quantity) {\n isQtyUpdated = true;\n\n updatedSku[updatedSku.length] = tempCurrentSkuObj.skuId;\n updatedskuQty[updatedskuQty.length] = tempCurrentSkuObj.quantity;\n }\n\n\n break;\n }\n\n }\n\n if (isFound == false) {\n removedSku[removedSku.length] = tempCurrentSkuObj.skuId;\n }\n\n }\n\n console.log('Got Updated SKU ', updatedSku);\n console.log('Got Removed SKU ', removedSku);\n\n if (updatedSku.length > 0 || removedSku.length > 0) {\n var finalObj = {};\n finalObj.updatedSku = updatedSku.join('~');\n finalObj.updatedskuQty = updatedskuQty.join('~');\n finalObj.removedSku = removedSku.join('~');\n\n localStorage.setItem('z1_current_cart_data_update', JSON.stringify(finalObj));\n\n getCurrentCartData(true);\n } else {\n //return;\n }\n\n /*\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n if (isValid(cartData)) {\n var cartInfo = JSON.parse(cartData);\n var productsArr = [];\n if (cartInfo.cartItems) {\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var si = cartInfo.cartItems[i];\n var obj = {\n \"id\": si.cartItemId,\n \"sku\": si.skuId,\n \"webID\": si.productId,\n \"saleUnitPrice\": si.itemPriceInfo.saleUnitprice.toString(),\n \"regularUnitPrice\": si.itemPriceInfo.regularUnitPrice.toString(),\n \"quantity\": si.quantity.toString()\n };\n productsArr.push(obj);\n }\n }\n\n evtName = \"_ws_update_hcart\";\n\n var finalEventData = {};\n finalEventData[\"cartItems\"] = JSON.stringify(productsArr);\n\n ZineOne.pushEvent(evtName, finalEventData);\n\n updateUserVectors(false,null);\n\n\n }*/\n updateCartItems();\n updateUserVectors(false,null);\n } else {\n updateCartItems();\n }\n\n }\n\n\n\n function updateCartItems() {\n try {\n\n //debugScr = true;\n\n console.log(\"[ZineOne] update_cart from onload page TAG \");\n if (debugScr) console.log(\"[ZineOne] update_cart from onload page TAG \");\n\n var evtName = \"_ws_update_hcart\";\n var evtData = {};\n\n function getCurrentBagCount(cartInfo) {\n var itemsInBag = 0;\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n }\n return itemsInBag;\n }\n\n var lastBagCount = 0;\n\n if (localStorage.getItem('z1_checkoutBagCount')) {\n lastBagCount = Number(localStorage.getItem('z1_checkoutBagCount'));\n }\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n if(cartData && !isValid(cartData)){\n cartData = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n if (isValid(cartData)) {\n var cartInfo = JSON.parse(cartData);\n\n var currentBagCount = getCurrentBagCount(cartInfo);\n\n if (currentBagCount != lastBagCount) {\n var productsArr = [];\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var si = cartInfo.cartItems[i];\n var obj = {\n \"id\": si.cartItemId,\n \"sku\": si.skuId,\n \"webID\": si.productId,\n \"saleUnitPrice\": si.itemPriceInfo.saleUnitprice.toString(),\n \"regularUnitPrice\": si.itemPriceInfo.regularUnitPrice.toString(),\n \"quantity\": si.quantity.toString()\n };\n productsArr.push(obj);\n }\n evtData[\"cartItems\"] = JSON.stringify(productsArr);\n ZineOne.pushEvent(evtName, evtData);\n if (debugScr) console.log(\"[ZineOne] update_cart event pushed >>> \", evtName, \" >>> \", evtData);\n } else {\n if (debugScr) console.log(\"[ZineOne] checkoutbagcount and cureent bag count is same \");\n }\n } else {\n if (document.getElementsByClassName(\"number-items boss-number-items\") &&\n Number(document.getElementsByClassName(\"number-items boss-number-items\")[0].innerHTML) > 0) {\n\n // This is done to reduce traffic to the backend since Kohl's Website is having persitent bar json set to NULL initially, i.e..,\n // till the Mini Cart is clicked. August 28, 2019. We should take this out once the Website functions properly\n if (Math.random() * 100 < 20) {\n\n //console.log(\"[ZineOne] cart data \"+ cartData);\n if (debugScr) console.log(\"[ZineOne] cart data is null \");\n ZineOne.pushEvent(evtName, evtData);\n if (debugScr) console.log(\"[ZineOne] No cart data in persistent_bar_components_json \");\n\n }\n\n }\n }\n\n } catch (ie) {\n console.log(\"[Zineone] Error in Tag update cart . \", ie);\n }\n }\n\n function checkForUpdateCart() {\n var currentCartData = localStorage.getItem('z1_current_cart_data');\n if (!currentCartData) {\n\n var gotCart = getCurrentCartData(true);\n console.log('Got Current Cart ', gotCart);\n\n\n } else {\n checkForCartChanges();\n }\n }\n\n function checkForRtoApplied() {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if (existingSupc != null && existingSupc != undefined && existingSupc != 'null') {\n var e = JSON.parse(existingSupc);\n\n var newUserVectors = localStorage.getItem('z1_newUserVectors');\n\n newUserVectors = JSON.parse(newUserVectors);\n var rtoData = newUserVectors.rto_data;\n\n if (e.is_redeemed == true && newUserVectors.rto_data.indexOf('|A') == -1) {\n updateUserVectors(true, 'applied');\n }\n }\n }\n\n checkForUpdateCart();\n\n\n if ((window.location.host).includes(\"kohls.com\")) {\n //ZineOne.isDebugOn(true);\n //ZineOne.enablePushNotification(true);\n if (debugScr) console.log(\"ZineOne is here!!\");\n\n var z1Widgets = ZineOne.getZ1Widget();\n z1Widgets.registerWidgetHandler(\"raw\", _handleRawData);\n\n // Determine the page user is on viz. PDP, PMP, Account, search\n var pg = Z1.window.browserInfo.pagePath;\n var pgName = \"unknownPage\";\n var evtName = \"_ws_unknownEvent\";\n var chkout = false; //flag for fsg tag\n\n if (debugScr) console.log(\"[ZineOne] Page Name ==>\" + pg);\n\n //console.log(\"PG ==>\"+pg):\n if (pg == \"/\") {\n pgName = \"Home\";\n evtName = \"_ws_viewedHome\";\n } else if (pg.startsWith(\"/product\")) {\n pgName = \"PDP\";\n evtName = \"_ws_viewedProduct\";\n\n if (s) {\n s.pageName = '';\n s.prop4 = '';\n\n }\n\n //console.log('after 1',s);\n\n\n } else if (pg.startsWith(\"/catalog\")) {\n pgName = \"PMP\";\n evtName = \"_ws_viewedCatalog\";\n\n if (pageData && pageData.pmpDetails && pageData.pmpDetails.pageFilter) {\n localStorage.setItem(\"z1_currentPageFilter\", pageData.pmpDetails.pageFilter);\n }\n\n\n } else if (pg.startsWith(\"/search\")) {\n pgName = \"Search\";\n evtName = \"_ws_searched\";\n } else if (pg.startsWith(\"/myaccount/kohls_rewards.jsp\")) {\n //PerkPerf start\n pgName = \"Rewards\";\n evtName = \"_ws_rewards\";\n\n } else if (pg.startsWith(\"/wallet/my_wallet.jsp\")) {\n pgName = \"Wallet\";\n evtName = \"_ws_mywallet\";\n\n } else if (pg.startsWith(\"/upgrade/giftinglisting/wishlist.jsp\")) {\n pgName = \"Wishlist\";\n evtName = \"_ws_wishlist\";\n\n } else if (pg.startsWith(\"/myaccount/v2/order-history.jsp\")) {\n pgName = \"OrderHistory\";\n evtName = \"_ws_orderhistory\";\n\n } else if (pg.startsWith(\"/sale-event/coupons-deals.jsp\")) {\n pgName = \"Coupon\";\n evtName = \"_ws_coupon\";\n\n } else if (pg.startsWith(\"/feature/wallet_home\")) {\n pgName = \"WalletHome\";\n evtName = \"_ws_mywallet\";\n } else if (pg.startsWith(\"/myaccount/v2/myinfo.jsp\")) {\n\n pgName = \"MyInfo\";\n evtName = \"_ws_myinfo\";\n //PerkPerf end \n } else if (pg.startsWith(\"/checkout\")) {\n chkout = true;\n pgName = \"Cart\";\n if (pg.endsWith(\"shopping_cart.jsp\")) {\n pgName = \"Cart\";\n evtName = \"_ws_viewedCart\";\n } else if (pg.endsWith(\"v2/checkout.jsp\")) {\n pgName = \"Checkout\";\n evtName = \"_ws_startedCheckout\";\n\n // var pgType = pageData && pageData.pageDetails && pageData.pageDetails.pageType;\n // if (pgType.includes(\"Shipping\"))\n // if (pgType.includes(\"Payment\")) evtName = \"_ws_completeShipping\";\n // if (pgType.includes(\"Review\")) evtName = \"_ws_completePayment\";\n\n checkForRtoApplied();\n\n\n\n }\n //orderConfirmation is separate Tag\n //viewedAccount is not instrumented???\n }\n\n //setTimeout(function(){ }, 10000);\n\n checkForOfferSequence(pgName);\n\n if (pgName == \"Home\" | pgName == \"PMP\" | pgName == \"Search\" | pgName == \"Cart\" | pgName == \"PDP\") {\n var abandonCartPopupDiv = document.createElement('div');\n abandonCartPopupDiv.setAttribute(\"id\", \"z1-abandon-cart-pop-up\");\n abandonCartPopupDiv.setAttribute(\"style\", \"position: fixed;height: 100%;width: 100%;z-index: 100000;top: 0;left: 0;display:none;\");\n document.body.appendChild(abandonCartPopupDiv);\n }\n\n\n\n var currentBag = localStorage.getItem('persistent_bar_components_json_v1');\n if(currentBag && !isValid(currentBag)){\n currentBag = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n\n if (currentBag != null && currentBag != 'null') {\n\n\n var cartInfo = JSON.parse(currentBag);\n\n var itemsInBag = 0;\n var productIdList = '';\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n var pId = cartInfo.cartItems[i].productId;\n var qty = cartInfo.cartItems[i].quantity;\n\n if (i > 0) productIdList = productIdList + \"|\";\n\n productIdList = productIdList + pId + \":\" + qty;\n }\n\n localStorage.setItem('z1_checkoutBagCount', itemsInBag);\n localStorage.setItem('z1_checkoutProductIdList', productIdList);\n\n } else {\n localStorage.setItem('z1_checkoutBagCount', 0);\n localStorage.setItem('z1_checkoutProductIdList', '');\n }\n\n\n\n var evtData = {\n \"page\": pgName\n };\n evtData.page_loc = window.location.href; //added on 08262019\n //RK- Check softloggedIn\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n var myId = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n var executeTrackerAPICall=false;\n if (myId == \"3000000126631786\" || myId == \"3000000007802300\") {\n executeTrackerAPICall = true;\n }\n var rewardsData = localStorage.getItem(\"z1_rewardsData\");\n function getRewardsDataAndPushEvent(){\n console.log(\"y2yrewardsApi getRewardsDataAndPushEvent funcation call\");\n var loy_id = Number(pageData.customerDetails.kohlsLoyaltyID);\n try {\n var data = JSON.stringify({\n \"payload\": {\n \"loyaltyId\": String(loy_id),\n \"hasKCC\": $env.hasKcc\n }\n });\n var xhr = new XMLHttpRequest();\n console.log(\"$$$$1\");\n xhr.addEventListener(\"readystatechange\", function() {\n \n console.log(\"$$$$2\");\n if (xhr.readyState === 4) {\n console.log(\"$$$$3\");\n if (xhr.status === 200) { \n console.log(\"$$$$4\");\n console.log(\"y2yrewardsApi responseText...\",JSON.parse(this.responseText));\n var y2yRwd=JSON.parse(this.responseText);\n \n if(isValid(y2yRwd.payload)){\n \n localStorage.setItem(\"z1_rewardsData\", this.responseText);\n evtData[\"rewardsData\"] = JSON.stringify(this.responseText);\n }else{\n console.log(\"y2yrewardsApi responseText err\");\n }\n ZineOne.pushEvent(evtName, evtData);\n return;\n }\n else{\n console.log(\"$$$$5\");\n ZineOne.pushEvent(evtName, evtData);\n return;\n }\n }else{\n console.log(\"$$$$6\");\n }\n });\n\n var mylink=window.location.origin;\n xhr.open(\"POST\",mylink+\"/v1/loyalty/tracker?lpf=v2\");\n xhr.setRequestHeader(\"content-type\", \"application/json\");\n xhr.setRequestHeader(\"channel\", \"zineOne\");\n xhr.setRequestHeader(\"correlation-id\", \"Test997\");\n xhr.send(data);\n } catch (e) {\n console.log(\"y2yrewardsApi ERROR\" + e);\n ZineOne.pushEvent(evtName, evtData);\n }\n }\n\n // wait max 6 times for pageData to be available, each try is after period millis\n var period = 600;\n var tCount = 0;\n var maxTcount = 2; // not 6\n var sendevt = true;\n if (typeof pageData != 'undefined' && pageData && pageData.customerDetails) {\n\n if (pageData.customerDetails.customerHasKohlsCharge) evtData.isKCC = 1;\n else evtData.isKCC = 0;\n\n if (pageData.customerDetails.kohlsLoyaltyID) evtData.loyaltyId = pageData.customerDetails.kohlsLoyaltyID;\n\n if (debugScr) console.log(\"[ZineOne] case 1...\");\n sendevt = addEventData();\n if (debugScr) console.log(\"[ZineOne] Sent Event ..case 1...\");\n if (sendevt && (evtName != \"_ws_unknownEvent\")) {\n //ZineOne.pushEvent(evtName, evtData); \n if (isValid(pageData) && isValid(pageData.customerDetails) && isValid(pageData.customerDetails.kohlsLoyaltyID) && !(isNaN(pageData.customerDetails.kohlsLoyaltyID)) && !isValid(rewardsData) && executeTrackerAPICall) { //Loyalty user but no rewards data\n getRewardsDataAndPushEvent();\n } else {\n ZineOne.pushEvent(evtName, evtData);\n }\n\n if (pgName != 'Rewards' && pgName != 'Wallet' && pgName != 'Wishlist' && pgName != 'OrderHistory' && pgName != 'Coupon' && pgName != 'WalletHome' && pgName != 'MyInfo') {\n updateUserVectors(false,null);\n }\n\n }\n //} else if (pgName == \"Home\" || pg.startsWith(\"/checkout\")) { // we don't need pageData\n // if (debugScr) console.log(\"[ZineOne] case 2...\");\n // ZineOne.pushEvent(evtName, edata);\n } else {\n if (debugScr) console.log(\"[ZineOne] case 3...\");\n var timer = setInterval(function() {\n tCount++;\n if (debugScr) console.log(\"[ZineOne] timerCount=\" + tCount);\n if (typeof pageData != 'undefined') {\n clearInterval(timer);\n sendevt = addEventData();\n if (sendevt && (evtName != \"_ws_unknownEvent\")) {\n //ZineOne.pushEvent(evtName, evtData);\n if (isValid(pageData) && isValid(pageData.customerDetails) && isValid(pageData.customerDetails.kohlsLoyaltyID) && !(isNaN(pageData.customerDetails.kohlsLoyaltyID)) && !isValid(rewardsData) && executeTrackerAPICall) { //Loyalty user but no rewards data\n getRewardsDataAndPushEvent();\n } else {\n ZineOne.pushEvent(evtName, evtData);\n }\n\n if (pgName != 'Rewards' && pgName != 'Wallet' && pgName != 'Wishlist' && pgName != 'OrderHistory' && pgName != 'Coupon' && pgName != 'WalletHome' && pgName != 'MyInfo') {\n updateUserVectors(false,null);\n }\n }\n } else if (tCount == 2) {\n clearInterval(timer);\n // we will send the event with what we have\n if (evtName != \"_ws_unknownEvent\") {\n //ZineOne.pushEvent(evtName, evtData);\n if (isValid(pageData) && isValid(pageData.customerDetails) && isValid(pageData.customerDetails.kohlsLoyaltyID) && !(isNaN(pageData.customerDetails.kohlsLoyaltyID)) && !isValid(rewardsData) && executeTrackerAPICall) { //Loyalty user but no rewards data\n getRewardsDataAndPushEvent();\n } else {\n ZineOne.pushEvent(evtName, evtData);\n }\n if (pgName != 'Rewards' && pgName != 'Wallet' && pgName != 'Wishlist' && pgName != 'OrderHistory' && pgName != 'Coupon' && pgName != 'WalletHome' && pgName != 'MyInfo') {\n updateUserVectors(false,null);\n }\n }\n }\n }, period);\n }\n\n\n //bopus start\n /*if (pgName == \"PDP\" && (\n localStorage.getItem(\"z1_cust_id\") == \"3000000015510732\" || localStorage.getItem(\"z1_cust_id\") == \"3000000013469959\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2254015584448533\" || localStorage.getItem(\"z1_cust_id\") == \"2253998883117448\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2254015110568294\" || localStorage.getItem(\"z1_cust_id\") == \"3000000013617619\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2254009728812139\" || localStorage.getItem(\"z1_cust_id\") == \"2254040233704719\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2254024615400568\" || localStorage.getItem(\"z1_cust_id\") == \"3000000018326613\")) { // FILTER\n\n\n var storageHandler = function() {\n try {\n if (debugScr) console.log(\"[ZineOne] Bopus event\");\n\n setTimeout(function() {\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n console.log(\"[ZineOne] The sku selected is: \" + skuCode);\n if (skuCode && isValid(skuCode)) {\n\n // var inv_info = pageData.productDetails.pageItems.QtyInfo;\n // var payload = {\n // \"sku\": skuCode,\n // \"inv_info\": inv_info\n // };\n // ZineOne.pushEvent(\"_ws_viewedsku\", payload);\n\n var z1_bopus_data = localStorage.getItem(\"z1_bopus_data\") + \"\";\n if (isValid(z1_bopus_data)) {\n var z1_bopus_JSON = JSON.parse(z1_bopus_data);\n fireOmniture(z1_bopus_JSON);\n if (z1_bopus_JSON.bopus == \"1\") {\n getBopusInfo();\n }\n } else {\n var inv_info = pageData.productDetails.pageItems.QtyInfo;\n var payload = {\n \"sku\": skuCode,\n \"inv_info\": inv_info\n };\n ZineOne.pushEvent(\"_ws_viewedsku\", payload);\n }\n }\n }, 2000);\n } catch (ex) {\n console.log(\"[ZineOne] Encountered condition: \", ex);\n }\n };\n\n document.addEventListener('bopus', storageHandler, false);\n // Fire initial bopus event on page load, in case sku already selected by default\n var eventini = new CustomEvent('bopus');\n document.dispatchEvent(eventini);\n\n var patbc = document.getElementsByClassName(\"product_boss_tmpl\")[0];\n patbc.onclick = function() {\n var event = new CustomEvent('bopus');\n document.dispatchEvent(event);\n };\n\n }*/\n\n //bopus end\n\n //New code for bopus as well as viewedsku\n /*if (myId == \"3000000030411692\" || myId == \"3000000129500077\" || myId == \"3000000015076174\" || myId ==\"3000000074262095\") {\n console.log(\"Execute only for my Id\");*/\n if (pgName == \"PDP\") {\n function bopusEventDispatch() {\n //var event = new Event('bopus'); // Doesn't work on IE\n var event = new CustomEvent('bopus');\n document.dispatchEvent(event);\n };\n var storeUrgencyMsg=\"\";\n function storageHandler() {\n try {\n if (debugScr) console.log(\"[ZineOne] Bopus event\");\n setTimeout(function() {\n\n var aka_hp2_cookie = getCookie(\"AKA_HP2\");\n var aka_rv_cookie = getCookie(\"AKA_RV\");\n var aka_pdp2_cookie = getCookie(\"AKA_PDP2\");\n if (debugScr) console.log(\" aka_hp2_cookie ==> \", aka_hp2_cookie, \" aka_rv_cookie ==> \", aka_rv_cookie, \" aka_pdp2_cookie ==> \", aka_pdp2_cookie);\n\n if (aka_pdp2_cookie && aka_pdp2_cookie.toLowerCase() == \"true\") {\n var parentDiv = \"\";\n var productPageName=pageName;\n if(productPageName==\"regularProductPage\"){\n parentDiv = document.getElementById(\"PDP_z1Scarcity_badge\");\n }\n else if(productPageName==\"collectionPDPPage\"){\n parentDiv = document.getElementById(\"CDP_z1Scarcity_badge\");\n }\n else{\n parentDiv = \"\"; \n }\n if (parentDiv) {\n var chkz1pdpScarDiv = document.getElementById(\"z1-pdpscarcity\");\n if(chkz1pdpScarDiv){\n chkz1pdpScarDiv.style.display = \"block\";\n }\n else{\n var pdpScrDiv = document.createElement('div');\n console.log(\"[ZineOne] created new div for scarcity\");\n pdpScrDiv.setAttribute(\"id\", \"z1-pdpscarcity\");\n //pdpScrDiv.setAttribute(\"style\", \"display:block;text-align: left; width: 100%; color: purple; font-size: 15px; clear: both; padding-top: 5px; overflow: auto;\");\n pdpScrDiv.style.display = \"block\";\n pdpScrDiv.style.textAlign = \"left\";\n pdpScrDiv.style.width = \"100%\";\n pdpScrDiv.style.color = \"purple\";\n pdpScrDiv.style.fontSize = \"15px\";\n pdpScrDiv.style.clear = \"both\";\n pdpScrDiv.style.paddingTop = \"5px\";\n pdpScrDiv.style.overflow = \"auto\";\n //pdpScrDiv.innerHTML=\"Just <b>1 left in this store!</b>\";\n parentDiv.appendChild(pdpScrDiv);\n }\n }\n\n if(storeUrgencyMsg != \"\"){\n if(document.getElementById(\"PDP_z1Social_badge\") && document.getElementById(\"PDP_z1Social_badge\").innerHTML==\"\"){\n document.getElementById(\"PDP_z1Social_badge\").innerHTML = storeUrgencyMsg;\n } \n }\n else{\n storeUrgencyMsg = document.getElementById(\"PDP_z1Social_badge\") ? document.getElementById(\"PDP_z1Social_badge\").innerHTML : \"\";\n }\n }\n\n var pdp_size_collection = document.getElementsByClassName(\"pdp-product-swatch\");\n var color_swatch_collection = document.getElementsByClassName(\"pdp-size-swatch\");\n if (pdp_size_collection.length > 0) {\n for (let ij = 0; ij < pdp_size_collection.length; ij++) {\n pdp_size_collection[ij].removeEventListener(\"click\", bopusEventDispatch, false);\n pdp_size_collection[ij].addEventListener(\"click\", bopusEventDispatch, false);\n }\n }\n if (color_swatch_collection.length > 0) {\n for (let ij = 0; ij < color_swatch_collection.length; ij++) {\n color_swatch_collection[ij].removeEventListener(\"click\", bopusEventDispatch, false);\n color_swatch_collection[ij].addEventListener(\"click\", bopusEventDispatch, false);\n };\n }\n\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n if (debugScr) console.log(\"[ZineOne] The sku selected is: \" + skuCode);\n if (skuCode && isValid(skuCode)) {\n var ls_skuCode = localStorage.getItem('z1_selectedsku');\n if (!isValid(ls_skuCode) || ls_skuCode != skuCode) {\n if (debugScr) console.log(\"[ZineOne] Changed SKU from ==> \" + ls_skuCode + \" to ==> \" + skuCode);\n var pdpScarcityDivLOAD = document.getElementById(\"z1-pdpscarcity\");\n if (isValid(pdpScarcityDivLOAD)) {\n if (debugScr) console.log(\"[ZineOne] valid\");\n pdpScarcityDivLOAD.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDivLOAD.innerHTML = \"\";\n }\n /*var inv_info = pageData.productDetails.pageItems.QtyInfo;\n if (!isValid(inv_info)) {\n if (debugScr) console.log(\"[ZineOne] inv_info is invalid\");\n return;\n }*/\n var inv_info = [];\n var qtyInfo = pageData.productDetails.pageItems.QtyInfo;\n if (isValid(qtyInfo)) {\n for (var item = 0; item < qtyInfo.length; item++) {\n if (qtyInfo[item].skuCode == skuCode) {\n inv_info.push(qtyInfo[item]);\n }\n }\n }\n\n if (!isValid(inv_info) || inv_info == 0) {\n if (debugScr) console.log(\"[ZineOne] inv_info is invalid\");\n return;\n }\n\n evtName = '_ws_viewedsku';\n\n\n var payload = {\n \"selectedSKU\": skuCode,\n \"prd_inv\": JSON.stringify(inv_info)\n };\n /*if (myId == \"3000000074262095\" || myId == \"3000000030411692\"){\n if(productV2JsonData && productV2JsonData.webID && productV2JsonData.webID == \"4143386\"){\n payload = {\n \"selectedSKU\": skuCode,\n \"prd_inv\": JSON.stringify([{\"skuCode\":\"62573701\",\"ShipAvlQty\":8,\"BopusAvlQty\":0,\"BossAvlQty\":0}])\n };\n }\n }*/\n ZineOne.pushEvent(evtName, payload);\n\n updateUserVectors(false,null);\n\n if (debugScr) console.log(\"[ZineOne] _ws_viewedsku event fired...\", payload);\n\n\n if (debugScr) console.log(\"[ZineOne] Test 1\");\n localStorage.setItem('z1_selectedsku', skuCode);\n var z1_bopus_data = localStorage.getItem(\"z1_bopus_data\") + \"\";\n if (isValid(z1_bopus_data)) {\n var z1_bopus_JSON = JSON.parse(z1_bopus_data);\n // Venkat - Begin - 10/23/2018 - looks like this reporting too many omniture tags\n // fireOmniture(z1_bopus_JSON);\n // Venkat - End - 10/23/2018\n if (z1_bopus_JSON.bopus == \"1\") {\n getBopusInfo();\n }\n }\n if (debugScr) console.log(\"[ZineOne] Test 2\");\n\n }\n }\n }, 800);\n } catch (ex) {\n console.log(\"[ZineOne] Encountered condition: \", ex);\n }\n };\n\n document.addEventListener('bopus', storageHandler, false);\n // Fire initial bopus event on page load, in case sku already selected by default\n var eventini = new CustomEvent('bopus');\n document.dispatchEvent(eventini);\n\n /*pdp_size_collection = document.getElementsByClassName(\"pdp-product-size\");\n color_swatch_collection = document.getElementsByClassName(\"pdp-product-color\");\n if (pdp_size_collection.length > 0) {\n pdp_size_collection[0].onclick = function() {\n var event = new CustomEvent('bopus');\n document.dispatchEvent(event);\n };\n }\n if (color_swatch_collection.length > 0) {\n color_swatch_collection[0].onclick = function() {\n var event = new CustomEvent('bopus');\n document.dispatchEvent(event);\n };\n }*/\n\n localStorage.setItem('z1_selectedsku', \"\");\n }\n \n /*}\n else{\n if (pgName == \"PDP\") {\n function storageHandler() {\n try {\n if (debugScr) console.log(\"[ZineOne] Bopus event\");\n setTimeout(function() {\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n if (debugScr) console.log(\"[ZineOne] The sku selected is: \" + skuCode);\n if (skuCode && isValid(skuCode)) {\n var ls_skuCode = localStorage.getItem('z1_selectedsku');\n if (!isValid(ls_skuCode) || ls_skuCode != skuCode) {\n if (debugScr) console.log(\"[ZineOne] Changed SKU from ==> \" + ls_skuCode + \" to ==> \" + skuCode);\n var pdpScarcityDivLOAD = document.getElementById(\"z1-pdpscarcity\");\n if (isValid(pdpScarcityDivLOAD)) {\n if (debugScr) console.log(\"[ZineOne] valid\");\n pdpScarcityDivLOAD.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDivLOAD.innerHTML = \"\";\n }\n //var inv_info = pageData.productDetails.pageItems.QtyInfo;\n //if (!isValid(inv_info)) {\n // if (debugScr) console.log(\"[ZineOne] inv_info is invalid\");\n // return;\n //}\n var inv_info = [];\n var qtyInfo = pageData.productDetails.pageItems.QtyInfo;\n if (isValid(qtyInfo)) {\n for (var item = 0; item < qtyInfo.length; item++) {\n if (qtyInfo[item].skuCode == skuCode) {\n inv_info.push(qtyInfo[item]);\n }\n }\n }\n\n if (!isValid(inv_info) || inv_info == 0) {\n if (debugScr) console.log(\"[ZineOne] inv_info is invalid\");\n return;\n }\n\n evtName = '_ws_viewedsku';\n\n\n var payload = {\n \"selectedSKU\": skuCode,\n \"prd_inv\": JSON.stringify(inv_info)\n };\n ZineOne.pushEvent(evtName, payload);\n\n updateUserVectors(false,null);\n\n if (debugScr) console.log(\"[ZineOne] _ws_viewedsku event fired...\", payload);\n\n\n if (debugScr) console.log(\"[ZineOne] Test 1\");\n localStorage.setItem('z1_selectedsku', skuCode);\n var z1_bopus_data = localStorage.getItem(\"z1_bopus_data\") + \"\";\n if (isValid(z1_bopus_data)) {\n var z1_bopus_JSON = JSON.parse(z1_bopus_data);\n // Venkat - Begin - 10/23/2018 - looks like this reporting too many omniture tags\n // fireOmniture(z1_bopus_JSON);\n // Venkat - End - 10/23/2018\n if (z1_bopus_JSON.bopus == \"1\") {\n getBopusInfo();\n }\n }\n if (debugScr) console.log(\"[ZineOne] Test 2\");\n\n }\n }\n }, 200);\n } catch (ex) {\n console.log(\"[ZineOne] Encountered condition: \", ex);\n }\n };\n\n document.addEventListener('bopus', storageHandler, false);\n // Fire initial bopus event on page load, in case sku already selected by default\n var eventini = new CustomEvent('bopus');\n document.dispatchEvent(eventini);\n\n pdp_size_collection = document.getElementsByClassName(\"pdp-product-size\");\n color_swatch_collection = document.getElementsByClassName(\"pdp-product-color\");\n if (pdp_size_collection.length > 0) {\n pdp_size_collection[0].onclick = function() {\n var event = new CustomEvent('bopus');\n document.dispatchEvent(event);\n };\n }\n if (color_swatch_collection.length > 0) {\n color_swatch_collection[0].onclick = function() {\n var event = new CustomEvent('bopus');\n document.dispatchEvent(event);\n };\n }\n\n localStorage.setItem('z1_selectedsku', \"\");\n }\n }*/\n\n //fsg start\n /////////////////// Purging fsg Data for users so that fsg isn't shown\n\n // localStorage.setItem('z1_fsg_data', null); // setting dummy data\n\n ////////////////////\n\n\n //if (false) {\n if (debugScr) console.log(\"[ZineOne] Starting fsg!!! \" + localStorage.getItem(\"z1_connectUserId\"));\n var vID = localStorage.getItem(\"z1_cust_id\"); //getCookie(\"VisitorId\");\n\n if (!isValid(vID)) {\n vID = localStorage.getItem(\"z1_connectUserId\");\n }\n\n var timestamp = new Date().getTime();\n var fsg_data = localStorage.getItem(\"z1_fsg_data\");\n var send = false;\n setKohlsId();\n //CHANGED MAR 15\n //console.log(\"CHKOUT PAGE ==> \" + chkout);\n //console.log(\"IsLoggedIn ==> \" + pageData.customerDetails.isLoggedIn);\n\n var userLoginStatus = pageData.customerDetails.isLoggedIn;\n //END CHANGE MAR 15\n /*if (fsg_data != null ) {\n delT = (timestamp - JSON.parse(fsg_data).timestamp);\n\n if (vID != JSON.parse(fsg_data).visitorId) {\n if (debugScr) console.log(\"[ZineOne] New User\" + vID); // send event and reset\n send = true;\n } else if (delT / 60000 > TIME_TO_LIVE) {\n if (debugScr) console.log(\"[ZineOne] TIME_TO_LIVE exceeded\"); // send event and reset\n if (debugScr) console.log(\"[ZineOne] re fsg, setting dummy data\");\n var dummy_data = {\n 'fsg': {\n '_d': \"0\",\n '_t': \"75\"\n },\n 'timestamp': timestamp,\n 'visitorId': vID\n };\n localStorage.setItem('z1_fsg_data', JSON.stringify(dummy_data)); // setting dummy data\n send = true;\n //CHANGED ON MAR 15 \n //} else if ((!userLoginStatus) || String(userLoginStatus).includes(\"false\")) {\n // console.log(\"User logged off, resetting fsg data\");\n // localStorage.setItem('z1_fsg_data', JSON.stringify(dummy_data));\n // send = true;\n //END CHANGED ON MAR 15\n } else if ((!userLoginStatus) || String(userLoginStatus).includes(\"false\")) {\n var dummy_data = {\n 'fsg': {\n '_d': \"0\",\n '_t': \"75\"\n },\n 'timestamp': timestamp,\n 'visitorId': vID\n };\n\n localStorage.setItem('z1_fsg_data', JSON.stringify(dummy_data));\n send = true;\n\n } else {\n if (debugScr) console.log(\"[ZineOne] TIME_TO_LIVE still live\"); // therefore dont send event\n //fsg(fsg_data); //CALL FUNC\n setTimeout(function() {\n let fsg_event = new CustomEvent('onZ1RawData', {\n detail: JSON.parse(localStorage.getItem(\"z1_fsg_data\"))\n });\n document.dispatchEvent(fsg_event);\n }, 400);\n }\n // Venkat - 11/28/2018 - on checkout page set the dummy data only if fsg_data is null\n } else if (fsg_data == null) { // fsg data null\n send = true;\n\n if (debugScr) console.log(\"[ZineOne] first fsg, setting dummy data\");\n\n var dummy_data = {\n 'fsg': {\n '_d': \"0\",\n '_t': \"75\"\n },\n 'timestamp': timestamp,\n 'visitorId': vID\n };\n\n localStorage.setItem('z1_fsg_data', JSON.stringify(dummy_data)); // setting dummy data\n\n }\n\n if (send ) { //send, checkout and loggedIn filter !!!! removed && (isNumeric((vID)))\n if (!isNumeric(vID)) {\n if (debugScr) console.log(\"[ZineOne] Anonymous user - \" + vID);\n var anon_fsg_data = {\n 'fsg': {\n '_d': \"1\",\n '_t': \"75\"\n },\n 'timestamp': timestamp,\n 'visitorId': vID\n };\n localStorage.setItem('z1_fsg_data', JSON.stringify(anon_fsg_data));\n // fsg(JSON.stringify(anon_fsg_data));\n setTimeout(function() {\n let raw_data_event = new CustomEvent('onZ1RawData', {\n detail: JSON.parse(localStorage.getItem(\"z1_fsg_data\"))\n });\n document.dispatchEvent(raw_data_event);\n }, 400);\n\n } else {\n\n var dummy_data = {\n 'fsg': {\n '_d': \"0\",\n '_t': \"75\"\n },\n 'timestamp': timestamp,\n 'visitorId': vID\n };\n localStorage.setItem('z1_fsg_data', JSON.stringify(dummy_data)); // setting dummy data\n\n var evtNoData = {};\n //ZineOne.pushEvent(\"_ws_z1__sb_fsg\", evtData);\n ZineOne.pushEvent(\"_ws_z1__sb_fsg\", evtNoData);\n\n if (debugScr) console.log(\"[ZineOne] Known user - \" + vID);\n if (debugScr) console.log(\"[ZineOne] pushing fsg \" + vID);\n }\n } else {\n if (debugScr) console.log(\"[ZineOne] Event not sent; or checkout\");\n }*/\n //}\n\n }\n\n function setKohlsId() {\n /*\n var cusId = pageData.customerDetails.customerID;\n if (isNumeric(cusId)) {\n ZineOne.setCustomerId(cusId);\n if (debugScr) console.log(\"[ZineOne] Found the customer Id from pageData : \" + cusId);\n }\n */\n var vID = getCookie(\"VisitorId\");\n if (debugScr) console.log(\"[ZineOne] cookie_VisitorId : \" + vID);\n if (isNumeric(vID)) {\n ZineOne.setCustomerId(vID);\n if (debugScr) console.log(\"[ZineOne] Found the customer Id from cookie_VisitorId : \" + vID);\n }\n }\n\n /*function getTotalSKUInventory(qtyInfo) {\n var sumQty = 0;\n if (qtyInfo) {\n var totalSKUs = qtyInfo.length;\n for (i = 0; i < totalSKUs; i++) {\n qtyObj = qtyInfo[i];\n if (qtyObj && qtyObj.ShipAvlQty)\n sumQty = sumQty + Number(qtyObj.ShipAvlQty);\n }\n }\n return sumQty;\n }*/\n\n function addEventData() {\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n\n setKohlsId();\n\n /*\n var cusId = pageData.customerDetails.customerID;\n\n if (isNumeric(cusId)) {\n ZineOne.setCustomerId(cusId);\n if (debugScr) console.log(\"[ZineOne] Found the customer Id from pageData : \" + cusId);\n }*/\n } else {\n if (debugScr) console.log(\"[ZineOne] pageData NOT initialized. Cannot set customerId or login state.\");\n }\n\n // Check Items in Cart, not avail on PDP\n if (pgName != \"PDP\") {\n var itemsInBag = 0;\n var cartItems, cartId, cartTotalValue, cartSubTotalValue, cartShippingValue, cartDiscountValue;\n if (pageData && pageData.cartDetails) {\n itemsInBag = pageData.cartDetails.numberOfItems;\n if (debugScr) console.log('[ZineOne] Number of Items in the cart: ' + itemsInBag);\n cartId = pageData.cartDetails.cartID;\n cartTotalValue = pageData.cartDetails.cartTotalValue;\n cartSubTotalValue = pageData.cartDetails.cartSubTotalValue;\n cartShippingValue = pageData.cartDetails.shippingValue;\n cartDiscountValue = pageData.cartDetails.discountValue;\n\n //cartItems = pageData.cartDetails.cartItems;\n cartItems = getCartData();\n if (debugScr) console.log(\"[ZineOne] cartItems ==>\" + cartItems);\n }\n\n //ZineOne.setCustomKey(\"customerId\", RRTrackingBean.profileId);\n // replace e with var from webstore page (consider profile attr per Manish)\n // maybe do on page unload so you grab it once on first page and use it afterwards\n evtData.itemsInBag = itemsInBag;\n if (cartId) evtData.cartId = cartId;\n if (cartTotalValue) evtData.cartTotalValue = cartTotalValue;\n if (cartSubTotalValue) evtData.cartSubTotalValue = cartSubTotalValue;\n if (cartShippingValue) evtData.cartShippingValue = cartShippingValue;\n if (cartDiscountValue) evtData.cartDiscountValue = cartDiscountValue;\n if (cartItems) evtData.cartItems = cartItems;\n if (debugScr) console.log(\"[ZineOne] cartItems ==>\" + cartItems);\n }\n\n if (pgName == \"PDP\") {\n\n if (pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID) {\n evtData.productId = pageData.productDetails.pageItems[0].productID;\n }\n console.log(\"myId ==> \",myId);\n if(!evtData.productId){\n //if (myId == \"3000000074262095\"){\n if(productV2JsonData && productV2JsonData.webID){\n console.log(\"productId ==> \",productV2JsonData.webID);\n evtData.productId=productV2JsonData.webID;\n }\n //}\n }\n \n\n if (pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].isOnSale) {\n evtData.isOnSale = pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].isOnSale;\n }\n\n if (pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].salePrice) {\n evtData.salePrice = pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].salePrice;\n }\n\n if (pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].originalPrice) {\n evtData.originalPrice = pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].originalPrice;\n }\n\n evtData.PDPCategory = pageData.productDetails && pageData.productDetails.categoryName;\n // This is PDP scarcity inventory info\n if (pageData && pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems.QtyInfo) {\n //evtData.sumQtyInfo = getTotalSKUInventory(pageData.productDetails.pageItems.QtyInfo);\n evtData.prd_inv = JSON.stringify(pageData.productDetails.pageItems.QtyInfo);\n }\n\n }\n\n var isLoyaltyPilotUser = isValid(pageData) && isValid(pageData.customerDetails) && isValid(pageData.customerDetails.kohlsLoyalty2018Member) && pageData.customerDetails.kohlsLoyalty2018Member;\n var isLoyaltyPilotMVCUser = isValid(pageData) && isValid(pageData.customerDetails) && isValid(pageData.customerDetails.kohlsLoyalty2018EliteMember) && pageData.customerDetails.kohlsLoyalty2018EliteMember;\n var isLoyaltyUser = isLoyaltyPilotUser || isLoyaltyPilotMVCUser;\n //New Requirement from Shilpa for Abandoned Cart, 03/22/2019\n if (isLoyaltyUser) evtData[\"loyaltyUser\"] = isLoyaltyUser;\n\n var notificationpopoverId = document.getElementById(\"notificationpopover\");\n var kcNotificationPopoverInnerHTML = \"\";\n if (isValid(notificationpopoverId)) {\n kcNotificationPopoverInnerHTML = document.getElementById(\"notificationpopover\").innerHTML;\n }\n\n\n var kcMidPageBanner = (isValid($env.ksLoyaltyV2) && ($env.ksLoyaltyV2 == true) && isValid($(\"#fancybox-content .notificationPanelContent-kcreminder-v2\")) && $(\"#fancybox-content .notificationPanelContent-kcreminder-v2\").length >= 1) ? true : false;\n //evtData[\"kcNotificationBannerSeen\"] = kcNotificationPopoverInnerHTML != \"\" ? true : false;\n\n evtData[\"kcNotificationBannerSeen\"] = (kcNotificationPopoverInnerHTML != \"\" || kcMidPageBanner) ? true : false;\n\n var aka_hp2_cookie = getCookie(\"AKA_HP2\");\n var aka_rv_cookie = getCookie(\"AKA_RV\");\n evtData[\"aka_hp2\"] = isValid(aka_hp2_cookie) ? aka_hp2_cookie : \"\";\n evtData[\"aka_rv\"] = isValid(aka_rv_cookie) ? aka_rv_cookie : \"\";\n\n //guest user cookie check \n var dyn_user_id = getCookie(\"DYN_USER_ID\");\n evtData[\"dyn_user_id\"] = isValid(dyn_user_id) ? true : false;\n\n\n //PerkPerf Start\n try {\n var birthday_cookie_flag = '';\n\n var cookie_title = \"z1_perk_perf\";\n\n var birthday_cookie = getBirthdayCookie(cookie_title);\n\n console.log(\"READ birthday_cookie\" + birthday_cookie);\n\n if (isValid(birthday_cookie)) {\n\n birthday_cookie_flag = birthday_cookie;\n\n } else {\n\n birthday_cookie_flag = '';\n\n }\n\n evtData[\"birthday_cookie\"] = birthday_cookie_flag;\n\n } catch (cookerr) {\n console.log(\"bday cookie error\", cookerr);\n }\n\n\n try {\n\n var dataLayerCustomerDetails = JSON.parse(localStorage.getItem(\"dataLayerCustomerDetails\"));\n\n evtData[\"isMVCUser\"] = $env.rewardsPilot;\n\n var kl_id = dataLayerCustomerDetails.kohlsLoyaltyID;\n var kl_id_flag = kl_id.includes(\"N/A\");\n\n if (!(kl_id_flag) && String($env.rewardsPilot) == \"false\") {\n evtData[\"isY2YUser\"] = \"true\";\n } else {\n evtData[\"isY2YUser\"] = \"false\";\n }\n\n\n console.log(\"[Z1]READ cookie UserType::\" + evtData);\n console.log(\"[Z1]READ cookie UserType::stringify\" + JSON.stringify(evtData));\n\n\n } catch (errUserType) {\n console.log(\"bday cookie errUserType\", errUserType);\n }\n\n ///kkk new end\n\n //check for customerid if non-numeric\n var cust_id_non_numeric = localStorage.getItem('dataLayerCustomerDetails');\n if (isValid(cust_id_non_numeric)) {\n var isGuestUser_id = isNaN(JSON.parse(cust_id_non_numeric).customerID);\n evtData[\"isGuestUser_id_NAN\"] = isGuestUser_id;\n\n }\n\n //PerkPerf End\n\n //Check cookie: digiNotify\n var digiNotify = getCookie(\"digiNotify\");\n if (debugScr) console.log(\"[ZineOne] digiNotify value is:\" + digiNotify);\n\n if (digiNotify)\n evtData[\"digiNotify\"] = digiNotify;\n\n //Reqards Data start\n try {\n var rewardsData = localStorage.getItem('z1_rewardsData');\n\n if (isValid(rewardsData)) {\n evtData[\"rewardsData\"] = JSON.stringify(rewardsData);\n } \n } catch (errr) {\n console.log(\"rewardsData\" + errr);\n }\n //Reqards Data end\n\n\n if (isSoftLoggedIn) evtData[\"isSoftLoggedIn\"] = isSoftLoggedIn;\n if (isLoggedIn) evtData[\"isLoggedIn\"] = isLoggedIn;\n if (debugScr) console.log(\"[ZineOne] evtName = \" + evtName);\n if (debugScr) console.log(\"[ZineOne] evtData =\" + JSON.stringify(evtData));\n return true;\n }\n //ZineOne.pushEvent(evtName, evtData);\n\n /*\n window.addEventListener(\"beforeunload\", function(e) {\n var _z1_el = document.activeElement;\n //console.log('[ZineOne] activeElement = ' + _z1_el);\n //is usr leaving the site?\n //if ((_z1_el.nodeName === 'BODY') || (_z1_el.href && _z1_el.href.indexOf('kohls.com/') === -1))\n {\n //send event\n var _z1_timeOnPage = parseInt((performance.now() - _z1_pgStart) / 1000);\n var _z1_evtMap = {\n 'pgName': pgName,\n 'timeOnPage': _z1_timeOnPage,\n 'url': document.URL,\n 'ae': document.activeElement.nodeName\n };\n ZineOne.pushEvent(\"_z1_pageUnloaded\", _z1_evtMap);\n // console.log('[ZineOne] fired _z1_pageUnloaded with pgName=' + _z1_pageName + ', url=' + document.URL + ' and timeOnPage=' + _z1_timeOnPage);\n }\n });\n */\n\n\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n\n\n\n function validateForNotNull(obj) {\n //console.log('validateForNotNull',obj,typeof(obj));\n if (!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0) {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array, attribute) {\n var stringVector = '';\n\n if (debugScr) console.log(\"spltArrayObjectDataIntoVector attribute\", attribute, array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n\n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array, mainAttribute, innerAttribute) {\n var stringVector = '';\n\n if (debugScr) console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\", mainAttribute, innerAttribute, array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n if (debugScr) console.log('spltArrayObjectDataIntoVector ', spltArrayObjectDataIntoVector(attributeValueArr, innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr, innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array, mainAttribute, innerAttribute) {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n\n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n if(!isValid(persistLocalData)){\n persistLocalData = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n\n\n\n return finalReturnObj;\n }\n\n function fetchFilterData(cnString, oldCnFromEvent) {\n var finalReturnString = '';\n\n var splitCnString = cnString.toString().split(\"+\");\n\n var currentFilterObj = {};\n var oldCnFromEventSplit = oldCnFromEvent.toString().split(\"|\");\n\n //console.log('oldCnFromEventSplit',oldCnFromEventSplit,oldCnFromEventSplit.length);\n\n for (var i = (oldCnFromEventSplit.length - 1); i >= 0; i--) {\n if (oldCnFromEventSplit[i].length == 0 || oldCnFromEventSplit[i] == '-') {\n continue;\n }\n\n var innerObj = oldCnFromEventSplit[i].split(\"+\");\n\n if (innerObj.length > 0) {\n for (var k = 0; k < innerObj.length; k++) {\n var filterObj = innerObj[k].split(\":\");\n var filterName = filterObj[0];\n var filterValue = filterObj[1];\n\n currentFilterObj[filterName] = filterValue;\n }\n\n break;\n }\n\n }\n\n var alreadyUsedObj = {};\n\n //console.log(splitCnString);\n for (var i = 0; i < splitCnString.length; i++) {\n var filterObj = splitCnString[i].split(\":\");\n var filterName = filterObj[0];\n\n //console.log('Filter Name ',filterName);\n //console.log('Filter Value ',filterValue);\n\n if (filterName in alreadyUsedObj) {\n continue;\n }\n\n alreadyUsedObj[filterName] = true;\n\n if (filterName in currentFilterObj) {\n currentFilterObj[filterName] = Number(currentFilterObj[filterName]) + 1;\n } else {\n currentFilterObj[filterName] = 1;\n }\n\n\n }\n\n //console.log('currentFilterObj',currentFilterObj);\n\n var filterkeys = Object.keys(currentFilterObj);\n for (var i = 0; i < filterkeys.length; i++) {\n finalReturnString = finalReturnString + filterkeys[i] + ':' + currentFilterObj[filterkeys[i]] + '+';\n }\n\n finalReturnString = finalReturnString.substring(0, finalReturnString.length - 1);\n\n return finalReturnString;\n\n\n }\n\n function fetchNewAttributesForVectorization(eventData, eventName) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n if(persistLocalData && !isValid(persistLocalData)){\n persistLocalData = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n\n if (validateForNotNull(persistLocalData)) {\n var pageDataJson = pageData;\n\n persistLocalData = JSON.parse(persistLocalData);\n\n console.log('Into switch in fetchNewAttributesForVectorization', eventName);\n\n if (debugScr) console.log('Into switch in fetchNewAttributesForVectorization', eventName);\n\n switch (eventName.toLowerCase()) {\n case \"_ws_viewedcatalog\":\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.categoryName)) {\n finalReturnObj.pgdata_pmpdet_catname = pageDataJson.pmpDetails.categoryName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.subcategoryName)) {\n finalReturnObj.pgdata_pmpdet_subcatname = pageDataJson.pmpDetails.subcategoryName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.findingName)) {\n finalReturnObj.pgdata_pmpdet_findingname = pageDataJson.pmpDetails.findingName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.keywords)) {\n finalReturnObj.pgdata_pmpdet_cat_keywords = pageDataJson.pmpDetails.keywords;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.pageFilter)) {\n finalReturnObj.pgdata_pmpdet_pgfilter = pageDataJson.pmpDetails.pageFilter;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.departmentName)) {\n finalReturnObj.pgdata_pmpdet_deptname = pageDataJson.pmpDetails.departmentName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.genderValues)) {\n finalReturnObj.pgdata_pmpdet_gendervalues = pageDataJson.pmpDetails.genderValues;\n }\n\n\n var newUserVectors = localStorage.getItem('z1_newUserVectors');\n\n if (newUserVectors && newUserVectors.length > 0) {\n var newUserVectorsJson = JSON.parse(newUserVectors);\n var currentFilterString = newUserVectorsJson.filter_by_count;\n\n if (validateForNotNull(getUrlParameter('CN')) && validateForNotNull(currentFilterString)) {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'), currentFilterString);\n }\n\n } else {\n if (validateForNotNull(getUrlParameter('CN'))) {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'), '');\n }\n\n }\n\n var selectFilter = document.getElementById('sortby_select');\n if (selectFilter) {\n var selectedValue = selectFilter.options[selectFilter.selectedIndex].value;\n if (validateForNotNull(selectedValue)) {\n finalReturnObj.sort_by = selectedValue;\n }\n }\n\n break;\n\n case \"_ws_viewedproduct\":\n\n if (debugScr) console.log('Into _ws_viewedproduct in fetchNewAttributesForVectorization');\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.collectionID)) {\n finalReturnObj.pgdata_proddet_colid = pageDataJson.productDetails.collectionID;\n }\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.pageItems) && validateForNotNull(pageDataJson.productDetails.pageItems[0]) && validateForNotNull(pageDataJson.productDetails.pageItems[0].SKUS)) {\n finalReturnObj.prod_sku_count = pageDataJson.productDetails.pageItems[0].SKUS.length;\n }\n\n\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n var skuSize = Kjs.mainPanel.getBagItem('size');\n var skuColor = Kjs.mainPanel.getBagItem('color');\n var regularPrice = Kjs.mainPanel.getBagItem('regularPrice');\n var salePrice = Kjs.mainPanel.getBagItem('salePrice');\n\n if (validateForNotNull(skuCode)) {\n finalReturnObj.selected_sku = skuCode;\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.pageItems) && validateForNotNull(pageDataJson.productDetails.pageItems.QtyInfo)) {\n\n var currentQtyInfo = pageDataJson.productDetails.pageItems.QtyInfo;\n\n for (var k = 0; k < currentQtyInfo.length; k++) {\n var innerObj = currentQtyInfo[k];\n if (innerObj.skuCode == skuCode) {\n finalReturnObj.sku_bopus_avail = innerObj.BopusAvlQty;\n finalReturnObj.sku_boss_avail = innerObj.BossAvlQty;\n finalReturnObj.sku_ship_avail = innerObj.ShipAvlQty;\n break;\n }\n }\n\n\n\n }\n }\n\n if (validateForNotNull(skuColor)) {\n finalReturnObj.selected_sku_color = skuColor;\n }\n\n if (validateForNotNull(skuSize)) {\n finalReturnObj.selected_sku_size = skuSize;\n }\n\n if (validateForNotNull(regularPrice)) {\n finalReturnObj.sku_reg_price = regularPrice.replace(\"$\", \"\");\n }\n\n if (validateForNotNull(salePrice)) {\n finalReturnObj.selected_sku_sale_price = salePrice.replace(\"$\", \"\");\n\n var regPriceNum = Number(finalReturnObj.sku_reg_price);\n var salePriceNum = Number(finalReturnObj.selected_sku_sale_price);\n\n if (!isNaN(salePriceNum)) {\n finalReturnObj.sku_per_dis = (((regPriceNum - salePriceNum) * (100)) / regPriceNum).toFixed(2);\n }\n\n }\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.categoryName)) {\n finalReturnObj.pgdata_proddet_catname = pageDataJson.productDetails.categoryName;\n }\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.subcategoryName)) {\n finalReturnObj.pgdata_proddet_subcatname = pageDataJson.productDetails.subcategoryName;\n }\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.departmentName)) {\n finalReturnObj.pgdata_proddet_deptname = pageDataJson.productDetails.departmentName;\n }\n\n\n break;\n\n\n case \"_ws_viewedsku\":\n\n if (debugScr) console.log('Into _ws_viewedproduct in fetchNewAttributesForVectorization');\n\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n var skuSize = Kjs.mainPanel.getBagItem('size');\n var skuColor = Kjs.mainPanel.getBagItem('color');\n var regularPrice = Kjs.mainPanel.getBagItem('regularPrice');\n var salePrice = Kjs.mainPanel.getBagItem('salePrice');\n\n\n if (validateForNotNull(skuCode)) {\n finalReturnObj.selected_sku = skuCode;\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.pageItems) && validateForNotNull(pageDataJson.productDetails.pageItems.QtyInfo)) {\n\n var currentQtyInfo = pageDataJson.productDetails.pageItems.QtyInfo;\n\n for (var k = 0; k < currentQtyInfo.length; k++) {\n var innerObj = currentQtyInfo[k];\n if (innerObj.skuCode == skuCode) {\n finalReturnObj.sku_bopus_avail = innerObj.BopusAvlQty;\n finalReturnObj.sku_boss_avail = innerObj.BossAvlQty;\n finalReturnObj.sku_ship_avail = innerObj.ShipAvlQty;\n break;\n }\n }\n\n\n\n }\n }\n\n if (validateForNotNull(skuColor)) {\n finalReturnObj.selected_sku_color = skuColor;\n }\n\n if (validateForNotNull(skuSize)) {\n finalReturnObj.selected_sku_size = skuSize;\n }\n\n if (validateForNotNull(regularPrice)) {\n finalReturnObj.sku_reg_price = regularPrice.replace(\"$\", \"\");\n }\n\n if (validateForNotNull(salePrice)) {\n finalReturnObj.selected_sku_sale_price = salePrice.replace(\"$\", \"\");\n\n var regPriceNum = Number(finalReturnObj.sku_reg_price);\n var salePriceNum = Number(finalReturnObj.selected_sku_sale_price);\n\n\n finalReturnObj.sku_per_dis = (((regPriceNum - salePriceNum) * (100)) / regPriceNum).toFixed(2);\n }\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.categoryName)) {\n finalReturnObj.pgdata_proddet_catname = pageDataJson.productDetails.categoryName;\n }\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.subcategoryName)) {\n finalReturnObj.pgdata_proddet_subcatname = pageDataJson.productDetails.subcategoryName;\n }\n\n if (validateForNotNull(pageDataJson.productDetails) && validateForNotNull(pageDataJson.productDetails.departmentName)) {\n finalReturnObj.pgdata_proddet_deptname = pageDataJson.productDetails.departmentName;\n }\n\n if (validateForNotNull(pageDataJson.productDetails)) {\n finalReturnObj.selected_prd_id = (pageDataJson.productDetails && pageDataJson.productDetails.pageItems[0] && pageDataJson.productDetails.pageItems[0].productID) || '-';\n }\n\n break;\n\n\n case \"_ws_searched\":\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.keywords)) {\n finalReturnObj.pgdata_pmpdet_search_keywords = pageDataJson.pmpDetails.keywords;\n }\n\n var newUserVectors = localStorage.getItem('z1_newUserVectors');\n\n if (newUserVectors && newUserVectors.length > 0) {\n var newUserVectorsJson = JSON.parse(newUserVectors);\n var currentFilterString = newUserVectorsJson.filter_by_count;\n\n if (validateForNotNull(getUrlParameter('CN')) && validateForNotNull(currentFilterString)) {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'), currentFilterString);\n }\n\n } else {\n if (validateForNotNull(getUrlParameter('CN'))) {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'), '');\n }\n\n }\n\n var selectFilter = document.getElementById('sortby_select');\n if (selectFilter) {\n var selectedValue = selectFilter.options[selectFilter.selectedIndex].value;\n if (validateForNotNull(selectedValue)) {\n finalReturnObj.sort_by = selectedValue;\n }\n }\n\n break;\n\n\n case \"_ws_viewedcart\":\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.clientPostalCode)) {\n finalReturnObj.pgdata_pddetails_clientpostalcode = pageDataJson.pageDetails.clientPostalCode;\n }\n\n break;\n\n case \"_ws_update_hcart\":\n\n\n var currentCartUpdates = localStorage.getItem('z1_current_cart_data_update');\n currentCartUpdates = JSON.parse(currentCartUpdates);\n finalReturnObj.updated_sku = currentCartUpdates.updatedSku;\n finalReturnObj.updated_sku_qty = currentCartUpdates.updatedskuQty;\n finalReturnObj.removed_sku = currentCartUpdates.removedSku;\n\n localStorage.removeItem('z1_current_cart_data_update');\n\n finalReturnObj.shpi_shpp_ogshpchrgs = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'originalShippingCharges');\n finalReturnObj.shpi_shpp_shpchrgsafdis = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'shippingChargesAfterDiscount');\n finalReturnObj.shpi_shpp_freeshpqlfdelta = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'freeShipQualificationDelta');\n finalReturnObj.shpi_shpp_shpitmstotal = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'shipmentItemsTotal');\n\n finalReturnObj.shpi_shpo_disamnt = spltArrayObjectWithArrayObjectDataIntoVector(persistLocalData.shipmentInfo, 'shippingOffers', 'discountAmount');\n\n\n if (validateForNotNull(persistLocalData.orderSummary.merchandisePromoAmount)) {\n finalReturnObj.or_merpromoamnt = persistLocalData.orderSummary.merchandisePromoAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.discountedShippingAmount)) {\n finalReturnObj.or_disshpamnt = persistLocalData.orderSummary.discountedShippingAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.originalShippingAmount)) {\n finalReturnObj.or_ogshpamnt = persistLocalData.orderSummary.originalShippingAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.estimated)) {\n finalReturnObj.or_tax_est = persistLocalData.orderSummary.tax.estimated;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.taxRate)) {\n finalReturnObj.or_tax_taxrt = persistLocalData.orderSummary.tax.taxRate;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.tax)) {\n finalReturnObj.or_tax_tax = persistLocalData.orderSummary.tax.tax;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalSurcharges)) {\n finalReturnObj.or_totalsur = persistLocalData.orderSummary.totalSurcharges;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalTaxFee)) {\n finalReturnObj.or_totaltaxfree = persistLocalData.orderSummary.totalTaxFee;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalKohlsCashAndPromoDiscounts)) {\n finalReturnObj.or_totalkcpromodis = persistLocalData.orderSummary.totalKohlsCashAndPromoDiscounts;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalTax)) {\n finalReturnObj.or_totaltax = persistLocalData.orderSummary.totalTax;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.total)) {\n finalReturnObj.or_total = persistLocalData.orderSummary.total;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.savings)) {\n finalReturnObj.or_savings = persistLocalData.orderSummary.savings;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.taxFeeEnabled)) {\n finalReturnObj.or_taxfeeen = persistLocalData.orderSummary.taxFeeEnabled;\n }\n\n break;\n\n }\n }\n\n\n return finalReturnObj;\n\n }\n\n function fetchCartDump() {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n if(!isValid(persistLocalData)){\n persistLocalData = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if (validateForNotNull(cartData)) {\n for (var i = 0; i < cartData.length; i++) {\n if (i == 15) {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if (validateForNotNull(currentObj.storeClearance)) {\n currentFinalObjToSend.sc = currentObj.storeClearance;\n }\n\n if (validateForNotNull(currentObj.itemProperties.size)) {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n\n if (validateForNotNull(currentObj.itemProperties.color)) {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n\n if (validateForNotNull(currentObj.itemProperties.isWebExclusive)) {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive;\n }\n\n\n var finalInvInfo = {};\n\n if (validateForNotNull(currentObj.inventoryInfo.shipAvailable)) {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.bopusAvailable)) {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.bossAvailable)) {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip)) {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip;\n }\n\n if (validateForNotNull(currentObj.finalInvInfo)) {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo;\n }\n\n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ', currentPromoInfo);\n\n if (validateForNotNull(currentPromoInfo)) {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for (var j = 0; j < currentPromoInfo.length; j++) {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if (validateForNotNull(currentPromoObj.promoType)) {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType;\n }\n\n if (validateForNotNull(currentPromoObj.promoText)) {\n prTextArr[prTextArr.length] = currentPromoObj.promoText;\n }\n\n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n\n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ', currentOfferInfo);\n\n if (validateForNotNull(currentOfferInfo)) {\n var finalOfferInfoArray = [];\n\n for (var j = 0; j < currentOfferInfo.length; j++) {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if (validateForNotNull(currentOfferInfoObj.offerDiscount)) {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount;\n }\n\n if (validateForNotNull(currentOfferInfoObj.startDate)) {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate;\n }\n\n if (validateForNotNull(currentOfferInfoObj.endDate)) {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate;\n }\n\n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n\n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ', shipmentInfo);\n\n if (validateForNotNull(shipmentInfo)) {\n var finalshipmentInfoArray = [];\n\n for (var j = 0; j < shipmentInfo.length; j++) {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {};\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges)) {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount)) {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta)) {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal)) {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal;\n }\n\n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if (validateForNotNull(shippingOffers)) {\n var finalshippingOfferArray = [];\n\n for (var k = 0; k < shippingOffers.length; k++) {\n var currentshippingOffersObj = shippingOffers[k];\n\n if (validateForNotNull(currentshippingOffersObj.discountAmount)) {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount;\n }\n\n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary;\n\n var finalOrderSummaryObj = {};\n\n if (validateForNotNull(orderSummary.merchandisePromoAmount)) {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount;\n }\n\n if (validateForNotNull(orderSummary.discountedShippingAmount)) {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n\n if (validateForNotNull(orderSummary.originalShippingAmount)) {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated)) {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate)) {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax)) {\n finalOrderSummaryObj.tax = orderSummary.tax.tax;\n }\n\n if (validateForNotNull(orderSummary.totalSurcharges)) {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges;\n }\n\n if (validateForNotNull(orderSummary.totalTaxFee)) {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee;\n }\n\n if (validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts)) {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts;\n }\n\n if (validateForNotNull(orderSummary.totalTax)) {\n finalOrderSummaryObj.totTax = orderSummary.totalTax;\n }\n\n if (validateForNotNull(orderSummary.total)) {\n finalOrderSummaryObj.total = orderSummary.total;\n }\n\n if (validateForNotNull(orderSummary.savings)) {\n finalOrderSummaryObj.sav = orderSummary.savings;\n }\n\n if (validateForNotNull(orderSummary.taxFeeEnabled)) {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled;\n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n function fetchMcmId() {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n function getSkuPriceObj(skuId)\n {\n if(pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].SKUS)\n {\n var skuArr = pageData.productDetails.pageItems[0].SKUS;\n\n for(var i=0;i<skuArr.length;i++)\n {\n var tempObj = skuArr[i]\n\n if(tempObj.skuId == skuId)\n {\n return tempObj;\n }\n }\n }\n\n return null;\n }\n\n\n function getPresentVector(isRto, rtoEventType) {\n try {\n\n if (debugScr) console.log('getPresentVector');\n\n var itemsInBag = 0;\n cartValue = 0;\n\n isJsonNull = false;\n\n var cartData = localStorage.getItem(\"persistent_bar_components_json_v1\");\n if(cartData && !isValid(cartData)){\n cartData = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n \n if (isValid(cartData)) {\n var cartInfo = JSON.parse(cartData);\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n if (cartInfo.cartItems[i].itemPriceInfo.grossPrice) {\n cartValue = cartValue + Number(cartInfo.cartItems[i].itemPriceInfo.grossPrice);\n }\n\n\n var tempObj = {};\n tempObj.productId = cartInfo.cartItems[i].productId;\n tempObj.skuId = cartInfo.cartItems[i].skuId;\n tempObj.quantity = cartInfo.cartItems[i].quantity;\n tempObj.itemType = cartInfo.cartItems[i].itemType;\n\n currentUserCartArr.push(tempObj);\n\n }\n } else {\n\n var cookieBagTotal = getCookie('VisitorBagTotals');\n if (cookieBagTotal && cookieBagTotal.toString().length != 0) {\n isJsonNull = true;\n\n cartValue = -1;\n\n\n }\n\n }\n\n\n if (cartValue == 0 && (typeof pageData != 'undefined') && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n cartValue = Number(pageData.cartDetails.cartSubTotalValue);\n }\n\n\n\n console.log(cartValue + ' Before Present Vector ', evtName);\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n console.log('Present Vector 1', presentVector);\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n\n if (isRto == true) {\n presentVector.event = eventCodes[\"_ws_rto\"];\n\n if (rtoEventType != null) {\n\n var rtoPageCode = '';\n\n switch (evtName.toLowerCase()) {\n case \"_ws_viewedhome\":\n\n rtoPageCode = 'HP';\n\n break;\n\n case \"_ws_searched\":\n\n rtoPageCode = 'SP';\n\n break;\n\n case \"_ws_viewedcatalog\":\n\n rtoPageCode = 'TP';\n\n break;\n case \"_ws_viewedproduct\":\n\n rtoPageCode = 'PP';\n\n\n break;\n\n case \"_ws_viewedsku\":\n\n rtoPageCode = 'PP';\n\n\n break;\n\n case \"_ws_viewedcart\":\n\n rtoPageCode = 'CP';\n\n break;\n\n case \"_ws_addedtobag\":\n\n rtoPageCode = 'PP';\n\n break;\n }\n\n switch (rtoEventType) {\n case \"qualification_test\":\n\n presentVector.rto_data = 'Q:T';\n\n break;\n\n case \"qualification_control\":\n\n presentVector.rto_data = 'Q:C';\n\n break;\n\n case \"shown\":\n\n presentVector.rto_data = 'S:' + rtoPageCode;\n\n break;\n\n case \"applied\":\n\n presentVector.rto_data = 'A';\n\n break;\n }\n\n\n\n evtName = '_ws_rto';\n }\n\n }\n\n if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n if (typeof pageData != 'undefined') {\n\n if(pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID)\n {\n presentVector.productID = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID) || '-';\n presentVector.originalPrice = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].originalPrice) || '-';\n presentVector.salePrice = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].salePrice) || '-';\n presentVector.PDPCategory = (pageData.productDetails && pageData.productDetails.categoryName) || '-';\n presentVector.onSale = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].isOnSale) || '-'; \n }\n\n if (typeof productV2JsonData != 'undefined') {\n\n var skuPriceObj = getSkuPriceObj(productV2JsonData.preSelectedSku);\n\n if(skuPriceObj)\n {\n presentVector.originalPrice = skuPriceObj.regularPrice.toString().substring(1,skuPriceObj.regularPrice.length);\n presentVector.salePrice = skuPriceObj.salePrice.toString().substring(1,skuPriceObj.salePrice.length);\n presentVector.PDPCategory = (pageData.productDetails && pageData.productDetails.categoryName) || '-';\n presentVector.onSale = '-';\n }\n\n presentVector.productID = (productId) || '-';\n \n }\n\n \n } else {\n var prodUrlSplit = window.location.pathname.toString().split('prd-')[1];\n var firstIndexOf = prodUrlSplit.indexOf('/');\n\n presentVector.productID = prodUrlSplit.substring(0, firstIndexOf);\n }\n presentVector.userPFM = getUrlParameter('userPFM') || '-';\n }\n\n if (evtName.toLocaleLowerCase() == '_ws_searched') {\n\n presentVector.keywords = (pageData.pmpDetails && pageData.pmpDetails && pageData.pmpDetails.keywords) || '-';\n if (typeof pageData != 'undefined') {\n presentVector.CN = getUrlParameter('CN') || '-';\n presentVector.visualNavForm = getUrlParameter('VisualNavFrom') || '-';\n }\n var isFrmRecentSearch = getUrlParameter('isFrmRecentSearch');\n var isFrmTypeAhead = getUrlParameter('isFrmTypeAhead');\n presentVector.searchType = (isFrmRecentSearch == 'TRUE' && isFrmTypeAhead == 'TRUE') ? 'recent+typeahead' : (isFrmRecentSearch == 'TRUE' ? 'recent' : (isFrmTypeAhead == 'TRUE' ? 'typeahead' : '-'));\n }\n\n if (debugScr) console.log('Got Page Event Name ' + evtName.toLocaleLowerCase());\n\n if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n if (typeof pageData != 'undefined') {\n presentVector.department = (pageData.pmpDetails && pageData.pmpDetails.departmentName) || '-';\n presentVector.pageFilter = (pageData.pmpDetails && pageData.pmpDetails.pageFilter) || '-';\n }\n presentVector.CN = getUrlParameter('CN') || '-';\n presentVector.visualNavForm = getUrlParameter('VisualNavFrom') || '-';\n }\n\n presentVector = fetchNewAttributesForVectorization(presentVector, evtName);\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ', ie);\n }\n }\n\n\n\n function updateUserVectors(isRto, rtoEventType) {\n try {\n\n if (!isValid(evtName)) {\n return;\n }\n\n if (debugScr) console.log('Into updateUserVectors');\n var presentVector = getPresentVector(isRto, rtoEventType);\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n if (debugScr) console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try {\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n var cartDump = fetchCartDump();\n\n if (validateForNotNull(cartDump)) {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for (var k = 0; k < cartKeys.length; k++) {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n if (validateForNotNull(newUserVectors)) {\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n } catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = 'webstoresendevent ' + evtName;\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n if (debugScr) console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n if (debugScr) console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue = cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.currentCart = JSON.stringify(currentUserCartArr);\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge)) {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n } else {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n\n if (isJsonNull) {\n var lastUserPageArr = userVectors.eventVector.toString().split('|');\n var lastPageChar = lastUserPageArr[lastUserPageArr.length - 2];\n\n var tempEventData = {};\n tempEventData.VisitorBagTotals = getCookie('VisitorBagTotals');\n tempEventData.pgName = pgName;\n tempEventData.lastPgChar = lastPageChar;\n\n ZineOne.pushEvent('_ws_emptyjson_v2', tempEventData);\n }\n\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n if (debugScr) console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ', ie);\n }\n }\n\n function updateFeatures() {\n\n if (debugScr) console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n\n\n\n\n\n function _handleRawData(rawData, ctaData) {\n //debugScr = true;\n if (debugScr)\n console.log('[ZineOne-om] rawData recd ' + rawData);\n try {\n var showMsg = true;\n var z1Response = JSON.parse(rawData);\n\n let raw_data_event = new CustomEvent('onZ1RawData', {\n detail: z1Response\n });\n document.dispatchEvent(raw_data_event);\n\n\n if (debugScr) console.log('[ZineOne-om] omniture z1Response is Before Urgency ', typeof z1Response);\n\n if (z1Response && z1Response.pdpUrgencyMsg) {\n\n var isTopRated = document.getElementsByClassName(\"tce-toprated-text\");\n if (isTopRated.length >= 1) {\n //var topRatedDiv = isTopRated[0];\n showMsg = false;\n }\n var isKChoice = document.getElementsByClassName(\"tce-kchoice\");\n if (isKChoice.length >= 1) {\n //var topRatedDiv = isTopRated[0];\n showMsg = false;\n }\n if (debugScr) console.log('[ZineOne-om] Show Message Flag ', showMsg);\n if (showMsg) {\n\n if (z1Response.pdpUrgencyTag.includes(\"scarcity\")) {\n\n if (debugScr) console.log(\"[ZineOne]I am here 5\");\n\n if (localStorage.getItem(\"z1_cust_id\") == \"3000000018326613\" || localStorage.getItem(\"z1_cust_id\") == \"3000000015510732\" ||\n localStorage.getItem(\"z1_cust_id\") == \"3000000013469959\" || localStorage.getItem(\"z1_cust_id\") == \"2254024615400568\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2254015584448533\" || localStorage.getItem(\"z1_cust_id\") == \"2253998883117448\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2254015110568294\" || localStorage.getItem(\"z1_cust_id\") == \"3000000013617619\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2254009728812139\" || localStorage.getItem(\"z1_cust_id\") == \"2254040233704719\" ||\n localStorage.getItem(\"z1_cust_id\") == \"2253999797960783\") {\n var z1Div = document.getElementById(\"z1-pdpscarcity\");\n if (isValid(z1Div)) {\n if (debugScr) console.log(\"[ZineOne] pdpscarcity!\");\n z1Div.innerHTML = z1Response.pdpUrgencyMsg;\n //z1Div.innerHTML = \"<i>Just a</i> <b> few left!!</b>\";\n z1Div.style.display = \"block\";\n }\n }\n\n } else {\n console.log('[ZineOne-om] Show Urgency');\n var z1div = document.getElementById(\"z1-pdpurgency\");\n z1div.innerHTML = z1Response.pdpUrgencyMsg;\n //z1div.style.display = \"block !important\";\n\n function overrideStyle(styles) {\n let css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n let styles = '#z1-pdpurgency {display: block !important;}';\n overrideStyle(styles);\n\t\t\t\t\t\t\tstoreUrgencyMsg = document.getElementById(\"PDP_z1Social_badge\") ? document.getElementById(\"PDP_z1Social_badge\").innerHTML : \"\";\n\n console.log('[ZineOne-om] rawData recd ' + z1div);\n console.log('[ZineOne-om] rawData recd ' + z1Response.pdpUrgencyMsg);\n }\n }\n\n }\n\n if (debugScr) console.log('[ZineOne-om] omniture z1Response is Before Scarcity ', typeof z1Response);\n\n if (z1Response && z1Response.scarcity) {\n if (debugScr) console.log(\"[ZineOne] omniture z1Response.scarcity is \", z1Response.scarcity);\n var scarcity = z1Response.scarcity;\n\n var quantitySectionDiv = document.getElementsByClassName(\"quantity\");\n var pdpScarcityDiv = document.getElementById(\"z1-pdpscarcity\");\n var bopusRadio = document.getElementById(\"bopusTab\");\n var shipRadio = document.getElementById(\"shipTab\");\n var bossRadio = document.getElementById(\"bossTab\");\n\n //var blockStyle = \"display:block;text-align: left; width: 100%; color: purple; font-size: 15px; clear: both; overflow: auto;\";\n\n if (scarcity.pdpInvTag == \"pdpBopusOnlineScarcity\" || scarcity.pdpInvTag == \"pdpOnlineScarcity\") {\n var onload_inv = scarcity.oInv;\n var onload_bInv = scarcity.bInv;\n if (onload_inv != 0 && onload_inv < 10) {\n //content with msg Just X left in this store\n if (quantitySectionDiv && pdpScarcityDiv) {\n if (debugScr) console.log(\"Only \" + onload_inv + \" left!\");\n //pdpScarcityDiv.setAttribute(\"style\", blockStyle);\n pdpScarcityDiv.style.display=\"block\";\n pdpScarcityDiv.style.textAlign=\"left\";\n pdpScarcityDiv.style.width=\"100%\";\n pdpScarcityDiv.style.color=\"purple\";\n pdpScarcityDiv.style.fontSize=\"15px\";\n pdpScarcityDiv.style.clear=\"both\";\n pdpScarcityDiv.style.overflow=\"auto\";\n pdpScarcityDiv.innerHTML = \"<b>Only \" + onload_inv + \" left!</b>\";\n }\n }\n }\n if (bossRadio) {\n if (bossRadio.checked) {\n if (debugScr) console.log(\"bossRadio already checked...\");\n //pdpScarcityDiv.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDiv.style.display=\"none\";\n pdpScarcityDiv.innerHTML = \"\";\n }\n bossRadio.onclick = function() {\n if (debugScr) console.log(\"bossRadio checked...\");\n //pdpScarcityDiv.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDiv.style.display=\"none\";\n pdpScarcityDiv.innerHTML = \"\";\n }\n }\n /**UnCommented as per Shilpa's mail on 04-06-2020**/\n if (bopusRadio) {\n if (bopusRadio.checked) {\n if (debugScr) console.log(\"bopusRadio. already checked...\", scarcity.bInv);\n var bopusValue = scarcity.bInv;\n if (bopusValue != 0 && bopusValue <= 2) {\n //content with msg Just X left in this store\n if (quantitySectionDiv && pdpScarcityDiv) {\n if (debugScr) console.log(\"Only \" + bopusValue + \" left in this store!\");\n //pdpScarcityDiv.setAttribute(\"style\", blockStyle);\n pdpScarcityDiv.style.display=\"block\";\n pdpScarcityDiv.style.textAlign=\"left\";\n pdpScarcityDiv.style.width=\"100%\";\n pdpScarcityDiv.style.color=\"purple\";\n pdpScarcityDiv.style.fontSize=\"15px\";\n pdpScarcityDiv.style.clear=\"both\";\n pdpScarcityDiv.style.overflow=\"auto\";\n pdpScarcityDiv.innerHTML = \"<b>Only \" + bopusValue + \" left in this store!</b>\";\n }\n } else {\n //remove style\n //pdpScarcityDiv.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDiv.style.display=\"none\";\n pdpScarcityDiv.innerHTML = \"\";\n }\n }\n bopusRadio.onclick = function() {\n if (debugScr) console.log(\"bopusRadio clicked\");\n if (bopusRadio.checked) {\n if (debugScr) console.log(\"bopusRadio.checked...\", scarcity.bInv);\n var bopusValue = scarcity.bInv;\n if (bopusValue != 0 && bopusValue <= 2) {\n //content with msg Just X left in this store\n if (quantitySectionDiv && pdpScarcityDiv) {\n if (debugScr) console.log(\"Only \" + bopusValue + \" left in this store!\");\n //pdpScarcityDiv.setAttribute(\"style\", blockStyle);\n pdpScarcityDiv.style.display=\"block\";\n pdpScarcityDiv.style.textAlign=\"left\";\n pdpScarcityDiv.style.width=\"100%\";\n pdpScarcityDiv.style.color=\"purple\";\n pdpScarcityDiv.style.fontSize=\"15px\";\n pdpScarcityDiv.style.clear=\"both\";\n pdpScarcityDiv.style.overflow=\"auto\";\n pdpScarcityDiv.innerHTML = \"<b>Only \" + bopusValue + \" left in this store!</b>\";\n }\n } else {\n //remove style\n //pdpScarcityDiv.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDiv.style.display=\"none\";\n pdpScarcityDiv.innerHTML = \"\";\n }\n }\n };\n }\n if (shipRadio) {\n if (shipRadio.checked) {\n if (debugScr) console.log(\"shipRadio already checked...\", scarcity.oInv);\n var shipValue = scarcity.oInv;\n if (shipValue != 0 && shipValue < 10) {\n //content with msg Just X left in this store\n if (debugScr) console.log(\"Only \" + shipValue + \" left!\");\n if (quantitySectionDiv && pdpScarcityDiv) {\n if (debugScr) console.log(\"Only \" + onload_inv + \" left!\");\n //pdpScarcityDiv.setAttribute(\"style\", blockStyle);\n pdpScarcityDiv.style.display=\"block\";\n pdpScarcityDiv.style.textAlign=\"left\";\n pdpScarcityDiv.style.width=\"100%\";\n pdpScarcityDiv.style.color=\"purple\";\n pdpScarcityDiv.style.fontSize=\"15px\";\n pdpScarcityDiv.style.clear=\"both\";\n pdpScarcityDiv.style.overflow=\"auto\";\n pdpScarcityDiv.innerHTML = \"<b>Only \" + onload_inv + \" left!</b>\";\n }\n } else {\n //remove style\n //pdpScarcityDiv.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDiv.style.display=\"none\";\n pdpScarcityDiv.innerHTML = \"\";\n }\n }\n shipRadio.onclick = function() {\n if (debugScr) console.log(\"shipRadio clicked\");\n if (shipRadio.checked) {\n if (debugScr) console.log(\"shipRadio.checked...\", scarcity.oInv);\n var shipValue = scarcity.oInv;\n if (shipValue != 0 && shipValue < 10) {\n //content with msg Just X left in this store\n if (debugScr) console.log(\"Only \" + shipValue + \" left!\");\n if (quantitySectionDiv && pdpScarcityDiv) {\n if (debugScr) console.log(\"Only \" + onload_inv + \" left!\");\n //pdpScarcityDiv.setAttribute(\"style\", blockStyle);\n pdpScarcityDiv.style.display=\"block\";\n pdpScarcityDiv.style.textAlign=\"left\";\n pdpScarcityDiv.style.width=\"100%\";\n pdpScarcityDiv.style.color=\"purple\";\n pdpScarcityDiv.style.fontSize=\"15px\";\n pdpScarcityDiv.style.clear=\"both\";\n pdpScarcityDiv.style.overflow=\"auto\";\n pdpScarcityDiv.innerHTML = \"<b>Only \" + onload_inv + \" left!</b>\";\n }\n } else {\n //remove style\n //pdpScarcityDiv.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDiv.style.display=\"none\";\n pdpScarcityDiv.innerHTML = \"\";\n }\n }\n };\n }\n\n function checkOtherStoreHandler() {\n try {\n if (quantitySectionDiv && pdpScarcityDiv) {\n //pdpScarcityDiv.setAttribute(\"style\", \"display: none;\");\n pdpScarcityDiv.style.display=\"none\";\n pdpScarcityDiv.innerHTML = \"\";\n }\n } catch (excp) {\n console.log(\"Error in checkOtherStore \", excp);\n }\n };\n\n document.addEventListener('checkOtherStore', checkOtherStoreHandler, false);\n var checkOtherStoreElem = document.getElementsByClassName(\"ce-fisCOS s-pickupstore\");\n if (checkOtherStoreElem && checkOtherStoreElem.length > 0) {\n checkOtherStoreElem = checkOtherStoreElem[0];\n checkOtherStoreElem.onclick = function() {\n //console.log(\"checkkkkkk\");\n var eventCheckOtherStore = new CustomEvent('checkOtherStore');\n document.dispatchEvent(eventCheckOtherStore);\n };\n }\n\n\n }\n\n\n if (debugScr) console.log('[ZineOne-om] omniture z1Response is Before RTOOfferData ', typeof z1Response);\n\n\n if (z1Response.silentRtoOfferData) {\n var rtoReportEvent = '_ws_sient_rto_page_report';\n\n var rtoPageCode = '';\n\n switch (evtName.toLowerCase()) {\n case \"_ws_viewedhome\":\n\n rtoPageCode = 'HP';\n\n break;\n\n case \"_ws_searched\":\n\n rtoPageCode = 'SP';\n\n break;\n\n case \"_ws_viewedcatalog\":\n\n rtoPageCode = 'TP';\n\n break;\n case \"_ws_viewedproduct\":\n\n rtoPageCode = 'PP';\n\n\n break;\n\n case \"_ws_viewedsku\":\n\n rtoPageCode = 'PP';\n\n\n break;\n\n case \"_ws_viewedcart\":\n\n rtoPageCode = 'CP';\n\n break;\n\n case \"_ws_addedtobag\":\n\n rtoPageCode = 'PP';\n\n\n\n break;\n }\n\n var currentUserVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n if (currentUserVector) {\n var currentStartTime = currentUserVector.timeVector.toString().split('|')[0];\n\n var returnObj = {};\n returnObj.pgN = rtoPageCode;\n returnObj.sessionStartTime = currentStartTime;\n //returnObj.rtoName = e.rtoName;\n //returnObj.identifier = e.identifier;\n\n ZineOne.pushEvent(rtoReportEvent, returnObj);\n }\n\n updateUserVectors(true, 'qualification_control');\n }\n\n if (z1Response.rtoOfferData) {\n //z1Response = z1Response.rtoOfferData;\n\n var e = z1Response.rtoOfferData;\n\n localStorage.setItem('z1_supc', JSON.stringify(e));\n\n\n if (e.is_copied == 'true') return;\n\n ///////////////\n\n\n //Case 1: Display Omniture\n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend) {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if (existingSupc != null && existingSupc != undefined && existingSupc != 'null') {\n\n existingSupc = JSON.parse(existingSupc);\n\n\n\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n\n\n //function showRTOBanner(e)\n //{\n // Style string for RTO\n console.log(\"[ZineOne] webstoreSendEventAllPages tag running\");\n var style = '.popupPromoText {font-size: 1.85em;margin-bottom: 5px;}.z1_b_container_kohlsbannertoparrow_rto {font-family: \"Gotham 5r\";position: fixed;padding: 0px;z-index: 1000;background: transperant;transition: all 1s ease-in;-webkit-animation: fadein 2s;/* Safari, Chrome and Opera > 12.1 */-moz-animation: fadein 2s;/* Firefox < 16 */-ms-animation: fadein 2s;/* Internet Explorer */-o-animation: fadein 2s;/* Opera < 12.1 */animation: fadein 2s; { z1_position_val}}@keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Firefox < 16 */@-moz-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Safari, Chrome and Opera > 12.1 */@-webkit-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Internet Explorer */@-ms-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Opera < 12.1 */@-o-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}.arrow_box {position: absolute;text-align: center;left: 50%;transform: translate(-50%, 100%);bottom: -20px;background: #ffffff;border: 1px solid #bfbfbf;padding: 1rem;border-radius: 0.6rem;width: 238px;-webkit-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);-moz-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);}.arrow_box:after,.arrow_box:before {content: \" \";position: absolute;}.arrow_box:after {border-color: rgba(255, 255, 255, 0);border-bottom-color: #ffffff;border-width: 20px;margin-left: -20px;}.arrow_box:before {width: 22px;height: 22px;background: #ffffff;z-index: 100;transform: translate(-50%, -50%) rotate(45deg);top: 1px;left: 50%;box-shadow: -6px -6px 5px 1px #999;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_box_style {position: relative;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 {padding-left: 0px !important;margin-left: 0px;min-width: none;max-width: none;align-self: center;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 img {min-width: 64px;max-width: 64px;min-height: 64px;max-height: 64px;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 {padding: 0 10px;font-size: 0.9em !important;line-height: 1.5;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 .titleText {background: url(\"https://d2p4r375zfkzm8.cloudfront.net/zb-design-com/arrowdown3.png\") no-repeat 0 2px;font-weight: bold;color: #000;font-size: 1.08em;padding: 0px 0 3px 20px;line-height: 1.4;}.z1_b_container_kohlsbannertoparrow_rto .closeBtn {cursor: pointer;position: absolute;right: 3px;top: 8px;width: 20px;height: 20px;margin: 0;padding: 0;font-size: 19px;font-family: \"Gotham 4r\";}.z1_b_container_kohlsbannertoparrow_rto .closeBtn img {border-bottom-left-radius: 50%;border-top-left-radius: 50%;border-bottom-right-radius: 50%;border-top-right-radius: 50%;height: 13px;width: 13px;opacity: 1;}.z1_b_container_kohlsbannertoparrow_rto .offerPrice {font-size: 1.3em;color: #e8342c;padding-right: 8px;}.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-size: 17px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 1.47;letter-spacing: normal;text-align: center;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .todaytext {font-size: 1.5em;color: #3a3a3a;font-weight: 400;margin: 5px 0px;display: flex;justify-content: center;align-items: center;}.z1_b_container_kohlsbannertoparrow_rto #offerDuration {font-weight: bold;font-size: 24px;}.z1_b_container_kohlsbannertoparrow_rto .todaytext div#offerDurationUnits {display: flex;flex-direction: column;text-align: left;font-size: 0.8em;}.z1_b_container_kohlsbannertoparrow_rto .savetext_row {padding: 0.6rem 0;}.z1_b_container_kohlsbannertoparrow_rto .cupontext {font-size: 14px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1.07;letter-spacing: -0.4px;text-align: center;color: #000000;margin: 20px;}.z1_b_container_kohlsbannertoparrow_rto .cupontext span {font-weight: bold;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer {background: #005553;text-transform: uppercase;color: #060606;padding: 0.40rem 1.85rem;border-radius: 2.2px;text-decoration: none;margin: 12px auto;letter-spacing: 1px;font-size: 13px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 0.6;letter-spacing: 0.5px;text-align: center;color: #ffffff;width: 138px;height: 31px;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy {content: \"Copy Offer\"}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover span {display: none;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover:before {/* background:#d2e2d3; color: #005553; */content: \"Click to Copy\";}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied:before {content: \"Copied\"}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied {background-color: #d2e2d3;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link {margin-top: 25px;font-size: 12px;font-weight: normal;font-style: normal;font-stretch: normal;line-height: 0.92;letter-spacing: normal;text-align: center;color: #444444;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {text-decoration: underline;color: #969696;font-size: 0.8rem;line-height: 1.2;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link a:hover {color: #333;}.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-size: 17px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 1.47;letter-spacing: normal;text-align: center;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .offerText {font-size: 37.1px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 0.49;letter-spacing: normal;text-align: center;color: #005553;margin: 20px 0;display: flex;justify-content: center;align-items: center;}.z1_b_container_kohlsbannertoparrow_rto .treatText {font-size: 17px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #222222;}.z1_b_container_kohlsbannertoparrow_rto .treatTextNew {font-size: 1.2em;margin-bottom: 10px;color: #000;display: none;}.z1_b_container_kohlsbannertoparrow_rto .saveCont.saveMsg {margin-top: 8px;}.z1_b_container_kohlsbannertoparrow_rto .uptillTime {font-weight: 900;}.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue {font-size: 2em;}.treatTextLatest {font-size: 14px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #222222;}.btn_offer_container {margin: 25px;}.z1-rto-dollar_reward {font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #005553;margin-bottom: 10px;}.z1-rto-dollar_reward_content {display: flex;flex-wrap: wrap;justify-content: center;}.z1-rto-dollar-text {font-size: 34.2px;margin-top: auto;width: 20px;height: 25px;margin-bottom: auto;}.z1-rto-dollar-text-amount {font-size: 68px;height: 68px;letter-spacing: -3px;}.z1-rto-dollar-text-dOff-outer {margin-top: 15px;margin-bottom: auto;height: 25px;}.z1-rto-dollar-text-dOff-off {font-size: 16px;margin-left: -26px;position: relative;top: 4px;}.z1-rto-dollar-text-dOff-off-amount {font-size: 38px;position: relative;top: -4px;left: -5px;text-shadow: -1px 1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;}.z1-rto-dollar-text-dOff-off-miniDollar {height: -1px;font-size: 23px;position: relative;top: -9px;}.z1-rto-dollar-text-dOff-off-miniDollarAmount {letter-spacing: -1px;}.z1_b_container_kohlsbannertoparrow_rto.loyalty {background-color: #e9f4cc;}.loyalty .usernameText {color: #208033;}.loyalty .saveMsg {color: #208033;}.loyalty .offerText {color: #208033;}.loyalty #rtoOfferCode {color: #208033;}.loyalty .z1-rto-dollar_reward_content {color: #208033;}.loyalty .btn_addoffer {background: #208033;}.loyalty.arrow_box:after {border-bottom-color: #208033;}.loyalty.arrow_box:before {background: #208033;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .bottom_link a {color: #444444;}.loyalty-cont.disable {display: none}.loyalty-cont.enable {display: block}.loyalty-cont {background-color: #208033;position: relative;top: -17px;left: -17px;width: 273px;height: 60px;border-radius: 0.6em 0.6em 0 0;color: #fff;}.loyalty-cont .heading-1 {padding-top: 15px;font-size: 16px;}.loyalty-cont .heading-2 {padding-top: 8px;font-size: 12px;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .closeBtn {z-index: 1;color: #fff;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .loyalty-cont.disable {display: block;}.element_v2 {display: none;}.ui_v2 .element_v1 {display: none;}.ui_v2 .element_v2 {display: block;}#v2-take {position: absolute;left: 42px;top: 85px;}.ui_v2 .z1-rto-dollar-text {font-size: 36.9px;height: 5px;}.ui_v2 .z1-rto-dollar-text-amount {font-size: 82px;padding: 5px;}.ui_v2 {font-family: \"Gotham 5r\";}.ui_v2 .z1-rto-dollar-text-dOff-off {font-size: 25.6px;margin-left: 0px;top: 45px;font-weight: bold;}.ui_v2 .z1-rto-dollar_reward {margin-top: 5px;}.ui_v2 .treatText {margin-top: 25px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .treatText {margin-top: 15px;font-size: 16px;color: #000;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .offerDuration {color: #000;font-size: 20px;margin-top: 5px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-weight: normal;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-weight: normal;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .cupontext {color: #005553;font-size: 15px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {color: #444444;}.ui_v2.dollar_fix .z1-rto-dollar-text-dOff-off {top: 20px;}.ui_v2.dollar_fix #v2-take {top: 70px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText {margin: 30px 0;margin-bottom: 25px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue {font-size: 89.7px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText {font-size: 40.4px;}';\n\n if (debugScr) console.log('Before RTO Style');\n\n\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = style;\n else css.appendChild(document.createTextNode(style));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n\n\n //appendStyle(style);\n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n\n\n domstr_val = '<div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class=\"offerText\">' + dolStr + '<span id=\"rtoOfferValue\" class=\"rtoOfferValue\"></span><span class=\"z1-rto-dollar-text-dOff-off element_v2\">off</span>' + '</div>';\n\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\";\n\n domstr_val = '<div class=\"offerText\">' + '<span id=\"rtoOfferValue\" class=\"rtoOfferValue\"></span>' + pctStr + '</div>';\n }\n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = '<div class=\"z1-rto-dollar_reward\"><div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class=\"z1-rto-dollar_reward_content\"><div class=\"z1-rto-dollar-text\">$</div><div id=\"rtoOfferValue\" class=\"z1-rto-dollar-text-amount\"></div><div class=\"z1-rto-dollar-text-dOff-outer\"><span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount element_v1\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">' + e.offThres + '</span></span></div></div></div>';\n }\n\n\n\n var domstr = '<div data-zineone-properties=\"modal:true;container-class:z1_b_container_kohlsbannertoparrow_rto;\" id=\"z1-rto-div\" class=\"z1_b_container_kohlsbannertoparrow_rto arrow_box\"><div class=\"closeBtn\" onclick=\"var el=document.getElementById(\\'z1-rto-div\\'); el.innerHTML=\\'\\';el.parentNode.removeChild(el);\">x</div><div class=\"z1_b_c1\"><div class=\"loyalty-cont disable\"><div class=\"heading-1\">KOHL’S REWARDS®</div><div class=\"heading-2\">MEMBER EXCLUSIVE</div></div><div><span class=\"usernameText\">Hi, </span><span class=\"saveMsg element_v1\"> save</span><div class=\"saveMsg element_v2\">your cart looks great!</div></div>' + domstr_val + '<div class=\"treatText element_v1\">in the next <span id=\"offerDuration\"></span> minutes.</div><div class=\"saveMsg element_v2\">the items in your cart!</div><div class=\"treatTextNew\">Valid until <span id=\"uptillTime\" class=\"uptillTime\"></span></div><div class=\"treatTextLatest element_v1\">(Go ahead, treat yourself!)</div><div class=\"element_v2\"><div class=\"treatText\">Check out in the next</div><div class=\"offerDuration\"><span id=\"offerDurationv2\"></span> minutes.</div></div><div class=\"cupontext\">PROMO CODE: <span id=\"rtoOfferCode\"></span></div><div class=\"btn_offer_container\"><a class=\"btn_addoffer\"><span id=\"btn_addoffer\"></span></a></div><div class=\"bottom_link\"><a id=\"discliamer_href\" href=\"#\" target=\"_default\">details & exclusions</a></div><input type=\"text\" id=\"textCopy\" style=\"opacity:0;pointer-events:none\" /></div></div>';\n\n\n\n var t = document.createRange().createContextualFragment(domstr);\n\n if (debugScr) console.log('Before RTO Z1 Widget');\n\n\n if (!document.getElementById('z1widget')) {\n return;\n }\n\n document.getElementById('z1widget').appendChild(t);\n\n\n /* On IE appendChild won't work with primitive values and strings. It needs DOM element or else use innerHTML if you want to put primitive values inside divs. \n document.getElementById('rtoOfferValue').appendChild(e.offerValue);\n document.getElementById('rtoOfferCode').appendChild(e.offerCode);\n document.getElementById('textCopy').value = e.offerCode;\n document.getElementById('offerDuration').appendChild(e.offerDuration);\n document.getElementById('offerDurationv2').appendChild(e.offerDuration);\n\n document.getElementById('discliamer_href').href = e.disclaimer;*/\n document.getElementById('rtoOfferValue').innerHTML=e.offerValue;\n document.getElementById('rtoOfferCode').innerHTML=e.offerCode;\n document.getElementById('textCopy').value= e.offerCode;\n document.getElementById('offerDuration').innerHTML=e.offerDuration;\n document.getElementById('offerDurationv2').innerHTML=e.offerDuration;\n\n document.getElementById('discliamer_href').href = e.disclaimer;\n\n \n var uptillTime = new Date();\n uptillTime.setMinutes(uptillTime.getMinutes() + Number(e.offerDuration));\n\n if (e.loyaltyCx == true) {\n document.getElementById('z1-rto-div').classList.add('loyalty');\n }\n\n if (e.ui_version && e.ui_version == 2) {\n document.getElementById('z1-rto-div').classList.add('ui_v2');\n document.getElementById('z1-rto-div').classList.add(e.offType.toLowerCase());\n }\n\n if (e.cta == \"COPY\") {\n document.getElementById('btn_addoffer').innerText = \"COPY OFFER\";\n document.getElementsByClassName('btn_addoffer')[0].classList.add('copy');\n }\n\n if (e.cta == \"ADD\" || e.cta == 'WALLET') {\n document.getElementById('btn_addoffer').innerText = \"ADD OFFER\";\n }\n \n\n document.getElementsByClassName('btn_addoffer')[0].onclick = function() {\n\n if (e.cta == 'COPY') {\n\n var copyTextField = document.getElementById('textCopy');\n copyTextField.select();\n\n var copied = document.execCommand(\"copy\");\n\n console.log('webStoreAllEvents: Got Copied Status ' + copied);\n\n\n document.getElementsByClassName('btn_addoffer')[0].classList.add('copied');\n document.getElementById('btn_addoffer').innerText = \"\";\n\n e.is_copied = 'true';\n localStorage.setItem('z1_supc', JSON.stringify(e));\n\n return;\n }\n\n var urlToGo = '/checkout/shopping_cart.jsp?redeemCoupon=true';\n\n\n if (e.cta == 'WALLET') {\n if (pageData && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n var cartValue = parseInt(pageData.cartDetails.cartSubTotalValue);\n\n //alert('Got Cart Value '+cartValue);\n if (cartValue == 0) {\n urlToGo = '/wallet/my_wallet.jsp#offers';\n }\n\n }\n }\n\n location.href = urlToGo;\n\n };\n\n\n\n \n var hours = uptillTime.getHours();\n var minutes = uptillTime.getMinutes();\n var ampm = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n minutes = minutes < 10 ? '0' + minutes : minutes;\n var strTime = hours + ':' + minutes + ' ' + ampm;\n\n\n \n var uptillTimeStr = strTime;\n\n //document.getElementById('uptillTime').appendChild(uptillTimeStr + '.');\n document.getElementById('uptillTime').innerHTML = uptillTimeStr + '.';\n\n if (document.getElementsByClassName('first-name')[0] && document.getElementsByClassName('first-name')[0].innerText.toLowerCase() != \"account\") {\n document.getElementsByClassName('usernameText')[0].innerText = document.getElementsByClassName('first-name')[0].innerText + ',';\n } else {\n document.getElementsByClassName('saveMsg')[0].innerText = \"Save\";\n }\n \n var existingSupc = localStorage.getItem('z1_supc');\n\n if (existingSupc != null && existingSupc != undefined && existingSupc != 'null') {\n\n existingSupc = JSON.parse(existingSupc);\n\n } else {\n existingSupc = {};\n existingSupc.offType = \"\";\n }\n \n var prop75 = existingSupc.omniturePrefix + '|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n prop75 = prop75 + 'OL|';\n\n console.log('Got Event Name for RTO ', evtName);\n\n\n var rtoReportEvent = '_ws_rto_page_report';\n\n var rtoPageCode = '';\n\n switch (evtName.toLowerCase()) {\n case \"_ws_viewedhome\":\n\n //prop75 = prop75 + 'HP|';\n rtoPageCode = 'HP';\n\n break;\n\n case \"_ws_searched\":\n\n //prop75 = prop75 + 'SP|';\n rtoPageCode = 'SP';\n\n break;\n\n case \"_ws_viewedcatalog\":\n\n //prop75 = prop75 + 'TP|';\n rtoPageCode = 'TP';\n\n break;\n case \"_ws_viewedproduct\":\n\n //prop75 = prop75 + 'PP|';\n rtoPageCode = 'PP';\n\n s.pageName = '';\n s.prop4 = '';\n\n\n break;\n\n case \"_ws_viewedsku\":\n\n //prop75 = prop75 + 'PP|';\n rtoPageCode = 'PP';\n\n s.pageName = '';\n s.prop4 = '';\n\n\n break;\n\n case \"_ws_viewedcart\":\n\n //prop75 = prop75 + 'CP|';\n rtoPageCode = 'CP';\n\n break;\n\n case \"_ws_addedtobag\":\n\n //prop75 = prop75 + 'PP|';\n rtoPageCode = 'PP';\n\n s.pageName = '';\n s.prop4 = '';\n\n\n break;\n }\n\n var currentUserVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n if (currentUserVector) {\n var currentStartTime = currentUserVector.timeVector.toString().split('|')[0];\n\n var returnObj = {};\n returnObj.pgN = rtoPageCode;\n returnObj.sessionStartTime = currentStartTime;\n returnObj.type = \"shown\";\n returnObj.rtoName = e.rtoName;\n returnObj.identifier = e.identifier;\n\n ZineOne.pushEvent(rtoReportEvent, returnObj);\n }\n\n //console.log('After Report Event ', e.pscore,e.offerValue,pageData.cartDetails.cartSubTotalValue,e.offerCode,pageData.customerDetails.customerID);\n\n //prop75 = prop75 + 'P:' + e.pscore + '|';\n //prop75 = prop75 + 'O:' + e.offerValue + '|';\n //prop75 = prop75 + 'T:' + pageData.cartDetails.cartSubTotalValue + '|';\n //prop75 = prop75 + 'OC:' + e.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n if (debugScr) console.log('Got Prop 75 ', prop75Obj);\n\n var cusId = pageData.customerDetails.customerID;\n\n //console.log('Before Condition Check',prop75Obj.prop75,cusId);\n\n if (cusId && prop75Obj.prop75) {\n //console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n\n var eVar39 = cusId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: prop75Obj.prop75,\n eVar39: eVar39\n });\n\n }\n\n updateUserVectors(true, \"qualification_test\");\n\n document.getElementById(\"z1-rto-div\").onclick = function(e) {\n //console.log(\"Event...\",e)\n e.stopPropagation();\n\n //console.log('Elemtn Id ',e.toElement.id);\n\n if (e.toElement.id == 'discliamer_href') {\n window.open(\n document.getElementById(\"discliamer_href\").href,\n '_blank' // <- This is what makes it open in a new window.\n );\n }\n //e.preventDefault();\n return false;\n };\n\n\n\n\n\n\n }\n\n if (typeof s == 'undefined') {\n if (debugScr) console.log('[ZineOne] omniture s is not defined');\n return;\n }\n\n if (debugScr) console.log('[ZineOne-om] omniture z1Response is ', typeof z1Response);\n\n\n if (typeof z1Response == 'string') {\n z1Response = JSON.parse(z1Response);\n }\n\n if (debugScr) console.log('[ZineOne-om] omniture z1Response.prop75 is ', z1Response.prop75, typeof z1Response);\n\n if (z1Response && z1Response.prop75) {\n var showMsg = true;\n if ((z1Response.prop75).includes(\"w>z1pu\")) {\n var isTopRated = document.getElementsByClassName(\"tce-toprated-text\");\n if (isTopRated.length >= 1) {\n if (debugScr) console.log('[ZineOne] found isTopRated=true');\n var topRatedDiv = isTopRated[0];\n showMsg = false;\n }\n var isKChoice = document.getElementsByClassName(\"tce-kchoice\");\n if (isKChoice.length >= 1) {\n if (debugScr) console.log('[ZineOne] found isKChoice=true');\n var topRatedDiv = isKChoice[0];\n showMsg = false;\n }\n }\n if (showMsg) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n } else {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n var prop75 = \"w>z1pu|e\";\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: prop75,\n eVar39: eVar39\n });\n }\n }\n\n if (z1Response && z1Response.prop75) {\n if ((z1Response.prop75).includes(\"w>z1wo\")) {\n ZineOne.pushEvent(\"_ws_z1_wallet_er_update_time\", {});\n }\n }\n\n if (z1Response && z1Response.rtoControl) {\n\n var rtoConProp75 = z1Response.rtoControl;\n\n switch (evtName.toLowerCase()) {\n case \"_ws_viewedhome\":\n\n rtoConProp75 = rtoConProp75.replace('<PN>', 'HP');\n\n break;\n\n case \"_ws_searched\":\n\n rtoConProp75 = rtoConProp75.replace('<PN>', 'SP');\n\n break;\n\n case \"_ws_viewedcatalog\":\n\n rtoConProp75 = rtoConProp75.replace('<PN>', 'TP');\n\n break;\n case \"_ws_viewedproduct\":\n\n rtoConProp75 = rtoConProp75.replace('<PN>', 'PP');\n\n s.pageName = '';\n s.prop4 = '';\n\n\n break;\n\n case \"_ws_viewedsku\":\n\n rtoConProp75 = rtoConProp75.replace('<PN>', 'PP');\n\n s.pageName = '';\n s.prop4 = '';\n\n\n break;\n\n case \"_ws_viewedcart\":\n\n rtoConProp75 = rtoConProp75.replace('<PN>', 'CP');\n\n break;\n\n case \"_ws_addedtobag\":\n\n rtoConProp75 = rtoConProp75.replace('<PN>', 'PP');\n\n s.pageName = '';\n s.prop4 = '';\n\n\n break;\n }\n\n\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: rtoConProp75,\n eVar39: eVar39\n });\n\n //updateUserVectors(true,'qualification_control');\n\n }\n\n if (z1Response && z1Response.fsg) {\n\n if (debugScr) console.log('[ZineOne] free shipping gauge is ' + (z1Response));\n\n var vID = localStorage.getItem(\"z1_cust_id\"); //getCookie(\"VisitorId\");\n if (!isValid(vID)) {\n vID = localStorage.getItem(\"z1_connectUserId\");\n }\n var timestamp = new Date().getTime();\n // Venkat - Begin 10/23/2018 - MVC freeship code enhancement\n var z1_fsg_data = {\n 'fsg': {\n '_d': z1Response.fsg._d,\n '_t': z1Response.fsg._t,\n 'offerCode': z1Response.fsg.offerCode\n },\n 'timestamp': timestamp,\n 'visitorId': vID\n };\n // Venkat - End 10/23/2018 - MVC freeship code enhancement\n localStorage.setItem('z1_fsg_data', JSON.stringify(z1_fsg_data));\n //fsg(JSON.stringify(z1_fsg_data));\n }\n\n if (z1Response && z1Response.bopus) {\n\n if (z1Response.bopus == \"1\") {\n getBopusInfo();\n localStorage.setItem(\"z1_bopus_data\", JSON.stringify(z1Response));\n }\n\n }\n\n if (z1Response && z1Response.rStar) {\n var product_list_with_stars = z1Response.rStar;\n if (product_list_with_stars.length > 0) {\n if (debugScr) console.log(\"[ZineOne] stars with commerce_ids rStar = \", product_list_with_stars);\n for (let i = 0; i < product_list_with_stars.length; i++) {\n //if (debugScr) console.log(\"c obj ...\",product_list_with_stars[i]);\n let elmnt_id = \"z1-star-\" + product_list_with_stars[i].cid;\n let number_of_stars = product_list_with_stars[i].stars;\n number_of_stars = Math.round(number_of_stars * 10) / 10;\n //if (debugScr) console.log(\"[ZineOne] elmnt_id ...\",elmnt_id);\n //if (debugScr) console.log(\"[ZineOne] number_of_stars ...\",number_of_stars);\n if (number_of_stars >= 4) {\n let parent_div = document.getElementById(elmnt_id);\n //if (debugScr) console.log(\"[ZineOne] parent_div...\",parent_div);\n let innerHTMLSvgString = \"\";\n innerHTMLSvgString = innerHTMLSvgString + '<div style=\"float: left;padding-right: 3px;\">';\n for (let j = 0; j < 5; j++) {\n var check_if_decimal = (number_of_stars - j).toFixed(2);\n //if (debugScr) console.log(\"[ZineOne] check_if_decimal...\",check_if_decimal);\n if (check_if_decimal < 1 && check_if_decimal > 0) {\n //if (debugScr) console.log(\"[ZineOne] iff... <1 >0...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 25 25\" style=\"width: 16px !important; height: 16px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024\" x1=\"' + (check_if_decimal * 100) + '%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n } else if (check_if_decimal <= 0) {\n //if (debugScr) console.log(\"[ZineOne] iff... <= 0...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 25 25\" style=\"width: 16px !important; height: 16px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_0.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_0.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_0.99_975024\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n } else {\n //if (debugScr) console.log(\"[ZineOne] iff... 99...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 25 25\" style=\"width: 16px !important; height: 16px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_99.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_99.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_99.99_975024\" x1=\"99.99%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n }\n }\n innerHTMLSvgString = innerHTMLSvgString + '</div>';\n innerHTMLSvgString = innerHTMLSvgString + '<div style=\"float:left;line-height: 20px;\"><span style=\"font-family: &#39;Gotham 7r&#39;,Helvetica,Arial,sans-serif;color:black;\">' + number_of_stars + '</span></div>';\n\n parent_div.innerHTML = innerHTMLSvgString;\n\n }\n }\n }\n }\n\n if (z1Response && z1Response.rStarAbovePointOne) {\n //console.log(\"SAIKAT - ENTERED BLOCK OF Z1RESPONSE & Z1RESPONSE.rStarAbovePointOne\");\n console.log(\"rStarAbovePointOne called!\");\n function showRating() {\n var product_list_with_stars = z1Response.rStarAbovePointOne;\n if (product_list_with_stars.length > 0) {\n if (debugScr) console.log(\"[ZineOne] stars with commerce_ids rStarAbovePointOne = \", product_list_with_stars);\n for (let i = 0; i < product_list_with_stars.length; i++) {\n //if (debugScr) console.log(\"c obj ...\",product_list_with_stars[i]);\n let elmnt_id = \"z1-star-\" + product_list_with_stars[i].cid;\n let number_of_stars = product_list_with_stars[i].stars;\n number_of_stars = Math.round(number_of_stars * 10) / 10;\n if (debugScr) console.log(\"[ZineOne] rStarAbovePointOne - elmnt_id ...\", elmnt_id);\n if (debugScr) console.log(\"[ZineOne] rStarAbovePointOne - number_of_stars ...\", number_of_stars);\n if (number_of_stars >= 0) {\n let parent_div = document.getElementById(elmnt_id);\n parent_div.setAttribute(\"style\", \"margin-top:10px;\");\n //if (debugScr) console.log(\"[ZineOne] parent_div...\",parent_div);\n let innerHTMLSvgString = \"\";\n innerHTMLSvgString = innerHTMLSvgString + '<div style=\"float: left;padding-right: 3px;\">';\n for (let j = 0; j < 5; j++) {\n var check_if_decimal = (number_of_stars - j).toFixed(2);\n //if (debugScr) console.log(\"[ZineOne] check_if_decimal...\",check_if_decimal);\n if (check_if_decimal < 1 && check_if_decimal > 0) {\n //if (debugScr) console.log(\"[ZineOne] iff... <1 >0...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14px\" height=\"14px\" viewBox=\"0 0 25 25\" style=\"width: 14px !important; height: 14px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024\" x1=\"' + (check_if_decimal * 100) + '%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n } else if (check_if_decimal <= 0) {\n //if (debugScr) console.log(\"[ZineOne] iff... <= 0...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14px\" height=\"14px\" viewBox=\"0 0 25 25\" style=\"width: 14px !important; height: 14px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_0.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_0.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_0.99_975024\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n } else {\n //if (debugScr) console.log(\"[ZineOne] iff... 99...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14px\" height=\"14px\" viewBox=\"0 0 25 25\" style=\"width: 14px !important; height: 14px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_99.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_99.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_99.99_975024\" x1=\"99.99%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n }\n }\n innerHTMLSvgString = innerHTMLSvgString + '</div>';\n innerHTMLSvgString = innerHTMLSvgString + '<div style=\"float: left;font-size: 12px;font-family: \\'Gotham 7r\\',GothamBold,Helvetica,Arial,sans-serif;height: 11px;width: 26px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;color: #000000;\">' + number_of_stars + '</div>';\n\n parent_div.innerHTML = innerHTMLSvgString;\n\n }\n }\n }\n\n var decrement_btn_collection = document.getElementsByClassName(\"shopping_cart_dec\");\n var increment_btn_collection = document.getElementsByClassName(\"shopping_cart_inc\");\n var remove_btn_collection = document.getElementsByClassName(\"bag_remove_item gwp-remove-item-shoppingcart\");\n\n if (isValid(decrement_btn_collection) && decrement_btn_collection.length > 0) {\n console.log(\"inside decrement_btn_collection\");\n for (let i = 0; i < decrement_btn_collection.length; i++) {\n decrement_btn_collection[i].onclick = function() {\n setRatings();\n };\n }\n }\n if (isValid(increment_btn_collection) && increment_btn_collection.length > 0) {\n console.log(\"inside increment_btn_collection\");\n for (let i = 0; i < increment_btn_collection.length; i++) {\n increment_btn_collection[i].onclick = function() {\n setRatings();\n };\n }\n }\n if (isValid(remove_btn_collection) && remove_btn_collection.length > 0) {\n console.log(\"inside remove_btn_collection\");\n for (let i = 0; i < remove_btn_collection.length; i++) {\n remove_btn_collection[i].onclick = function() {\n setRatings();\n };\n }\n }\n };\n\n document.addEventListener('ratings', showRating, false);\n var eventini = new CustomEvent('ratings');\n document.dispatchEvent(eventini);\n\n if (isValid(trJsonData) && isValid(trJsonData.cartItems) && trJsonData.cartItems.length > 0) {\n let prd_quanity = 0;\n trJsonData.cartItems.map(function(obj){\n prd_quanity = prd_quanity + obj.quantity;\n });\n localStorage.setItem(\"z1_prd_quanity\", prd_quanity);\n }\n\n function setRatings() {\n let timeCounter = 0;\n let maxCounter = 10;\n let timeDelay = 500;\n let previous_quantity = parseInt(localStorage.getItem(\"z1_prd_quanity\"));\n if (isValid(trJsonData) && isValid(trJsonData.cartItems) && trJsonData.cartItems.length > 0) {\n let checkQuantityChange = setInterval(function() {\n current_quanity = 0\n trJsonData.cartItems.map( function(obj) {\n current_quanity = current_quanity + obj.quantity;\n });\n if (current_quanity != previous_quantity) {\n console.log(\"dec pressed!\");\n let shoppingBagItems = document.getElementsByClassName(\"shoppingBagItem\");\n for (let j = 0; j < shoppingBagItems.length; j++) {\n let parent_div = shoppingBagItems[j].getElementsByClassName(\"z1PostItem\")[0];\n if (isValid(parent_div)) {\n let star_div = document.createElement(\"div\");\n star_div.setAttribute(\"id\", \"z1-star-\" + shoppingBagItems[j].getAttribute('data-skuid'));\n parent_div.appendChild(star_div);\n }\n }\n var event = new CustomEvent('ratings');\n document.dispatchEvent(event);\n localStorage.setItem(\"z1_prd_quanity\", current_quanity);\n clearInterval(checkQuantityChange);\n\n }\n if (timeCounter > maxCounter) {\n clearInterval(checkQuantityChange);\n }\n timeCounter++;\n }, timeDelay);\n }\n };\n\n }\n\n if (z1Response && z1Response.rStarAboveFour) {\n //console.log(\"SAIKAT - ENTERED BLOCK OF Z1RESPONSE & Z1RESPONSE.rStarAboveFour\");\n console.log(\"rStarAboveFour called!\");\n function showRating() {\n var product_list_with_stars = z1Response.rStarAboveFour;\n if (product_list_with_stars.length > 0) {\n if (debugScr) console.log(\"[ZineOne] stars with commerce_ids rStarAboveFour = \", product_list_with_stars);\n for (let i = 0; i < product_list_with_stars.length; i++) {\n //if (debugScr) console.log(\"c obj ...\",product_list_with_stars[i]);\n let elmnt_id = \"z1-star-\" + product_list_with_stars[i].cid;\n let number_of_stars = product_list_with_stars[i].stars;\n number_of_stars = Math.round(number_of_stars * 10) / 10;\n //if (debugScr) console.log(\"[ZineOne] elmnt_id ...\",elmnt_id);\n //if (debugScr) console.log(\"[ZineOne] number_of_stars ...\",number_of_stars);\n if (number_of_stars >= 0) {\n let parent_div = document.getElementById(elmnt_id);\n parent_div.setAttribute(\"style\", \"margin-top:10px;\");\n //if (debugScr) console.log(\"[ZineOne] parent_div...\",parent_div);\n let innerHTMLSvgString = \"\";\n innerHTMLSvgString = innerHTMLSvgString + '<div style=\"float: left;padding-right: 3px;\">';\n for (let j = 0; j < 5; j++) {\n var check_if_decimal = (number_of_stars - j).toFixed(2);\n //if (debugScr) console.log(\"[ZineOne] check_if_decimal...\",check_if_decimal);\n if (check_if_decimal < 1 && check_if_decimal > 0) {\n //if (debugScr) console.log(\"[ZineOne] iff... <1 >0...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14px\" height=\"14px\" viewBox=\"0 0 25 25\" style=\"width: 14px !important; height: 14px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_' + (check_if_decimal * 100) + '.99_975024\" x1=\"' + (check_if_decimal * 100) + '%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n } else if (check_if_decimal <= 0) {\n //if (debugScr) console.log(\"[ZineOne] iff... <= 0...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14px\" height=\"14px\" viewBox=\"0 0 25 25\" style=\"width: 14px !important; height: 14px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_0.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_0.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_0.99_975024\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n } else {\n //if (debugScr) console.log(\"[ZineOne] iff... 99...\");\n innerHTMLSvgString = innerHTMLSvgString + '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14px\" height=\"14px\" viewBox=\"0 0 25 25\" style=\"width: 14px !important; height: 14px !important;\"><polygon points=\"\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_99.99_975024&quot;) !important;\"></polygon><path d=\"M24.8676481,9.0008973 C24.7082329,8.54565507 24.2825324,8.23189792 23.7931772,8.20897226 L16.1009423,8.20897226 L13.658963,0.793674161 C13.4850788,0.296529881 12.9965414,-0.0267985214 12.4623931,0.00174912135 L12.4623931,0.00174912135 C11.9394964,-0.00194214302 11.4747239,0.328465149 11.3146628,0.81767189 L8.87268352,8.23296999 L1.20486846,8.23296999 C0.689809989,8.22949161 0.230279943,8.55030885 0.0640800798,9.0294023 C-0.102119784,9.50849575 0.0623083246,10.0383495 0.472274662,10.3447701 L6.69932193,14.9763317 L4.25734261,22.4396253 C4.08483744,22.9295881 4.25922828,23.4727606 4.68662933,23.7767181 C5.11403038,24.0806756 5.69357086,24.0736812 6.11324689,23.7595003 L12.6333317,18.9599546 L19.1778362,23.7595003 C19.381674,23.9119158 19.6299003,23.9960316 19.8860103,23.9994776 C20.2758842,24.0048539 20.6439728,23.8232161 20.8724402,23.5127115 C21.1009077,23.202207 21.1610972,22.8017824 21.0337405,22.4396253 L18.5917612,14.9763317 L24.6967095,10.3207724 C25.0258477,9.95783882 25.0937839,9.43328063 24.8676481,9.0008973 Z\" style=\"fill: url(&quot;#bv_rating_summary_star_filled_0_99.99_975024&quot;) !important;\"></path><defs><linearGradient id=\"bv_rating_summary_star_filled_0_99.99_975024\" x1=\"99.99%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color: rgb(0, 0, 0); stop-opacity: 1;\"></stop><stop offset=\"1%\" style=\"stop-color: rgb(246, 246, 246); stop-opacity: 1;\"></stop></linearGradient></defs></svg>';\n }\n }\n innerHTMLSvgString = innerHTMLSvgString + '</div>';\n innerHTMLSvgString = innerHTMLSvgString + '<div style=\"float: left;font-size: 12px;font-family: \\'Gotham 7r\\',GothamBold,Helvetica,Arial,sans-serif;height: 11px;width: 26px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;color: #000000;\">' + number_of_stars + '</div>';\n\n parent_div.innerHTML = innerHTMLSvgString;\n\n }\n }\n }\n\n var decrement_btn_collection = document.getElementsByClassName(\"shopping_cart_dec\");\n var increment_btn_collection = document.getElementsByClassName(\"shopping_cart_inc\");\n var remove_btn_collection = document.getElementsByClassName(\"bag_remove_item gwp-remove-item-shoppingcart\");\n\n if (isValid(decrement_btn_collection) && decrement_btn_collection.length > 0) {\n console.log(\"inside decrement_btn_collection\");\n for (let i = 0; i < decrement_btn_collection.length; i++) {\n decrement_btn_collection[i].onclick = function() {\n setRatings();\n };\n }\n }\n if (isValid(increment_btn_collection) && increment_btn_collection.length > 0) {\n console.log(\"inside increment_btn_collection\");\n for (let i = 0; i < increment_btn_collection.length; i++) {\n increment_btn_collection[i].onclick = function() {\n setRatings();\n };\n }\n }\n if (isValid(remove_btn_collection) && remove_btn_collection.length > 0) {\n console.log(\"inside remove_btn_collection\");\n for (let i = 0; i < remove_btn_collection.length; i++) {\n remove_btn_collection[i].onclick = function() {\n setRatings();\n };\n }\n }\n };\n\n document.addEventListener('ratings', showRating, false);\n var eventini = new CustomEvent('ratings');\n document.dispatchEvent(eventini);\n\n if (isValid(trJsonData) && isValid(trJsonData.cartItems) && trJsonData.cartItems.length > 0) {\n let prd_quanity = 0;\n trJsonData.cartItems.map(function(obj) {\n prd_quanity = prd_quanity + obj.quantity;\n });\n localStorage.setItem(\"z1_prd_quanity\", prd_quanity);\n }\n\n function setRatings() {\n let timeCounter = 0;\n let maxCounter = 10;\n let timeDelay = 500;\n let previous_quantity = parseInt(localStorage.getItem(\"z1_prd_quanity\"));\n if (isValid(trJsonData) && isValid(trJsonData.cartItems) && trJsonData.cartItems.length > 0) {\n let checkQuantityChange = setInterval(function() {\n current_quanity = 0\n trJsonData.cartItems.map(function(obj) {\n current_quanity = current_quanity + obj.quantity;\n });\n if (current_quanity != previous_quantity) {\n console.log(\"dec pressed!\");\n let shoppingBagItems = document.getElementsByClassName(\"shoppingBagItem\");\n for (let j = 0; j < shoppingBagItems.length; j++) {\n let parent_div = shoppingBagItems[j].getElementsByClassName(\"z1PostItem\")[0];\n if (isValid(parent_div)) {\n let star_div = document.createElement(\"div\");\n star_div.setAttribute(\"id\", \"z1-star-\" + shoppingBagItems[j].getAttribute('data-skuid'));\n parent_div.appendChild(star_div);\n }\n }\n var event = new CustomEvent('ratings');\n document.dispatchEvent(event);\n localStorage.setItem(\"z1_prd_quanity\", current_quanity);\n clearInterval(checkQuantityChange);\n\n }\n if (timeCounter > maxCounter) {\n clearInterval(checkQuantityChange);\n }\n timeCounter++;\n }, timeDelay);\n }\n };\n\n }\n\n\n //console.log(\"Pre-Loading recommendations....\");\n if (z1Response && z1Response.recommendationData) {\n var recommendationData = z1Response.recommendationData;\n if (debugScr) console.log(\"[ZineOne] recommendationData = \", recommendationData);\n //console.log(\"Loading recommendations....\");\n var products = recommendationData;\n //if (debugScr) console.log(\"products...\",products);\n var innerHTMLString = '';\n if (products && products.length > 0) {\n var parent_div = document.getElementById(\"bd_rec_Horizontal\");\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-holder \">';\n //innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-title\" style=\"display: block;\">You&rsquo;re so close to free shipping!</div>';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-title\" style=\"display: block;\">';\n innerHTMLString = innerHTMLString + '<p class=\"tce-top-text\">You&rsquo;re so close to free shipping!</p>';\n innerHTMLString = innerHTMLString + '<p class=\"tce-bottom-text\"></p>';\n innerHTMLString = innerHTMLString + '</div>';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-container item-count-3\" data-channel=\"WebStore\" data-page=\"ShoppingBag\" data-placement=\"Horizontal\">';\n for (let j = 0; j < products.length; j++) {\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-holder\" data-product-id=\"' + products[j].id + '\" data-product-title=\"' + products[j].productTitle + '\">';\n //innerHTMLString = innerHTMLString + '<a href=\"/product/prd-'+products[j].id+'/*\">';\n\n //BDREC change recommended by Kohl's, 11/13/18\n innerHTMLString = innerHTMLString + '<a href=\"/product/prd-' + products[j].id + '?pfm=' + products[j].source + '-' + products[j].channel + '-' + products[j].page + '-' + products[j].placement + '\">';\n\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-detail-holder\">';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-hover\" title=\"' + products[j].productTitle + '\">';\n innerHTMLString = innerHTMLString + '<div class=\"bd-template-common-loading\" style=\"display: none;\">';\n innerHTMLString = innerHTMLString + '<div class=\"bd-template-common-loader\"></div>';\n innerHTMLString = innerHTMLString + '</div>';\n innerHTMLString = innerHTMLString + '<img class=\"bd-flat-view-product-image\" src=\"' + products[j].image_url + '\">';\n innerHTMLString = innerHTMLString + '</div>';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-details \">';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-price-main-container\">';\n if (products[j].salePrice != \"\") {\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-sale-price-container\">';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-sale-price-label\">Sale</div>';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-sale-price\">&#36;' + products[j].salePrice + '</div>';\n innerHTMLString = innerHTMLString + '</div>';\n }\n if (products[j].regularPrice != \"\") {\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-regular-price-container\">';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-regular-price\">Regular</div>';\n innerHTMLString = innerHTMLString + '<div class=\"bd-flat-view-product-regular-price-label\">&#36;' + products[j].regularPrice + '</div>';\n innerHTMLString = innerHTMLString + '</div>';\n }\n innerHTMLString = innerHTMLString + '</div>';\n innerHTMLString = innerHTMLString + '</div>';\n innerHTMLString = innerHTMLString + '</div>';\n innerHTMLString = innerHTMLString + '</a>';\n innerHTMLString = innerHTMLString + '</div>';\n }\n innerHTMLString = innerHTMLString + '</div>';\n innerHTMLString = innerHTMLString + '</div>';\n parent_div.innerHTML = innerHTMLString;\n }\n }\n\n if (z1Response && z1Response.abandon_cart_pop_up_image) {\n console.log(\" z1Response.abandon_cart_pop_up_image >>> \", z1Response.abandon_cart_pop_up_image);\n\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n var styles = '.z1-abandon-cart-pop-up-bg {width: 100%;height: 100%;background: #ffffff96}';\n styles += '.z1-abandon-cart-pop-up-container {position: absolute;top: 50%; left: 50%; width: 373px;height: 317px;border-radius: 8px;border: solid 4px #dceef0;background-color: #ffffff;transform: translate(-50%, -50%);}';\n styles += '.z1-abandon-cart-pop-up-welcome-back{ width: 373px;height: 54px;background-color: #dceef0;}';\n styles += '.z1-abandon-cart-pop-up-welcome-back-text-box { width: 381px;height: 35px;font-family: \"Gotham 5r\", Helvetica, Arial, sans-serif ;font-size: 26px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #14718a;}';\n\n styles += '.z1-abandon-cart-pop-up-text{ margin-top: 10px;margin-bottom: 10px;font-family: \"Gotham 5r\", Helvetica, Arial, sans-serif;font-size: 15px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1.27;letter-spacing: normal;text-align: center;color: #000000;}';\n styles += '.z1-abandon-cart-pop-up-center{text-align: center;}';\n\n styles += '.z1-abandon-cart-pop-up-center-checkout{ text-align: center;width: 162px;height: 40px;background-color: #14718a;margin: auto;}'\n styles += '.z1-abandon-cart-pop-up-img{ width: 162px; height: 142px; margin: 5px;}';\n styles += '.z1-abandon-cart-pop-up-checkout-btn { height: 40px;background-color: #14718a;font-family: \"Gotham 4r\", Helvetica, Arial, sans-serif;font-size: 14px;color: #ffffff;font-weight: 500;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;}';\n styles += '.z1-abandon-cart-pop-up-close-btn-div { height: 12.5px; }';\n\n styles += '.z1-abandon-cart-pop-up-close:before, .z1-abandon-cart-pop-up-close:after {position: absolute;right: 12.5px;content: \\' \\';height: 20px;width: 1.5px;background-color: #14718a;}';\n\n\n\n styles += '.z1-abandon-cart-pop-up-close:before {transform: rotate(45deg);}';\n styles += '.z1-abandon-cart-pop-up-close:after {transform: rotate(-45deg);}';\n appendStyle(styles);\n\n var abcCartParentDiv = document.getElementById(\"z1-abandon-cart-pop-up\");\n\n var inHTMLString = \"\";\n inHTMLString = inHTMLString + \"<div class='z1-abandon-cart-pop-up-bg'></div>\";\n inHTMLString = inHTMLString + \"<div class='z1-abandon-cart-pop-up-container'>\";\n //inHTMLString = inHTMLString + \"<a href='JavaScript:Void(0);' onclick='document.getElementById(\\\"z1-abandon-cart-pop-up\\\").style.display=\\\"none\\\";' class='z1-abandon-cart-pop-up-close'></a>\";\n inHTMLString = inHTMLString + \"<div class='z1-abandon-cart-pop-up-welcome-back'><div class='z1-abandon-cart-pop-up-close-btn-div'><a href='JavaScript:Void(0);' onclick='document.getElementById(\\\"z1-abandon-cart-pop-up\\\").style.display=\\\"none\\\";' class='z1-abandon-cart-pop-up-close' style='background-color: transparent;float: right;height: 20px;width: 20px;cursor: pointer;'></a></div><div class='z1-abandon-cart-pop-up-welcome-back-text-box'>Welcome back.</div></div>\";\n inHTMLString = inHTMLString + \"<div class='z1-abandon-cart-pop-up-text'>There's still something in your cart.<br>Get it before it's gone!</div>\";\n inHTMLString = inHTMLString + \"<div class='z1-abandon-cart-pop-up-center' ><img src='\" + z1Response.abandon_cart_pop_up_image + \"' alt='' class='z1-abandon-cart-pop-up-img'></div>\";\n inHTMLString = inHTMLString + \"<div class='z1-abandon-cart-pop-up-center-checkout'><input type='button' onclick=\\\"location.href='https://www.kohls.com/checkout/v2/checkout.jsp'\\\" value='CHECK OUT NOW' class='z1-abandon-cart-pop-up-checkout-btn'></div>\";\n inHTMLString = inHTMLString + \"</div>\";\n abcCartParentDiv.innerHTML = inHTMLString;\n abcCartParentDiv.style.display = \"block\";\n }\n\n\n\n } catch (error) {\n console.log('[ZineOne-om] Could not process _ws_ rawdatahandler due to error. ', error);\n }\n }\n\n\n function fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n }\n\n\n function fsg(z1Response) {\n var timestart;\n if (debugScr) {\n timestart = new Date().getTime();\n }\n if (debugScr) console.log(\"[ZineOne] response = \" + z1Response);\n z1Response = JSON.parse(z1Response);\n var flag = (z1Response.fsg);\n if (debugScr) console.log(\"[ZineOne] flag = \" + flag);\n\n\n //fsg\n if (flag._d == \"1\") {\n\n var neb = document.getElementById(\"new-equity-banner\");\n //neb.fadeOut();\n neb.style.display = \"none\";\n // var jsb = document.getElementById(\"js-shipping-banner-2\");\n // jsb.style.display = \"block\";\n\n\n\n //fade(neb);\n\n //display flag\n //var vID = getCookie(\"VisitorId\");\n var vID = localStorage.getItem(\"z1_cust_id\"); //getCookie(\"VisitorId\");\n if (!isValid(vID)) {\n vID = localStorage.getItem(\"z1_connectUserId\");\n }\n var thresh = isNumeric(vID) ? (\"$\" + (flag._t)) : \"$75\"; // Oct 31-Nov25 is 50 not 75\n var thr = isNumeric(vID) ? parseInt(flag._t) : 75; // Oct 31-Nov25 is 50 not 75\n\n try {\n\n if (debugScr) console.log(\"[ZineOne] setting styles\");\n /*\n var parent = document.getElementById(\"new-equity-banner\");\n var css = document.createElement(\"style\");\n css.type = \"text/css\";\n var styles = \".kas-newpb-free-shipping-msg { font-size: 12px; font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif !important;color: #5f5f5f !important } .freeShipSuggestMessage { color: #1babb4 !important; font-size: 13px; font-family: 'Gotham 7r', 'GothamMedium', Helvetica, Arial, sans-serif !important;color: #1babb4 !important } .freeShipSuggestMessage span { font-size: 13px; font-family: 'Gotham 7r', 'GothamMedium', Helvetica, Arial, sans-serif !important; color: #1babb4 !important} #js-shipping-banner-2 {display: block; !important }\";\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n parent.appendChild(css);\n parent.style.height = \"40px\";\n */\n (\n function() {\n\n function a() {\n //changed tce-meter-bar from 56em to 39em and tce-meter-copy from 15em to 8em, changed tce-ship-meter-cartDetails height to 39px from 40px\n var r = \"<style type=\\\"text/css\\\"> #tce-ship-meter {display: block;clear: both;}.tce-meter-copy {position: absolute;top: 50%;left: 8em;transform: translateY(-50%);}.tce-meter-copy p {font-size: 16px;color: #000; font-family:'Gotham 5r', Helvetica, sans-serif;text align:center;}.tce-meter-copy span {font-size: 16px;color: #108281; font-family:'Gotham 5r', Helvetica, sans-serif;}.tce-meter-bar * {all: unset;}.tce-meter-bar {position: absolute;float: left;width: 315px;left: 49em;top: 1.2em;}.tce-meter-bar p {display: block;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 0;-webkit-margin-end: 0;}.tce-ship-meter-cartDetails {width:100%;text-align:center;max-width: 1044px;margin-left: auto;margin-right: auto;display:block;position:relative;height:39px;text-align: center;background-color:#f0f0f0;}.tce-ship-meter-cartDetails__gauge {display: block;height: auto; width:100%;}.tce-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 13px;position: absolute;left: 2.5em;}.tce-ship-meter-cartDetails-left {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;color: #000;font-weight: bold;position: absolute;left: 0;}.tce-ship-meter-cartDetails-right {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;font-weight: bold;color: #000;position: absolute;left: 112%;top: 0;}.tce-small-ship-meter-cartDetails {display:block;position:relative;width: 166px;height: 28px;top: 18px;margin-top:2px;}.tce-small-ship-meter-cartDetails-left {font-size: 11px;color:#000;font-weight:bold;position:absolute;font-family:'Gotham 4r', Helvetica, sans-serif;}.tce-small-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 13px;position: absolute;left: 2.5em;}.tce-small-ship-meter-cartDetails-right {font-size: 11px;color:#000;position: absolute;left: 125%;top: 0;font-family:'Gotham 4r', Helvetica, sans-serif;}</style>\";\n\n function g(u, s, t) {\n\n\n return $(\"#js-free-shipping-meter1, #js-free-shipping-meter2\").css({\n\n background: \"linear-gradient(to right, \" + u + \" 0%,\" + u + \" \" + t + \"%,\" + s + \" \" + t + \"%,\" + s + \" 100%)\"\n\n }\n\n );\n\n };\n\n var n = '<div class=\"tce-meter-bar\" ><div class=\"tce-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter1\" class=\"tce-ship-meter-cartDetails-meter\"></div><div class=\"tce-ship-meter-cartDetails-right\"> ' + thresh + '</div></div>';\n\n function d() {\n\n var s = f();\n var pqr = \"<a style='outline: 0 none;color: #000; text-decoration: none; 'href='https: //www.kohls.com/ecom/shipping/75_ShippingUPDATED_nodates_bopus.html' target='blank'><p style='background: url(https://media.kohlsimg.com/is/image/kohls/20180215-CL-shipping-truck-desktop?fmt=png-alpha&scl=1) 0px 7px no-repeat;display: inline-block;padding-left: 50px;height: 40px;line-height: 40px;background-size: 40px;'>Earn <span>free shipping</span> on orders \".concat(thresh.concat(\" or more! <span style='text-decoration: underline;text-transform: none;font-size: 10px;color:#000;'>details</span></p></a>\"));\n var t = s > 0 && s < thr ? \"<a style='outline:0 none;color: #000;text-decoration: none;'href='https://www.kohls.com/ecom/shipping/75_ShippingUPDATED_nodates_bopus.html' target='blank'><p style='background: url(https://media.kohlsimg.com/is/image/kohls/20180215-CL-shipping-truck-desktop?fmt=png-alpha&scl=1) 0px 7px no-repeat;display: inline-block;padding-left: 50px;height: 40px;line-height: 40px;background-size: 40px;'>You're $\" + h() + \" away from <span>free shipping!</span> <span style='text-decoration: underline;text-transform: none;font-size: 10px;color:#000;'>details</span></p></a>\" : s >= thr ? \"<a style='outline:0 none;color: #000;text-decoration: none;' href='https://www.kohls.com/ecom/shipping/75_ShippingUPDATED_nodates_bopus.html' target='blank'><p style='background: url(https://media.kohlsimg.com/is/image/kohls/20180215-CL-shipping-truck-desktop?fmt=png-alpha&scl=1) 0px 7px no-repeat;display: inline-block;padding-left: 50px;height: 40px;line-height: 40px;background-size: 40px;'>You&rsquo;ve earned <span>free shipping</span> on your order! <span style='text-decoration: underline;text-transform: none;font-size: 10px;color: #000;'>details</span></p></a>\" : pqr;\n\n //changes done on 30102018\n //return (r + '<div id=\"js-shipping-banner-2\" class=\"tce-ship-meter-cartDetails\"><div class=\"tce-meter-copy\"><p>' + t + \"</p></div>\" + n + \"</div>\");\n return (r + '<div id=\"js-shipping-banner-2\" style=\"display:none;\" class=\"tce-ship-meter-cartDetails\"><div class=\"tce-meter-copy\"><p>' + t + \"</p></div>\" + n + \"</div>\");\n };\n\n function l() {\n //set display to none for js-meter-summary-2\n var xyz = '<div id=\"js-meter-summary-2\" style=\"display:block\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\"> '.concat(thresh.concat('</div> </div>'));\n return xyz; //'<div id=\"js-meter-summary-2\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\">$75</div> </div>'\n\n };\n\n\n function h() {\n var s = localStorage.getItem(\"persistent_bar_components_json_v1\");\n if(s && !isValid(s)){\n s = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n if (s == \"null\" || (JSON.parse(s)).status == \"Failure\") {\n //if (debugScr) console.log(\"[ZineOne] the cart is empty\");\n return \"the-cart-is-empty\";\n }\n\n return (thr - i()).toFixed(2);\n\n //var t = $.parseJSON(s);\n //return t.shipmentInfo[0].shipmentPriceInfo.freeShipQualificationDelta // returns delta\n };\n\n function i() {\n var s = localStorage.getItem(\"persistent_bar_components_json_v1\");\n if(s && !isValid(s)){\n s = (isValid(Kjs) && isValid(Kjs.PB) && isValid(Kjs.PB.getPbCartStorage())) ? JSON.stringify(Kjs.PB.getPbCartStorage()) : \"null\";\n }\n if (s == \"null\" || (JSON.parse(s)).status == \"Failure\") {\n return 0;\n }\n\n var t = $.parseJSON(s);\n return t.orderSummary.merchandisePromoAmount; // returns total\n //return t.orderSummary.total // returns total\n };\n\n\n function f() {\n\n var u = i(); //total\n var t = h() >= 0 ? h() : 0; //delta\n var s = thr; //threshold\n\n\n if (debugScr) console.log(\"[ZineOne] (total,delta,threshold) = (\" + u + \",\" + t + \",\" + s + \")\");\n\n\n var x = t > 0 ? (s - t).toFixed(2) : t === 0 && u >= s ? s : 0; // returns total-delta\n\n return x;\n\n };\n\n\n function q() {\n\n return Math.round(100 / thr * f()); // returns %ge full\n };\n\n function m(t) {\n\n c(t);\n var s = q();\n var temp = s >= 100 ? g(\"#0d8886\", \"#0d8886\", 100) : g(\"#0d8886\", \"#d6d8da\", s);\n return;\n\n };\n\n\n function c(s) {\n\n if (s === \"add\") {\n\n $(d()).insertBefore($(\"div.tr_phase2_headercontainer\")); //tr_phase2_headercontainer\n\n }\n\n\n\n if (s === \"update\") {\n\n $(\"#js-shipping-banner-2\").html($(d()));\n }\n };\n\n m(\"add\");\n var j = $(\"#mini-cart .mini-cart-header .subtotal\");\n var e = {\n attributes: true,\n childList: true\n };\n function o(w) {\n var v = w.length;\n\n for (var t = 0; t < v; t++) {\n\n if (w[t].type === \"childList\") {\n var u = f();\n var s = $(\".loadedNewPB\");\n\n if (s.length === 0) {\n return;\n }\n $(\"#js-meter-summary-2\").remove();\n $(\".tr_phase2_add_padding_ghr\").appendChild(l());\n\n return m(\"update\");\n }\n /*\n if (w[t].type === \"attributes\") {\n var u = f();\n var s = $(\".loadedNewPB\");\n\n if (s.length === 0) {\n return;\n }\n\n $(\".tr_phase2_add_padding_ghr\").appendChild(l());\n\n return m(\"update\");\n }\n */\n\n }\n return;\n };\n\n var k = new MutationObserver(o);\n k.observe(j[0], e);\n var p = localStorage.setItem;\n localStorage.setItem = function() {\n var t = new CustomEvent(\"itemInserted\");\n document.dispatchEvent(t);\n p.apply(this, arguments);\n var s = h();\n if (s === \"the-cart-is-empty\") {\n return;\n }\n\n return m(\"update\");\n };\n };\n\n\n var b = setInterval(function() {\n if (document.readyState === \"complete\") {\n clearInterval(b);\n a();\n }\n\n }, 100);\n\n })();\n\n\n if (debugScr) {\n var timeend = new Date().getTime();\n if (debugScr) console.log(\"[ZineOne] FSG time taken ==> \" + (timeend - timestart));\n }\n\n } catch (z1ie) {\n console.log(\"[ZineOne] FSG Tag Failed.\", z1ie);\n }\n\n\n // Venkat - Begin - 10/23/2018 - MVC enhancement\n\n }\n if (flag._d == \"2\") {\n try {\n var z1_cid = localStorage.getItem(\"z1_cust_id\");\n if (debugScr) console.log(\"Newly added return code for only mvc_event and mvc_status true and offer code: \" + flag);\n if (z1_cid && (z1_cid == \"2254009728812139\" || z1_cid == \"3000000030411692\")) {\n\n var parentDiv = document.getElementById(\"shipping-banner\");\n if (isValid(parentDiv)) {\n var fsg_parent_div = document.createElement(\"div\");\n fsg_parent_div.setAttribute(\"id\", \"loyalty-default-msg1\");\n //parentDiv.prepend(fsg_parent_div);//Won't work in IE...need to write using other logic\n }\n var offerCode = flag.offerCode;\n myOfferCode = unescape(offerCode);\n if (debugScr) console.log(\"myOfferCode \" + myOfferCode);\n var existingDiv = document.getElementById(\"loyalty-default-msg1\");\n // TODO - in prod this is different - existingDiv.innerHTML = '';\n\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n /*var _styleStr = `\n \\/* FSG CSS: BEGIN *\\/\n\n .fsg-band-container { width: auto; display: flex; color: #FFFFFF; font-size: 12px; align-items: center; background-size: cover; height: 53px;object-fit: contain; background-image: linear-gradient(to left, #d9008c, #fb5f29);}\n .fsg-icon-container .shipping-icon {filter: brightness(0) invert(1); text-align: left; width: 50px; height: 33.7px; object-fit: contain;}\n .FSG-Hey-MVC-your-shipping {padding: 2px 65px; text-align: center; height: 27px; font-family: Gotham; font-size: 13px; font-weight: normal; font-style: normal; font-stretch: normal; line-height: normal; letter-spacing: -0.2px; text-align: center; color: #ffffff;}\n .FSG.mvc.t1 { letter-spacing: -0.5px;}\n .FSG.mvc.t2 { font-weight: 700; letter-spacing: -0.5px;}\n\n \\/* FSG CSS: END *\\/\n `;*/\n var _styleStr = '.fsg-band-container{height:35px;width:auto;display:flex;color:#fff;align-items:center;background-size:cover;object-fit:contain;background-image:linear-gradient(to left,#d9008c,#fb5f29);padding:3px 20px 3px 20px}.fsg-icon-container .shipping-icon{filter:brightness(0) invert(1);text-align:left;width:50px;height:33.7px;object-fit:contain}.FSG-Hey-MVC-your-shipping{font-family:\"Gotham 5r\",Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:-.2px;text-align:center;color:#fff;margin:0 auto}.FSG.mvc.t1{letter-spacing:-.5px}.FSG.mvc.t2{font-weight:700;letter-spacing:-.5px}'; // Enhancement 26/10/2018\n\n //call appendStyle\n appendStyle(_styleStr);\n var fsg_fname = getCookie(\"VisitorUsaFullName\");\n //fsg_fname = (fsg_fname) ? \" \" + fsg_fname : \"\";\n fsg_fname = (fsg_fname) ? \" \" + fsg_fname.replace(/\\|/g, \"\") : \"\"; // Enhancement 26/10/2018\n\n /*var domstr = `\n <div class=\"fsg-band-container\">\n <div class=\"fsg-icon-container\">\n <img src=\"https://media.kohlsimg.com/is/image/kohls/20180215-CL-shipping-truck-desktop?fmt=png-alpha&scl=1\" class=\"shipping-icon\">\n </div>\n <div class=\"FSG-Hey-MVC-your-shipping\">\n <span >Hey` + fsg_fname + `, your shipping is on us! <br> </span>\n <span class=\"FSG.mvc.t1\"> Promo code: </span>\n <span class=\"FSG.mvc.t2\">${myOfferCode}</span>\n </div>\n </div>`;*/\n var domstr = '<div class=\"fsg-band-container\"><div class=\"fsg-icon-container\"><img src=\"https://media.kohlsimg.com/is/image/kohls/20180215-CL-shipping-truck-desktop?fmt=png-alpha&scl=1\" class=\"shipping-icon\"></div><div class=\"FSG-Hey-MVC-your-shipping\"><span>Hey' + fsg_fname + ', your shipping is on us! </span><span class=\"FSG.mvc.t1\"> Promo code: </span><span class=\"FSG.mvc.t2\">${myOfferCode}</span></div></div>'; // Enhancement 26/10/2018\n\n //changes done on 30102018\n //if (debugScr) console.log(\"domstr \" + domstr);\n // TODO - in prod this is different - existingDiv.innerHTML = domstr;\n existingDiv.innerHTML = domstr;\n }\n\n } catch (ze) {\n console.log(\"[ZineOne] @@ FSG Tag Failed.\", ze);\n }\n // Venkat - End - 10/23/2018 - MVC enhancement\n } else {\n if (debugScr) console.log(\"[ZineOne] FSG Display Off.\");\n var dc = document.getElementById(\"new-equity-banner\");\n dc.style.display = \"block\";\n }\n //fsg\n\n }\n\n\n function getBopusInfo() { //skuCode) {\n // Venkat - Begin - 01/09/2019\n // PLEASE set the following var TO ENABLE the BOPUS Pdp store hour notifications\n if (!ENABLE_BOPUS_STORE_HOUR)\n return;\n // Venkat - End - 01/09/2019\n\n\n if (debugScr) console.log(\"[ZineOne] BOPUS Start for selected sku!==> \" + typeof(Kjs.mainPanel.getBagItem(\"skuId\")));\n\n var bopusFound = false; //store found\n var bopusEligible = false; //product found\n var storeId = \"-1\";\n var customer = pageData.customerDetails;\n var qtyList = pageData.productDetails.pageItems.QtyInfo;\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\"); // KOHL'S client side function to get currently selected sku\n var storeDist = \"-1\";\n //console.log(\"[ZineOne] pageData ==> \" + JSON.stringify(pageData.productDetails.pageItems.QtyInfo));\n\n if (!isValid(pageData) || !isValid(pageData.customerDetails) || !isValid(pageData.productDetails) || !isValid(pageData.productDetails.pageItems) || !isValid(pageData.productDetails.pageItems.QtyInfo))\n return;\n\n if (debugScr) console.log(\"[ZineOne] pageData Exists with sku!==> \" + Kjs.mainPanel.getBagItem(\"skuId\"));\n\n //Check whether Bopus is available for the SKU\n for (var i = 0; i < qtyList.length; i++) {\n if (debugScr) console.log(\"[ZineOne] BOPUS loop: \" + (JSON.stringify(qtyList[i].skuCode) == skuCode));\n if (isValid(qtyList[i].storeWithBopusAvailability) && (qtyList[i].availableBopusInventory > 0) && (qtyList[i].storeDistanceFromPreferredStore >= 0) && qtyList[i].skuCode == skuCode) {\n if (debugScr) console.log(\"[ZineOne] BOPUS Eligible!\" + i);\n storeId = qtyList[i].storeWithBopusAvailability;\n storeDist = qtyList[i].storeDistanceFromPreferredStore;\n bopusEligible = true;\n break;\n }\n } // pageData SKU loop\n\n if (bopusEligible) { // then search for store in store list\n\n var storeList = localStorage.getItem('K_storelist');\n var storeListJson = JSON.parse(storeList).allAvailableStores;\n var storeName = \"-1\";\n var address = \"-1\";\n var longitude = \"0\";\n var workingHours = \"-1\";\n\n for (i = 0; i < storeListJson.length; i++) {\n if (storeId == storeListJson[i].shipNode) {\n // BOPUS store found\n if (debugScr) console.log(\"[ZineOne] Store FOUND in store list. \");\n bopusFound = true;\n storeName = storeListJson[i].organizationName;\n address = storeListJson[i].addressLine1;\n longitude = storeListJson[i].longitude;\n workingHours = storeListJson[i].workingHours;\n break;\n }\n } // K_storelist loop\n\n if (!bopusFound || !storeName || !address || storeName == \"-1\" || address == \"-1\") {\n if (debugScr) {\n if (debugScr) console.log(\"[ZineOne] Store NOT FOUND in store list.\");\n }\n //return; <==== Might want to uncomment in case storelist should be used\n }\n\n var X_hours = \"-1111111111\";\n X_hours = getX_hours(longitude, workingHours);\n if (debugScr) console.log(\"[ZineOne] X_hours ==> \" + X_hours);\n\n if (parseInt(X_hours) > 2) { // store not open or going to open soon. DON'T show message!!!!\n if (debugScr) console.log(\"[ZineOne] xhours not 2\" + parseInt(X_hours));\n return;\n }\n\n var suffix = \"!\";\n\n // FOR NOW. CHECK WITH NDE-40 TO UPDATE THE MILES SHOWN.\n if ((parseFloat(storeDist) > 0 && parseFloat(storeDist) <= 15)) {\n //Commented out as per discussions with Nikhil Chandurkar (since distance is already shown)\n //suffix = \", \" + storeDist + \" miles away!\";\n } else if (parseFloat(storeDist) > 15) {\n if (debugScr) console.log(\"[ZineOne] storedist too far \" + parseFloat(storeDist));\n return; // DON'T show if more than 15 miles away!!\n }\n\n var ship_selec = document.getElementsByClassName(\"preferedStore\")[0]; //document.getElementById(\"shipment-selection\");\n var txt = document.createElement(\"span\");\n if (isValid(document.getElementById(\"z1\"))) {\n var z1 = document.getElementById(\"z1\");\n if (debugScr) console.log(\"[ZineOne] removing z1\");\n z1.parentNode.removeChild(z1);\n }\n // Venkat - Begin - 10/08/2018 - Changing the copy message as per Nikhil's email\n //txt.innerHTML = (\"<span id='z1' style='color:#D88907; display:inline'><b style='color:black'>-</b> Pickup in store in \" + /*X_hours*/ \"2\" + \" hours\" + suffix + \"</span>\");\n txt.innerHTML = (\"<span id='z1' style='color:#D88907; display:inline'><b style='color:black'>-</b> Most orders ready in \" + /*X_hours*/ \"2\" + \" hours\" + suffix + \"</span>\");\n // Venkat - END - 10/08/2018\n ship_selec.appendChild(txt);\n\n } else {\n return; // bopusEligible = false\n }\n\n }\n\n function getX_hours(longitude, workingHours) {\n\n if (debugScr) console.log(\"[ZineOne] X_hours Start!\");\n\n var d = new Date();\n var currHH = parseInt(d.getHours()) < 10 ? (\"0\" + d.getHours()) : d.getHours();\n var currMM = parseInt(d.getMinutes()) < 10 ? (\"0\" + d.getMinutes()) : d.getMinutes();\n var currHHMM = parseInt(currHH + \"\" + currMM); //\"0331\"; //\"2342\"; //finHHMM; //parseInt(currHH+\"\"+currMM);\n var X_hours = \"\"; //= currHHMM > closesAtHHMM ? ((2400 - currHHMM) + opensAtHHMM) : currHHMM<opensAtHHMM? (opensAtHHMM-currHHMM) : 0;//(closesAtHHMM - currHHMM);\n var diffHH;\n var diffMM;\n ////////// According to NDE-40 updates, hardcode store hours to 7am-5pm. Show 2 hrs in between these times.\n var opensAtHHMM = 1300; // 7 am // 1 pm\n var closesAtHHMM = 1700; // 5 pm\n //////////\n\n if (debugScr) console.log(\"[ZineOne] X_hours MATH start!\");\n\n if (currHHMM > closesAtHHMM) {\n diffHH = 24 - Math.floor(currHHMM / 100) + Math.floor(opensAtHHMM / 100);\n diffMM = Math.floor(opensAtHHMM % 100) - Math.floor(currHHMM % 100);\n if (diffMM < 0) {\n diffHH = diffHH - 1;\n diffMM = diffMM + 60;\n }\n diffHH = diffHH < 10 ? \"0\" + diffHH : diffHH;\n diffMM = diffMM < 10 ? \"0\" + diffMM : diffMM;\n X_hours = diffHH + \"\" + diffMM;\n\n } else if (currHHMM < opensAtHHMM) {\n diffHH = Math.floor(opensAtHHMM / 100) - Math.floor(currHHMM / 100);\n diffMM = Math.floor(opensAtHHMM % 100) - Math.floor(currHHMM % 100);\n if (diffMM < 0) {\n diffHH = diffHH - 1;\n diffMM = diffMM + 60;\n }\n diffHH = diffHH < 10 ? \"0\" + diffHH : diffHH;\n diffMM = diffMM < 10 ? \"0\" + diffMM : diffMM;\n X_hours = diffHH + \"\" + diffMM;\n\n } else {\n X_hours = 2; // show 2 hours when between 7am and 5pm\n }\n\n if (debugScr) console.log(\"[ZineOne] X_hours MATH end! currHHMM => \" + currHHMM + \" X_hours ==> \" + X_hours);\n\n if ((\"\" + X_hours).length > 3) {\n var h = Math.floor(parseInt(X_hours) / 100);\n var dm = (parseFloat(X_hours) % 100) / 60;\n //console.log(\"[ZineOne] h, dm ==>\" + h + \",\" + dm);\n X_hours = Math.round(h + dm);\n }\n return X_hours;\n }\n\n\n\n function getDayLightOffset() {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth() + 1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow;\n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n\n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n function convertUTCtoCST(dateObj) {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr) {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1] - 1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1] - 1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset() * 60 * 1000) / 1000);\n\n if (debugScr) console.log(dateObj.getTime() + ' getTimeFromApiFormat ' + dateObj);\n\n return dateObj.valueOf();\n\n }\n\n\n\n function addDataToRedemptionPopup(popupDiv, promoCode) {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n\n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n if (debugScr) console.log('Final HTML ' + InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function() {\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if (currentPromoCode == promoCode) {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc', JSON.stringify(existingSupc));\n\n }\n\n };\n\n }\n\n\n\n function addSUPCRedemption(e) {\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function() {\n\n\n var style = '.popupPromoText { font-size: 1.85em; margin-bottom: 5px;}';\n\n appendStyle(style);\n\n if (debugScr) console.log(\"kohlscashapply Click \");\n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function() {\n\n if (debugScr) console.log(\"Checking for Redemption Popup \" + timeCounter);\n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n if (debugScr) console.log('Got Popup Div ' + popupDiv);\n\n if (popupDiv != undefined && popupDiv != null) {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv, e.offerCode);\n\n return;\n }\n\n if (timeCounter > maxCounter) {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n }\n\n\n function checkForOfferSequence(pgName) {\n //return;\n if (pgName == \"Home\" | pgName == \"PMP\" | pgName == \"Search\" | pgName == \"Cart\") {\n var z1_offerDetails = localStorage.getItem('z1_offerDetails') + \"\";\n if (debugScr) console.log(\"z1_offerDetails...\", z1_offerDetails);\n if (isValid(z1_offerDetails)) {\n var z1_offerDetails_json = JSON.parse(z1_offerDetails);\n if (debugScr) console.log(\"z1_offerDetails_json...\", z1_offerDetails_json);\n if (!z1_offerDetails_json.offerUsed) {\n openKohlsCashModal('https://www.kohls.com/checkout/v2/includes/kohlsCash.jsp?shouldIncludeForms=true', Kjs.CMDM.softlogin('.kohlscashapply'));\n\n var popupInterval = setInterval( function() {\n\n if (document.getElementById('promo-kcInput') != null) {\n\n if (debugScr) console.log('promocode....' + z1_offerDetails_json.offerCode);\n document.getElementById('promo-kcInput').value = z1_offerDetails_json.offerCode;\n document.getElementById('applyInputButton').click();\n localStorage.removeItem('z1_offerDetails');\n\n clearInterval(popupInterval);\n }\n }, 1000);\n }\n }\n }\n }\n\n\n function addSUPCMinicart() {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if (existingSupc != null && existingSupc != undefined && existingSupc != 'null') {\n var e = JSON.parse(existingSupc);\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n if (debugScr) console.log(e.offerExpiry + \" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0, currentTime.toString().length - 3));\n\n if (debugScr) console.log(endTime + \" timeCheck Main: \" + currentTime);\n\n rtoTimeRemaining = (endTime - currentTime);\n\n if (rtoTimeRemaining <= 0 || e.is_redeemed == true) {\n return;\n }\n\n document.getElementById(\"tr_phase2_ShoppingBg\").onclick = function() {\n\n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n\n\n var popupCheck = setInterval(function() {\n\n if (debugScr) console.log(\"Checking for Redemption Popup \" + timeCounter);\n\n var popupDiv = document.getElementsByClassName('tr_phase2_headerPanel')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n if (debugScr) console.log('Got Popup Div ' + popupDiv);\n\n if (popupDiv != undefined && popupDiv != null) {\n clearInterval(popupCheck);\n\n\n addSUPCRedemption(e);\n //setTimeout(function(){ }, 500);\n\n\n return;\n }\n\n if (timeCounter > maxCounter) {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n };\n\n\n }\n\n }\n\n\n addSUPCMinicart();\n\n\n } catch (ie) {\n console.log(\"Error in Tag webstoreSendEventAllPages: WebStore Z1 tag. \", ie);\n\n // var currentDate = new Date();\n // var errorObj = {};\n // errorObj.p1 = ie.message;\n\n // var custDetails = pageData.customerDetails.customerID;\n\n // errorObj.p2 = '8. webstoresendevent '+evtName + '|'+currentDate + '|'+custDetails;\n\n // ZineOne.pushEvent('_ws_logs', errorObj);\n }\n\n\n\n\n /*$(document).ready(function(){*/\n /*\n $.ajax({\n url: \"/common/user_check_status.jsp\",\n dataType: 'json',\n success: function(data) {\n console.log(JSON.stringify(data));\n },\n error: function() {\n //alert(\"error\");\n }\n });\n */\n /*});*/\n\n} catch (e) {\n console.log(\"[Zineone-I-I] Error in webstoreSendEventAllPages: WebStore Z1 tag \",e);\n}","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"closeZ1WidgetOnMIniCartClick","actionType":"z1script","script":"try {\n var elem = document.getElementById('z1widget');\n if (elem) elem.style.display = \"none\";\n} catch (ee) {\n console.log(\"[zineone] err in tag closeZ1WidgetOnMIniCartClick \"+ee);\n}\n","eventName":"click","pageSelector":{"type":"pgName","condition":"contains","val":"/catalog"},"domSelector":{"type":"id","val":"mini-cart"}},{"tagName":"closeZ1WidgetOnUtilityGreeting","actionType":"z1script","script":"try {\n var elem = document.getElementById('z1widget');\n if (elem) elem.style.display = \"none\";\n} catch (ee) {\n console.log(\"[zineone] err in tag closeZ1WidgetOnUtilityGreeting \"+ee);\n}\n","eventName":"click","pageSelector":{"type":"pgName","condition":"contains","val":"/catalog"},"domSelector":{"type":"id","val":"utility-nav"}},{"tagName":"Creating Z1 Widget Div on SearchPage","actionType":"z1script","script":"//add msg div as child of notifyDiv\n//var notifyDiv = document.getElementById(\"container\");\ntry {\n var notifyDiv = document.getElementById(\"mini-cart\");\n var z1Div = document.createElement(\"div\");\n z1Div.setAttribute(\"data-zineone-widget\", \"z1_content_widget\");\n z1Div.setAttribute(\"id\", \"z1widget\");\n notifyDiv.appendChild(z1Div);\n} catch (z1ie) {\n console.log(\"[ZineOne] exception in running Tag to create div to attach z1widget=\"+z1ie);\n}\n","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"/search"}},{"tagName":"closeZ1WidgetOnMIniCartClickSearch","actionType":"z1script","script":"try {\n var elem = document.getElementById('z1widget');\n elem.style.display = \"none\";\n} catch (ee) {\n console.log(\"[zineone] err in tag closeZ1WidgetOnMIniCartClickSearch \" + ee);\n}\n","eventName":"click","pageSelector":{"type":"pgName","condition":"contains","val":"/search"},"domSelector":{"type":"id","val":"mini-cart"}},{"tagName":"Z1 Divs on PDP","actionType":"z1script","script":"/*\n//add msg div as child of parentDiv\nvar isDebugScr = true;\ntry {\n var parentDivCollection = document.getElementsByClassName(\"pdp-main-right-content\");\n if (parentDivCollection.length == 1) {\n var parentDiv = parentDivCollection[0];\n var z1Div = document.createElement(\"div\");\n if (isDebugScr) console.log(\"[zineone] created new div\");\n z1Div.setAttribute(\"data-zineone-widget\", \"z1_content_widget\");\n z1Div.setAttribute(\"id\", \"pdp-z1widget\");\n //z1Div.setAttribute(\"style\", \"color:#7E2C79\");\n z1Div.setAttribute(\"style\", \"color:#7E2C79;font-family:'Gotham 7r',Helvetica,Arial;font-size:16px;\");\n //parentDiv.appendChild(z1Div);\n parentDiv.prepend(z1Div);\n if (isDebugScr) console.log(\"[zineone] appended new div\"); \n }\n} catch (z1ie) {\n console.log(\"[zineone] exception in Tag creating div to attch z1widget on PDP=\" + z1ie);\n}\n\n\n//add msg div as child of parentDiv\nvar isDebugScr = false;\ntry {\n var parentDivCollection = document.getElementsByClassName(\"pdp-main-right-content\");\n if (parentDivCollection.length == 1) {\n var parentDiv = parentDivCollection[0];\n var z1Div = document.createElement(\"div\");\n if (isDebugScr) console.log(\"[zineone] created new div\");\n z1Div.setAttribute(\"data-zineone-widget\", \"z1_content_widget\");\n z1Div.setAttribute(\"id\", \"z1-pdpurgency\");\n //z1Div.setAttribute(\"style\", \"color:#7E2C79\");\n //z1Div.setAttribute(\"style\", \"display:none;width:100%;margin-left:15px;background-size: 100%;color:#ffffff;height:30px;line-height:30px;font-size:15px;text-align: center;position:relative;font-family:'Gotham 5r',Helvetica,Arial, sans-serif; font-weight:bold; font-size:16px;background:url('https://media.kohlsimg.com/is/image/kohls/20180606-tce-zineone-badge-bg?fmt=png') no-repeat\");\n z1Div.setAttribute(\"style\", \"display:none;width: 100%; background: linear-gradient(to right, #84337e, #2a2455); background-size:'100% 100%'; color: #ffffff; height: 2.5em; line-height: 2.5em; font-size: 17px; font-weight:bold; text-align: center;font-family: 'Gotham 7r', Helvetica, Arial, sans-serif;transform: skewX(-10deg);\");\n //parentDiv.appendChild(z1Div);\n //var z1Span = document.getElementById(\"z1_span_id\");\n //z1Span.setAttribute(\"style\", \"font-weight:lighter;\"); \n parentDiv.prepend(z1Div);\n if (isDebugScr) console.log(\"[zineone] appended new div\"); \n }\n} catch (z1ie) {\n console.log(\"[zineone] exception in _ws_ Tag creating div to attch z1widget on PDP=\" + z1ie);\n}\n*/\n\nvar isDebugScr = false;\ntry {\n /*var myId = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if (isDebugScr) console.log(\"Urgency my Id ==> \",myId);\n if (myId == \"3000000030411692\" || myId == \"3000000129500077\" || myId == \"3000000015076174\" || myId == \"3000000074262095\" ) {*/\n function getCookie(name) {\n var value = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n return (value != null) ? unescape(value[2]) : null;\n }\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n return true;\n }\n var productPageName = pageName;\n var parentDivCollection = \"\";\n var aka_hp2_cookie = getCookie(\"AKA_HP2\");\n var aka_rv_cookie = getCookie(\"AKA_RV\");\n var aka_pdp2_cookie = getCookie(\"AKA_PDP2\");\n if (isDebugScr) console.log(\" aka_hp2_cookie ==> \", aka_hp2_cookie, \" aka_rv_cookie ==> \", aka_rv_cookie, \" aka_pdp2_cookie ==> \", aka_pdp2_cookie);\n if (isValid(aka_pdp2_cookie) && aka_pdp2_cookie.toLowerCase() == \"true\") {\n var parentDiv = \"\";\n if (productPageName == \"regularProductPage\") {\n parentDiv = document.getElementById(\"PDP_z1Social_badge\");\n } else if (productPageName == \"collectionPDPPage\") {\n parentDiv = document.getElementById(\"CDP_z1Social_badge\");\n } else {\n parentDiv = \"\";\n }\n if (parentDiv) {\n var z1Div = document.createElement(\"div\");\n if (isDebugScr) console.log(\"[zineone] created new div\");\n z1Div.setAttribute(\"id\", \"z1-pdpurgency\");\n z1Div.style.display = \"none\";\n z1Div.style.margin = \".3em\";\n z1Div.style.textAlign = \"center\";\n z1Div.style.width = \"100%\";\n z1Div.style.background = \"linear-gradient(to right, #84337e, #2a2455)\";\n z1Div.style.backgroundSize = \"100% 100%\";\n z1Div.style.color = \"#ffffff\";\n z1Div.style.height = \"30px\";\n z1Div.style.lineHeight = \"30px\";\n z1Div.style.fontSize = \"17px\";\n z1Div.style.textAlign = \"center\";\n z1Div.style.fontFamily = \"\\'Gotham 7r\\', Helvetica, Arial, sans-serif\";\n //parentDiv.prepend(z1Div); //Doesn't work on IE\n parentDiv.appendChild(z1Div);\n }\n } else {\n var parentDivCollection = document.getElementsByClassName(\"pdp-main-right-content\");\n if (!parentDivCollection || (parentDivCollection && parentDivCollection.length == 0))\n parentDivCollection = document.getElementsByClassName(\"collection_main_right_content\");\n if (parentDivCollection && parentDivCollection.length == 1) {\n var parentDiv = parentDivCollection[0];\n var z1Div = document.createElement(\"div\");\n if (isDebugScr) console.log(\"[zineone] created new div\");\n z1Div.setAttribute(\"id\", \"z1-pdpurgency\");\n z1Div.style.display = \"none\";\n z1Div.style.margin = \".3em\";\n z1Div.style.textAlign = \"center\";\n z1Div.style.width = \"100%\";\n z1Div.style.background = \"linear-gradient(to right, #84337e, #2a2455)\";\n z1Div.style.backgroundSize = \"100% 100%\";\n z1Div.style.color = \"#ffffff\";\n z1Div.style.height = \"30px\";\n z1Div.style.lineHeight = \"30px\";\n z1Div.style.fontSize = \"17px\";\n z1Div.style.textAlign = \"center\";\n z1Div.style.fontFamily = \"\\'Gotham 7r\\', Helvetica, Arial, sans-serif\";\n\n //parentDiv.prepend(z1Div); //doesn't work on IE\n var refDiv = parentDiv.firstChild;\n parentDiv.insertBefore(z1Div, refDiv);\n\n if (isDebugScr) console.log(\"[zineone] appended new div\");\n }\n }\n\n /*} else {\n var parentDivCollection = document.getElementsByClassName(\"pdp-main-right-content\");\n if (!parentDivCollection || (parentDivCollection && parentDivCollection.length == 0))\n parentDivCollection = document.getElementsByClassName(\"collection_main_right_content\");\n if (parentDivCollection && parentDivCollection.length == 1) {\n var parentDiv = parentDivCollection[0];\n var z1Div = document.createElement(\"div\");\n if (isDebugScr) console.log(\"[zineone] created new div\");\n //z1Div.setAttribute(\"data-zineone-widget\", \"z1_content_widget\");\n z1Div.setAttribute(\"id\", \"z1-pdpurgency\");\n //z1Div.setAttribute(\"style\", \"display:none;margin: .3em; text-align: center; width: 100%; background: linear-gradient(to right, #84337e, #2a2455); background-size: 100% 100%; color: #ffffff; height: 30px; line-height: 30px; font-size: 17px;text-align: center;font-family: 'Gotham 7r', Helvetica, Arial, sans-serif;transform: skewX(-10deg);\");\n //z1Div.setAttribute(\"style\", \"display:none;margin: .3em; text-align: center; width: 100%; background: linear-gradient(to right, #84337e, #2a2455); background-size: 100% 100%; color: #ffffff; height: 30px; line-height: 30px; font-size: 17px;text-align: center;font-family: 'Gotham 7r', Helvetica, Arial, sans-serif;\"); \n z1Div.style.display = \"none\";\n z1Div.style.margin = \".3em\";\n z1Div.style.textAlign = \"center\";\n z1Div.style.width = \"100%\";\n z1Div.style.background = \"linear-gradient(to right, #84337e, #2a2455)\";\n z1Div.style.backgroundSize = \"100% 100%\";\n z1Div.style.color = \"#ffffff\";\n z1Div.style.height = \"30px\";\n z1Div.style.lineHeight = \"30px\";\n z1Div.style.fontSize = \"17px\";\n z1Div.style.textAlign = \"center\";\n z1Div.style.fontFamily = \"\\'Gotham 7r\\', Helvetica, Arial, sans-serif\";\n\n //parentDiv.prepend(z1Div); //doesn't work on IE\n var refDiv = parentDiv.firstChild;\n parentDiv.insertBefore(z1Div, refDiv);\n\n if (isDebugScr) console.log(\"[zineone] appended new div\");\n }\n }*/\n\n\n} catch (z1ie) {\n console.log(\"[zineone] exception in _ws_ Tag creating div to attch z1widget on PDP=\" + z1ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"/product/prd-"}},{"tagName":"Creating Z1 Widget Div on Homepage","actionType":"z1script","script":"//add msg div as child of notifyDiv\n//var notifyDiv = document.getElementById(\"container\");\ntry {\n \n var id = localStorage.getItem(\"z1_cust_id\");\n \n if(id==\"3000000015510732\"||id==\"2254040233704719\"){\n \n }\n \n var notifyDiv = document.getElementById(\"mini-cart\");\n var z1Div = document.createElement(\"div\");\n z1Div.setAttribute(\"data-zineone-widget\", \"z1_content_widget\");\n z1Div.setAttribute(\"id\", \"z1widget\");\n notifyDiv.appendChild(z1Div);\n} catch (z1ie) {\n console.log(\"exception in Tag creating div to attch z1widget=\" + z1ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"/"}},{"tagName":"Creating Z1 Widget Div on CartPage","actionType":"z1script","script":"//add msg div as child of notifyDiv\n//var notifyDiv = document.getElementById(\"container\");\ntry {\n var notifyDiv = document.getElementById(\"mini-cart\");\n var z1Div = document.createElement(\"div\");\n z1Div.setAttribute(\"data-zineone-widget\", \"z1_content_widget\");\n z1Div.setAttribute(\"id\", \"z1widget\");\n notifyDiv.appendChild(z1Div);\n} catch (z1ie) {\n console.log(\"exception in Tag creating div to attch z1widget=\" + z1ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"ends","val":"shopping_cart.jsp"}},{"tagName":"closeZ1WidgetOnMIniCartClickHome","actionType":"z1script","script":"try {\n var elem = document.getElementById('z1widget');\n elem.style.display = \"none\";\n} catch (ee) {\n console.log(\"[zineone] err in tag closeZ1WidgetOnMIniCartClickSearch \" + ee);\n}\n","eventName":"click","pageSelector":{"type":"pgName","condition":"contains","val":"/"},"domSelector":{"type":"id","val":"mini-cart"}},{"tagName":"closeZ1WidgetOnMIniCartClickCart","actionType":"z1script","script":"try {\n var elem = document.getElementById('z1widget');\n var e2 = document.querySelectorAll('#z1widget');\n for (var i = 0; i < e2.length; i++)\n {\n if (e2[i].style.display)\n {\n e2[i].style.display = \"none\";\n }\n }\n //elem.style.display = 'none';\n \t//elem.style.display = \"\";\n} catch (ee) {\n console.log(\"[zineone] err in tag closeZ1WidgetOnMIniCartClickSearch \" + ee);\n}\n","eventName":"click","pageSelector":{"type":"pgName","condition":"contains","val":"/shopping_cart.jsp"},"domSelector":{"type":"id","val":"mini-cart"}},{"tagName":"completeShipping","actionType":"z1script","script":"try {\n var debugScr = true;\n var cartValue = 0;\n\n if (debugScr) console.log(\"[ZineOne] addtobag Event will be triggered\");\n\n var evtName = \"_ws_completeShipping\";\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n };\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n function validateForNotNull(obj)\n {\n //console.log('validateForNotNull',obj,typeof(obj));\n if(!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0)\n {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array,attribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\",attribute,array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\",mainAttribute,innerAttribute,array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ',spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function fetchCartDump()\n {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if(validateForNotNull(cartData))\n {\n for(var i=0;i<cartData.length;i++)\n {\n if(i == 15)\n {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if(validateForNotNull(currentObj.storeClearance))\n {\n currentFinalObjToSend.sc = currentObj.storeClearance; \n }\n \n if(validateForNotNull(currentObj.itemProperties.size))\n {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n \n if(validateForNotNull(currentObj.itemProperties.color))\n {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n \n if(validateForNotNull(currentObj.itemProperties.isWebExclusive))\n {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive; \n }\n \n\n var finalInvInfo = {};\n\n if(validateForNotNull(currentObj.inventoryInfo.shipAvailable))\n {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if(validateForNotNull(currentObj.inventoryInfo.bopusAvailable))\n {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.bossAvailable))\n {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip))\n {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip; \n }\n \n if(validateForNotNull(currentObj.finalInvInfo))\n {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo; \n }\n \n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ',currentPromoInfo);\n\n if(validateForNotNull(currentPromoInfo))\n {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for(var j=0;j<currentPromoInfo.length;j++)\n {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if(validateForNotNull(currentPromoObj.promoType))\n {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType; \n }\n \n if(validateForNotNull(currentPromoObj.promoText))\n {\n prTextArr[prTextArr.length] = currentPromoObj.promoText; \n }\n \n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n \n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ',currentOfferInfo);\n\n if(validateForNotNull(currentOfferInfo))\n {\n var finalOfferInfoArray = [];\n\n for(var j=0;j<currentOfferInfo.length;j++)\n {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if(validateForNotNull(currentOfferInfoObj.offerDiscount))\n {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount; \n }\n \n if(validateForNotNull(currentOfferInfoObj.startDate))\n {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate; \n }\n \n if(validateForNotNull(currentOfferInfoObj.endDate))\n {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate; \n }\n \n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n \n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ',shipmentInfo);\n\n if(validateForNotNull(shipmentInfo))\n {\n var finalshipmentInfoArray = [];\n\n for(var j=0;j<shipmentInfo.length;j++)\n {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {}; \n\n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges))\n {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount))\n {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta))\n {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal))\n {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal; \n }\n \n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if(validateForNotNull(shippingOffers))\n {\n var finalshippingOfferArray = [];\n\n for(var k=0;k<shippingOffers.length;k++)\n {\n var currentshippingOffersObj = shippingOffers[k];\n\n if(validateForNotNull(currentshippingOffersObj.discountAmount))\n {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount; \n }\n \n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary; \n\n var finalOrderSummaryObj = {};\n\n if(validateForNotNull(orderSummary.merchandisePromoAmount))\n {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount; \n }\n \n if(validateForNotNull(orderSummary.discountedShippingAmount))\n {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n \n if(validateForNotNull(orderSummary.originalShippingAmount))\n {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated))\n {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate))\n {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax))\n {\n finalOrderSummaryObj.tax = orderSummary.tax.tax; \n }\n \n if(validateForNotNull(orderSummary.totalSurcharges))\n {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges; \n }\n \n if(validateForNotNull(orderSummary.totalTaxFee))\n {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee; \n }\n \n if(validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts))\n {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts; \n }\n \n if(validateForNotNull(orderSummary.totalTax))\n {\n finalOrderSummaryObj.totTax = orderSummary.totalTax; \n }\n \n if(validateForNotNull(orderSummary.total))\n {\n finalOrderSummaryObj.total = orderSummary.total; \n }\n \n if(validateForNotNull(orderSummary.savings))\n {\n finalOrderSummaryObj.sav = orderSummary.savings; \n }\n \n if(validateForNotNull(orderSummary.taxFeeEnabled))\n {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled; \n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n function fetchMcmId()\n {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n function getPresentVector() {\n try {\n\n console.log('getPresentVector');\n\n if(pageData.cartDetails)\n {\n cartValue = pageData.cartDetails.cartSubTotalValue;\n }\n\n var itemsInBag = Number(localStorage.getItem(\"z1_checkoutBagCount\"));\n\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n if (typeof pageData != 'undefined') {\n presentVector.customerState = (pageData.customerDetails && pageData.customerDetails.customerState) || '-';\n presentVector.customerPostalCode = (pageData.customerDetails && pageData.customerDetails.customerPostalCode) || '-'; \n }\n presentVector.userPFM = getUrlParameter('userPFM') || '-';\n }\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() {\n try {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try\n {\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if(validateForNotNull(cartDump))\n {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for(var k=0;k<cartKeys.length;k++)\n {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n \n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if(validateForNotNull(newUserVectors))\n {\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n }\n catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = 'completeShipping';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue= cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n if(validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge))\n {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n }\n else\n {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n \n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n\n\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n\n\n ZineOne.pushEvent(evtName, {});\n\n updateUserVectors();\n\n\n\n} catch (ie) {\n\nif (debugScr) console.log(\"[Zineone] Error in Tag Script: WebStore Z1 tag. \" + ie);\n\n}","eventName":"click","pageSelector":{"type":"pgName","condition":"ends","val":"checkout/v2/checkout.jsp"},"domSelector":{"type":"class","val":"button_continueToPayment"}},{"tagName":"completePayment","actionType":"z1script","script":"try {\n var debugScr = true;\n var cartValue = 0;\n\n if (debugScr) console.log(\"[ZineOne] addtobag Event will be triggered\");\n\n var evtName = \"_ws_completePayment\";\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n };\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n function validateForNotNull(obj)\n {\n //console.log('validateForNotNull',obj,typeof(obj));\n if(!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0)\n {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array,attribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\",attribute,array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\",mainAttribute,innerAttribute,array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ',spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function fetchCartDump()\n {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if(validateForNotNull(cartData))\n {\n for(var i=0;i<cartData.length;i++)\n {\n if(i == 15)\n {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if(validateForNotNull(currentObj.storeClearance))\n {\n currentFinalObjToSend.sc = currentObj.storeClearance; \n }\n \n if(validateForNotNull(currentObj.itemProperties.size))\n {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n \n if(validateForNotNull(currentObj.itemProperties.color))\n {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n \n if(validateForNotNull(currentObj.itemProperties.isWebExclusive))\n {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive; \n }\n \n\n var finalInvInfo = {};\n\n if(validateForNotNull(currentObj.inventoryInfo.shipAvailable))\n {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if(validateForNotNull(currentObj.inventoryInfo.bopusAvailable))\n {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.bossAvailable))\n {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip))\n {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip; \n }\n \n if(validateForNotNull(currentObj.finalInvInfo))\n {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo; \n }\n \n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ',currentPromoInfo);\n\n if(validateForNotNull(currentPromoInfo))\n {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for(var j=0;j<currentPromoInfo.length;j++)\n {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if(validateForNotNull(currentPromoObj.promoType))\n {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType; \n }\n \n if(validateForNotNull(currentPromoObj.promoText))\n {\n prTextArr[prTextArr.length] = currentPromoObj.promoText; \n }\n \n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n \n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ',currentOfferInfo);\n\n if(validateForNotNull(currentOfferInfo))\n {\n var finalOfferInfoArray = [];\n\n for(var j=0;j<currentOfferInfo.length;j++)\n {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if(validateForNotNull(currentOfferInfoObj.offerDiscount))\n {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount; \n }\n \n if(validateForNotNull(currentOfferInfoObj.startDate))\n {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate; \n }\n \n if(validateForNotNull(currentOfferInfoObj.endDate))\n {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate; \n }\n \n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n \n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ',shipmentInfo);\n\n if(validateForNotNull(shipmentInfo))\n {\n var finalshipmentInfoArray = [];\n\n for(var j=0;j<shipmentInfo.length;j++)\n {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {}; \n\n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges))\n {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount))\n {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta))\n {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal))\n {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal; \n }\n \n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if(validateForNotNull(shippingOffers))\n {\n var finalshippingOfferArray = [];\n\n for(var k=0;k<shippingOffers.length;k++)\n {\n var currentshippingOffersObj = shippingOffers[k];\n\n if(validateForNotNull(currentshippingOffersObj.discountAmount))\n {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount; \n }\n \n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary; \n\n var finalOrderSummaryObj = {};\n\n if(validateForNotNull(orderSummary.merchandisePromoAmount))\n {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount; \n }\n \n if(validateForNotNull(orderSummary.discountedShippingAmount))\n {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n \n if(validateForNotNull(orderSummary.originalShippingAmount))\n {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated))\n {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate))\n {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax))\n {\n finalOrderSummaryObj.tax = orderSummary.tax.tax; \n }\n \n if(validateForNotNull(orderSummary.totalSurcharges))\n {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges; \n }\n \n if(validateForNotNull(orderSummary.totalTaxFee))\n {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee; \n }\n \n if(validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts))\n {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts; \n }\n \n if(validateForNotNull(orderSummary.totalTax))\n {\n finalOrderSummaryObj.totTax = orderSummary.totalTax; \n }\n \n if(validateForNotNull(orderSummary.total))\n {\n finalOrderSummaryObj.total = orderSummary.total; \n }\n \n if(validateForNotNull(orderSummary.savings))\n {\n finalOrderSummaryObj.sav = orderSummary.savings; \n }\n \n if(validateForNotNull(orderSummary.taxFeeEnabled))\n {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled; \n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n function fetchMcmId()\n {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n\n function getPresentVector() {\n try {\n\n console.log('getPresentVector');\n\n if(pageData.cartDetails)\n {\n cartValue = pageData.cartDetails.cartSubTotalValue;\n }\n\n var itemsInBag = Number(localStorage.getItem(\"z1_checkoutBagCount\"));\n\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n\n presentVector.cardType = document.getElementsByClassName('shippingAddreswrap selected')[0].getElementsByClassName('shippingAddress_name')[0].getElementsByTagName('h3')[0].innerHTML.toString().trim();\n\n }\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() {\n try {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try{\n\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if(validateForNotNull(cartDump))\n {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for(var k=0;k<cartKeys.length;k++)\n {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n \n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if(validateForNotNull(newUserVectors))\n {\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n }\n catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = 'completePayment';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n \n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue= cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n if(validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge))\n {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n }\n else\n {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n \n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n\n\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n\n\n ZineOne.pushEvent(evtName, {});\n\n updateUserVectors();\n\n\n\n} catch (ie) {\n\nif (debugScr) console.log(\"[Zineone] Error in Tag Script: WebStore Z1 tag. \" + ie);\n\n}","eventName":"click","pageSelector":{"type":"pgName","condition":"ends","val":"checkout/v2/checkout.jsp"},"domSelector":{"type":"class","val":"button_continueto_review_order"}},{"tagName":"Catalog Filter","actionType":"z1script","script":"\ntry {\n\n\n\tvar debugScr = true;\n var cartValue = 0;\n var currentUserCartArr = [];\n\n var isJsonNull = false;\n\n\n\tvar evtName = '_ws_viewedCatalog';\n\n\n\t//Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n\n };\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\tfunction getUrlParameter(sParam) \n\t{\n\t\tvar sPageURL = decodeURIComponent(window.location.search.substring(1)),\n\t sURLVariables = sPageURL.split('&'),\n\t sParameterName,\n\t i;\n\n\t for (i = 0; i < sURLVariables.length; i++) {\n\t sParameterName = sURLVariables[i].split('=');\n\n\t if (sParameterName[0] === sParam) {\n\t return sParameterName[1] === undefined ? true : sParameterName[1];\n\t }\n\t }\n }\n\n function checkForCNUpdate()\n {\n \tCURRENT_CN_CHECK++;\n\n \tconsole.log(' checkForCNUpdate '+CURRENT_CN_CHECK+'::'+MAX_CN_CHECK);\n\n \tif(CURRENT_CN_CHECK <= MAX_CN_CHECK)\n \t{\n \t\tvar tempCN = getUrlParameter('CN');\n\n \t\tconsole.log(currentCN+' CHecking CN '+tempCN);\n\n \t\tif(tempCN == currentCN)\n \t\t{\n \t\t\tsetTimeout(function(){ \n \t\t\t\tcheckForCNUpdate(); \n \t\t\t}, 1000);\n\n\t\t\t\t\n\t\t\t\treturn;\n \t\t}\n \t\telse\n \t\t{\n\n \t\t\tcurrentCN = getUrlParameter('CN');\n\n \t\t\tvar evtData = addEventData();\n \t\t\tZineOne.pushEvent(evtName, evtData);\n updateUserVectors();\n\n \t\t}\n \t}\n \t\n }\n\n\n function validateForNotNull(obj)\n {\n //console.log('validateForNotNull',obj,typeof(obj));\n if(!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0)\n {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array,attribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\",attribute,array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\",mainAttribute,innerAttribute,array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ',spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function fetchCartDump()\n {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if(validateForNotNull(cartData))\n {\n for(var i=0;i<cartData.length;i++)\n {\n if(i == 15)\n {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if(validateForNotNull(currentObj.storeClearance))\n {\n currentFinalObjToSend.sc = currentObj.storeClearance; \n }\n \n if(validateForNotNull(currentObj.itemProperties.size))\n {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n \n if(validateForNotNull(currentObj.itemProperties.color))\n {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n \n if(validateForNotNull(currentObj.itemProperties.isWebExclusive))\n {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive; \n }\n \n\n var finalInvInfo = {};\n\n if(validateForNotNull(currentObj.inventoryInfo.shipAvailable))\n {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if(validateForNotNull(currentObj.inventoryInfo.bopusAvailable))\n {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.bossAvailable))\n {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip))\n {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip; \n }\n \n if(validateForNotNull(currentObj.finalInvInfo))\n {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo; \n }\n \n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ',currentPromoInfo);\n\n if(validateForNotNull(currentPromoInfo))\n {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for(var j=0;j<currentPromoInfo.length;j++)\n {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if(validateForNotNull(currentPromoObj.promoType))\n {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType; \n }\n \n if(validateForNotNull(currentPromoObj.promoText))\n {\n prTextArr[prTextArr.length] = currentPromoObj.promoText; \n }\n \n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n \n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ',currentOfferInfo);\n\n if(validateForNotNull(currentOfferInfo))\n {\n var finalOfferInfoArray = [];\n\n for(var j=0;j<currentOfferInfo.length;j++)\n {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if(validateForNotNull(currentOfferInfoObj.offerDiscount))\n {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount; \n }\n \n if(validateForNotNull(currentOfferInfoObj.startDate))\n {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate; \n }\n \n if(validateForNotNull(currentOfferInfoObj.endDate))\n {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate; \n }\n \n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n \n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ',shipmentInfo);\n\n if(validateForNotNull(shipmentInfo))\n {\n var finalshipmentInfoArray = [];\n\n for(var j=0;j<shipmentInfo.length;j++)\n {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {}; \n\n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges))\n {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount))\n {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta))\n {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal))\n {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal; \n }\n \n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if(validateForNotNull(shippingOffers))\n {\n var finalshippingOfferArray = [];\n\n for(var k=0;k<shippingOffers.length;k++)\n {\n var currentshippingOffersObj = shippingOffers[k];\n\n if(validateForNotNull(currentshippingOffersObj.discountAmount))\n {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount; \n }\n \n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary; \n\n var finalOrderSummaryObj = {};\n\n if(validateForNotNull(orderSummary.merchandisePromoAmount))\n {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount; \n }\n \n if(validateForNotNull(orderSummary.discountedShippingAmount))\n {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n \n if(validateForNotNull(orderSummary.originalShippingAmount))\n {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated))\n {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate))\n {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax))\n {\n finalOrderSummaryObj.tax = orderSummary.tax.tax; \n }\n \n if(validateForNotNull(orderSummary.totalSurcharges))\n {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges; \n }\n \n if(validateForNotNull(orderSummary.totalTaxFee))\n {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee; \n }\n \n if(validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts))\n {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts; \n }\n \n if(validateForNotNull(orderSummary.totalTax))\n {\n finalOrderSummaryObj.totTax = orderSummary.totalTax; \n }\n \n if(validateForNotNull(orderSummary.total))\n {\n finalOrderSummaryObj.total = orderSummary.total; \n }\n \n if(validateForNotNull(orderSummary.savings))\n {\n finalOrderSummaryObj.sav = orderSummary.savings; \n }\n \n if(validateForNotNull(orderSummary.taxFeeEnabled))\n {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled; \n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n\n function fetchFilterData(cnString,oldCnFromEvent)\n {\n var finalReturnString = '';\n\n var splitCnString = cnString.toString().split(\"+\");\n\n var currentFilterObj = {};\n var oldCnFromEventSplit = oldCnFromEvent.toString().split(\"|\");\n\n //console.log('oldCnFromEventSplit',oldCnFromEventSplit,oldCnFromEventSplit.length);\n\n for(var i=(oldCnFromEventSplit.length-1);i>=0;i--)\n {\n if(oldCnFromEventSplit[i].length == 0 || oldCnFromEventSplit[i] == '-')\n {\n continue;\n }\n\n var innerObj = oldCnFromEventSplit[i].split(\"+\");\n\n if(innerObj.length > 0)\n {\n for(var k=0;k<innerObj.length;k++)\n {\n var filterObj = innerObj[k].split(\":\");\n var filterName = filterObj[0];\n var filterValue = filterObj[1];\n\n currentFilterObj[filterName] = filterValue;\n }\n\n break;\n }\n \n }\n\n var alreadyUsedObj = {};\n\n //console.log(splitCnString);\n for(var i=0;i<splitCnString.length;i++)\n {\n var filterObj = splitCnString[i].split(\":\");\n var filterName = filterObj[0];\n\n //console.log('Filter Name ',filterName);\n //console.log('Filter Value ',filterValue);\n\n if(filterName in alreadyUsedObj)\n {\n continue;\n }\n\n alreadyUsedObj[filterName] = true;\n \n if(filterName in currentFilterObj)\n {\n currentFilterObj[filterName] = Number(currentFilterObj[filterName]) + 1;\n }\n else\n {\n currentFilterObj[filterName] = 1;\n }\n\n\n }\n\n //console.log('currentFilterObj',currentFilterObj);\n\n var filterkeys = Object.keys(currentFilterObj);\n for(var i=0;i<filterkeys.length;i++)\n {\n finalReturnString = finalReturnString + filterkeys[i] + ':' + currentFilterObj[filterkeys[i]] + '+';\n }\n\n finalReturnString = finalReturnString.substring(0,finalReturnString.length - 1);\n\n return finalReturnString;\n\n\n }\n\n function fetchNewAttributesForVectorization(eventData,eventName) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (validateForNotNull(persistLocalData)) \n {\n var pageDataJson = pageData;\n\n persistLocalData = JSON.parse(persistLocalData);\n\n console.log('Into switch in fetchNewAttributesForVectorization',eventName);\n\n switch(eventName.toLowerCase())\n {\n case \"_ws_viewedcatalog\":\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.categoryName)) {\n finalReturnObj.pgdata_pmpdet_catname = pageDataJson.pmpDetails.categoryName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.subcategoryName)) {\n finalReturnObj.pgdata_pmpdet_subcatname = pageDataJson.pmpDetails.subcategoryName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.findingName)) {\n finalReturnObj.pgdata_pmpdet_findingname = pageDataJson.pmpDetails.findingName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.keywords)) {\n finalReturnObj.pgdata_pmpdet_cat_keywords = pageDataJson.pmpDetails.keywords;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.pageFilter)) {\n finalReturnObj.pgdata_pmpdet_pgfilter = pageDataJson.pmpDetails.pageFilter;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.departmentName)) {\n finalReturnObj.pgdata_pmpdet_deptname = pageDataJson.pmpDetails.departmentName;\n }\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.genderValues)) {\n finalReturnObj.pgdata_pmpdet_gendervalues = pageDataJson.pmpDetails.genderValues;\n }\n\n\n var newUserVectors = localStorage.getItem('z1_newUserVectors');\n\n if(newUserVectors && newUserVectors.length > 0)\n {\n var newUserVectorsJson = JSON.parse(newUserVectors);\n var currentFilterString = newUserVectorsJson.filter_by_count;\n\n if(validateForNotNull(getUrlParameter('CN')) && validateForNotNull(currentFilterString))\n {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'),currentFilterString); \n }\n \n }\n else\n {\n if(validateForNotNull(getUrlParameter('CN')))\n {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'),''); \n }\n \n }\n\n break;\n\n case '_ws_changedsort':\n\n var selectFilter = document.getElementById('sortby_select');\n if(selectFilter)\n {\n var selectedValue = selectFilter.options[selectFilter.selectedIndex].value;\n if(validateForNotNull(selectedValue))\n {\n finalReturnObj.sort_by = selectedValue;\n }\n }\n\n\n break;\n\n }\n }\n\n\n return finalReturnObj;\n\n }\n\n function fetchMcmId()\n {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n\n function getPresentVector() {\n try {\n\n console.log('getPresentVector');\n\n var itemsInBag = 0;\n\n cartValue = 0;\n\n isJsonNull = false;\n\n var cartData = localStorage.getItem(\"persistent_bar_components_json_v1\");\n if(isValid(cartData))\n {\n var cartInfo = JSON.parse(cartData);\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n cartValue = cartValue + Number(cartInfo.cartItems[i].itemPriceInfo.grossPrice);\n\n var tempObj = {};\n tempObj.productId = cartInfo.cartItems[i].productId;\n tempObj.skuId = cartInfo.cartItems[i].skuId;\n tempObj.quantity = cartInfo.cartItems[i].quantity;\n tempObj.itemType = cartInfo.cartItems[i].itemType;\n\n currentUserCartArr.push(tempObj);\n\n }\n }\n else\n {\n if(getCookie('VisitorBagTotals').toString().length != 0)\n {\n cartValue = -1;\n\n isJsonNull = true;\n }\n }\n\n if (cartValue == 0 && (typeof pageData != 'undefined') && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n cartValue = Number(pageData.cartDetails.cartSubTotalValue);\n }\n\n\n\n \n\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n if (typeof pageData != 'undefined') {\n presentVector.department = (pageData.pmpDetails && pageData.pmpDetails.departmentName) || '-';\n presentVector.pageFilter = (pageData.pmpDetails && pageData.pmpDetails.pageFilter) || '-';\n }\n presentVector.CN = getUrlParameter('CN') || '-';\n presentVector.visualNavForm = getUrlParameter('VisualNavFrom') || '-';\n }\n\n presentVector = fetchNewAttributesForVectorization(presentVector,evtName);\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() {\n try {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try{\n\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if(validateForNotNull(cartDump))\n {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for(var k=0;k<cartKeys.length;k++)\n {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n \n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if(validateForNotNull(newUserVectors))\n {\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n }\n catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = '2. Catalog Filter';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n try\n {\n var maxAttrSize = 0;\n\n var totalSize = JSON.stringify(vectorsEventData);\n totalSize = totalSize.length;\n\n var vectorsEventDataKeys = Object.keys(vectorsEventData);\n for(var k=0;k<vectorsEventDataKeys.length;k++)\n {\n var attrSize = vectorsEventData[vectorsEventDataKeys[k]].length;\n\n if(attrSize > maxAttrSize)\n {\n maxAttrSize = attrSize;\n }\n }\n\n var newObj = {};\n newObj.ml_uv_maxAttrSize = maxAttrSize;\n newObj.ml_uv_totalSize = totalSize;\n\n ZineOne.pushEvent('_ws_updatevectors_size_tracking', newObj);\n\n } catch (ie) {\n\n \n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue= cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.currentCart = JSON.stringify(currentUserCartArr);\n\n if(validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge))\n {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n }\n else\n {\n vectorsEventData.isKcc = -1;\n }\n \n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n \n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n\n if(isJsonNull)\n {\n var lastUserPageArr = userVectors.eventVector.toString().split('|');\n var lastPageChar = lastUserPageArr[lastUserPageArr.length - 2];\n\n var tempEventData = {};\n tempEventData.VisitorBagTotals = getCookie('VisitorBagTotals');\n tempEventData.pgName = 'PMP';\n tempEventData.lastPgChar = lastPageChar;\n\n ZineOne.pushEvent('_ws_emptyjson_v2', tempEventData);\n }\n\n\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n \n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n\n function getCartData() {\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n var cartInfo = JSON.parse(cartData);\n var productsArr = [];\n\n //Send the Event even if the Cart does not have any item, so that the OpenAPI could be called\n //on the Server side\n\n if (cartInfo == null || cartInfo.cartItems == null || cartInfo.cartItems.length <= 0)\n return true;\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var si = cartInfo.cartItems[i];\n var saleUnitprice = 0;\n var regularUnitPrice = 0;\n if (!si.itemPriceInfo && !si.itemPriceInfo.saleUnitprice)\n saleUnitprice = si.itemPriceInfo.saleUnitprice;\n\n if (!si.itemPriceInfo && !si.itemPriceInfo.regularUnitPrice)\n regularUnitPrice = si.itemPriceInfo.regularUnitPrice;\n var obj = {\n \"id\": si.cartItemId,\n \"skuCode\": si.skuId,\n \"webID\": si.productId,\n \"saleUnitPrice\": saleUnitprice.toString(),\n \"regularUnitPrice\": regularUnitPrice.toString()\n };\n productsArr.push(obj);\n //if (debugScr) console.log(\"[ZineOne] Product Array ==>\" + productsArr);\n }\n //if (debugScr) console.log(\"[ZineOne] Out of loop\");\n if (debugScr) console.log(\"[ZineOne] Product Array ==>\" + productsArr);\n return JSON.stringify(productsArr);\n }\n\n\n\n function addEventData() {\n\n \tvar evtData = {};\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n\n \n } else {\n if (debugScr) console.log(\"[ZineOne] pageData NOT initialized. Cannot set customerId or login state.\");\n }\n\n var itemsInBag = 0;\n var cartItems, cartId, cartTotalValue, cartSubTotalValue, cartShippingValue, cartDiscountValue;\n if (pageData && pageData.cartDetails) {\n itemsInBag = pageData.cartDetails.numberOfItems;\n if (debugScr) console.log('[ZineOne] Number of Items in the cart: ' + itemsInBag);\n cartId = pageData.cartDetails.cartID;\n cartTotalValue = pageData.cartDetails.cartTotalValue;\n cartSubTotalValue = pageData.cartDetails.cartSubTotalValue;\n cartShippingValue = pageData.cartDetails.shippingValue;\n cartDiscountValue = pageData.cartDetails.discountValue;\n\n //cartItems = pageData.cartDetails.cartItems;\n cartItems = getCartData();\n if (debugScr) console.log(\"[ZineOne] cartItems ==>\" + cartItems);\n }\n\n //ZineOne.setCustomKey(\"customerId\", RRTrackingBean.profileId);\n // replace e with var from webstore page (consider profile attr per Manish)\n // maybe do on page unload so you grab it once on first page and use it afterwards\n evtData.itemsInBag = itemsInBag;\n if (cartId) evtData.cartId = cartId;\n if (cartTotalValue) evtData.cartTotalValue = cartTotalValue;\n if (cartSubTotalValue) evtData.cartSubTotalValue = cartSubTotalValue;\n if (cartShippingValue) evtData.cartShippingValue = cartShippingValue;\n if (cartDiscountValue) evtData.cartDiscountValue = cartDiscountValue;\n if (cartItems) evtData.cartItems = cartItems;\n if (debugScr) console.log(\"[ZineOne] cartItems ==>\" + cartItems);\n\n\n if (isSoftLoggedIn) evtData[\"isSoftLoggedIn\"] = isSoftLoggedIn;\n if (isLoggedIn) evtData[\"isLoggedIn\"] = isLoggedIn;\n if (debugScr) console.log(\"[ZineOne] evtName = \" + evtName);\n if (debugScr) console.log(\"[ZineOne] evtData =\" + JSON.stringify(evtData));\n\n\n return evtData;\n }\n\n\n}\n\ncatch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: Catalog Filter Z1 tag. \" + ie);\n}\n\ntry {\n\n\n\n\tvar isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n\n\n\n\tvar currentCN = getUrlParameter('CN');\n\n\tvar MAX_CN_CHECK = 10;\n\tvar CURRENT_CN_CHECK = 0;\n\n\n\tdocument.addEventListener('click',function(e){\n\n\t\tconsole.log('E Target ',e.target.className);\n\n\t\tvar classNameArr = e.target.className.toString().split('facet_checkbox');\n\t\tvar ceAjaxArr = e.target.className.toString().split('ce-ajax');\n\t\tvar checkmarkArr = e.target.className.toString().split('checkmark');\n\t\t\n\n\t\tconsole.log('Class Name Length '+classNameArr.length);\n\n \tif(e.target && (classNameArr.length > 1 || ceAjaxArr.length > 1 || checkmarkArr.length > 1)){\n\n evtName = '_ws_viewedCatalog';\n\n \t\tCURRENT_CN_CHECK = 0;\n\t\t\tcheckForCNUpdate();\n\n \t}});\n\n //Check for Sorting Dropdown\n var selectFilter = document.getElementById('sortby_select');\n selectFilter.onchange = function(){\n\n evtName = '_ws_changedsort';\n\n updateUserVectors();\n\n console.log('selectFilter Change',selectFilter);\n\n };\n\n}\n\ncatch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: Catalog Filter Z1 tag. \" + ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"catalog/"}},{"tagName":"Search Filter","actionType":"z1script","script":"\ntry {\n\n\n\tvar debugScr = true;\n var cartValue = 0;\n var currentUserCartArr = [];\n\n var isJsonNull = false;\n\n\n\tvar evtName = '_ws_searched';\n\n\n\t//Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n\n };\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\tfunction getUrlParameter(sParam) \n\t{\n\t\tvar sPageURL = decodeURIComponent(window.location.search.substring(1)),\n\t sURLVariables = sPageURL.split('&'),\n\t sParameterName,\n\t i;\n\n\t for (i = 0; i < sURLVariables.length; i++) {\n\t sParameterName = sURLVariables[i].split('=');\n\n\t if (sParameterName[0] === sParam) {\n\t return sParameterName[1] === undefined ? true : sParameterName[1];\n\t }\n\t }\n }\n\n function checkForCNUpdate()\n {\n \tCURRENT_CN_CHECK++;\n\n \tconsole.log(' checkForCNUpdate '+CURRENT_CN_CHECK+'::'+MAX_CN_CHECK);\n\n \tif(CURRENT_CN_CHECK <= MAX_CN_CHECK)\n \t{\n \t\tvar tempCN = getUrlParameter('CN');\n\n \t\tconsole.log(currentCN+' CHecking CN '+tempCN);\n\n \t\tif(tempCN == currentCN)\n \t\t{\n \t\t\tsetTimeout(function(){ \n \t\t\t\tcheckForCNUpdate(); \n \t\t\t}, 1000);\n\n\t\t\t\t\n\t\t\t\treturn;\n \t\t}\n \t\telse\n \t\t{\n\n \t\t\tcurrentCN = getUrlParameter('CN');\n\n \t\t\tvar evtData = addEventData();\n \t\t\tZineOne.pushEvent(evtName, evtData);\n updateUserVectors();\n\n \t\t}\n \t}\n \t\n }\n\n\n function validateForNotNull(obj)\n {\n //console.log('validateForNotNull',obj,typeof(obj));\n if(!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0)\n {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array,attribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\",attribute,array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\",mainAttribute,innerAttribute,array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ',spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function fetchCartDump()\n {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if(validateForNotNull(cartData))\n {\n for(var i=0;i<cartData.length;i++)\n {\n if(i == 15)\n {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if(validateForNotNull(currentObj.storeClearance))\n {\n currentFinalObjToSend.sc = currentObj.storeClearance; \n }\n \n if(validateForNotNull(currentObj.itemProperties.size))\n {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n \n if(validateForNotNull(currentObj.itemProperties.color))\n {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n \n if(validateForNotNull(currentObj.itemProperties.isWebExclusive))\n {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive; \n }\n \n\n var finalInvInfo = {};\n\n if(validateForNotNull(currentObj.inventoryInfo.shipAvailable))\n {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if(validateForNotNull(currentObj.inventoryInfo.bopusAvailable))\n {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.bossAvailable))\n {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip))\n {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip; \n }\n \n if(validateForNotNull(currentObj.finalInvInfo))\n {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo; \n }\n \n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ',currentPromoInfo);\n\n if(validateForNotNull(currentPromoInfo))\n {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for(var j=0;j<currentPromoInfo.length;j++)\n {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if(validateForNotNull(currentPromoObj.promoType))\n {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType; \n }\n \n if(validateForNotNull(currentPromoObj.promoText))\n {\n prTextArr[prTextArr.length] = currentPromoObj.promoText; \n }\n \n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n \n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ',currentOfferInfo);\n\n if(validateForNotNull(currentOfferInfo))\n {\n var finalOfferInfoArray = [];\n\n for(var j=0;j<currentOfferInfo.length;j++)\n {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if(validateForNotNull(currentOfferInfoObj.offerDiscount))\n {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount; \n }\n \n if(validateForNotNull(currentOfferInfoObj.startDate))\n {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate; \n }\n \n if(validateForNotNull(currentOfferInfoObj.endDate))\n {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate; \n }\n \n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n \n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ',shipmentInfo);\n\n if(validateForNotNull(shipmentInfo))\n {\n var finalshipmentInfoArray = [];\n\n for(var j=0;j<shipmentInfo.length;j++)\n {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {}; \n\n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges))\n {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount))\n {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta))\n {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal))\n {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal; \n }\n \n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if(validateForNotNull(shippingOffers))\n {\n var finalshippingOfferArray = [];\n\n for(var k=0;k<shippingOffers.length;k++)\n {\n var currentshippingOffersObj = shippingOffers[k];\n\n if(validateForNotNull(currentshippingOffersObj.discountAmount))\n {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount; \n }\n \n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary; \n\n var finalOrderSummaryObj = {};\n\n if(validateForNotNull(orderSummary.merchandisePromoAmount))\n {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount; \n }\n \n if(validateForNotNull(orderSummary.discountedShippingAmount))\n {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n \n if(validateForNotNull(orderSummary.originalShippingAmount))\n {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated))\n {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate))\n {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax))\n {\n finalOrderSummaryObj.tax = orderSummary.tax.tax; \n }\n \n if(validateForNotNull(orderSummary.totalSurcharges))\n {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges; \n }\n \n if(validateForNotNull(orderSummary.totalTaxFee))\n {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee; \n }\n \n if(validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts))\n {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts; \n }\n \n if(validateForNotNull(orderSummary.totalTax))\n {\n finalOrderSummaryObj.totTax = orderSummary.totalTax; \n }\n \n if(validateForNotNull(orderSummary.total))\n {\n finalOrderSummaryObj.total = orderSummary.total; \n }\n \n if(validateForNotNull(orderSummary.savings))\n {\n finalOrderSummaryObj.sav = orderSummary.savings; \n }\n \n if(validateForNotNull(orderSummary.taxFeeEnabled))\n {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled; \n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n\n function fetchFilterData(cnString,oldCnFromEvent)\n {\n var finalReturnString = '';\n\n var splitCnString = cnString.toString().split(\"+\");\n\n var currentFilterObj = {};\n var oldCnFromEventSplit = oldCnFromEvent.toString().split(\"|\");\n\n //console.log('oldCnFromEventSplit',oldCnFromEventSplit,oldCnFromEventSplit.length);\n\n for(var i=(oldCnFromEventSplit.length-1);i>=0;i--)\n {\n if(oldCnFromEventSplit[i].length == 0 || oldCnFromEventSplit[i] == '-')\n {\n continue;\n }\n\n var innerObj = oldCnFromEventSplit[i].split(\"+\");\n\n if(innerObj.length > 0)\n {\n for(var k=0;k<innerObj.length;k++)\n {\n var filterObj = innerObj[k].split(\":\");\n var filterName = filterObj[0];\n var filterValue = filterObj[1];\n\n currentFilterObj[filterName] = filterValue;\n }\n\n break;\n }\n \n }\n\n var alreadyUsedObj = {};\n\n //console.log(splitCnString);\n for(var i=0;i<splitCnString.length;i++)\n {\n var filterObj = splitCnString[i].split(\":\");\n var filterName = filterObj[0];\n\n //console.log('Filter Name ',filterName);\n //console.log('Filter Value ',filterValue);\n\n if(filterName in alreadyUsedObj)\n {\n continue;\n }\n\n alreadyUsedObj[filterName] = true;\n \n if(filterName in currentFilterObj)\n {\n currentFilterObj[filterName] = Number(currentFilterObj[filterName]) + 1;\n }\n else\n {\n currentFilterObj[filterName] = 1;\n }\n\n\n }\n\n //console.log('currentFilterObj',currentFilterObj);\n\n var filterkeys = Object.keys(currentFilterObj);\n for(var i=0;i<filterkeys.length;i++)\n {\n finalReturnString = finalReturnString + filterkeys[i] + ':' + currentFilterObj[filterkeys[i]] + '+';\n }\n\n finalReturnString = finalReturnString.substring(0,finalReturnString.length - 1);\n\n return finalReturnString;\n\n\n }\n\n function fetchNewAttributesForVectorization(eventData,eventName) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (validateForNotNull(persistLocalData)) \n {\n var pageDataJson = pageData;\n\n persistLocalData = JSON.parse(persistLocalData);\n\n console.log('Into switch in fetchNewAttributesForVectorization',eventName);\n\n switch(eventName)\n {\n case \"_ws_searched\":\n\n if (validateForNotNull(pageDataJson.pmpDetails) && validateForNotNull(pageDataJson.pmpDetails.keywords)) {\n finalReturnObj.pgdata_pmpdet_search_keywords = pageDataJson.pmpDetails.keywords;\n }\n\n \n\n\n var newUserVectors = localStorage.getItem('z1_newUserVectors');\n\n if(newUserVectors && newUserVectors.length > 0)\n {\n var newUserVectorsJson = JSON.parse(newUserVectors);\n var currentFilterString = newUserVectorsJson.filter_by_count;\n\n if(validateForNotNull(getUrlParameter('CN')) && validateForNotNull(currentFilterString))\n {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'),currentFilterString); \n }\n \n }\n else\n {\n if(validateForNotNull(getUrlParameter('CN')))\n {\n finalReturnObj.filter_by_count = fetchFilterData(getUrlParameter('CN'),''); \n }\n \n }\n \n\n break;\n\n case '_ws_changedsort':\n\n var selectFilter = document.getElementById('sortby_select');\n if(selectFilter)\n {\n var selectedValue = selectFilter.options[selectFilter.selectedIndex].value;\n if(validateForNotNull(selectedValue))\n {\n finalReturnObj.sort_by = selectedValue;\n }\n }\n\n\n break;\n\n\n }\n }\n\n\n return finalReturnObj;\n\n }\n\n function fetchMcmId()\n {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n\n function getPresentVector() {\n try {\n\n console.log('getPresentVector');\n\n var itemsInBag = 0;\n\n cartValue = 0;\n\n isJsonNull = false;\n\n var cartData = localStorage.getItem(\"persistent_bar_components_json_v1\");\n if(isValid(cartData))\n {\n var cartInfo = JSON.parse(cartData);\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n cartValue = cartValue + Number(cartInfo.cartItems[i].itemPriceInfo.grossPrice);\n\n var tempObj = {};\n tempObj.productId = cartInfo.cartItems[i].productId;\n tempObj.skuId = cartInfo.cartItems[i].skuId;\n tempObj.quantity = cartInfo.cartItems[i].quantity;\n tempObj.itemType = cartInfo.cartItems[i].itemType;\n\n currentUserCartArr.push(tempObj);\n }\n }\n else\n {\n if(getCookie('VisitorBagTotals').toString().length != 0)\n {\n cartValue = -1;\n\n isJsonNull = true;\n }\n }\n\n\n if (cartValue == 0 && (typeof pageData != 'undefined') && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n cartValue = Number(pageData.cartDetails.cartSubTotalValue);\n }\n\n\n\n \n\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n if (evtName.toLocaleLowerCase() == '_ws_searched') {\n\n presentVector.keywords = (pageData.pmpDetails && pageData.pmpDetails && pageData.pmpDetails.keywords) || '-';\n \n presentVector.CN = getUrlParameter('CN') || '-';\n presentVector.visualNavForm = getUrlParameter('VisualNavFrom') || '-';\n\n var isFrmRecentSearch = getUrlParameter('isFrmRecentSearch');\n var isFrmTypeAhead = getUrlParameter('isFrmTypeAhead');\n presentVector.searchType = (isFrmRecentSearch == 'TRUE' && isFrmTypeAhead == 'TRUE') ? 'recent+typeahead' : (isFrmRecentSearch == 'TRUE' ? 'recent' : (isFrmTypeAhead == 'TRUE' ? 'typeahead' : '-'));\n\n }\n\n presentVector = fetchNewAttributesForVectorization(presentVector,evtName);\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() {\n try {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try{\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if(validateForNotNull(cartDump))\n {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for(var k=0;k<cartKeys.length;k++)\n {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if(validateForNotNull(newUserVectors))\n {\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n }\n catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = '2. searchFilter ';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue= cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.currentCart = JSON.stringify(currentUserCartArr);\n\n if(validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge))\n {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n }\n else\n {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n\n if(isJsonNull)\n {\n var lastUserPageArr = userVectors.eventVector.toString().split('|');\n var lastPageChar = lastUserPageArr[lastUserPageArr.length - 2];\n\n var tempEventData = {};\n tempEventData.VisitorBagTotals = getCookie('VisitorBagTotals');\n tempEventData.pgName = 'Search';\n tempEventData.lastPgChar = lastPageChar;\n\n ZineOne.pushEvent('_ws_emptyjson_v2', tempEventData);\n }\n\n\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n \n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n\n function getCartData() {\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n var cartInfo = JSON.parse(cartData);\n var productsArr = [];\n\n //Send the Event even if the Cart does not have any item, so that the OpenAPI could be called\n //on the Server side\n\n if (cartInfo == null || cartInfo.cartItems == null || cartInfo.cartItems.length <= 0)\n return true;\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var si = cartInfo.cartItems[i];\n var saleUnitprice = 0;\n var regularUnitPrice = 0;\n if (!si.itemPriceInfo && !si.itemPriceInfo.saleUnitprice)\n saleUnitprice = si.itemPriceInfo.saleUnitprice;\n\n if (!si.itemPriceInfo && !si.itemPriceInfo.regularUnitPrice)\n regularUnitPrice = si.itemPriceInfo.regularUnitPrice;\n var obj = {\n \"id\": si.cartItemId,\n \"skuCode\": si.skuId,\n \"webID\": si.productId,\n \"saleUnitPrice\": saleUnitprice.toString(),\n \"regularUnitPrice\": regularUnitPrice.toString()\n };\n productsArr.push(obj);\n //if (debugScr) console.log(\"[ZineOne] Product Array ==>\" + productsArr);\n }\n //if (debugScr) console.log(\"[ZineOne] Out of loop\");\n if (debugScr) console.log(\"[ZineOne] Product Array ==>\" + productsArr);\n return JSON.stringify(productsArr);\n }\n\n\n\n function addEventData() {\n\n \tvar evtData = {};\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n\n \n } else {\n if (debugScr) console.log(\"[ZineOne] pageData NOT initialized. Cannot set customerId or login state.\");\n }\n\n var itemsInBag = 0;\n var cartItems, cartId, cartTotalValue, cartSubTotalValue, cartShippingValue, cartDiscountValue;\n if (pageData && pageData.cartDetails) {\n itemsInBag = pageData.cartDetails.numberOfItems;\n if (debugScr) console.log('[ZineOne] Number of Items in the cart: ' + itemsInBag);\n cartId = pageData.cartDetails.cartID;\n cartTotalValue = pageData.cartDetails.cartTotalValue;\n cartSubTotalValue = pageData.cartDetails.cartSubTotalValue;\n cartShippingValue = pageData.cartDetails.shippingValue;\n cartDiscountValue = pageData.cartDetails.discountValue;\n\n //cartItems = pageData.cartDetails.cartItems;\n cartItems = getCartData();\n if (debugScr) console.log(\"[ZineOne] cartItems ==>\" + cartItems);\n }\n\n //ZineOne.setCustomKey(\"customerId\", RRTrackingBean.profileId);\n // replace e with var from webstore page (consider profile attr per Manish)\n // maybe do on page unload so you grab it once on first page and use it afterwards\n evtData.itemsInBag = itemsInBag;\n if (cartId) evtData.cartId = cartId;\n if (cartTotalValue) evtData.cartTotalValue = cartTotalValue;\n if (cartSubTotalValue) evtData.cartSubTotalValue = cartSubTotalValue;\n if (cartShippingValue) evtData.cartShippingValue = cartShippingValue;\n if (cartDiscountValue) evtData.cartDiscountValue = cartDiscountValue;\n if (cartItems) evtData.cartItems = cartItems;\n if (debugScr) console.log(\"[ZineOne] cartItems ==>\" + cartItems);\n\n\n if (isSoftLoggedIn) evtData[\"isSoftLoggedIn\"] = isSoftLoggedIn;\n if (isLoggedIn) evtData[\"isLoggedIn\"] = isLoggedIn;\n if (debugScr) console.log(\"[ZineOne] evtName = \" + evtName);\n if (debugScr) console.log(\"[ZineOne] evtData =\" + JSON.stringify(evtData));\n\n\n return evtData;\n }\n\n\n}\n\ncatch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: Catalog Filter Z1 tag. \" + ie);\n}\n\ntry {\n\n\n\n\tvar isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n\n\n\n\tvar currentCN = getUrlParameter('CN');\n\n\tvar MAX_CN_CHECK = 10;\n\tvar CURRENT_CN_CHECK = 0;\n\n\n\tdocument.addEventListener('click',function(e){\n\n\t\tconsole.log('E Target ',e.target.className);\n\n\t\tvar classNameArr = e.target.className.toString().split('facet_checkbox');\n\t\tvar ceAjaxArr = e.target.className.toString().split('ce-ajax');\n\t\tvar checkmarkArr = e.target.className.toString().split('checkmark');\n\t\t\n\n\t\tconsole.log('Class Name Length '+classNameArr.length);\n\n \tif(e.target && (classNameArr.length > 1 || ceAjaxArr.length > 1 || checkmarkArr.length > 1)){\n\n evtName = '_ws_searched';\n\n \t\tCURRENT_CN_CHECK = 0;\n\t\t\tcheckForCNUpdate();\n\n \t}});\n\n //Check for Sorting Dropdown\n var selectFilter = document.getElementById('sortby_select');\n selectFilter.onchange = function(){\n\n evtName = '_ws_changedsort';\n\n updateUserVectors();\n\n console.log('selectFilter Change',selectFilter);\n\n };\n\n}\n\ncatch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: Catalog Filter Z1 tag. \" + ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"search"}},{"tagName":"ClearZ1ItemsInEdgeBrowserLocalStorage","actionType":"z1script","script":"try {\n\n var uaval = window.navigator.userAgent; // > -1\"Mozilla/5.0 (X11; CrOS x86_64 6783.1.0) AppleWebKit/537.36 (KHTML, like Gecko) Edge/12.0\";\n //console.log(uaval);\n if (uaval && uaval.indexOf(\"Edge\", 0) > -1) {\n //console.log(\"Device Id is \" + dev_Id);\n Object.keys(localStorage).forEach(function(key) {\n if (key.lastIndexOf(\"z1_\", 0) === 0) {\n //console.log(\"key - \" + key + \" - value \" + localStorage.getItem(key));\n //console.log(\"key - \" + key);\n localStorage.setItem(key, \"\");\n localStorage.removeItem(key);\n }\n });\n ZineOne.turnOffApi(true);\n }\n} catch (e) {\n console.log('ZineOne : Unable to execute script' + e);\n}","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"ClearZ1OnUserLogout","actionType":"z1script","script":"function getParameterByName(name) {\n var match = RegExp('[\\\\?&]' + name + '=([^&#/]*)').exec(window.location.search);\n return match && decodeURIComponent(match[1].replace(/\\+/g, ' '));\n}\n\nfunction getCookie(name) {\n var value = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n if (debugScr && value != null) console.log(\"[ZineOne] getCookie value for = \" + name + \" value - \" + value);\n return (value != null) ? unescape(value[2]) : null;\n\n}\n\nfunction isNumeric(value) {\n return /^-{0,1}\\d+$/.test(value);\n}\n\nfunction isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n}\n\ntry {\n var debugScr = false;\n //Uncomment the below in production and comment the below in non-prod\n if ((window.location.host).includes(\"kohls.com\")) {\n var pg = Z1.window.browserInfo.pagePath;\n var reset = false;\n if (debugScr) console.log(\"[ZineOne] Page Name ==>\" + pg);\n\n if (pg == \"/\") {\n var logoutparam = getParameterByName('DPSLogout');\n if (logoutparam != null && logoutparam.toLowerCase() == 'true') {\n if (debugScr) console.log(\"[ZineOne] @@@@@@@@@@@@ - logoutparam------------ **\" + logoutparam);\n reset = true;\n } else {\n if (debugScr) console.log(\"[ZineOne] @@@@@@@@@@@@ - logoutparam is NULL ------------ **\");\n }\n } else {\n var xprof = getCookie('X-PROFILEID');\n var vistorId = getCookie(\"VisitorId\");\n if (debugScr) console.log(\"[ZineOne] xprof ==>\" + xprof + \" vistorId ==>\" + vistorId);\n\n if (!isValid(xprof) && (!isValid(vistorId) || !isNumeric(vistorId))) {\n //reset = true;\n }\n }\n\n var z1OTR = localStorage.getItem(\"z1_otr\");\n if (reset && (!isValid(z1OTR) || (z1OTR.toLowerCase() == 'false'))) {\n localStorage.setItem(\"z1_otr\", \"true\");\n if (debugScr) console.log(\"[ZineOne] @@@@@@@@@@@@ - Reset Z1 properties ------------ ** z1_otr \" + z1OTR);\n\n \t// Venkat - 9/24/2018 - Begin\n \t// Uncommenting the lines below to enable the fix\n Object.keys(localStorage).forEach(function(key) {\n if (key.lastIndexOf(\"z1_\", 0) === 0) {\n //console.log(\"key - \" + key + \" - value \" + localStorage.getItem(key));\n //console.log(\"key - \" + key);\n if (!key.includes(\"z1_otr\")) {\n \tlocalStorage.setItem(key, \"\");\n \tlocalStorage.removeItem(key);\n }\n }\n });\n // Venkat - 9/24/2018 - End\n\n \t/*\n //var dev_Id = ZineOne.getDeviceId();\n //if (debugScr) console.log(\"[ZineOne] @@@@@@@@@@@@ - Reset CustomerId to devId ------------ **\" + dev_Id);\n //ZineOne.setCustomerId(dev_Id);\n */\n } else if (!reset && (isValid(z1OTR) && z1OTR.toLowerCase() == 'true')) {\n localStorage.setItem(\"z1_otr\", \"false\");\n if (debugScr) console.log(\"[ZineOne] @@@@@@@@@@@@ - Not resetting Z1 properties but z1_otr set to false ------------ ** original z1_otr \" + z1OTR);\n } else {\n if (debugScr) console.log(\"[ZineOne] @@@@@@@@@@@@ - Already reset Z1 properties ------------ ** z1_otr \" + z1OTR);\n }\n\n }\n} catch (e) {\n console.log(\" @@@ ClearZ1OnUserLogout \" + e);\n}","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"Z1 Div on PDP Scarcity Message","actionType":"z1script","script":"var isDebugScr = false;\ntry {\n /*var myId = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n console.log(\"Scarcity myId ==> \",myId);\n if (myId == \"3000000030411692\" || myId == \"3000000129500077\" || myId == \"3000000015076174\" || myId == \"3000000074262095\" ) {\n console.log(\"Execute only for my Id\");*/\n\n function getCookie(name) {\n var value = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n if (isDebugScr && value != null) console.log(\"[ZineOne] getCookie value for = \" + name + \" value - \" + value);\n return (value != null) ? unescape(value[2]) : null;\n }\n var aka_hp2_cookie = getCookie(\"AKA_HP2\");\n var aka_rv_cookie = getCookie(\"AKA_RV\");\n var aka_pdp2_cookie = getCookie(\"AKA_PDP2\");\n if (isDebugScr) console.log(\" aka_hp2_cookie ==> \", aka_hp2_cookie, \" aka_rv_cookie ==> \", aka_rv_cookie, \" aka_pdp2_cookie ==> \", aka_pdp2_cookie);\n if (aka_pdp2_cookie && aka_pdp2_cookie.toLowerCase() == \"true\") {\n var parentDiv;\n var productPageName = pageName;\n if (isDebugScr) console.log(\" productPageName ==> \",productPageName);\n if (productPageName == \"regularProductPage\") {\n parentDiv = document.getElementById(\"PDP_z1Scarcity_badge\");\n } else if (productPageName == \"collectionPDPPage\") {\n parentDiv = document.getElementById(\"CDP_z1Scarcity_badge\");\n }\n\n if (parentDiv) {\n var pdpScrDiv = document.createElement('div');\n if (isDebugScr) console.log(\"[ZineOne] created new div for scarcity\");\n pdpScrDiv.setAttribute(\"id\", \"z1-pdpscarcity\");\n //pdpScrDiv.setAttribute(\"style\", \"display:block;text-align: left; width: 100%; color: purple; font-size: 15px; clear: both; padding-top: 5px; overflow: auto;\");\n pdpScrDiv.style.display = \"block\";\n pdpScrDiv.style.textAlign = \"left\";\n pdpScrDiv.style.width = \"100%\";\n pdpScrDiv.style.color = \"purple\";\n pdpScrDiv.style.fontSize = \"15px\";\n pdpScrDiv.style.clear = \"both\";\n pdpScrDiv.style.paddingTop = \"5px\";\n pdpScrDiv.style.overflow = \"auto\";\n //pdpScrDiv.innerHTML=\"Just <b>1 left in this store!</b>\";\n parentDiv.appendChild(pdpScrDiv);\n }\n } else {\n var scarcityParentDiv = document.getElementsByClassName(\"quantity\");\n if (scarcityParentDiv) {\n var parentDiv = scarcityParentDiv[0];\n var pdpScrDiv = document.createElement('div');\n if (isDebugScr) console.log(\"[ZineOne] created new div for scarcity\");\n pdpScrDiv.setAttribute(\"id\", \"z1-pdpscarcity\");\n //pdpScrDiv.setAttribute(\"style\", \"display:block;text-align: left; width: 100%; color: purple; font-size: 15px; clear: both; padding-top: 5px; overflow: auto;\");\n pdpScrDiv.style.display = \"block\";\n pdpScrDiv.style.textAlign = \"left\";\n pdpScrDiv.style.width = \"100%\";\n pdpScrDiv.style.color = \"purple\";\n pdpScrDiv.style.fontSize = \"15px\";\n pdpScrDiv.style.clear = \"both\";\n pdpScrDiv.style.paddingTop = \"5px\";\n pdpScrDiv.style.overflow = \"auto\";\n //pdpScrDiv.innerHTML=\"Just <b>1 left in this store!</b>\";\n parentDiv.appendChild(pdpScrDiv);\n }\n }\n /*} else {\n var scarcityParentDiv = document.getElementsByClassName(\"quantity\");\n if (scarcityParentDiv) {\n var parentDiv = scarcityParentDiv[0];\n var pdpScrDiv = document.createElement('div');\n if (isDebugScr) console.log(\"[ZineOne] created new div for scarcity\");\n pdpScrDiv.setAttribute(\"id\", \"z1-pdpscarcity\");\n //pdpScrDiv.setAttribute(\"style\", \"display:block;text-align: left; width: 100%; color: purple; font-size: 15px; clear: both; padding-top: 5px; overflow: auto;\");\n pdpScrDiv.style.display = \"block\";\n pdpScrDiv.style.textAlign = \"left\";\n pdpScrDiv.style.width = \"100%\";\n pdpScrDiv.style.color = \"purple\";\n pdpScrDiv.style.fontSize = \"15px\";\n pdpScrDiv.style.clear = \"both\";\n pdpScrDiv.style.paddingTop = \"5px\";\n pdpScrDiv.style.overflow = \"auto\";\n //pdpScrDiv.innerHTML=\"Just <b>1 left in this store!</b>\";\n parentDiv.appendChild(pdpScrDiv);\n }\n }*/\n} catch (z1ie) {\n if (isDebugScr) console.log(\"[zineone] exception in Tag creating div to attch z1 scarcity on PDP=\" + z1ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"product/prd-"}},{"tagName":"RTO Shopping Cart","actionType":"z1script","script":"/*Changes done for IE\nA. function declaration like, var abc = function() won't work in IE if function is used first and then declared and defined. Please take below precaution before using it:\n 1. If you want to use function declaration like, var abc = function(), first declare it and then use it\n 2. Use normal function declaration like, function abc(). you can declare function anywhere in the page and use it before or after declaration. It will work on all the browsers.\nB. Do not use multiline strings, also call as 'Template String'. Template Strings are demarked by a backtick(`).\n Example. var abc = `This is multiline\n comment`; //multiline comments won't work in IE\n Use simple concatenation to achieve the same like,\n var abc = \"\";\n abc += 'This is multiline';\n abc += 'comment';\nC. You can not set defalut parameter values for function in IE.\n for e.g. function abc(num = 0,str=\"hello\") //Won't work in IE\nD. You can not use arguments object ([...args] or (...args) in function) in IE.\n For e.g function abc(...args){\n console.log(\"received paramenters \", args)\n } // Won't work in IE\nE. 'append' function won't work in IE. You can use 'appendChild' function to achieve the same functionality.\nF. 'prepend' function won't work IE. Try to use 'insertBefore' function to achieve the same functionality.\nG. new Event() function won't work in IE. You can use new CustomEvent() function to achieve the same functionality.\nH. Arrow functions (=>) won't work in IE\n*/\n\nvar debugScr = true;\ntry {\n\n var evtName = null;\n\n var isLoggedIn = \"\";\n\n var isSoftLoggedIn = \"\";\n\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n var cartValue = 0;\n\n var currentUserCartArr = [];\n\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n };\n\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n\n function getPresentVector(isRto, rtoEventType) {\n try {\n\n if (debugScr) console.log('getPresentVector');\n\n var itemsInBag = 0;\n cartValue = 0;\n\n isJsonNull = false;\n\n var cartData = pageData.cartDetails.cartItems;\n if(isValid(cartData))\n {\n var cartInfo = (cartData);\n\n for (var i = 0; i < cartInfo.length; i++) {\n itemsInBag = itemsInBag + Number(cartInfo[i].quantity);\n\n cartValue = cartValue + Number(cartInfo[i].quantity)*Number(cartInfo[i].finalPrice);\n\n }\n }\n else\n {\n if(getCookie('VisitorBagTotals').toString().length != 0)\n {\n cartValue = -1;\n\n isJsonNull = true;\n\n }\n }\n\n\n if (cartValue == 0 && (typeof pageData != 'undefined') && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n cartValue = Number(pageData.cartDetails.cartSubTotalValue);\n }\n\n\n\n console.log(cartValue + ' Before Present Vector ', evtName);\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n console.log('Present Vector 1', presentVector);\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n\n if(isRto == true)\n {\n presentVector.event = eventCodes[\"_ws_rto\"] ;\n\n if(rtoEventType != null)\n {\n\n var rtoPageCode = '';\n\n rtoPageCode = 'CP';\n\n presentVector.rto_data = 'A';\n }\n\n }\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ', ie);\n }\n }\n\n\n\n function updateUserVectors(isRto, rtoEventType) {\n try {\n\n evtName = '_ws_rto';;\n if (debugScr) console.log('Into updateUserVectors');\n var presentVector = getPresentVector(isRto, rtoEventType);\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n if (debugScr) console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try {\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n var cartDump = fetchCartDump();\n\n if (validateForNotNull(cartDump)) {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for (var k = 0; k < cartKeys.length; k++) {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n if (validateForNotNull(newUserVectors)) {\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n } catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = 'webstoresendevent ' + evtName;\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n if (debugScr) console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n if (debugScr) console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue = cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.currentCart = JSON.stringify(currentUserCartArr);\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge)) {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n } else {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n\n if (isJsonNull) {\n var lastUserPageArr = userVectors.eventVector.toString().split('|');\n var lastPageChar = lastUserPageArr[lastUserPageArr.length - 2];\n\n var tempEventData = {};\n tempEventData.VisitorBagTotals = getCookie('VisitorBagTotals');\n tempEventData.pgName = pgName;\n tempEventData.lastPgChar = lastPageChar;\n\n ZineOne.pushEvent('_ws_emptyjson_v2', tempEventData);\n }\n\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n if (debugScr) console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ', ie);\n }\n }\n\n function updateFeatures() {\n\n if (debugScr) console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n /*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if ( !(cust_id == \"3000000030411692\" || cust_id == \"3000000126553504\") ) return;*/\n\n console.log(\"RTO Shopping cart START\");\n console.log('This is on the page load');\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n \n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n console.log('Final HTML '+InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function(){\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n\n\n existingSupc = JSON.parse(existingSupc);\n\n console.log('Got existingSupc ',existingSupc);\n\n existingSupc.is_redeemed = true;\n\n console.log('Setting is_redeemed ',existingSupc);\n\n var status = localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n console.log(status+' After Storage',localStorage.getItem('z1_supc'));\n\n sessionStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n console.log(status+' After Session Storage',sessionStorage.getItem('z1_supc'));\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n\n function sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\n //Case 1: Display Omniture \n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|CP|';\n\n sendDisEventToC3(\"CP\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n\n updateUserVectors(true,'applied');\n }\n\n \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n function formatAMPM(date) {\n var hours = date.getHours();\n var minutes = date.getMinutes();\n var ampm = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n minutes = minutes < 10 ? '0'+minutes : minutes;\n var strTime = hours + ':' + minutes + ' ' + ampm;\n return strTime;\n }\n\n function showRTOBanner(e)\n {\n // Style string for RTO\n var style = '.popupPromoText {font-size: 1.85em;margin-bottom: 5px;}.z1_b_container_kohlsbannertoparrow_rto {font-family: \\'Gotham 5r\\';position: fixed;padding: 0px;z-index: 1000;background: transperant;transition: all 1s ease-in;-webkit-animation: fadein 2s;/* Safari, Chrome and Opera > 12.1 */-moz-animation: fadein 2s;/* Firefox < 16 */-ms-animation: fadein 2s;/* Internet Explorer */-o-animation: fadein 2s;/* Opera < 12.1 */animation: fadein 2s; { z1_position_val}}@keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Firefox < 16 */@-moz-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Safari, Chrome and Opera > 12.1 */@-webkit-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Internet Explorer */@-ms-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Opera < 12.1 */@-o-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}.arrow_box {position: absolute;text-align: center;left: 50%;transform: translate(-50%, 100%);bottom: -20px;background: #ffffff;border: 1px solid #bfbfbf;padding: 1rem;border-radius: 0.6rem;width: 238px;-webkit-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);-moz-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);}.arrow_box:after,.arrow_box:before {content: \" \";position: absolute;}.arrow_box:after {border-color: rgba(255, 255, 255, 0);border-bottom-color: #ffffff;border-width: 20px;margin-left: -20px;}.arrow_box:before {width: 22px;height: 22px;background: #ffffff;z-index: 100;transform: translate(-50%, -50%) rotate(45deg);top: 1px;left: 50%;box-shadow: -6px -6px 5px 1px #999;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_box_style {position: relative;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 {padding-left: 0px !important;margin-left: 0px;min-width: none;max-width: none;align-self: center;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 img {min-width: 64px;max-width: 64px;min-height: 64px;max-height: 64px;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 {padding: 0 10px;font-size: 0.9em !important;line-height: 1.5;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 .titleText {background: url(\\'https://d2p4r375zfkzm8.cloudfront.net/zb-design-com/arrowdown3.png\\') no-repeat 0 2px;font-weight: bold;color: #000;font-size: 1.08em;padding: 0px 0 3px 20px;line-height: 1.4;}.z1_b_container_kohlsbannertoparrow_rto .closeBtn {cursor: pointer;position: absolute;right: 3px;top: 8px;width: 20px;height: 20px;margin: 0;padding: 0;font-size: 19px;font-family: \\'Gotham 4r\\';}.z1_b_container_kohlsbannertoparrow_rto .closeBtn img {border-bottom-left-radius: 50%;border-top-left-radius: 50%;border-bottom-right-radius: 50%;border-top-right-radius: 50%;height: 13px;width: 13px;opacity: 1;}.z1_b_container_kohlsbannertoparrow_rto .offerPrice {font-size: 1.3em;color: #e8342c;padding-right: 8px;}.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-size: 17px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 1.47;letter-spacing: normal;text-align: center;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .todaytext {font-size: 1.5em;color: #3a3a3a;font-weight: 400;margin: 5px 0px;display: flex;justify-content: center;align-items: center;}.z1_b_container_kohlsbannertoparrow_rto #offerDuration {font-weight: bold;font-size: 24px;}.z1_b_container_kohlsbannertoparrow_rto .todaytext div#offerDurationUnits {display: flex;flex-direction: column;text-align: left;font-size: 0.8em;}.z1_b_container_kohlsbannertoparrow_rto .savetext_row {padding: 0.6rem 0;}.z1_b_container_kohlsbannertoparrow_rto .cupontext {font-size: 14px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1.07;letter-spacing: -0.4px;text-align: center;color: #000000;margin: 20px;}.z1_b_container_kohlsbannertoparrow_rto .cupontext span {font-weight: bold;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer {background: #005553;text-transform: uppercase;color: #060606;padding: 0.40rem 1.85rem;border-radius: 2.2px;text-decoration: none;margin: 12px auto;letter-spacing: 1px;font-size: 13px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 0.6;letter-spacing: 0.5px;text-align: center;color: #ffffff;width: 138px;height: 31px;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy {content: \"Copy Offer\"}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover span {display: none;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover:before {/* background:#d2e2d3; color: #005553; */content: \"Click to Copy\";}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied:before {content: \"Copied\"}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied {background-color: #d2e2d3;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link {margin-top: 25px;font-size: 12px;font-weight: normal;font-style: normal;font-stretch: normal;line-height: 0.92;letter-spacing: normal;text-align: center;color: #444444;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {text-decoration: underline;color: #969696;font-size: 0.8rem;line-height: 1.2;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link a:hover {color: #333;}.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-size: 17px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 1.47;letter-spacing: normal;text-align: center;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .offerText {font-size: 37.1px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 0.49;letter-spacing: normal;text-align: center;color: #005553;margin: 20px 0;display: flex;justify-content: center;align-items: center;}.z1_b_container_kohlsbannertoparrow_rto .treatText {font-size: 17px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #222222;}.z1_b_container_kohlsbannertoparrow_rto .treatTextNew {font-size: 1.2em;margin-bottom: 10px;color: #000;display: none;}.z1_b_container_kohlsbannertoparrow_rto .saveCont.saveMsg {margin-top: 8px;}.z1_b_container_kohlsbannertoparrow_rto .uptillTime {font-weight: 900;}.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue {font-size: 2em;}.treatTextLatest {font-size: 14px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #222222;}.btn_offer_container {margin: 25px;}.z1-rto-dollar_reward {font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #005553;margin-bottom: 10px;}.z1-rto-dollar_reward_content {display: flex;flex-wrap: wrap;justify-content: center;}.z1-rto-dollar-text {font-size: 34.2px;margin-top: auto;width: 20px;height: 25px;margin-bottom: auto;}.z1-rto-dollar-text-amount {font-size: 68px;height: 68px;letter-spacing: -3px;}.z1-rto-dollar-text-dOff-outer {margin-top: 15px;margin-bottom: auto;height: 25px;}.z1-rto-dollar-text-dOff-off {font-size: 16px;margin-left: -26px;position: relative;top: 4px;}.z1-rto-dollar-text-dOff-off-amount {font-size: 38px;position: relative;top: -4px;left: -5px;text-shadow: -1px 1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;}.z1-rto-dollar-text-dOff-off-miniDollar {height: -1px;font-size: 23px;position: relative;top: -9px;}.z1-rto-dollar-text-dOff-off-miniDollarAmount {letter-spacing: -1px;}.z1_b_container_kohlsbannertoparrow_rto.loyalty {background-color: #e9f4cc;}.loyalty .usernameText {color: #208033;}.loyalty .saveMsg {color: #208033;}.loyalty .offerText {color: #208033;}.loyalty #rtoOfferCode {color: #208033;}.loyalty .z1-rto-dollar_reward_content {color: #208033;}.loyalty .btn_addoffer {background: #208033;}.loyalty.arrow_box:after {border-bottom-color: #208033;}.loyalty.arrow_box:before {background: #208033;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .bottom_link a {color: #444444;}.loyalty-cont.disable {display: none}.loyalty-cont.enable {display: block}.loyalty-cont {background-color: #208033;position: relative;top: -17px;left: -17px;width: 273px;height: 60px;border-radius: 0.6em 0.6em 0 0;color: #fff;}.loyalty-cont .heading-1 {padding-top: 15px;font-size: 16px;}.loyalty-cont .heading-2 {padding-top: 8px;font-size: 12px;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .closeBtn {z-index: 1;color: #fff;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .loyalty-cont.disable {display: block;}.element_v2 {display: none;}.ui_v2 .element_v1 {display: none;}.ui_v2 .element_v2 {display: block;}#v2-take {position: absolute;left: 42px;top: 85px;}.ui_v2 .z1-rto-dollar-text {font-size: 36.9px;height: 5px;}.ui_v2 .z1-rto-dollar-text-amount {font-size: 82px;padding: 5px;}.ui_v2 {font-family: \\'Gotham 5r\\';}.ui_v2 .z1-rto-dollar-text-dOff-off {font-size: 25.6px;margin-left: 0px;top: 45px;font-weight: bold;}.ui_v2 .z1-rto-dollar_reward {margin-top: 5px;}.ui_v2 .treatText {margin-top: 25px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .treatText {margin-top: 15px;font-size: 16px;color: #000;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .offerDuration {color: #000;font-size: 20px;margin-top: 5px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-weight: normal;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-weight: normal;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .cupontext {color: #005553;font-size: 15px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {color: #444444;}.ui_v2.dollar_fix .z1-rto-dollar-text-dOff-off {top: 20px;}.ui_v2.dollar_fix #v2-take {top: 70px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText {margin: 30px 0;margin-bottom: 25px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue {font-size: 89.7px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText {font-size: 40.4px;}';\n\n console.log('Before RTO Style');\n\n appendStyle(style);\n\n\n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n\n domstr_val = '<div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class=\\'offerText\\'>'+dolStr+'<span id=\\'rtoOfferValue\\' class=\\'rtoOfferValue\\'></span><span class=\"z1-rto-dollar-text-dOff-off element_v2\">off</span>'+'</div>';\n\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\"; \n\n domstr_val = '<div class=\\'offerText\\'>'+'<span id=\\'rtoOfferValue\\' class=\\'rtoOfferValue\\'></span>'+pctStr+'</div>'; \n } \n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = '<div class=\"z1-rto-dollar_reward\"><div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class=\"z1-rto-dollar_reward_content\"><div class=\"z1-rto-dollar-text\">$</div><div id=\\'rtoOfferValue\\' class=\"z1-rto-dollar-text-amount\"></div><div class=\"z1-rto-dollar-text-dOff-outer\"><span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount element_v1\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">'+e.offThres+'</span></span></div></div></div>';\n }\n\n var domstr = '<div data-zineone-properties=\"modal:true;container-class:z1_b_container_kohlsbannertoparrow_rto;\" id=\"z1-rto-div\" class=\"z1_b_container_kohlsbannertoparrow_rto arrow_box\"><div class=\"closeBtn\" onclick=\"var el=document.getElementById(\\'z1-rto-div\\');el.innerHTML=\\'\\';el.parentNode.removeChild(el);\">x</div><div class=\"z1_b_c1\"><div class=\\'loyalty-cont disable\\'><div class=\\'heading-1\\'>KOHL’S REWARDS®</div><div class=\\'heading-2\\'>MEMBER EXCLUSIVE</div></div><div><span class=\"usernameText\">Hi, </span><span class=\\'saveMsg element_v1\\'> save</span><div class=\\'saveMsg element_v2\\'>your cart looks great!</div></div>' + domstr_val +'<div class=\\'treatText element_v1\\'>in the next <span id=\\'offerDuration\\'></span> minutes.</div><div class=\\'saveMsg element_v2\\'>the items in your cart!</div><div class=\\'treatTextNew\\'>Valid until <span id=\\'uptillTime\\' class=\\'uptillTime\\'></span></div><div class=\\'treatTextLatest element_v1\\'>(Go ahead, treat yourself!)</div><div class=\\'element_v2\\'><div class=\\'treatText\\'>Check out in the next</div><div class=\\'offerDuration\\'><span id=\\'offerDurationv2\\'></span> minutes.</div></div><div class=\"cupontext\">PROMO CODE: <span id=\\'rtoOfferCode\\'></span></div><div class=\"btn_offer_container\"><a class=\"btn_addoffer\"><span id=\\'btn_addoffer\\'></span></a></div><div class=\"bottom_link\"><a id=\\'discliamer_href\\' href=\"#\" target=\\'_default\\'>details & exclusions</a></div><input type=\"text\" id=\"textCopy\" style=\\'opacity:0;pointer-events:none\\' /></div></div>';\n\n var t = document.createRange().createContextualFragment(domstr);\n\n console.log('Before RTO Z1 Widget');\n\n document.getElementById('z1widget').appendChild(t);\n\n\n /*document.getElementById('rtoOfferValue').append(e.offerValue);\n document.getElementById('rtoOfferCode').append(e.offerCode);\n document.getElementById('textCopy').value = e.offerCode; \n\n document.getElementById('offerDuration').append(e.offerDuration);\n\n document.getElementById('offerDurationv2').append(e.offerDuration);\n\n document.getElementById('discliamer_href').href = e.disclaimer;*/\n document.getElementById('rtoOfferValue').innerHTML=e.offerValue;\n document.getElementById('rtoOfferCode').innerHTML=e.offerCode;\n document.getElementById('textCopy').value = e.offerCode; \n\n document.getElementById('offerDuration').innerHTML=e.offerDuration;\n\n document.getElementById('offerDurationv2').innerHTML=e.offerDuration;\n\n document.getElementById('discliamer_href').href = e.disclaimer;\n\n var uptillTime = new Date();\n uptillTime.setMinutes(uptillTime.getMinutes() + Number(e.offerDuration));\n\n var uptillTimeStr = formatAMPM(uptillTime);\n\n //document.getElementById('uptillTime').append(uptillTimeStr + '.');\n document.getElementById('uptillTime').innerHTML=uptillTimeStr + '.';\n\n\n\n if(document.getElementsByClassName('first-name')[0] && document.getElementsByClassName('first-name')[0].innerText.toLowerCase()!=\"account\")\n {\n document.getElementsByClassName('usernameText')[0].innerText = document.getElementsByClassName('first-name')[0].innerText + ','; \n }\n else\n {\n document.getElementsByClassName('saveMsg')[0].innerText = \"Save\";\n }\n\n if(e.loyaltyCx == true)\n {\n document.getElementById('z1-rto-div').classList.add('loyalty');\n }\n\n\n if(e.ui_version && e.ui_version == 2)\n {\n document.getElementById('z1-rto-div').classList.add('ui_v2');\n document.getElementById('z1-rto-div').classList.add(e.offType.toLowerCase());\n }\n\n\n if(e.cta == \"COPY\")\n {\n document.getElementById('btn_addoffer').innerText = \"COPY OFFER\";\n document.getElementsByClassName('btn_addoffer')[0].classList.add('copy');\n }\n\n if(e.cta == \"ADD\" || e.cta == 'WALLET')\n {\n document.getElementById('btn_addoffer').innerText = \"ADD OFFER\";\n }\n\n\n document.getElementsByClassName('btn_addoffer')[0].onclick = function(){\n\n console.log('btn_addoffer Click ');\n\n\n if(e.cta == 'WALLET')\n {\n if(pageData && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue)\n {\n var cartValue = parseInt(pageData.cartDetails.cartSubTotalValue);\n\n //alert('Got Cart Value '+cartValue);\n if(cartValue == 0)\n {\n urlToGo = '/wallet/my_wallet.jsp#offers';\n\n location.href=urlToGo;\n\n return;\n }\n\n } \n }\n\n\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function(){\n\n\n if(e.cta == 'COPY')\n {\n\n var copyTextField = document.getElementById('textCopy');\n copyTextField.select();\n\n var copied = document.execCommand (\"copy\");\n\n console.log('Got Copied Status '+copied);\n \n document.getElementsByClassName('btn_addoffer')[0].classList.add('copied');\n document.getElementById('btn_addoffer').innerText = \"\";\n \n e.is_copied = 'true';\n localStorage.setItem('z1_supc',JSON.stringify(e));\n\n } \n \n\n console.log(\"kohlscashapply Click \"); \n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function(){ \n\n console.log(\"Checking for Redemption Popup \"+timeCounter); \n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n console.log('Got Popup Div '+popupDiv);\n\n if(popupDiv != undefined && popupDiv != null)\n {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv,e.offerCode);\n\n return;\n }\n\n if(timeCounter > maxCounter)\n {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n \n\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n\n document.getElementById('z1widget').innerHTML='';\n\n };\n\n \n\n sendRTOOmniture(1);\n\n\n document.getElementById(\"z1-rto-div\").onclick = function(e){\n //console.log(\"Event...\",e)\n e.stopPropagation();\n\n //console.log('Elemtn Id ',e.toElement.id);\n\n if(e.toElement.id == 'discliamer_href')\n {\n window.open(\n document.getElementById(\"discliamer_href\").href,\n '_blank' // <- This is what makes it open in a new window.\n );\n }\n //e.preventDefault();\n return false;\n };\n\n\n\n\n }\n\n\n function getDayLightOffset()\n {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth()+1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow; \n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n \n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n\n function checkForLocalRTO()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n var e = JSON.parse(existingSupc);\n\n var offerExpiry = e.offerExpiry;\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n console.log(e.offerExpiry+\" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n console.log(endTime+\" timeCheck Main: \" + currentTime);\n\n var timeCheck = endTime-currentTime;\n\n if(timeCheck > 0)\n {\n if(e.is_redeemed != true)\n {\n var expiryInMinutes = Math.ceil((timeCheck)/(60));\n\n e.offerDuration = expiryInMinutes;\n\n showRTOBanner(e); \n\n\n if(getUrlParameter('redeemCoupon') == 'true')\n {\n document.getElementById(\"btn_addoffer\").click(); \n }\n }\n \n\n\n }\n else\n {\n return false;\n }\n \n\n \n console.log(\" timeCheck: \" + timeCheck);\n\n return true;\n\n\n }\n\n return false;\n }\n\n\n\nfunction fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n}\n\n\nisSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n\nif (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n}\n\n\n\n if(checkForLocalRTO() == true)\n {\n return;\n }\n\n localStorage.setItem('z1_supc',null);\n\n console.log(\"RTO Shopping cart END\");\n\n}\ncatch(err)\n{\n console.log(\"[Zineone] Error in RTO Offers Tag: WebStore Z1 tag. \", err);\n}\n\n","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"shopping_cart"}},{"tagName":"RTO Offers","actionType":"z1script","script":"/*Changes done for IE\nA. function declaration like, var abc = function() won't work in IE if function is used first and then declared and defined. Please take below precaution before using it:\n 1. If you want to use function declaration like, var abc = function(), first declare it and then use it\n 2. Use normal function declaration like, function abc(). you can declare function anywhere in the page and use it before or after declaration. It will work on all the browsers.\nB. Do not use multiline strings, also call as 'Template String'. Template Strings are demarked by a backtick(`).\n Example. var abc = `This is multiline\n comment`; //multiline comments won't work in IE\n Use simple concatenation to achieve the same like,\n var abc = \"\";\n abc += 'This is multiline';\n abc += 'comment';\nC. You can not set defalut parameter values for function in IE.\n for e.g. function abc(num = 0,str=\"hello\") //Won't work in IE\nD. You can not use arguments object ([...args] or (...args) in function) in IE.\n For e.g function abc(...args){\n console.log(\"received paramenters \", args)\n } // Won't work in IE\nE. 'append' function won't work in IE. You can use 'appendChild' function to achieve the same functionality.\nF. 'prepend' function won't work IE. Try to use 'insertBefore' function to achieve the same functionality.\nG. new Event() function won't work in IE. You can use new CustomEvent() function to achieve the same functionality.\nH. Arrow functions (=>) won't work in IE\n*/\n\nvar debugScr = true;\ntry {\n\n /*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if ( !(cust_id == \"3000000030411692\" || cust_id == \"3000000126553504\") ) return;*/\n // var localVariable = localStorage.getItem('z1_rto_ui_v2');\n\n // if(!localVariable || localVariable == null || localVariable == 'null' || localVariable == undefined || localVariable == \"undefined\")\n // {\n // return;\n // }\n\n console.log(\"RTO offers START\");\n console.log('This is on the page load');\n\n\n function fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n }\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n \n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n console.log('Final HTML '+InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function(){\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n\n function sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\n //Case 1: Display Omniture \n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|HP|';\n sendDisEventToC3(\"HP\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n function formatAMPM(date) {\n var hours = date.getHours();\n var minutes = date.getMinutes();\n var ampm = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n minutes = minutes < 10 ? '0'+minutes : minutes;\n var strTime = hours + ':' + minutes + ' ' + ampm;\n return strTime;\n }\n\n function showRTOBanner(e)\n {\n console.log(\"[ZineOne] RTO Offers tag running\");\n if (e.is_copied == 'true') return;\n // Style string for RTO\n var style = '.popupPromoText {font-size: 1.85em;margin-bottom: 5px;}.z1_b_container_kohlsbannertoparrow_rto {font-family: \\'Gotham 5r\\';position: fixed;padding: 0px;z-index: 1000;background: transperant;transition: all 1s ease-in;-webkit-animation: fadein 2s;/* Safari, Chrome and Opera > 12.1 */-moz-animation: fadein 2s;/* Firefox < 16 */-ms-animation: fadein 2s;/* Internet Explorer */-o-animation: fadein 2s;/* Opera < 12.1 */animation: fadein 2s; { z1_position_val}}@keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Firefox < 16 */@-moz-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Safari, Chrome and Opera > 12.1 */@-webkit-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Internet Explorer */@-ms-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}/* Opera < 12.1 */@-o-keyframes fadein {from { opacity: 0;}to { opacity: 1;}}.arrow_box {position: absolute;text-align: center;left: 50%;transform: translate(-50%, 100%);bottom: -20px;background: #ffffff;border: 1px solid #bfbfbf;padding: 1rem;border-radius: 0.6rem;width: 238px;-webkit-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);-moz-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);}.arrow_box:after,.arrow_box:before {content: \" \";position: absolute;}.arrow_box:after {border-color: rgba(255, 255, 255, 0);border-bottom-color: #ffffff;border-width: 20px;margin-left: -20px;}.arrow_box:before {width: 22px;height: 22px;background: #ffffff;z-index: 100;transform: translate(-50%, -50%) rotate(45deg);top: 1px;left: 50%;box-shadow: -6px -6px 5px 1px #999;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_box_style {position: relative;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 {padding-left: 0px !important;margin-left: 0px;min-width: none;max-width: none;align-self: center;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 img {min-width: 64px;max-width: 64px;min-height: 64px;max-height: 64px;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 {padding: 0 10px;font-size: 0.9em !important;line-height: 1.5;}.z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 .titleText {background: url(\\'https://d2p4r375zfkzm8.cloudfront.net/zb-design-com/arrowdown3.png\\') no-repeat 0 2px;font-weight: bold;color: #000;font-size: 1.08em;padding: 0px 0 3px 20px;line-height: 1.4;}.z1_b_container_kohlsbannertoparrow_rto .closeBtn {cursor: pointer;position: absolute;right: 3px;top: 8px;width: 20px;height: 20px;margin: 0;padding: 0;font-size: 19px;font-family: \\'Gotham 4r\\';}.z1_b_container_kohlsbannertoparrow_rto .closeBtn img {border-bottom-left-radius: 50%;border-top-left-radius: 50%;border-bottom-right-radius: 50%;border-top-right-radius: 50%;height: 13px;width: 13px;opacity: 1;}.z1_b_container_kohlsbannertoparrow_rto .offerPrice {font-size: 1.3em;color: #e8342c;padding-right: 8px;}.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-size: 17px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 1.47;letter-spacing: normal;text-align: center;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .todaytext {font-size: 1.5em;color: #3a3a3a;font-weight: 400;margin: 5px 0px;display: flex;justify-content: center;align-items: center;}.z1_b_container_kohlsbannertoparrow_rto #offerDuration,.z1_b_container_kohlsbannertoparrow_rto .offerDuration {font-weight: bold;font-size: 24px;}.z1_b_container_kohlsbannertoparrow_rto .todaytext div#offerDurationUnits {display: flex;flex-direction: column;text-align: left;font-size: 0.8em;}.z1_b_container_kohlsbannertoparrow_rto .savetext_row {padding: 0.6rem 0;}.z1_b_container_kohlsbannertoparrow_rto .cupontext {font-size: 14px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1.07;letter-spacing: -0.4px;text-align: center;color: #000000;margin: 20px;}.z1_b_container_kohlsbannertoparrow_rto .cupontext span {font-weight: bold;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer {background: #005553;text-transform: uppercase;color: #060606;padding: 0.40rem 1.85rem;border-radius: 2.2px;text-decoration: none;margin: 12px auto;letter-spacing: 1px;font-size: 13px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 0.6;letter-spacing: 0.5px;text-align: center;color: #ffffff;width: 138px;height: 31px;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy {content: \"Copy Offer\"}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover span {display: none;}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover:before {/* background:#d2e2d3; color: #005553; */content: \"Click to Copy\";}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied:before {content: \"Copied\"}.z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied {background-color: #d2e2d3;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link {margin-top: 25px;font-size: 12px;font-weight: normal;font-style: normal;font-stretch: normal;line-height: 0.92;letter-spacing: normal;text-align: center;color: #444444;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {text-decoration: underline;color: #969696;font-size: 0.8rem;line-height: 1.2;}.z1_b_container_kohlsbannertoparrow_rto .bottom_link a:hover {color: #333;}.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-size: 17px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 1.47;letter-spacing: normal;text-align: center;color: #005553;}.z1_b_container_kohlsbannertoparrow_rto .offerText {font-size: 37.1px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 0.49;letter-spacing: normal;text-align: center;color: #005553;margin: 20px 0;display: flex;justify-content: center;align-items: center;}.z1_b_container_kohlsbannertoparrow_rto .treatText {font-size: 17px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #222222;}.z1_b_container_kohlsbannertoparrow_rto .treatTextNew {font-size: 1.2em;margin-bottom: 10px;color: #000;display: none;}.z1_b_container_kohlsbannertoparrow_rto .saveCont.saveMsg {margin-top: 8px;}.z1_b_container_kohlsbannertoparrow_rto .uptillTime {font-weight: 900;}.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue {font-size: 2em;}.treatTextLatest {font-size: 14px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #222222;}.btn_offer_container {margin: 25px;}.z1-rto-dollar_reward {font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #005553;margin-bottom: 10px;}.z1-rto-dollar_reward_content {display: flex;flex-wrap: wrap;justify-content: center;}.z1-rto-dollar-text {font-size: 34.2px;margin-top: auto;width: 20px;height: 25px;margin-bottom: auto;}.z1-rto-dollar-text-amount {font-size: 68px;height: 68px;letter-spacing: -3px;}.z1-rto-dollar-text-dOff-outer {margin-top: 15px;margin-bottom: auto;height: 25px;}.z1-rto-dollar-text-dOff-off {font-size: 16px;margin-left: -26px;position: relative;top: 4px;}.z1-rto-dollar-text-dOff-off-amount {font-size: 38px;position: relative;top: -4px;left: -5px;text-shadow: -1px 1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;}.z1-rto-dollar-text-dOff-off-miniDollar {height: -1px;font-size: 23px;position: relative;top: -9px;}.z1-rto-dollar-text-dOff-off-miniDollarAmount {letter-spacing: -1px;}.z1_b_container_kohlsbannertoparrow_rto.loyalty {background-color: #e9f4cc;}.loyalty .usernameText {color: #208033;}.loyalty .saveMsg {color: #208033;}.loyalty .offerText {color: #208033;}.loyalty #rtoOfferCode {color: #208033;}.loyalty .z1-rto-dollar_reward_content {color: #208033;}.loyalty .btn_addoffer {background: #208033;}.loyalty.arrow_box:after {border-bottom-color: #208033;}.loyalty.arrow_box:before {background: #208033;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .bottom_link a {color: #444444;}.loyalty-cont.disable {display: none}.loyalty-cont.enable {display: block}.loyalty-cont {background-color: #208033;position: relative;top: -17px;left: -17px;width: 272px;height: 60px;border-radius: 0.6em 0.6em 0 0;color: #fff;}.loyalty-cont .heading-1 {padding-top: 15px;font-size: 16px;}.loyalty-cont .heading-2 {padding-top: 8px;font-size: 12px;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .closeBtn {z-index: 1;color: #fff;}.z1_b_container_kohlsbannertoparrow_rto.loyalty .loyalty-cont.disable {display: block;}.element_v2 {display: none;}.ui_v2 .element_v1 {display: none;}.ui_v2 .element_v2 {display: block;}#v2-take {position: absolute;left: 42px;top: 85px;}.ui_v2 .z1-rto-dollar-text {font-size: 36.9px;height: 5px;}.ui_v2 .z1-rto-dollar-text-amount {font-size: 82px;padding: 5px;}.ui_v2 {font-family: \\'Gotham 5r\\';}.ui_v2 .z1-rto-dollar-text-dOff-off {font-size: 25.6px;margin-left: 0px;top: 45px;font-weight: bold;}.ui_v2 .z1-rto-dollar_reward {margin-top: 5px;}.ui_v2 .treatText {margin-top: 25px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .treatText {margin-top: 15px;font-size: 16px;color: #000;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .offerDuration {color: #000;font-size: 20px;margin-top: 5px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-weight: normal;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-weight: normal;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .cupontext {color: #005553;font-size: 15px;}.ui_v2.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {color: #444444;}.ui_v2.dollar_fix .z1-rto-dollar-text-dOff-off {top: 20px;}.ui_v2.dollar_fix #v2-take {top: 70px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText {margin: 30px 0;margin-bottom: 25px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue {font-size: 89.7px;}.ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText {font-size: 40.4px;}';\n\n console.log('Before RTO Style');\n\n appendStyle(style);\n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n\n domstr_val = '<div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class=\\'offerText\\'>'+dolStr+'<span id=\\'rtoOfferValue\\' class=\\'rtoOfferValue\\'></span><span class=\"z1-rto-dollar-text-dOff-off element_v2\">off</span>'+'</div>';\n\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\"; \n\n domstr_val = '<div class=\\'offerText\\'>'+'<span id=\\'rtoOfferValue\\' class=\\'rtoOfferValue\\'></span>'+pctStr+'</div>'; \n } \n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = '<div class=\"z1-rto-dollar_reward\"><div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class=\"z1-rto-dollar_reward_content\"><div class=\"z1-rto-dollar-text\">$</div><div id=\\'rtoOfferValue\\' class=\"z1-rto-dollar-text-amount\"></div><div class=\"z1-rto-dollar-text-dOff-outer\"><span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount element_v1\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">'+e.offThres+'</span></span></div></div></div>';\n }\n\n\n var domstr = '<div data-zineone-properties=\"modal:true;container-class:z1_b_container_kohlsbannertoparrow_rto;\" id=\"z1-rto-div\" class=\"z1_b_container_kohlsbannertoparrow_rto arrow_box\"><div class=\"closeBtn\" onclick=\"var el=document.getElementById(\\'z1-rto-div\\');el.innerHTML=\\'\\';el.parentNode.removeChild(el);\">x</div><div class=\"z1_b_c1\"><div class=\\'loyalty-cont disable\\'><div class=\\'heading-1\\'>KOHL’S REWARDS®</div><div class=\\'heading-2\\'>MEMBER EXCLUSIVE</div></div><div><span class=\"usernameText\">Hi, </span><span class=\\'saveMsg element_v1\\'> save</span><div class=\\'saveMsg element_v2\\'>your cart looks great!</div></div>' + domstr_val +'<div class=\\'treatText element_v1\\'>in the next <span id=\\'offerDuration\\'></span> minutes.</div><div class=\\'saveMsg element_v2\\'>the items in your cart!</div><div class=\\'treatTextNew\\'>Valid until <span id=\\'uptillTime\\' class=\\'uptillTime\\'></span></div><div class=\\'treatTextLatest element_v1\\'>(Go ahead, treat yourself!)</div><div class=\\'element_v2\\'><div class=\\'treatText\\'>Check out in the next</div><div class=\\'offerDuration\\'><span id=\\'offerDurationv2\\'></span> minutes.</div></div><div class=\"cupontext\">PROMO CODE: <span id=\\'rtoOfferCode\\'></span></div><div class=\"btn_offer_container\"><a class=\"btn_addoffer\"><span id=\\'btn_addoffer\\'></span></a></div><div class=\"bottom_link\"><a id=\\'discliamer_href\\' href=\"#\" target=\\'_default\\'>details & exclusions</a></div><input type=\"text\" id=\"textCopy\" style=\\'opacity:0;pointer-events:none\\' /></div></div>';\n\n \n\n var t = document.createRange().createContextualFragment(domstr);\n\n console.log('Before RTO Z1 Widget');\n\n document.getElementById('z1widget').appendChild(t);\n\n\n /*document.getElementById('rtoOfferValue').append(e.offerValue);\n document.getElementById('rtoOfferCode').append(e.offerCode);\n document.getElementById('textCopy').value = e.offerCode; \n document.getElementById('offerDuration').append(e.offerDuration);\n\n document.getElementById('offerDurationv2').append(e.offerDuration);*/\n document.getElementById('rtoOfferValue').innerHTML= e.offerValue;\n document.getElementById('rtoOfferCode').innerHTML= e.offerCode;\n document.getElementById('textCopy').value = e.offerCode; \n document.getElementById('offerDuration').innerHTML= e.offerDuration;\n\n document.getElementById('offerDurationv2').innerHTML= e.offerDuration;\n\n \n\n document.getElementById('discliamer_href').href = e.disclaimer;\n\n\n var uptillTime = new Date();\n uptillTime.setMinutes(uptillTime.getMinutes() + Number(e.offerDuration));\n\n var uptillTimeStr = formatAMPM(uptillTime);\n\n //document.getElementById('uptillTime').append(uptillTimeStr + '.');\n document.getElementById('uptillTime').innerHTML = uptillTimeStr + '.';\n\n \n if(document.getElementsByClassName('first-name')[0] && document.getElementsByClassName('first-name')[0].innerText.toLowerCase()!=\"account\")\n {\n document.getElementsByClassName('usernameText')[0].innerText = document.getElementsByClassName('first-name')[0].innerText + ','; \n }\n else\n {\n document.getElementsByClassName('saveMsg')[0].innerText = \"Save\";\n }\n\n\n if(e.loyaltyCx == true)\n {\n document.getElementById('z1-rto-div').classList.add('loyalty');\n }\n\n if(e.ui_version && e.ui_version == 2)\n {\n document.getElementById('z1-rto-div').classList.add('ui_v2');\n document.getElementById('z1-rto-div').classList.add(e.offType.toLowerCase());\n }\n\n if(e.cta == \"COPY\")\n {\n document.getElementById('btn_addoffer').innerText = \"COPY OFFER\";\n document.getElementsByClassName('btn_addoffer')[0].classList.add('copy');\n }\n\n if(e.cta == \"ADD\" || e.cta == \"WALLET\")\n {\n document.getElementById('btn_addoffer').innerText = \"ADD OFFER\";\n }\n\n\n document.getElementsByClassName('btn_addoffer')[0].onclick = function() {\n if(e.cta == 'COPY')\n {\n\n var copyTextField = document.getElementById('textCopy');\n copyTextField.select();\n\n var copied = document.execCommand (\"copy\");\n\n console.log('Got Copied Status '+copied);\n \n document.getElementsByClassName('btn_addoffer')[0].classList.add('copied');\n document.getElementById('btn_addoffer').innerText = \"\";\n\n e.is_copied = 'true';\n localStorage.setItem('z1_supc',JSON.stringify(e));\n\n return;\n } \n\n var urlToGo = '/checkout/shopping_cart.jsp?redeemCoupon=true';\n\n\n if(e.cta == 'WALLET')\n {\n if(pageData && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue)\n {\n var cartValue = parseInt(pageData.cartDetails.cartSubTotalValue);\n\n //alert('Got Cart Value '+cartValue);\n if(cartValue == 0)\n {\n urlToGo = '/wallet/my_wallet.jsp#offers';\n }\n\n } \n }\n\n\n location.href=urlToGo;\n\n };\n\n\n sendRTOOmniture(1);\n\n\n document.getElementById(\"z1-rto-div\").onclick = function(e){\n //console.log(\"Event...\",e)\n e.stopPropagation();\n\n //console.log('Elemtn Id ',e.toElement.id);\n\n if(e.toElement.id == 'discliamer_href')\n {\n window.open(\n document.getElementById(\"discliamer_href\").href,\n '_blank' // <- This is what makes it open in a new window.\n );\n }\n //e.preventDefault();\n return false;\n };\n\n\n }\n\n\n\n\n function getDayLightOffset()\n {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth()+1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow; \n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n \n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n\n function checkForLocalRTO()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n var e = JSON.parse(existingSupc);\n\n var offerExpiry = e.offerExpiry;\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n console.log(e.offerExpiry+\" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n console.log(endTime+\" timeCheck Main: \" + currentTime);\n\n var timeCheck = endTime-currentTime;\n\n if(timeCheck > 0)\n {\n if(e.is_redeemed != true)\n {\n\n var expiryInMinutes = Math.ceil((timeCheck)/(60));\n\n e.offerDuration = expiryInMinutes;\n\n showRTOBanner(e); \n }\n }\n else\n {\n return false;\n }\n \n\n \n console.log(\" timeCheck: \" + timeCheck);\n\n return true;\n\n\n }\n\n return false;\n }\n\n function _handleRawRTOData(e) {\n // alert('Got raw data...' + JSON.stringify(e));\n console.log('Got Raw RTO data: ' + e);\n\n if(e)\n {\n e = JSON.parse(e);\n\n if(e.rtoOfferData)\n {\n e = e.rtoOfferData;\n\n localStorage.setItem('z1_supc',JSON.stringify(e));\n\n showRTOBanner(e);\n }\n\n\n fireOmniture(e);\n }\n \n \n }\n\n\n try {\n //var z1Widgets = ZineOne.getZ1Widget();\n //z1Widgets.registerWidgetHandler(\"raw\", _handleRawRTOData);\n } catch (e) {\n console.log('Could not register handler for Raw RTO Data.');\n }\n\n if(getUrlParameter('redeemCoupon') == 'true')\n {\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n }\n\n\n if(checkForLocalRTO() == true)\n {\n return;\n }\n\n localStorage.setItem('z1_supc',null);\n\n\n var evtName = '_ws_rto_offers';\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n if(isSoftLoggedIn == 'true' || isLoggedIn == 'true')\n {\n //ZineOne.pushEvent(evtName, {});\n }\n console.log(\"RTO offers END\");\n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in Rto New UI Tag: WebStore Z1 tag. \" + e);\n}\n\n","eventName":"load","pageSelector":{"type":"pgName","condition":"equals","val":"/"}},{"tagName":"RTO Order Review","actionType":"z1script","script":"/*Changes done for IE\nA. function declaration like, var abc = function() won't work in IE if function is used first and then declared and defined. Please take below precaution before using it:\n 1. If you want to use function declaration like, var abc = function(), first declare it and then use it\n 2. Use normal function declaration like, function abc(). you can declare function anywhere in the page and use it before or after declaration. It will work on all the browsers.\nB. Do not use multiline strings, also call as 'Template String'. Template Strings are demarked by a backtick(`).\n Example. var abc = `This is multiline\n comment`; //multiline comments won't work in IE\n Use simple concatenation to achieve the same like,\n var abc = \"\";\n abc += 'This is multiline';\n abc += 'comment';\nC. You can not set defalut parameter values for function in IE.\n for e.g. function abc(num = 0,str=\"hello\") //Won't work in IE\nD. You can not use arguments object ([...args] or (...args) in function) in IE.\n For e.g function abc(...args){\n console.log(\"received paramenters \", args)\n } // Won't work in IE\nE. 'append' function won't work in IE. You can use 'appendChild' function to achieve the same functionality.\nF. 'prepend' function won't work IE. Try to use 'insertBefore' function to achieve the same functionality.\nG. new Event() function won't work in IE. You can use new CustomEvent() function to achieve the same functionality.\nH. Arrow functions (=>) won't work in IE\n*/\n\nvar debugScr = true;\ntry {\n\n /*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if ( !(cust_id == \"3000000030411692\" || cust_id == \"3000000126553504\") ) return;*/\n\n // var localVariable = localStorage.getItem('z1_rto_ui_v2');\n\n // if(!localVariable || localVariable == null || localVariable == 'null' || localVariable == undefined || localVariable == \"undefined\")\n // {\n // return;\n // }\n console.log(\"RTO Order Review START\");\n\n var evtName = null;\n\n var isLoggedIn = \"\";\n\n var isSoftLoggedIn = \"\";\n\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n };\n\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n\n function getPresentVector(isRto, rtoEventType) {\n try {\n\n if (debugScr) console.log('getPresentVector');\n\n var itemsInBag = 0;\n cartValue = 0;\n\n isJsonNull = false;\n\n var cartData = pageData.cartDetails.cartItems;\n if(isValid(cartData))\n {\n var cartInfo = (cartData);\n\n for (var i = 0; i < cartInfo.length; i++) {\n itemsInBag = itemsInBag + Number(cartInfo[i].quantity);\n\n cartValue = cartValue + Number(cartInfo[i].quantity)*Number(cartInfo[i].finalPrice);\n\n }\n }\n else\n {\n if(getCookie('VisitorBagTotals').toString().length != 0)\n {\n cartValue = -1;\n\n isJsonNull = true;\n\n }\n }\n\n\n if (cartValue == 0 && (typeof pageData != 'undefined') && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n cartValue = Number(pageData.cartDetails.cartSubTotalValue);\n }\n\n\n\n console.log(cartValue + ' Before Present Vector ', evtName);\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n console.log('Present Vector 1', presentVector);\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n\n if(isRto == true)\n {\n presentVector.event = eventCodes[\"_ws_rto\"];\n\n presentVector.rto_data = 'A';\n\n }\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ', ie);\n }\n }\n\n\n\n function updateUserVectors(isRto, rtoEventType) {\n try {\n\n evtName = '_ws_rto';\n if (debugScr) console.log('Into updateUserVectors');\n var presentVector = getPresentVector(isRto, rtoEventType);\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n if (debugScr) console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try {\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n var cartDump = fetchCartDump();\n\n if (validateForNotNull(cartDump)) {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for (var k = 0; k < cartKeys.length; k++) {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n if (validateForNotNull(newUserVectors)) {\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n } catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = 'webstoresendevent ' + evtName;\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n if (debugScr) console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n if (debugScr) console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue = cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.currentCart = JSON.stringify(currentUserCartArr);\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge)) {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n } else {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n\n if (isJsonNull) {\n var lastUserPageArr = userVectors.eventVector.toString().split('|');\n var lastPageChar = lastUserPageArr[lastUserPageArr.length - 2];\n\n var tempEventData = {};\n tempEventData.VisitorBagTotals = getCookie('VisitorBagTotals');\n tempEventData.pgName = pgName;\n tempEventData.lastPgChar = lastPageChar;\n\n ZineOne.pushEvent('_ws_emptyjson_v2', tempEventData);\n }\n\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n if (debugScr) console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ', ie);\n }\n }\n\n function updateFeatures() {\n\n if (debugScr) console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n var rtoTimeRemaining = 0;\n\n console.log('This is on RTO Review Page');\n\n\n function fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n }\n\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n function appendJs(jsStr)\n {\n var jsElement = document.createElement('script');\n\n var t = document.createTextNode(jsStr);\n jsElement.appendChild(t);\n\n document.getElementsByTagName(\"head\")[0].appendChild(jsElement);\n \n }\n\n\n function getDayLightOffset()\n {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth()+1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow; \n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n \n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n\n\n function updateSupcDetails()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n if(existingSupc.is_redeemed == true)\n {\n if(document.getElementById(\"show_offer_status\"))\n {\n document.getElementById(\"show_offer_status\").innerHTML = \"\";\n document.getElementById(\"link_applynow\").style.display = \"none\";\n document.getElementById(\"link_applynow2\").style.display = \"none\";\n }\n \n //document.getElementById('reviewApplyNow').innerHTML = 'Applied';\n //document.getElementById('reviewApplyNow').href='javascript:void(0)';\n }\n else\n {\n console.log(\"document.getElementById('reviewApplyNow')\",document.getElementById('reviewApplyNow'));\n\n if(document.getElementById('reviewApplyNow'))\n {\n document.getElementById('reviewApplyNow').text ='APPLY NOW'; \n }\n \n }\n }\n\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n \n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n console.log('Final HTML '+InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function(){\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n\n updateSupcDetails();\n\n sendRTOOmniture(2);\n\n updateUserVectors(true, null);\n\n }\n\n };\n\n }\n\n\n function populateUsername()\n {\n\n\n var usernameText = document.getElementById('usernameText');\n\n console.log(trJsonData.userData.firstName+' populateUsername '+usernameText);\n\n if(trJsonData.userData.firstName)\n {\n document.getElementById('usernameText').innerHTML = trJsonData.userData.firstName +', save';\n\t\t\tdocument.getElementById('usernameText2').innerHTML = trJsonData.userData.firstName+' '+trJsonData.userData.lastName+',';\n \t\n }\n else\n {\n document.getElementById('usernameText').innerHTML = 'Save';\n }\n \n\n console.log('usernameText '+document.getElementById('usernameText').innerHTML);\n \n }\n\n\n\n function showRTOReviewSection(e)\n {\n // Style string for RTO\n var style = '.popupPromoText {font-size: 1.85em;margin-bottom: 5px;}.z1_orderreview_container {background-color: #d5e1d4;/*display: flex;align-content: space-between;align-items: center;*/height: 85px;}.z1_orderreview_container {font-family: \\'Gotham 5r\\';border: 1px solid #717171;padding: 0.5rem 0.2rem;margin-bottom: 0.6rem;/*display: -webkit-flex;display: flex;justify-content: space-between;*/color: #454545;/*align-content: space-between;align-items: center;*/}#username-container {font-size: 17px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: 1.06;letter-spacing: normal;color: #005553;text-align: center;}.z1_orderreview_container #price-container {flex-shrink: 0;display: flex;align-items: center;}.z1_orderreview_container #price-container .priceTag {margin-top: 8px;font-size: 28.4px;font-weight: bold;line-height: 0.49;color: #005553;text-align: center;font-style: normal;font-stretch: normal;}.z1_orderreview_container #price-container #rtoOfferValue {font-size: 63.2px;font-weight: 700;letter-spacing: -4.4px;color: #005553;display: block;}#message-container {font-size: 13px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1;letter-spacing: normal;color: #222222;width: 76px;margin: auto;}#time-container {display: flex;text-align: center;font-size: 9.7px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;color: #222222;margin: auto;}#show_min,#show_sec {width: 61px;height: 39px;background-color: #005553;border: 1px solid #e3e3e3;margin: 0.3rem;font-size: 29.9px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;color: #d2e2d3;text-align: center;box-sizing: border-box;}#show_min,#show_sec {width: 61px;height: 39px;background-color: #005553;border: 1px solid #e3e3e3;margin: 0.3rem;font-size: 29.9px;font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;color: #d2e2d3;text-align: center;box-sizing: border-box;}#promo-container {width: 60%;}/*.z1_orderreview_container #link_applynow {text-transform: uppercase;text-align: center;padding-top: 0.3rem;font-family: \\'Gotham 5r\\';font-size: 13px;font-weight: normal;}.z1_orderreview_container #link_applynow a {text-decoration: underline;color: #000;font-weight: 700;}*/.z1_orderreview_container #show_offer_status {font-family: \\'Gotham 5r\\';font-size: 13px;text-transform: uppercase;text-decoration: none;color: #000;font-weight: normal;text-align: center;}.z1_orderreview_container .promocodecontainer {text-transform: uppercase;/*padding: 0.7rem 0;*/text-align: center;margin: 15px auto;}.z1_orderreview_container .promocodecontainer h4 {font-family: \\'Gotham 5r\\';font-size: 13px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1.08;letter-spacing: -0.4px;text-align: center;color: #000000;}#rtoOfferCode {font-weight: bold;color: #005553;}.z1_orderreview_container .promocodecontainer h5 {font-family: \\'Gotham 5r\\';font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1.08;letter-spacing: -0.4px;text-align: center;color: #005553;font-size: 13px;}.z1_orderreview_container>* {/*margin: 10px;*/}#z1-rto-new-outerDiv {display: flex;flex-direction: row;justify-content: space-evenly;}.z1-rto-dollar_reward {font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: normal;text-align: center;color: #005553;position: relative;top: -8px;}.z1-rto-dollar_reward_content {display: flex;flex-wrap: wrap;}.z1-rto-dollar-text {font-size: 25.2px;width: 14px;height: 36px;position: relative;top: 27px;}.z1-rto-dollar-text-amount {font-size: 60px;height: 68px;letter-spacing: -3px;}.z1-rto-dollar-text-dOff-outer {margin-top: 21px;margin-bottom: auto;height: 20px;}.z1-rto-dollar-text-dOff-off {font-size: 15px;margin-left: -26px;position: relative;top: 1px;}.z1-rto-dollar-text-dOff-off-amount {font-size: 32px;position: relative;top: -4px;left: -6px;text-shadow: -1px 1px 0 #d5e1d4, 1px 1px 0 #d5e1d4, 1px -1px 0 #d5e1d4, -1px -1px 0 #d5e1d4;}.z1-rto-dollar-text-dOff-off-miniDollar {height: -1px;font-size: 20px;position: relative;top: -9px;}.z1-rto-dollar-text-dOff-off-miniDollarAmount {letter-spacing: -1px;top: -2px;left: -1px;position: relative;}#z1-tro-new-promoCodeText {font-size: 13px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1.08;letter-spacing: -0.4px;text-align: center;color: #005553;font-weight: bold;}#z1-rto-new-addOfferContainer {text-align: center;margin: auto;}.btn_offer_container {margin: 25px;}#z1-rto-new-addOfferContainer .bottom_link {text-align: center;margin-top: 3px;}#z1-rto-new-addOfferContainer .bottom_link a {font-size: 11px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1;letter-spacing: normal;text-align: center;color: #000000;}#link_applynow,#link_applynow2 {background: #005553;text-transform: uppercase;border-radius: 2.2px;text-decoration: none;letter-spacing: 1px;font-size: 13px;font-weight: bold;font-style: normal;font-stretch: normal;text-align: center;width: 104px;height: 31px;color: white;display: flex;align-items: center;justify-content: center;margin: 0 auto;}/* start old */.tag_min,.tag_sec {font-family: \\'Gotham 5r\\';font-size: 11px;text-transform: uppercase;text-align: center;color: #454545;margin-top: 0.3rem;font-weight: 700;}.loyalty #username-container {text-align: left;color: #208033;}.loyalty #show_min,.loyalty #show_sec {background-color: #208033;}.loyalty #price-container .priceTag {color: #208033;}.loyalty #price-container #rtoOfferValue {color: #208033;}.loyalty .promocodecontainer #z1-tro-new-promoCodeText {color: #208033;}.loyalty .promocodecontainer #rtoOfferCode {color: #208033;}.loyalty .btn_addoffer {background: #208033;}.loyalty #link_applynow {background: #208033;}.loyalty #link_applynow2 {background: #208033;}.loyalty .z1-rto-dollar_reward {color: #1f8033;}.loyalty-cont.disable {display: none}.loyalty-cont.enable {display: block}.loyalty-cont {text-align: center;background-color: #208033;height: 20px;position: relative;top: -8px;left: -3px;width: 598px;padding-top: 7px;color: #fff;font-size: 14px;}.z1_orderreview_container.loyalty {height: 115px;}.loyalty .heading-2 {font-weight: lighter;font-family: \\'Gotham 4r\\';}.z1_orderreview_container.loyalty .loyalty-cont.disable {display: block;}.z1_orderreview_container_2 {background-color: #d5e1d4;display: flex;justify-content: space-between;align-items: center;height: 85px;}.z1_orderreview_container_2 {font-family: \\'Gotham 5r\\';border: 1px solid #717171;padding: 10px 10px;margin-bottom: 0.6rem;color: #454545;}#first-div {display: flex;flex-direction: column;justify-content: space-around;}#second-div {display: flex;flex-direction: column;justify-content: space-around;text-align: center;}#third-div {display: flex;flex-direction: column;justify-content: space-around;}.usernameText2 {width: 200px;height: 15px;font-size: 14px;font-weight: 500;font-stretch: normal;font-style: normal;line-height: 1.14;letter-spacing: normal;text-align: center;color: #005553;}.price-container-2 {width: 200px;height: 38px;font-size: 28px;font-weight: bold;font-stretch: normal;font-style: normal;line-height: 1.36;letter-spacing: normal;color: #005553;text-align: center;margin-top: 5px;}.price-container-2-msg {width: 200px;height: 34px;font-size: 14px;font-weight: bold;font-stretch: normal;font-style: normal;letter-spacing: normal;color: #005553;text-align: center;}.show_min_msg {width: 206px;height: 17px;font-size: 15px;font-weight: 500;font-stretch: normal;font-style: normal;letter-spacing: normal;color: #222222;}.show_min_2 {font-size: 19px;font-weight: bold;color: #222222;}.promocodecontainer-2 {height: 30px;font-size: 13px;font-weight: bold;font-stretch: normal;font-style: normal;line-height: 1.31;letter-spacing: -0.4px;text-align: center;color: #000000;margin-top: 15px;}.element_v2 {display: none;}.ui_v2 .element_v1 {display: none;}.ui_v2 .element_v2 {display: block;}#username-container-2 {margin-top: 20px;}.ui_v2 .bottom_link {margin-top: 10px;}#z1-rto-new-addOfferContainer-2 .bottom_link a {font-size: 11px;font-weight: 500;font-style: normal;font-stretch: normal;line-height: 1;letter-spacing: normal;text-align: center;color: #000000;}#rtoOfferValue2 {margin-left: -8px;}.ui_v2 .show_min_msg {height: 20px;}';\n\n console.log('Before RTO Style');\n\n appendStyle(style);\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n console.log(e.offerExpiry+\" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n console.log(endTime+\" timeCheck Main: \" + currentTime);\n\n rtoTimeRemaining = (endTime-currentTime);\n\n if(rtoTimeRemaining <= 0)\n {\n return;\n }\n\n rtoTimeRemaining = rtoTimeRemaining*1000;\n\n var expiryInMinutes = Math.ceil((endTime-currentTime)/(60));\n\n e.offerDuration = expiryInMinutes;\n\n\n console.log(\" rtoTimeRemaining: \" + rtoTimeRemaining);\n\n var rtoTimejsStr = 'var rtoTimeRemaining = '+rtoTimeRemaining;\n\n appendJs(rtoTimejsStr);\n\n\n /*var javscriptStr = `\n // Set the TIME we're counting down from\n //var distance = 1*30*1000; //12min\n\n // Update the count down every 1 second\n var x = setInterval(function() {\n\n // Time calculations for days, hours, minutes and seconds\n var days = Math.floor(rtoTimeRemaining / (1000 * 60 * 60 * 24));\n var hours = Math.floor((rtoTimeRemaining % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n var minutes = Math.floor((rtoTimeRemaining % (1000 * 60 * 60)) / (1000 * 60));\n var seconds = Math.floor((rtoTimeRemaining % (1000 * 60)) / 1000);\n seconds = (\"0\" + seconds).slice(-2);\n minutes = (\"0\" + minutes).slice(-2);\n\n // Output the result in an element with id=\"show_min and show_sec\"\n\n if(document.getElementById(\"show_min\"))\n {\n document.getElementById(\"show_min\").innerHTML = minutes;\n document.getElementById(\"show_sec\").innerHTML = seconds;\n }\n \n\n // If the count down is over, write some text \n if (rtoTimeRemaining <= 0) {\n clearInterval(x);\n //document.getElementById(\"timercontainer\").style.display = \"none\";\n document.getElementById(\"link_applynow\").style.display = \"none\"; \n document.getElementById(\"show_offer_status\").innerHTML = \"EXPIRED\";\n\n return;\n }\n rtoTimeRemaining = rtoTimeRemaining - 1000;\n }, 1000);\n `;*/\n var javscriptStr ='var x = setInterval(function() { var days = Math.floor(rtoTimeRemaining / (1000 * 60 * 60 * 24)); var hours = Math.floor((rtoTimeRemaining % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((rtoTimeRemaining % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((rtoTimeRemaining % (1000 * 60)) / 1000); seconds = (\"0\" + seconds).slice(-2); minutes = (\"0\" + minutes).slice(-2); if (document.getElementById(\"show_min\")) { document.getElementById(\"show_min\").innerHTML = minutes; document.getElementById(\"show_sec\").innerHTML = seconds; } if (rtoTimeRemaining <= 0) { clearInterval(x); document.getElementById(\"link_applynow\").style.display = \"none\"; document.getElementById(\"show_offer_status\").innerHTML = \"EXPIRED\"; return; } rtoTimeRemaining = rtoTimeRemaining - 1000;}, 1000);';\n\n appendJs(javscriptStr);\n \n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n var domstr_val_2=\"\";\n\n domstr_val = '<div id=\"price-container\"><span class=\"priceTag\">'+dolStr+'</span><span id=\"rtoOfferValue\"></span></div>';\n domstr_val_2 = '<div id=\"price-container\"><span class=\"priceTag\">Take '+dolStr+' off</span><span id=\"rtoOfferValue\"></span></div>';\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\"; \n\n domstr_val = '<div id=\"price-container\"><span id=\"rtoOfferValue\"></span><span class=\"priceTag\" style=\"margin:5px\">'+pctStr+'</span></div>'; \n } \n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = '<div class=\"z1-rto-dollar_reward\"><div class=\"z1-rto-dollar_reward_content\"><div class=\"z1-rto-dollar-text\">$</div><div class=\"z1-rto-dollar-text-amount\" id=\"rtoOfferValue\"></div><div class=\"z1-rto-dollar-text-dOff-outer\"><span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">'+e.offThres+'</span></span></div></div></div>';\n }\n\n\n var domstr = '<div class=\\'main-cont\\'><div class=\\'element_v1\\'><div class=\"z1_orderreview_container\"><div class=\\'loyalty-cont disable\\'><span class=\\'heading-1\\'>KOHL’S REWARDS®</span><span class=\\'heading-2\\'>MEMBER EXCLUSIVE</span></div><div id=\"username-container\"><div id=\"usernameText\">Hi, take</div></div><div id=\"z1-rto-new-outerDiv\">'+domstr_val+'<div id=\"message-container\">when you<br> place your<br> order in<br> the next..</div><div id=\"time-container\"><div id=\"min-container\"> <div id=\"show_min\">45</div> <div class=\"tag_min\">MINUTES</div></div><div id=\"sec-container\"> <div id=\"show_sec\">39</div> <div class=\"tag_sec\">SECONDS</div></div></div><div class=\"promocodecontainer\"><div id=\"z1-tro-new-promoCodeText\">Promo Code:</div><div id=\"rtoOfferCode\"></div></div><div id=\"z1-rto-new-addOfferContainer\"><div id=\"link_applynow\"><a id=\"reviewApplyNow\" style=\"color:white;text-decoration: none;\" href=\"#\">ADD OFFER</a></div><div id=\"show_offer_status\"></div><div class=\"bottom_link\"><a id=\"discliamer_href\" href=\"'+e.disclaimer+'\" target=\"_default\">details &amp; exclusions</a></div></div></div></div></div><div class=\\'element_v2\\'><div class=\"z1_orderreview_container_2\"><div id=\"first-div\"><div id=\"username-container-2\"><div id=\"usernameText2\" class=\"usernameText2\">Hi, take</div><div class=\\'usernameText2\\'>your cart looks great!</div></div><div id=\"price-container-2\" class=\"price-container-2\"><span class=\"priceTag\">Take '+dolStr+'</span><span id=\"rtoOfferValue2\"></span><span>off</span></div><div id=\"price-container-2-msg\" class=\"price-container-2-msg\">the items in your cart!</div></div><div id=\"second-div\"><div id=\"min-container-2\"><div id=\"show_min_msg\" class=\"show_min_msg\">Checkout in the next</div><div id=\"show_min_2\" class=\"show_min_2\"><span id=\\'offerDuration\\' class=\\'offerDuration\\'> </span> minutes.</div></div><div class=\"promocodecontainer-2\"><div id=\"z1-tro-new-promoCodeText_2\">PROMO CODE:</div><div id=\"rtoOfferCode2\"></div></div></div><div id=\"third-div\"><div id=\"z1-rto-new-addOfferContainer-2\"><div id=\"link_applynow2\"><a id=\"reviewApplyNow2\" style=\"color:white;text-decoration: none;\" href=\"#\">ADD OFFER</a></div><div id=\"show_offer_status\"></div><div class=\"bottom_link\"><a id=\"discliamer_href\" href=\"'+e.disclaimer+'\" target=\"_default\">details &amp; exclusions</a></div></div></div></div></div></div>';\n \n \n \n\n console.log('Before RTO Reiview Widget');\n\n //document.querySelector('#checkoutreview #shopping_Bag_Lpanel').insertAdjacentHTML(\"afterbegin\", domstr);\n\tdocument.querySelector('#checkoutreview #shopping_Bag_Lpanel').insertAdjacentHTML(\"afterbegin\", domstr);\n\n document.getElementById('rtoOfferValue').innerHTML =e.offerValue;\n document.getElementById('rtoOfferValue2').innerHTML =e.offerValue;\n\n document.getElementById('rtoOfferCode').innerHTML =e.offerCode;\n document.getElementById('rtoOfferCode2').innerHTML =e.offerCode;\n \n document.getElementById('offerDuration').innerHTML =e.offerDuration;\n\n if(e.loyaltyCx == true)\n {\n document.getElementsByClassName('z1_orderreview_container')[0].classList.add('loyalty');\n }\n\n if(e.ui_version && e.ui_version == 2)\n {\n document.getElementsByClassName('main-cont')[0].classList.add('ui_v2');\n document.getElementsByClassName('main-cont')[0].classList.add(e.offType.toLowerCase());\n }\n\n document.getElementById('reviewApplyNow').onclick = function(){\n\n\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function(){\n\n\n console.log(\"kohlscashapply Click \"); \n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function(){ \n\n console.log(\"Checking for Redemption Popup \"+timeCounter); \n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n console.log('Got Popup Div '+popupDiv);\n\n if(popupDiv != undefined && popupDiv != null)\n {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv,e.offerCode);\n\n return;\n }\n\n if(timeCounter > maxCounter)\n {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n };\n\n\n\n document.getElementById('reviewApplyNow2').onclick = function(){\n\n\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function(){\n\n\n console.log(\"kohlscashapply Click \"); \n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function(){ \n\n console.log(\"Checking for Redemption Popup \"+timeCounter); \n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n console.log('Got Popup Div '+popupDiv);\n\n if(popupDiv != undefined && popupDiv != null)\n {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv,e.offerCode);\n\n return;\n }\n\n if(timeCounter > maxCounter)\n {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n };\n\n\n \n\n\n \n populateUsername();\n\n updateSupcDetails();\n\n sendRTOOmniture(1);\n\n\n \n\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n\n function sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\n //Case 1: Display Omniture \n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|OR|';\n sendDisEventToC3(\"OR\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n\n\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n var e = JSON.parse(existingSupc);\n showRTOReviewSection(e);\n\n return;\n }\n\n\n localStorage.setItem('z1_supc',null);\n\n\n isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n\n\n console.log(\"RTO Order Review END\");\n \n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in RTO Order Review Tag: WebStore Z1 tag. \" + e);\n}\n ","eventName":"load","pageSelector":{"type":"pgName","condition":"ends","val":"checkout/V2/checkout.jsp"}},{"tagName":"ws_show_stars_if_rating_above_4","actionType":"z1script","script":"try {\n var isDebugScr = false;\n var sendevt = true;\n var evtName = \"ws_products_stars\";\n var evtData = {\n \"page\": \"Cart\"\n };\n var shoppingBagItems = document.getElementsByClassName(\"shoppingBagItem\");\n var commerce_ids = \"\";\n var product_ids = \"\";\n for (let i = 0; i < shoppingBagItems.length; i++) {\n if (i == 0) {\n commerce_ids = commerce_ids + shoppingBagItems[i].getAttribute('data-commerceid');\n product_ids = product_ids + shoppingBagItems[i].getAttribute('data-skuid');\n } else {\n commerce_ids = commerce_ids + \",\" + shoppingBagItems[i].getAttribute('data-commerceid');\n product_ids = product_ids + \",\" + shoppingBagItems[i].getAttribute('data-skuid');\n }\n var parent_div = shoppingBagItems[i].getElementsByClassName(\"z1PostItem\")[0];\n if (isDebugScr) console.log(\"[zineone] parent_div...\", parent_div);\n var star_div = document.createElement(\"div\");\n star_div.setAttribute(\"id\", \"z1-star-\" + shoppingBagItems[i].getAttribute('data-skuid'));\n parent_div.append(star_div);\n }\n evtData.commerce_ids = commerce_ids;\n evtData.product_ids = product_ids;\n if (sendevt) {\n if (isDebugScr) console.log(\"[zineone] IF send event \", evtData);\n if (isDebugScr) console.log(\"[zineone] IF send event name \", evtName);\n ZineOne.pushEvent(evtName, evtData);\n if (isDebugScr) console.log(\"[zineone] ws_products_stars event pushed\");\n } else {\n if (isDebugScr) console.log(\"[zineone] ws_products_stars disabled\");\n }\n\n} catch (e) {\n console.log(\"[zineone] exception in ws_products_stars Tag=\" + e);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"checkout/shopping_cart"}},{"tagName":"ws_pdp_recommendations","actionType":"z1script","script":"var debug = false;\nvar sendevt = true;\nvar evtName = \"ws_pdp_recommendations\";\nvar evtData = {\n \"page\":\"Shopping Cart\"\n};\ntry{\n \tvar product_ids = \"\";\n //var freeShipQualificationDelta = JSON.parse(localStorage.getItem(\"persistent_bar_components_json_v1\")).shipmentInfo[0].shipmentPriceInfo.freeShipQualificationDelta;\n var freeShipQualificationDelta = trJsonData.shipmentInfo[0].shipmentPriceInfo.freeShipQualificationDelta;\n if (debug) console.log(\"[Zineone] freeShipQualificationDelta = \",freeShipQualificationDelta);\n var shoppingBagItems = document.getElementsByClassName(\"shoppingBagItem\" );\n for(let i=0;i<shoppingBagItems.length;i++){\n if (i==0){\n product_ids = product_ids + shoppingBagItems[i].getAttribute('data-productid');\n }\n else{\n \tproduct_ids = product_ids + \",\" +shoppingBagItems[i].getAttribute('data-productid');\n }\n \t}\n evtData.product_ids = product_ids;\n evtData.freeShipQualificationDelta = freeShipQualificationDelta;\n if (sendevt){\n if (debug) console.log(\"[Zineone] IF send event \", evtData);\n if (debug) console.log(\"[Zineone] IF send event name \", evtName);\n ZineOne.pushEvent(evtName, evtData);\n if (debug) console.log(\"[Zineone] ws_pdp_recommendations event pushed\");\n }\n else{\n console.log(\"[Zineone] ws_pdp_recommendations Event disabled\"); \n }\n}\ncatch (e) {\n console.log(\"[zineone] exception in ws_pdp_recommendations Tag=\" + e);\n}\n\n","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"checkout/shopping_cart"}},{"tagName":"SetMCMSecondaryKey","actionType":"z1script","script":"\nvar mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\nId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n//console.log (\" MCID - \" + Id );\n\nvar limitCustomerIds = [\"2254009728812139\",\"3000000015001846\"];\n\n\nvar localMcm = localStorage.getItem('mcm_id');\n\nif(localMcm == null)\n{\n\tZineOne.setCustomKey(\"mcid\", Id);\n\tlocalStorage.setItem('mcm_id',Id);\n}\n\n","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"RTO Wallet Apply","actionType":"z1script","script":"try {\n \t\n\tvar debugScr = true;\n \n \tconsole.log('RTO WAllet Start');\n\n \tfunction fireOmniture(z1Response) {\n\n\t //////***** whats the s.tl(this) ??? */\n\n\t if (z1Response && z1Response.prop75) {\n\t var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n\t s.tl(this, 'o', 'ZineOne Impression', {\n\t linkTrackVars: 'prop75,eVar39',\n\t prop75: z1Response.prop75,\n\t eVar39: eVar39\n\t });\n\n\t }\n\n\n\t}\n\n \tfunction getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n \tfunction sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\tfunction sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75+'C:'+existingSupc.offerCampaign+'|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|CP|';\n\n sendDisEventToC3(\"CP\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]); \n\n var initPopupContent = document.querySelector('#fancybox-content .kas-promo_code'); \n\n var div = document.getElementById('wallet-promoText');\n\n if(div)\n {\n \tdiv.parentNode.removeChild(div);\t\n }\n\t\t\n\n var promoTextContent = '<div id=\"wallet-promoText\" style=\"font-size: 14px;text-align: left;\" class=\"popupPromoText\">Your promo code is already entered</div>';\n\n\n\n initPopupContent.parentNode.insertAdjacentHTML(\"afterend\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n initPopupContent.value = promoCode;\n\n\n var applyButton = document.querySelector('#fancybox-content .addto_wallet_btn'); \n\n\n applyButton.onclick = function(){\n\n var currentPromoCode = initPopupContent.value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n\n }\n\n function getDayLightOffset()\n\t {\n\t //Automatically adjust for GMT to Central Timediff based on Daylight savings\n\t //Returns number of hours Central is behind GMT\n\t //\n\t var now = new Date();\n\t //test data\n\t var test = now.getTime(); //238*24*3600000;\n\t var nowUtc = new Date(test);\n\t var month = nowUtc.getMonth()+1; //make jan=1\n\n\t if (month < 3 || month > 11) return 6; // savings=F\n\t if (month > 3 && month < 11) return 5; // savings=T\n\n\t // switch if >2nd sun in march or >1st sun in nov\n\t // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n\t var tzDiffInHours; //UTC vs Central diff in hours\n\t var day = nowUtc.getDate(); //already 1 based\n\t var dow = nowUtc.getDay(); //already sun=0\n\t var previousSunday = day - dow; \n\t if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n\t if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n\t \n\t //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n\t //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n\t return tzDiffInHours;\n\t }\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n \n function checkForLocalRTO()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n var e = JSON.parse(existingSupc);\n\n var offerExpiry = e.offerExpiry;\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n\n var timeCheck = endTime-currentTime;\n\n //console.log(\" timeCheck: \" + timeCheck);\n\n if(timeCheck > 0)\n {\n\n if(e.is_redeemed != true)\n {\n\n document.getElementsByClassName('open-addtowallet')[0].onclick = function(){\n\n \tvar timeCounter = 0;\n\t\t var maxCounter = 10;\n\t\t var timeDelay = 500;\n\n\t\t var popupCheck = setInterval(function(){ \n\n\n\t\t var popupDiv = document.querySelector('#fancybox-content .kas-promo_code');\n\n\t\t //var popupDiv = document.getElementById('promo-kcInput');\n\n\t\t console.log('Got Popup Div '+popupDiv);\n\n\t\t if(popupDiv != undefined && popupDiv != null)\n\t\t {\n\t\t clearInterval(popupCheck);\n\n\n\t\t //setTimeout(function(){ }, 500);\n\n\t\t addDataToRedemptionPopup(popupDiv,e.offerCode);\n\n\t\t return;\n\t\t }\n\n\t\t if(timeCounter > maxCounter)\n\t\t {\n\t\t clearInterval(popupCheck);\n\t\t }\n\n\t\t timeCounter++;\n\n\t\t }, timeDelay);\n\n };\n\n document.getElementsByClassName('open-addtowallet')[0].click();\n }\n }\n else\n {\n return false;\n }\n \n\n \n return true;\n\n\n }\n\n return false;\n }\n\n console.log('RTO WAllet Before Check');\n\n if(checkForLocalRTO() == true)\n {\n return;\n }\n\n localStorage.setItem('z1_supc',null);\n\n\n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in RTO Wallet Apply Tag: WebStore Z1 tag. \" + e);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"my_wallet.jsp"}},{"tagName":"perk_perf_tag","actionType":"z1script","script":"/*Changes done for IE\nA. function declaration like, var abc = function() won't work in IE if function is used first and then declared and defined. Please take below precaution before using it:\n 1. If you want to use function declaration like, var abc = function(), first declare it and then use it\n 2. Use normal function declaration like, function abc(). you can declare function anywhere in the page and use it before or after declaration. It will work on all the browsers.\nB. Do not use multiline strings, also call as 'Template String'. Template Strings are demarked by a backtick(`).\n Example. var abc = `This is multiline\n comment`; //multiline comments won't work in IE\n Use simple concatenation to achieve the same like,\n var abc = \"\";\n abc += 'This is multiline';\n abc += 'comment';\nC. You can not set defalut parameter values for function in IE.\n for e.g. function abc(num = 0,str=\"hello\") //Won't work in IE\nD. You can not use arguments object ([...args] or (...args) in function) in IE.\n For e.g function abc(...args){\n console.log(\"received paramenters \", args)\n } // Won't work in IE\nE. 'append' function won't work in IE. You can use 'appendChild' function to achieve the same functionality.\nF. 'prepend' function won't work IE. Try to use 'insertBefore' function to achieve the same functionality.\nG. new Event() function won't work in IE. You can use new CustomEvent() function to achieve the same functionality.\nH. Arrow functions (=>) won't work in IE\nI. while creating div do not put all the css in style attribute. For e.g.\n<new div>.style=\"margin:24px;display:flex;float:right\" \nchange to \n\n\n<new div>.style.margin=\"24px\";\n<new div>.style.display=\"flex\";\n<new div>.style.float=\"right\"; \n*/\n/*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if (cust_id != \"3000000030411692\") return;*/\n console.log(\"[Zineone-I] Perk Perf Tag\");\n/*try {\n if (debug) console.log(\" [Z1] perk_perf_tag_test\");\n\n var birthday_perk_perfCodeHandler = function(e) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...\", e);\n if (debug) console.log(\"e.detail...\", e.detail);\n localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data\",JSON.stringify(e.detail));\n // handleEmailOptIn(e.detail);\n }\n document.addEventListener(\"ws_birthday_perk_perf\", birthday_perk_perfCodeHandler, false);\n}\ncatch(e)\n{if (debug) console.log(\"perk_perf_tag_test\");}*/\n\nvar debug = false;\n\nfunction isValid(datapoint) {\n if (!datapoint || typeof datapoint == 'undefined' || datapoint == undefined || datapoint === undefined || String(datapoint) === 'undefined' || datapoint == \"null\" || datapoint == null) {\n\n return false;\n } else {\n return true;\n }\n}\n\nfunction appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n}\n\nfunction perkPerfBannersCouponPage() {\n\n var pg_url = window.location.href;\n if (pg_url.includes(\"qa02\")) {\n //QA02 start\n var perkPerfBannersDiv3 = document.getElementById('bottom-right');\n if (debug) console.log(\"perkPerfBannersCouponPage>>>\", perkPerfBannersDiv3);\n var perkPerfBannersCouponPage = \".perk_notify_coupon{display:flex;flex-direction:row;width:417px;height:147px;background-color:#238341}.perk_notify_coupon_content{display:flex;flex-direction:column}#PICK-YOUR-PERK_btn{padding-bottom:9px;margin-left:34px;margin-right:99px;margin-top:14px;width:128px}.clk-btn{display:block;height:30.4px;background-color:#fff;cursor:pointer;font-family:'Gotham 7r',GothamBold,Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.gift{text-align:center;font-size:70px;color:#fff;margin-top:auto;margin-right:39.2px;margin-bottom:auto}.Your-birthdays-comi{width:228px;height:50px;font-family:'Gotham 5r',GothamBold,Helvetica,Arial,sans-serif;font-size:25px;font-style:normal;font-stretch:normal;line-height:1.08;letter-spacing:.44px;color:#fff;margin-right:53px;margin-left:33px;margin-top:25px}\";\n appendStyle(perkPerfBannersCouponPage);\n\n var inHTMLperkPerfBannersCouponPage = \"\";\n inHTMLperkPerfBanners = \"<div class='perk_notify_coupon'> <div class='perk_notify_coupon_content'> <div class='Your-birthdays-comi'>Your birthday’s<br>coming up… </div><div id='PICK-YOUR-PERK_btn'><a href='/myaccount/kohls_rewards.jsp' > <input type='button' style='font-weight: bold;font-family: 'Gotham 4r', GothamBold, Helvetica, Arial, sans-serif;' class='clk-btn' value='PICK YOUR PERK'></a> </div></div><div class='gift'> <img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div></div>\";\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBanners;\n // child.style = \"margin:24px;display:flex;float:right\";\n\n child.style.margin=\"24px\";\n child.style.display=\"flex\";\n child.style.float=\"right\"; \n\n\n perkPerfBannersDiv3.appendChild(child);\n // perkPerfBannersDiv3.innerHTML =appendChild(inHTMLperkPerfBannersCouponPage);\n // perkPerfBannersDiv3.style.display = \"block\";\n //QA02 end\n }\n\n\n //if (pg_url.includes(\"rel02\")) {\n //REL02 start\n /* var perkPerfBannersDiv3 = document.getElementsByClassName('tdeals_lot -tcs');\n perkPerfBannersDiv3[0].style = \"margin-bottom: 66px;\";\n var clearanceDiv = document.getElementsByClassName(\"tdeals_box -half -major -clearance\")[0];\n clearanceDiv.style = \"display: none;\"*/\n\n var rel2_cpn = document.getElementsByClassName('tdeals_box -half -major -clearance');\n rel2_cpn[0].innerHTML = \"\";\n rel2_cpn[0].onclick=\"\";\n //rel2_cpn[0].style = \"background-color:#238341; padding: 25px;\";\n rel2_cpn[0].style.backgroundColor = \"#238341\";\n rel2_cpn[0].style.padding = \"25px\";\n\n var perkPerfBannersDiv3 = rel2_cpn;\n var perkPerfBannersCouponPage = \".perk_notify_coupon_rel{display:flex;flex-direction:row;width:372 px;height:134 px;background-color:#238341}.perk_notify_coupon_content_rel{display:flex;flex-direction:column}#PICK-YOUR-PERK_btn_rel{margin-top:14px;width:128px}.clk-btn_rel{display:block;height:30.4px;background-color:#fff;cursor:pointer;font-family:'Gotham 4r',GothamMedium,Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.gift_rel{text-align:center;font-size:70px;color:#fff;margin:auto;position:relative;left:45px}.Your-birthdays-comi_rel{width:228px;height:50px;font-family:'Gotham 5r',GothamBold,Helvetica,Arial,sans-serif;font-size:25px;font-style:normal;font-stretch:normal;line-height:1.08;letter-spacing:.44px;color:#fff}\";\n appendStyle(perkPerfBannersCouponPage);\n var inHTMLperkPerfBannersCouponPage = \"\";\n inHTMLperkPerfBanners = \"<div class='new2' > <div class='perk_notify_coupon_rel'> <div class='perk_notify_coupon_content_rel'> <div class='Your-birthdays-comi_rel'>Your birthday’s<br>coming up… </div><div id='PICK-YOUR-PERK_btn_rel'><a href='/myaccount/kohls_rewards.jsp' > <input type='button' style='font-weight: bold;font-family: 'Gotham 4r', GothamBold, Helvetica, Arial, sans-serif;' class='clk-btn_rel' value='PICK YOUR PERK'></a> </div></div><div class='gift_rel'> <img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div></div></div>\";\n /* var child = document.createElement(\"div\");\n child.style = \"display: flex;flex-direction: row-reverse;position: absolute;margin: -124px 223px;\";\n child.class = \"tdeals_box -half -major -clearance\";\n //child.style = \"display: flex;flex-direction: row-reverse;margin-left:19px;\";\n child.innerHTML = inHTMLperkPerfBanners;\n perkPerfBannersDiv3[0].appendChild(child);*/\n\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBanners;\n /* child.style = \"margin:24px;display:flex;float:right\";*/\n perkPerfBannersDiv3[0].appendChild(child);\n\n\n //REL02 end\n //}\n}\n\n\nfunction perkPerfBannersCouponPage2() {\n\n\n //var perkPerfBannersDiv3 = document.getElementById('monetizationElements');\n var perkPerfBannersDiv3 = document.getElementsByClassName('tdeals_box -half -major -clearance')[0];\n \n perkPerfBannersDiv3.onclick=\"\";\n perkPerfBannersDiv3.innerHTML=\"\";\n //perkPerfBannersDiv3.style = \"background-color:#e6f0ca; padding: 20px;\";\n\n perkPerfBannersDiv3.style.backgroundColor=\"#e6f0ca\";\n perkPerfBannersDiv3.style.padding=\"20px\";\n \n\n\n\n\n\n\n\n\n if (debug) console.log(\"perkPerfBannersCouponPage>>>\", perkPerfBannersDiv3);\n var perkPerfBannersCouponPage = \".perf_notify_rewards{display:flex;flex-direction:row}.Want-more-of-what-yo{font-family:GothamBold,Helvetica,Arial,sans-serif!important;font-size:25px;font-style:normal;font-stretch:normal;font-weight:700;line-height:1;letter-spacing:.44px;color:#238341}.Take-a-moment-to-tel{font-family:GothamMedium,Helvetica,Arial,sans-serif!important;font-size:12px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.25;letter-spacing:-.07px;color:#238341;padding:5px}#SET-PREFERENCES_btn{margin:auto;margin-left:35px;font-family:GothamMedium,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.25;letter-spacing:-.07px;text-align:center;color:#fff}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#238341;cursor:pointer;font-family:'Gotham 4r',GothamMedium,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#fff;border:solid transparent;width:100%;padding:5px}\";\n\n appendStyle(perkPerfBannersCouponPage);\n\n var inHTMLperkPerfBannersCouponPage = \"\";\n inHTMLperkPerfBannersCouponPage = \"<div class='perf_notify_rewards'> <div class='perf_notify_rewards_content'> <div class='Want-more-of-what-yo'>Want more of <br>what you love?</div><div class='Take-a-moment-to-tel'>Take a moment to tell us who<br>and what you like to shop for.</div></div><div id='SET-PREFERENCES_btn'> <a href='/myaccount/v2/myinfo.jsp' > <input type='button' class='clk-btn' value='SET PREFERENCES'> </a> </div></div>\";\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBannersCouponPage;\n // child.style = \"display:flex;float:right\";\n\n\n child.style.display=\"flex\";\n child.style.float=\"right\"; \n\n perkPerfBannersDiv3.appendChild(child);\n\n // perkPerfBannersDiv3.innerHTML =appendChild(inHTMLperkPerfBannersCouponPage);\n // perkPerfBannersDiv3.style.display = \"block\";\n}\n\n\nfunction perkPerfBanners() {\n\n //var perkPerfBannersDiv2 = document.getElementById(\"enrollment_wrapper\");\n\n\n var perkPerfBannersDiv2 = document.getElementsByClassName(\"birthday-perk-container\");\n\n if (debug) console.log(\"perkPerfBannersRewardsPage>>>\", perkPerfBannersDiv2);\n\n var perkPerfBanners = \".perk_notify_coupon{display:flex;flex-direction:row;height:110px;background-color:#238341}.perk_notify_coupon_content{display:flex;flex-direction:column}#PICK-YOUR-PERK_btn{padding-bottom:9px;margin-left:34px;margin-right:99px;margin-top:14px;width:128px}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#fff;cursor:pointer;font-family:'gotham 4r';font-size:12px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.gift{text-align:center;font-size:70px;color:#fff;margin-top:auto;margin-right:39.2px;margin-bottom:auto}.Your-birthdays-comi{width:228px;height:50px;font-family:Gotham;font-size:25px;font-weight:700;font-style:normal;font-stretch:normal;line-height:1.08;letter-spacing:.44px;color:#fff;margin-right:53px;margin-left:33px;margin-top:25px}\";\n appendStyle(perkPerfBanners);\n\n var inHTMLperkPerfBannersRewardsPage = \"\";\n inHTMLperkPerfBannersRewardsPage = \"<div class='perk_notify_coupon'> <div class='perk_notify_coupon_content'> <div class='Your-birthdays-comi'>Your birthday’s<br>coming up… </div><div id='PICK-YOUR-PERK_btn'> <input type='button' class='clk-btn' value='PICK YOUR PERK'> </div></div><div class='gift'> <img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div></div>\";\n\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBannersRewardsPage;\n\n //child.style = \"margin-top: 25px;\";\n child.style.marginTop=\"25px\";\n\n\n perkPerfBannersDiv2[0].appendChild(child);\n\n // perkPerfBannersDiv2.innerHTML = inHTMLperkPerfBannersRewardsPage;\n // perkPerfBannersDiv2.style.display = \"block\";\n\n\n}\n\nfunction showPerf(args) {\n\n var perfParentDiv2 = document.getElementById(\"z1widget\");\n var stylesPERF = \".z1_b_container_kohlsbannertoparrow{background-color:transparent;padding:0!important;background-color:#238341}.arrow_box{position:relative;background:#238341;border:none;width:198px;border-radius:.3rem .3rem 0 0;left:-50px;top:0;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.08);-moz-box-shadow:0 0 2px 0 rgba(0,0,0,.08);box-shadow:0 0 2px 0 rgba(0,0,0,.08)}.arrow_box:after,.arrow_box:before{bottom:100%;left:45%;border:solid transparent;content:'';height:0;width:0;position:absolute;pointer-events:none}.arrow_box:after{border-color:rgba(255,255,255,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}.arrow_box:before{border-color:rgba(191,191,191,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}#detailsContentId{display:block;width:198px}.box{display:flex;flex-direction:column;height:200px}.cross{display:flex;flex-direction:row;height:13px}.Kohls-Rewards-HZ-R{background:url(https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/kohlsrewardshzr.png) center no-repeat;height:15.3px;color:#fff;margin-left:15%;margin-bottom:9px;height:30px}.Want-more-of-what-yo{width:143px;height:55.5px;font-family:'Gotham 7r',GothamBold,Helvetica,Arial,sans-serif;font-size:19px;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:-.07px;text-align:center;color:#238341;margin-right:auto;margin-left:auto;margin-top:24px}.Take-a-moment-to-tel{width:143px;height:55.5px;margin-bottom:7.5px;font-family:'Gotham 5r',GothamMedium,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.17;letter-spacing:-.07px;text-align:center;color:#238341;margin-right:auto;margin-left:auto}#SET-PREFERENCES_btn{padding-bottom:18.6px;padding-right:20px;padding-left:20px;margin:auto}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#238341;cursor:pointer;font-family:'Gotham 4r',GothamBold,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#fff;border:solid transparent;width:100%}.close{height:29px;width:17px;font-size:28px;cursor:pointer;color:#fff;font-weight:500;margin:2px}.div2_content{background-color:#e6f0ca;border-radius:0 0 .3rem .3rem}#z1-pd-yp-close{float:right;position:relative;right:8px;top:5px;width:15px;height:15px}#z1-pd-yp-close:before{transform:rotate(45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}#z1-pd-yp-close:after{transform:rotate(-45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}\";\n appendStyle(stylesPERF);\n var inHTMLStringPERF = \"\";\n inHTMLStringPERF = \"<div data-zineone-properties='modal:true;container-class:z1_b_container_kohlsbannertoparrow;' class='arrow_box'> <div id='detailsContentId'> <div class='box'> <div> <div class='cross'> <div style='width: 88%;'></div><div class='close' data-zineone-close='z1://close'><a data-zineone-close='z1://close' href='javascript:void(0);' id='z1-pd-yp-close'></a></div></div><div class='Kohls-Rewards-HZ-R '></div></div><div class='div2_content'> <div class='Want-more-of-what-yo'>Want more of what you love?</div><div class='Take-a-moment-to-tel'>Take a moment to tell<br>us who and what you<br>like to shop for.</div><div id='SET-PREFERENCES_btn'> <a href='/myaccount/v2/myinfo.jsp?z1_pref=1' > <input type='button' class='clk-btn' value='SET PREFERENCES'> </a> </div></div></div></div></div>\";\n perfParentDiv2.innerHTML = inHTMLStringPERF;\n perfParentDiv2.style.display = \"block\";\n\n /*let setPrefBtn = document.getElementById(\"SET-PREFERENCES_btn\");\n function setPrefBtnClick(){\n if (debug) console.log(\"setPreferenceBtnClicked..\");\n // alert('setPreferenceBtnClicked');\n setTimeout(function(){\n if (debug) console.log(\"TIMEOUT FUNCTION\");\n let setPrefEvent = new CustomEvent('setPreferenceBtnClicked', { detail: {} });\n document.dispatchEvent(setPrefEvent);\n },5000);\n\n }\n setPrefBtn.addEventListener(\"click\",setPrefBtnClick,false);*/\n let setPrefBtn = document.getElementById(\"SET-PREFERENCES_btn\");\n\n function setPrefBtnClick() {\n if (debug) console.log(\"setPreferenceBtnClicked..\");\n localStorage.setItem(\"z1_pref_clicked\", \"true\");\n\n }\n setPrefBtn.addEventListener(\"click\", setPrefBtnClick, false);\n\n var eventdata = {\n usecase: \"perk\",\n onPage: pgName\n };\n\n ZineOne.pushEvent(\"_ws_updatePerkPerfLastseen\", eventdata);\n sessionStorage.setItem(\"showPerfOnCouponPage\", \"true\");\n\n\n}\n\nfunction showPerk(argument) {\n // body...\n var perkParentDiv2 = document.getElementById(\"z1widget\");\n var stylesPERK = \".z1_b_container_kohlsbannertoparrow{background-color:transparent;padding:0!important;background-color:#238341}.arrow_box{position:relative;border:none;width:198px;border-radius:.3rem;left:-50px;top:0;height:262.3px;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.08);-moz-box-shadow:0 0 2px 0 rgba(0,0,0,.08);box-shadow:0 0 2px 0 rgba(0,0,0,.08);background-size:75px,31px,57px;background-color:#238341}.arrow_box:after,.arrow_box:before{bottom:100%;left:45%;border:solid transparent;content:'';height:0;width:0;position:absolute;pointer-events:none}.arrow_box:after{border-color:rgba(255,255,255,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}.arrow_box:before{border-color:rgba(191,191,191,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}#detailsContentId{display:block;width:198px;padding:5px 0}.box{display:flex;flex-direction:column}.cross{display:flex;flex-direction:row;height:13px}.Kohls-Rewards-HZ-R{height:15.3px;color:#fff;margin-left:15%;margin-top:10px}.MEMBER-EXCLUSIVE{font-family:'Gotham 4r',GothamMedium,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.27;letter-spacing:-.1px;text-align:center;color:#fff;margin-right:auto;margin-left:auto;height:17.5px;width:143px}.gift{text-align:center;font-size:78px;color:#fff;margin:12.5px auto}.Your-birthdays-comi-outer-div{height:55.5px;width:143px;margin:auto}.Your-birthdays-comi{font-family:'Gotham 5r',GothamBold,Helvetica,Arial,sans-serif;font-size:18px;font-style:normal;font-stretch:normal;font-weight:500;line-height:1.06;letter-spacing:-.1px;text-align:center;color:#fff;margin-right:auto;margin-left:auto;height:55.5px;width:143px}#TREAT-YOURSELF_btn{padding-bottom:9px;margin:auto;width:158px}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#fff;cursor:pointer;font-family:'gotham 4r';font-size:13px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.close{padding-right:13px}.pick_ur_perk_btn{width:158.5px}.star1{position:absolute;top:17%;left:-1.9%;width:77px;height:89px;object-fit:contain}.star2{position:absolute;top:60.4%;left:-5%;width:40px;height:50px;object-fit:contain}.star3{position:absolute;top:35.8%;left:78.1%;width:57px;height:89px;object-fit:contain}#z1-pd-yp-close{float:right;position:relative;right:0;top:5px;width:15px;height:15px}#z1-pd-yp-close:before{transform:rotate(45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}#z1-pd-yp-close:after{transform:rotate(-45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}\";\n appendStyle(stylesPERK);\n var inHTMLStringPERK = \"\";\n inHTMLStringPERK = \"<div data-zineone-properties='modal:true;container-class:z1_b_container_kohlsbannertoparrow;' class='arrow_box'> <div id='detailsContentId'> <div class='box'> <div class='cross'> <div style='width: 89%;'></div><div class='close' data-zineone-close='z1://close'><a data-zineone-close='z1://close' href='javascript:void(0);' id='z1-pd-yp-close'></a></div></div><div class='Kohls-Rewards-HZ-R'><img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/kohlsrewardshzr.png'></div><div class='MEMBER-EXCLUSIVE'>MEMBER EXCLUSIVE</div><div> <img class='star1' src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group2x.png'> <img class='star2' src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.3.png'> <img class='star3' src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group2.3.png'> </div><div class='gift'><img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div><div class='Your-birthdays-comi-outer-div'> <div class='Your-birthdays-comi'>Your birthday’s<br>coming up… </div></div><div id='TREAT-YOURSELF_btn'> <a href='/myaccount/kohls_rewards.jsp' > <input type='button' class='clk-btn' value='PICK YOUR PERK' class='pick_ur_perk_btn'> </a> </div><div class='Fill-20'></div></div></div></div>\";\n perkParentDiv2.innerHTML = inHTMLStringPERK;\n perkParentDiv2.style.display = \"block\";\n\n\n var eventdata = {\n usecase: \"perk\",\n onPage: pgName\n };\n\n ZineOne.pushEvent(\"_ws_updatePerkPerfLastseen\", eventdata);\n sessionStorage.setItem(\"showPerkOnCouponPage\", \"true\");\n\n}\n\nfunction handlePerkPerf(received_data) {\n\n if (debug) console.log('[Z1]SetCookie. ' + received_data.SetCookie);\n\n if (debug) console.log('[Z1]TTLperf. ' + received_data.perf_ttl);\n if (debug) console.log('[Z1]TTLperk. ' + received_data.perk_ttl);\n if (debug) console.log('[Z1]perk. ' + received_data.perk);\n if (debug) console.log('[Z1]perf. ' + received_data.perf);\n /*\n function setCookie(cname, cvalue, exdays) {\n if (debug) console.log('[Z1]cname. ' + cname);\n if (debug) console.log('[Z1]cvalue. ' + cvalue);\n if (debug) console.log('[Z1]exdays. ' + exdays);\n\n var d = new Date();\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n\n\n var expires = \"expires=\" + d.toGMTString();\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\n }\n\n function getUTCTimeInMILLIS() {\n var now = new Date();\n var millis = now.getTime() + (now.getTimezoneOffset() * 60000);\n // var millis = now.getTime() + ((now.getTimezoneOffset() * 60000)+(5*86400000));\n return millis;\n }\n\n if (String(received_data.SetCookie) == \"true\") {\n var cvalue, cookie_expiry;\n\n var today = getUTCTimeInMILLIS();\n if (String(received_data.perf) == \"true\") {\n // cvalue=JSON.stringify({ \"perf\": \"true\", \"ttl\":String(received_data.perf_ttl)});\n cvalue = JSON.stringify({ \"perf\": \"false\", \"ttl_perf\": String(today) });\n\n cookie_expiry = Number(received_data.perf_ttl);\n }\n\n if (String(received_data.perk) == \"true\") {\n // cvalue=JSON.stringify({ \"perk\":\"true\", \"ttl\":String(received_data.perk_ttl)});\n cvalue = JSON.stringify({ \"perk\": \"false\", \"ttl_perk\": String(today) });\n cookie_expiry = Number(received_data.perk_ttl);\n }\n\n // cvalue=JSON.stringify({ \"perf\": received_data.perf, \"perk\": received_data.perk, \"ttl\":received_data.perk_ttl});\n //document.cookie = \"z1_perk_perf=\" + cvalue + \";\" + expires + \";path=/\";\n var cookie_name = \"z1_perk_perf\";\n var cookie_value = cvalue;\n\n\n if (debug) console.log('[Z1]cookie_name.B ' + cookie_name);\n if (debug) console.log('[Z1]cookie_value. ' + cookie_value);\n if (debug) console.log('[Z1]cookie_expiry. ' + cookie_expiry);\n\n //setCookie(cookie_name,cookie_value,4);\n setCookie(cookie_name, cookie_value, cookie_expiry);\n\n }*/\n\n\n}\n\n\nfunction getUTCTimeInMILLIS() {\n var now = new Date();\n // var millis = now.getTime() + (now.getTimezoneOffset() * 60000);\n // var millis = now.getTime() + ((now.getTimezoneOffset() * 60000)+(5*86400000));\n var millis = now.getTime();\n return millis;\n}\n\n\nfunction setCookie(cname, cvalue, exdays) {\n if (debug) console.log('[Z1]perkPerfCodeHandle cname. ' + cname);\n if (debug) console.log('[Z1]perkPerfCodeHandle cvalue. ' + cvalue);\n if (debug) console.log('[Z1]perkPerfCodeHandle exdays. ' + exdays);\n\n var d = new Date();\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n\n\n var expires = \"expires=\" + d.toGMTString();\n if (debug) console.log('[Z1]perkPerf################ ' + cname + \"=\" + JSON.stringify(cvalue) + \";\" + expires + \";path=/\");\n document.cookie = cname + \"=\" + JSON.stringify(cvalue) + \";\" + expires + \";path=/\";\n}\n\n\nfunction perkPerfCodeHandle(received_data) {\n var showPerkBanner = received_data.notification_ds.showPerk;\n var showPerfBanner = received_data.notification_ds.showPerf;\n var displayBannerTimer = received_data.notification_ds.bannerDisplay;\n\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> received_data ' + received_data);\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds ' + received_data.notification_ds);\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> cookie_ds ' + received_data.cookie_ds);\n\n if (debug) console.log('\\n\\n[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds.showPerf ' + ((received_data.notification_ds.showPerf) == \"true\"));\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds.showPerk ' + ((received_data.notification_ds.showPerk) == \"true\"));\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds.bannerDisplay ' + received_data.notification_ds.bannerDisplay);\n if (debug) console.log('[Z1]################perkPerfCodeHandle############################ ');\n\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? received_data isCookieSet' + received_data.cookie_ds.isCookieSet);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? received_data do we have to SetCookie?' + received_data.cookie_ds.SetCookie);\n\n\n if (String(received_data.cookie_ds.SetCookie) == \"true\") {\n\n var cvalue, cookie_expiry;\n var today = getUTCTimeInMILLIS();\n\n if ((String(received_data.cookie_ds.uc) == \"perk\") && (String(received_data.cookie_ds.usecase) == \"perk\")) {\n if (debug) console.log('[Z1] ONE PERK ');\n\n\n cvalue = {\n perk: \"false\",\n ttl_perk: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perk);\n }\n\n\n if ((String(received_data.cookie_ds.uc) == \"perf\") && (String(received_data.cookie_ds.usecase) == \"perf\")) {\n if (debug) console.log('[Z1] ONE PERF ');\n\n\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perf);\n }\n\n if (String(received_data.cookie_ds.uc) == \"both\") {\n\n if (debug) console.log('[Z1] BOTH ');\n\n\n\n\n if (received_data.cookie_ds.onBothList == \"true\") {\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value ');\n //if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value uc '+uc);\n //if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value usecase '+usecase);\n if ((String(received_data.cookie_ds.usecase) == \"perk\")) {\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today),\n perk: \"false\",\n ttl_perk: Number(today)\n };\n cookie_expiry = Number(received_data.cookie_ds.ttl_perk);\n\n }\n\n if ((String(received_data.cookie_ds.usecase) == \"perf\")) {\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today),\n perk: \"true\",\n ttl_perk: Number(today)\n };\n cookie_expiry = Number(received_data.cookie_ds.ttl_perf);\n\n }\n\n } else {\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value false ');\n if ((String(received_data.cookie_ds.uc) == \"both\") && (String(received_data.cookie_ds.usecase) == \"perk\")) {\n if (debug) console.log('[Z1] ONE PERK ');\n\n\n cvalue = {\n perk: \"false\",\n ttl_perk: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perk);\n }\n\n\n\n if ((String(received_data.cookie_ds.uc) == \"both\") && (String(received_data.cookie_ds.usecase) == \"perf\")) {\n if (debug) console.log('[Z1] ONE PERF ');\n\n\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perf);\n }\n }\n }\n\n\n\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? COOKIE value to set ' + cvalue);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? COOKIE value to set cookie_expiry:' + cookie_expiry);\n\n\n var cookie_name = \"z1_perk_perf\";\n var cookie_value = cvalue;\n\n\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? cookie_name.B ' + cookie_name);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? cookie_value. ' + cookie_value);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? cookie_expiry. ' + cookie_expiry);\n\n //setCookie(cookie_name,cookie_value,4);\n setCookie(cookie_name, cookie_value, cookie_expiry);\n\n\n\n }\n\n\n\n\n\n\n\n\n if (debug) console.log('[Z1]################perkPerfCodeHandle############################ ');\n\n\n\n\n\tvar cust_id_non_numeric=localStorage.getItem('dataLayerCustomerDetails');\n\tvar isGuestUser_id = false;\n if(isValid(cust_id_non_numeric)){\n isGuestUser_id=isNaN(JSON.parse(cust_id_non_numeric).customerID);\n\n }\n if (!isGuestUser_id && showPerkBanner == \"true\" && displayBannerTimer == \"false\" ) {\n if (pgName == \"Home\") {\n showPerk();\n }\n }\n\n if (!isGuestUser_id && showPerfBanner == \"true\" && displayBannerTimer == \"false\") {\n if (pgName == \"Home\") {\n showPerf();\n }\n }\n\n\n}\n\nfunction getBirthdayCookie(cname) {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return;\n}\nvar delete_cookie = function(name) {\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';\n};\n\n\ntry {\n\n //if (debug) console.log(\" [Z1] Pagedata*****************************\"+pagedata);\n\n if (debug) console.log(\" [Z1] perk_perf_tag_test*****************************\");\n\n if (isValid(pageData.customerDetails)) {\n if (pageData.customerDetails.isLoggedIn == \"false\") {\n if (debug) console.log(\"[Z1]delete cookie for logged out user1\");\n try {\n if (debug) console.log(\"[Z1]delete cookie for logged out user2\");\n delete_cookie('z1_perk_perf');\n\n\n var perkOnCouponPage = sessionStorage.getItem(\"showPerkOnCouponPage\");\n if(isValid(perkOnCouponPage)){\n sessionStorage.removeItem(\"showPerkOnCouponPage\");\n }\n\n var perfOnCouponPage = sessionStorage.getItem(\"showPerfOnCouponPage\");\n if(isValid(perfOnCouponPage)){\n sessionStorage.removeItem(\"showPerfOnCouponPage\");\n }\n\n\n\n } catch (del) {\n if (debug) console.log(\"[Z1] no cookie for logged out user\");\n }\n }\n }\n\n var pg = Z1.window.browserInfo.pagePath;\n var pgName = \"unknownPage\";\n // if (isDebug) if (debug) console.log(\"[ZineOne] Page Name ==>\" + pg);\n if (pg == \"/\") {\n pgName = \"Home\";\n } else if (pg.startsWith(\"/product\")) {\n pgName = \"PDP\";\n } else if (pg.startsWith(\"/catalog\")) {\n pgName = \"PMP\";\n } else if (pg.startsWith(\"/search\")) {\n pgName = \"Search\";\n } else if (pg.startsWith(\"/myaccount/kohls_rewards.jsp\")) {\n pgName = \"Rewards\";\n // ZineOne.pushEvent(\"Perk_Perf_Event\", {});\n\n } else if (pg.startsWith(\"/myaccount/v2/myinfo.jsp\")) {\n\n pgName = \"myInfo\";\n // ZineOne.pushEvent(\"Perk_Perf_Event\", {});\n\n } else if (pg.startsWith(\"/wallet/my_wallet.jsp\")) {\n pgName = \"Wallet\";\n\n\n } else if (pg.startsWith(\"/upgrade/giftinglisting/wishlist.jsp\")) {\n pgName = \"Wishlist\";\n\n } else if (pg.startsWith(\"/myaccount/v2/order-history.jsp\")) {\n pgName = \"OrderHistory\";\n\n\n } else if (pg.startsWith(\"/sale-event/coupons-deals.jsp\")) {\n pgName = \"Coupons\";\n }\n if (pg.startsWith(\"/?DPSLogout=true\")) {\n pgName = \"Logout\";\n } else if (pg.startsWith(\"/checkout\")) {\n pgName = \"Cart\";\n if (pg.endsWith(\"shopping_cart.jsp\")) {\n pgName = \"Cart\";\n } else if (pg.endsWith(\"v2/checkout.jsp\")) {\n pgName = \"Checkout\";\n }\n }\n\n //if logged out unset seeion variable\n var loggedout = document.URL;\n\n function getBirthdayCookie(cname) {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return;\n }\n var birthday_cookie_flag = '';\n var cookie_title = \"z1_perk_perf\";\n var birthday_cookie = getBirthdayCookie(cookie_title);\n if (isValid(birthday_cookie)) {\n birthday_cookie_flag = birthday_cookie;\n } else {\n birthday_cookie_flag = '';\n }\n var isPerkSelected=false;\n var isPerfSelected=false;\n if(birthday_cookie_flag != ''){\n var parsedBirthCookie = JSON.parse(birthday_cookie_flag);\n if(parsedBirthCookie && parsedBirthCookie.perk){\n isPerkSelected= String(parsedBirthCookie.perk) == \"true\" ? true : false;\n }\n if(parsedBirthCookie && parsedBirthCookie.perf){\n isPerfSelected= String(parsedBirthCookie.perf) == \"true\" ? true : false;\n }\n }\n if (isPerkSelected) {\n sessionStorage.removeItem('showPerkOnCouponPage');\n }\n if (isPerfSelected) {\n sessionStorage.removeItem('showPerfOnCouponPage');\n }\n if ((loggedout.endsWith(\"/?DPSLogout=true\")) ) {\n\n // var customer=JSON.parse(localStorage.getItem(z1_cust_id));\n var cookie_title = \"z1_perk_perf\";\n // if (debug) console.log(\"[Z1]This user logged out>>>$$$$\",customer);\n delete_cookie('z1_perk_perf');\n // var birthday_cookie = getBirthdayCookie(cookie_title);\n //if (debug) console.log(\"[Z1] READ birthday_cookie on Logout page\" + birthday_cookie);\n\n var sess1 = sessionStorage.getItem(\"showPerkOnCouponPage\");\n if (sess1 == \"true\") {\n sessionStorage.removeItem('showPerkOnCouponPage');\n }\n\n\n\n var sess2 = sessionStorage.getItem(\"showPerfOnCouponPage\");\n if (sess2 == \"true\") {\n sessionStorage.removeItem('showPerfOnCouponPage');\n }\n }\n\n\n\n\n if (debug) console.log(\"perk_perfCodeHandler...pgName:::\" + pgName);\n\n\n /*var birthday_perk_perfCodeHandler = function(e) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...\", e);\n if (debug) console.log(\"e.detail...\", e.detail);\n // localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data\", JSON.stringify(e.detail));\n handlePerkPerf(e.detail);\n\n };\n\n\n document.addEventListener(\"ws_birthday_perk_perf\", birthday_perk_perfCodeHandler, false);*/\n\n\n if (pgName == \"myInfo\") {\n // alert('setPreferenceBtnClicked...myInfo 2');\n if (debug) console.log(\"setPreferenceBtnClicked...myInfo 2\");\n // alert('setPreferenceBtnClickedHandler...myInfo 3');\n /* let locn=window.location.href;\n if(locn.includes(\"/myaccount/v2/myinfo.jsp?z1_pref=1\")){\n var element = document.getElementById(\"leftInfoItem\");\n element.getElementsByTagName(\"li\")[0].classList.remove(\"selected\");\n element.getElementsByTagName(\"li\")[3].classList.add(\"selected\");\n var t = document.getElementsByClassName(\"shoppingPref\");\n t[0].children[0].click();\n\n }*/\n\n let ls_z1_pref_clicked = localStorage.getItem('z1_pref_clicked');\n\n if (isValid(ls_z1_pref_clicked) && String(ls_z1_pref_clicked) == \"true\") {\n\n if (debug) console.log(\"z1_pref_clicked val from ls\" + ls_z1_pref_clicked);\n var element = document.getElementById(\"leftInfoItem\");\n element.getElementsByTagName(\"li\")[0].classList.remove(\"selected\");\n element.getElementsByTagName(\"li\")[3].classList.add(\"selected\");\n var t = document.getElementsByClassName(\"shoppingPref\");\n t[0].children[0].click();\n localStorage.removeItem('z1_pref_clicked');\n if (debug) console.log(\"z1_pref_clicked val from ls removed\");\n }\n\n }\n\n if (pgName == \"Rewards\") {\n\n /* var showdivs = String(sessionStorage.getItem(\"showPerkOnCouponPage\"));\n isValid(showdivs);\n if (debug) console.log(\"showdivs\", showdivs);\n\n if (isValid(showdivs)) {\n if (showdivs) {\n if (debug) console.log(\"showdivs\", showdivs);\n perkPerfBanners();\n }\n }*/\n }\n\n if (pgName == \"Coupons\") {\n\n /* var showdivs1 = String(sessionStorage.getItem(\"showPerkOnCouponPage\"));\n // isValid(showdivs1);\n if (debug) console.log(\"Coupons pages showdivs>>>>\",showdivs1);\n\n if (isValid(showdivs1)) {\n if (showdivs1) {\n if (debug) console.log(\"showdivs1\",showdivs1);\n perkPerfBannersCouponPage();\n }\n }*/\n\n\n\n var showdivs1 = String(sessionStorage.getItem(\"showPerkOnCouponPage\"));\n\n if (debug) console.log(\"Coupons pages showdivs>>>>\", showdivs1);\n\n if (showdivs1 == \"true\") {\n\n if (debug) console.log(\"showdivs1\", showdivs1);\n perkPerfBannersCouponPage();\n var cusId = pageData.customerDetails.customerID;\n\n //if (debug) console.log('Before Condition Check',prop75Obj.prop75,cusId);\n\n if (cusId) {\n //if (debug) console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n\n var eVar39 = cusId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: \"w>z1bdayperk>b|cp\",\n eVar39: eVar39\n });\n\n }\n\n }\n\n\n\n var showdivs2 = sessionStorage.getItem(\"showPerfOnCouponPage\");\n // isValid(showdivs2);\n if (debug) console.log(\"Coupons pages showdivs2>>>>\", showdivs2);\n\n if (showdivs2 == \"true\") {\n\n if (debug) console.log(\"showdivs2\", showdivs2);\n\n perkPerfBannersCouponPage2();\n var cusId = pageData.customerDetails.customerID;\n if (cusId) {\n //if (debug) console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n\n var eVar39 = cusId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: \"w>z1completeprof>b|cp\",\n eVar39: eVar39\n });\n\n }\n\n\n\n }\n\n\n }\n\n\n\n /* var perkPerfCodeHandler = function(f) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...New\", f);\n if (debug) console.log(\"f.detail...\", f.detail);\n localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data NEW\", JSON.stringify(f.detail));\n // handlePerkPerf(e.detail);\n perkPerfCodeHandle(f.detail);\n\n };\n document.addEventListener(\"ws_PerkPerfdata\", perkPerfCodeHandler, false);*/\n\n var z1ResponseHandler = function(e) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler..\");\n if (e.detail && e.detail.PerkPerfdata) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...New\", e);\n if (debug) console.log(\"e.detail...\", e.detail.PerkPerfdata);\n localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data NEW\", JSON.stringify(e.detail.PerkPerfdata));\n perkPerfCodeHandle(e.detail.PerkPerfdata);\n // localStorage.setItem(\"z1_emailOptIn_data\", JSON.stringify(e.detail.emailOptInOfferCode));\n // handleEmailOptIn(e.detail.emailOptInOfferCode);\n }\n };\n document.addEventListener(\"onZ1RawData\", z1ResponseHandler, false);\n\n\n\n} catch (e) {\n console.log(\"Error in perk_perf_tag = \", e);\n}\n","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"shopToRoundUpV2","actionType":"z1script","script":"var isDebug = false;\nvar __debug = false;\n\nfunction isValid(datapoint) {\n if (!datapoint || typeof datapoint == 'undefined' || datapoint == undefined || datapoint === undefined || String(datapoint) === 'undefined' || datapoint == \"null\" || datapoint == null) {\n returnObj.reason = \"invalid input\";\n return false;\n } else {\n return true;\n }\n}\n\n/*\nvar debug_log = function(msg) {\n if (__debug) {\n console.log(\"debug_ShopToRoundUpDataV2::\" + msg);\n \n }\n};*/\n\nfunction debug_log(...args) {\n if (isDebug) {\n console.log(\"debug_ShopToRoundUpDataV2::\");\n console.log.apply(this, args);\n }\n}\n\nfunction appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n}\n\n\nfunction showShopRoundUpV2OnCoupon(cpn) {\n\n\n var shopRoundUpV2CouponBannersDiv = document.getElementById('monetizationElements');\n console.log(\"shopRoundUpV2CouponBannersDiv>>>\", shopRoundUpV2CouponBannersDiv)\n\n console.log(\"cpn date:\" + cpn.ends_in);\n var cpn_ends_in = cpn.ends_in;\n\n var styleShowShopRoundUpV2OnCouponPage = ` #strup-container{padding: 10px; background-color: #eef7e6; font-family: 'Gotham 4r', 'GothamMedium', Helvetica, Arial, sans-serif; font-size: 11px; position: relative}\n #strup-container #strup_header {margin-bottom: 5px}\n #strup-container #strup-coupon-Rewards-Lockup-Horizontal {position: absolute; right: 0px; top: 0px}\n #strup-container #strup-coupon-Cant-wait-to-hit-yo{font-size: 15px;font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;}\n #strup-container .green-text {color: #208033;}\n #strup-container .bold-text {font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;}\n \n #strup-container .strup-coupon-dollar_reward_content {display: flex; font-size: 26px; align-items: flex-start;}\n #strup-container .strup-coupon-dollar_reward_content .offer_currency {margin-right: 48px}\n #strup-container .strup-coupon-dollar_reward_content .offer_value {font-size: 68px; transform: translateY(-25%); position: absolute; left: 30px;}\n #strup-container .strup-coupon-Spend-25-or-more-in {margin-bottom: 10px;}\n #strup-container .strup-coupon-footer {margin: 0px 0px 0px 65px;font-weight: bold;}`;\n appendStyle(styleShowShopRoundUpV2OnCouponPage);\n\n\n\n var innerHTMLshowShopRoundUpV2OnCouponPage = \"\";\n innerHTMLshowShopRoundUpV2OnCouponPage = `<div class=\"strup-coupon-Rectangle\" id=\"strup-container\">\n <div id=\"strup_header\">\n <div id=\"inboxHeader_1\">\n <div id=\"strup-coupon-Rewards-Lockup-Horizontal\" class=\"strup-coupon-Rewards-Lockup-Horizontal\"><img style=\"height: 25px;\" src=\"/account/media/images/loyaltyV2/kohls-rewards.png\"></div>\n </div>\n <div id=\"inboxHeader_2\">\n <div id=\"strup-coupon-Cant-wait-to-hit-yo\" class=\"strup-coupon-Cant-wait-to-hit-yo\">Can't wait to hit your next</div>\n </div>\n </div>\n <div class=\"strup-coupon-dollar_reward\">\n <div class=\"strup-coupon-dollar_reward_content green-text bold-text\">\n \n <div class=\"offer_currency\">$</div>\n <div class=\"offer_value\">5</div>\n <div class=\"offer_text\">reward?</div>\n </div>\n <div class=\"strup-coupon-footer\">\n <div class=\"strup-coupon-Spend-25-or-more-in\">Spend $25 or more in-store or online. We'll add $2.50<br> to your Kohl's Rewards balance to get you there.</div>\n <div class=\"strup-coupon-Ends-August-20\">Ends ${cpn_ends_in}</div>\n <div class=\"strup-coupon-details-exclusions\"><u>details & exclusions</u></div>\n </div>\n </div>\n </div> `;\n\n\n\n var child = document.createElement(\"div\");\n child.innerHTML = innerHTMLshowShopRoundUpV2OnCouponPage;\n child.style = \"margin:24px;display:flex;float:right\";\n shopRoundUpV2CouponBannersDiv.appendChild(child);\n\n\n\n}\n\nfunction showShopRoundUpV2OnHome(hm) {\n var hm_ends_in = hm.ends_in;\n\n var showShopRoundUpV2OnHomeDiv = document.getElementById(\"z1widget\");\n var stylesShopRoundUpV2OnHomePage = `.z1_b_container_kohlsbannertoparrow {\n background-color: transparent;\n padding: 0px !important;\n \n }\n\n\n .arrow_box {\n position: relative;\n padding: 0px;\n \n border: none;\n width: 265px;\n border-radius: 0.3rem;\n left: -173px;\n top: 0px;\n height: 312px;\n\n -webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.08);\n -moz-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.08);\n box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.08);\n background-size: 75px, 31px, 57px;\n background-color: #eef7e6;\n }\n\n .arrow_box:after,\n .arrow_box:before {\n bottom: 100%;\n left: 45%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n }\n\n .arrow_box:after {\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #eef7e6;\n border-width: 8px;\n margin-left: auto;\n }\n\n .arrow_box:before {\n border-color: rgba(191, 191, 191, 0);\n border-bottom-color: #eef7e6;\n border-width: 8px;\n margin-left: auto;\n }\n\n \n\n .box {\n display: flex;\n flex-direction: column;\n }\n\n .cross {\n display: flex;\n flex-direction: row;\n }\n\n #z1-pd-yp-close {\n float: right;\n position: relative;\n right: 0px;\n top: 10px;\n width: 15px;\n height: 15px;\n }\n #z1-pd-yp-close:before{\n transform: rotate(45deg);\n position: absolute;\n left: 9px;\n content: ' ';\n height: 18px;\n width: 1.5px;\n background-color: #474747;\n }\n\n #z1-pd-yp-close:after {\n transform: rotate(-45deg);\n position: absolute;\n left: 9px;\n content: ' ';\n height: 18px;\n width: 1.5px;\n background-color: #474747;\n }\n \n .Rewards-Lockup-Horizontal {\n width: 239px;\n height: 44px;\n object-fit: contain;\n margin-left: auto;\n margin-right: auto;\n \n \n }\n .Rewards-Lockup-Horizontal-image {\n width: 239px;\n height: 44px;\n object-fit: contain;\n \n \n }\n \n\n .MEMBER-EXCLUSIVE {\n width: 149px;\n height: 17px;\n font-family: 'Gotham 4r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 11px;\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: 2px;\n margin-right: auto;\n margin-left: auto;\n color: #444444;\n\t position: relative;\n top: -12px;\n }\n .Cant-wait-to-hit-yo {\n width: 203px;\n height: 16px;\n font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;\n font-size: 15px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin: 0px 30px 0px 30px;\n }\n\n .dollar_reward {\n font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #208033;\n margin-bottom: 10px;\n margin-top: 5px;\n \n}\n\n.dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-top: -12px;\n margin-bottom: -12px;\n}\n.Spend-25-or-more-in {\n width: 174px;\n height: 36px;\n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 15px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.2;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-right: auto;\n margin-left: auto;\n}\n\n.Well-add-250-to-y {\n width: 240px;\n height: 26px;\n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 11px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.18;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-top: 15px;\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 15px; \n}\n.Ends-August-20 {\n width: 96px;\n \n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.78;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin: auto;\n}\n.details-exclusions {\n width: 89px;\n height: 9px;\n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin: auto;\n}`;\n appendStyle(stylesShopRoundUpV2OnHomePage);\n var inHTMLShopRoundUpV2OnHomePage = \"\";\n inHTMLShopRoundUpV2OnHomePage = `<div data-zineone-properties=\"modal:true;container-class:z1_b_container_kohlsbannertoparrow;\" class=\"arrow_box\">\n \n \n <div class=\"box\">\n <div class=\"cross\">\n <div style=\"width: 89%;\"></div>\n \n <div class=\"close\" data-zineone-close=\"z1://close\"><a data-zineone-close=\"z1://close\" href=\"javascript:void(0);\" id=\"z1-pd-yp-close\"></a></div>\n </div>\n <div class=\"Rewards-Lockup-Horizontal\"><img class=\"Rewards-Lockup-Horizontal-image\" src=\"/account/media/images/loyaltyV2/kohls-rewards.png\"><!--<span class=\"kr\">KOHL'S REWARDS</span>--></div>\n <div class=\"MEMBER-EXCLUSIVE\">MEMBER EXCLUSIVE</div>\n <div class=\"Cant-wait-to-hit-yo\">Can’t wait to hit your next</div>\n <div class=\"dollar_reward\">\n <div class=\"dollar_reward_content\">\n <div style=\"font-size: 28px;margin-top: auto; margin-bottom: auto;font-weight: initial;\">$</div>\n <div style=\"font-size: 75.5px;font-weight: initial; margin-right: 3px;\">5</div>\n <div style=\"font-size: 28px;margin-top: auto; margin-bottom: auto;font-weight: initial;\"> reward?</div>\n \n </div>\n \n </div>\n <div class=\"Spend-25-or-more-in\">Spend $25 or more<br>in-store or online.</div>\n <div class=\"Well-add-250-to-y\">We’ll add $2.50 to your Kohl’s Rewards<br>balance to get you there. </div>\n\n <div class=\"Ends-August-20\">Ends ${hm_ends_in}.</div>\n <div class=\"details-exclusions\"><a style=\"color: #222222;font-weight: 500;\" target=\"_blank\" href=\"/ecom/OnlineOnly/BONUSPOINTS.html\"><u>details & exclusions</u></a></div>\n\n \n </div>\n </div>`;\n\n showShopRoundUpV2OnHomeDiv.innerHTML = inHTMLShopRoundUpV2OnHomePage;\n showShopRoundUpV2OnHomeDiv.style.display = \"block\";\n\n var cusId = pageData.customerDetails.customerID;\n\n if (cusId) {\n //console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n var eVar39 = cusId;\n if(hm.pageName==\"Home\"){\n \n \ts.tl(this, 'o', 'ZineOne Impression', {\n \tlinkTrackVars: 'prop75,eVar39',\n \tprop75: \"w>z1rewardsrndup|b|hp\",\n \teVar39: eVar39\n });\n }\n if(hm.pageName==\"PMP\"){\n \n \ts.tl(this, 'o', 'ZineOne Impression', {\n \tlinkTrackVars: 'prop75,eVar39',\n \tprop75: \"w>z1rewardsrndup|b|pmp\",\n \teVar39: eVar39\n });\n }\n if(hm.pageName==\"PDP\"){\n \n \ts.tl(this, 'o', 'ZineOne Impression', {\n \tlinkTrackVars: 'prop75,eVar39',\n \tprop75: \"w>z1rewardsrndup|b|pdp\",\n \teVar39: eVar39\n });\n }\n\n \n\n }\n\n\n\n}\n\nfunction showShopRoundUpV2OnRewards(rwd) {\n\n var shopRoundUpV2OnRewards_replacer = document.getElementsByClassName('background-square-invite-friend kas-background-square-invite-friend');\n shopRoundUpV2OnRewards_replacer[0].style.display = 'none';\n\n\n (\"background-square-invite-friend kas-background-square-invite-friend\");\n\n var showShopRoundUpV2OnRewardsBannersDiv = document.getElementById('inviteFriendAndShopPrefContainer');\n console.log(\"showShopRoundUpV2OnRewards>>>\", showShopRoundUpV2OnRewards);\n\n console.log(\"rwd date:\" + rwd.ends_in);\n var rwd_ends_in = rwd.ends_in;\n\n\n var styleShowShopRoundUpV2OnRewardsPage = `.stru-rewards-Rectangle {\n width: 341px;\n height: 244px;\n border: solid 1px #d3e6d7;\n background-color: #eef7e6;\n}\n.stru-rewards-Cant-wait-to-hit-yo {\n /* width: 203px;\n height: 15px;*/\n font-family:'GothamBold', Helvetica, Arial, sans-serif;\n font-size: 15px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-left: auto;\n margin-right: auto; \n margin-top: 6px;\n\n}\n.stru-rewards-Rewards-Lockup-Horizontal {\n width: 239px;\n height: 44px;\n object-fit: contain;\n margin:auto;\n }\n .stru-rewards-dollar_reward {\n font-family:'GothamBold', Helvetica, Arial, sans-serif;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #208033;\n margin-bottom: 10px;\n margin-top: 10px;\n \n}\n\n.stru-rewards-dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-top: -12px;\n margin-bottom: -12px;\n}\n.stru-rewards-Spend-25-or-more-in {\n width: 280px;\n height: 48px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.23;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-top: 18px;\n margin-bottom: 12px;\n margin-left: auto;\n margin-right: auto;\n}\n.stru-rewards-Shop-Now {\n width: 68px;\n height: 13px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #222222;\n margin-left: auto;\n margin-right: auto;\n}\n.stru-rewards-Ends-August-20 {\n width: 96px;\n height: 16px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.78;\n letter-spacing: normal;\n color: #222222;\n position: relative;\n left: -85px;\n}\n.stru-rewards-details-exclusions {\n width: 89px;\n height: 9px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #222222;\n position: relative;\n left: 72px;\n cursor: pointer;\n}\n.stru-rewards-footer\n{\n display: inline-flex;\n margin-bottom: 12px;\n margin-top: 12px;\n}\n.stru-rewards-kr-img{\n width: 250px;\n\n}\n`;\n appendStyle(styleShowShopRoundUpV2OnRewardsPage);\n\n //inviteFriendAndShopPrefContainer\n\n var innerHTMLshowShopRoundUpV2OnRewardsPage = \"\";\n innerHTMLshowShopRoundUpV2OnRewardsPage = `<div class=\"stru-rewards-Rectangle\">\n <div>\n <div class=\"stru-rewards-Rewards-Lockup-Horizontal\"><img class=\"stru-rewards-kr-img\" src=\"/account/media/images/loyaltyV2/kohls-rewards.png\"></div>\n <div class=\"stru-rewards-Cant-wait-to-hit-yo\">Can’t wait to hit your next</div>\n <div class=\"stru-rewards-dollar_reward\">\n <div class=\"stru-rewards-dollar_reward_content\">\n <div style=\"font-size: 25.2px;margin-top: auto;width: 17px;height: 25px;margin-bottom: auto;\">$</div>\n <div style=\"font-size: 68px;width: 43px;height: 68px;\">5</div>\n <div style=\"font-size: 25.2px;margin-top: auto;margin-bottom: auto;width: 103px;height: 25px;\"> reward?</div>\n \n \n \n </div>\n <div class=\"stru-rewards-Spend-25-or-more-in\">\n Spend $25 or more in-store or online.<br> We’ll add $2.50 to your Kohl’s Rewards<br> balance to get you there. \n </div>\n <div class=\"stru-rewards-Shop-Now\"><u>Shop Now</u></div>\n <div class=\"stru-rewards-footer\">\n <div class=\"stru-rewards-Ends-August-20\">Ends `;\n innerHTMLshowShopRoundUpV2OnRewardsPage += rwd_ends_in + `</div>\n <div class=\"stru-rewards-details-exclusions\" onclick=\"location.href='/ecom/OnlineOnly/BONUSPOINTS.html';\" ><u>details & exclusions</u></div>\n </div>\n </div>\n\n \n </div>\n </div> `;\n\n\n var child = document.createElement(\"div\");\n child.innerHTML = innerHTMLshowShopRoundUpV2OnRewardsPage;\n child.style = \"margin-right: 26px\";\n showShopRoundUpV2OnRewardsBannersDiv.appendChild(child);\n\n var cusId = pageData.customerDetails.customerID;\n\n if (cusId) {\n //console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n\n var eVar39 = cusId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: \"w>z1rewardsrndup|b|rwd\",\n eVar39: eVar39\n });\n\n }\n}\n\n\ntry {\n //wsShopToRoundUpDataV2Code\n\n try {\n function handleShopToRoundUpDataV2Code(data) {\n debug_log(\"z1ResponsehandleShopToRoundUpDataV2Code::::\", data);\n /*if (data.pageName == \"Coupon\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnCoupon(data);\n }*/\n if (data.pageName == \"Home\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnHome(data);\n }\n if (data.pageName == \"PDP\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnHome(data);\n }\n \tif (data.pageName == \"PMP\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnHome(data);\n }\n if (data.pageName == \"Rewards\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnRewards(data);\n }\n }\n } catch (resErr) {\n debug_log(\"z1ResponsehandleShopToRoundUpDataV2Code Error::::\", resErr);\n }\n\n\n var z1ResponseHandler = function(e) {\n console.log(\"stru???..\" + JSON.stringify(e));\n console.log(\"stru???..\" + e.detail);\n\n if (e.detail && e.detail.ws_shop_to_round_up_dataV2) {\n debug_log(\"e.detail...\", e.detail.ws_shop_to_round_up_dataV2);\n localStorage.setItem(\"z1_wsShopToRoundUpDataV2\", JSON.stringify(e.detail.ws_shop_to_round_up_dataV2));\n handleShopToRoundUpDataV2Code(e.detail.ws_shop_to_round_up_dataV2);\n }\n };\n document.addEventListener(\"onZ1RawData\", z1ResponseHandler, false);\n} catch (err) {\n console.log(\"Error :: Tag:: shopToRoundUpV2\" + err);\n\n}","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"Rto New UI","actionType":"z1script","script":"var debugScr = true;\ntry {\n\n var localVariable = localStorage.getItem('z1_rto_ui_v2');\n\n if(!localVariable || localVariable == null || localVariable == 'null' || localVariable == undefined || localVariable == \"undefined\")\n {\n return;\n }\n\n\n console.log('This is on the page load');\n\n\n function fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n }\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n \n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n console.log('Final HTML '+InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function(){\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n\n function sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\n //Case 1: Display Omniture \n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|HP|';\n sendDisEventToC3(\"HP\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n function formatAMPM(date) {\n var hours = date.getHours();\n var minutes = date.getMinutes();\n var ampm = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n minutes = minutes < 10 ? '0'+minutes : minutes;\n var strTime = hours + ':' + minutes + ' ' + ampm;\n return strTime;\n }\n\n function showRTOBanner(e)\n {\n console.log(\"[ZineOne] RTO Offers tag running\");\n if (e.is_copied == 'true') return;\n // Style string for RTO\n var style = `\n\n .popupPromoText {\n\n font-size: 1.85em;\n margin-bottom: 5px;\n\n }\n\n .z1_b_container_kohlsbannertoparrow_rto {\n font-family: 'Gotham 5r';\n position: fixed;\n padding: 0px;\n z-index: 1000;\n background: transperant;\n transition: all 1s ease-in;\n -webkit-animation: fadein 2s;\n /* Safari, Chrome and Opera > 12.1 */\n -moz-animation: fadein 2s;\n /* Firefox < 16 */\n -ms-animation: fadein 2s;\n /* Internet Explorer */\n -o-animation: fadein 2s;\n /* Opera < 12.1 */\n animation: fadein 2s;\n {\n z1_position_val\n }\n }\n\n @keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Firefox < 16 */\n\n @-moz-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Safari, Chrome and Opera > 12.1 */\n\n @-webkit-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Internet Explorer */\n\n @-ms-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Opera < 12.1 */\n\n @-o-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n\n .arrow_box {\n position: absolute;\n text-align:center;\n left: 50%;\n transform: translate(-50%,100%);\n bottom: -20px;\n background: #ffffff;\n border: 1px solid #bfbfbf;\n padding: 1rem;\n border-radius: 0.6rem;\n width: 238px;\n -webkit-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);\n -moz-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);\n box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);\n }\n .arrow_box:after,.arrow_box:before {\n \n content: \" \";\n \n position: absolute;\n }\n .arrow_box:after {\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #ffffff;\n border-width: 20px;\n margin-left: -20px;\n }\n .arrow_box:before {\n width: 22px;\n height: 22px;\n background: #ffffff;\n z-index: 100;\n transform: translate(-50%, -50%) rotate(45deg);\n top: 1px;\n left: 50%;\n box-shadow: -6px -6px 5px 1px #999;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_box_style {\n position: relative;\n \n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 {\n padding-left: 0px !important;\n margin-left: 0px;\n min-width: none;\n max-width: none;\n align-self: center;\n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 img {\n min-width: 64px;\n max-width: 64px;\n min-height: 64px;\n max-height: 64px;\n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 {\n padding: 0 10px;\n font-size: 0.9em !important;\n line-height: 1.5;\n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 .titleText {\n background: url('https://d2p4r375zfkzm8.cloudfront.net/zb-design-com/arrowdown3.png') no-repeat 0 2px;\n font-weight: bold;\n color: #000;\n \n font-size: 1.08em;\n padding: 0px 0 3px 20px;\n line-height: 1.4;\n }\n .z1_b_container_kohlsbannertoparrow_rto .closeBtn {\n cursor: pointer;\n position: absolute;\n right: 3px;\n top: 8px;\n width: 20px;\n height: 20px;\n margin: 0;\n padding: 0;\n font-size: 19px;\n font-family: 'Gotham 4r';\n }\n .z1_b_container_kohlsbannertoparrow_rto .closeBtn img {\n border-bottom-left-radius: 50%;\n border-top-left-radius: 50%;\n border-bottom-right-radius: 50%;\n border-top-right-radius: 50%;\n height: 13px;\n width: 13px;\n opacity: 1;\n }\n .z1_b_container_kohlsbannertoparrow_rto .offerPrice {\n font-size: 1.3em;\n color: #e8342c;\n padding-right: 8px;\n \n }\n .z1_b_container_kohlsbannertoparrow_rto .usernameText {\n font-size: 17px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.47;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n }\n .z1_b_container_kohlsbannertoparrow_rto .todaytext {\n font-size: 1.5em;\n color: #3a3a3a;\n font-weight: 400;\n \n margin: 5px 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto #offerDuration, .z1_b_container_kohlsbannertoparrow_rto .offerDuration {\n font-weight: bold;\n font-size: 24px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .todaytext div#offerDurationUnits {\n display: flex;\n flex-direction: column;\n text-align: left;\n font-size: 0.8em;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .savetext_row {\n padding: 0.6rem 0;\n }\n .z1_b_container_kohlsbannertoparrow_rto .cupontext {\n font-size: 14px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.07;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n margin: 20px;\n \n }\n .z1_b_container_kohlsbannertoparrow_rto .cupontext span {\n font-weight: bold;\n color: #005553;\n }\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer {\n background: #005553;\n text-transform: uppercase;\n color: #060606;\n padding: 0.40rem 1.85rem;\n border-radius: 2.2px;\n text-decoration: none;\n margin: 12px auto;\n letter-spacing: 1px;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 0.6;\n letter-spacing: 0.5px;\n text-align: center;\n color: #ffffff;\n width: 138px;\n height: 31px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy{content: \"Copy Offer\"} \n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover span {\n display: none;\n }\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover:before {\n /* background:#d2e2d3;\n color: #005553; */\n content: \"Click to Copy\";\n }\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied:before{content: \"Copied\"}\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied{background-color: #d2e2d3;color: #005553;}\n\n.z1_b_container_kohlsbannertoparrow_rto .bottom_link {\n margin-top: 25px;\n font-size: 12px;\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: 0.92;\n letter-spacing: normal;\n text-align: center;\n color: #444444;\n }\n .z1_b_container_kohlsbannertoparrow_rto .bottom_link a{\n text-decoration:underline;\n color:#969696;\n font-size:0.8rem;\n line-height:1.2;\n }\n .z1_b_container_kohlsbannertoparrow_rto .bottom_link a:hover{\n color:#333;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .saveMsg{\n font-size: 17px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.47;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .offerText{\n font-size: 37.1px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 0.49;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n margin: 20px 0;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n \n\n .z1_b_container_kohlsbannertoparrow_rto .treatText{\n font-size: 17px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .treatTextNew{\n font-size: 1.2em;\n margin-bottom: 10px;\n color: #000;\n display:none;\n }\n\n\n\n\n .z1_b_container_kohlsbannertoparrow_rto .saveCont.saveMsg {\n margin-top: 8px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .uptillTime{\n font-weight:900;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue{\n font-size: 2em;\n }\n\n .treatTextLatest{\n font-size: 14px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n\n }\n\n .btn_offer_container{\n margin: 25px;\n }\n\n .z1-rto-dollar_reward {\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n margin-bottom: 10px;\n } \n .z1-rto-dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n } \n .z1-rto-dollar-text {\n font-size: 34.2px;\n margin-top: auto;\n width: 20px;\n height: 25px;\n margin-bottom: auto;\n } \n .z1-rto-dollar-text-amount {\n font-size: 68px;\n height: 68px;\n letter-spacing: -3px;\n } \n .z1-rto-dollar-text-dOff-outer {\n margin-top: 15px;\n margin-bottom: auto;\n height: 25px;\n } \n .z1-rto-dollar-text-dOff-off {\n font-size: 16px;\n margin-left: -26px;\n position: relative;\n top: 4px;\n } \n .z1-rto-dollar-text-dOff-off-amount {\n font-size: 38px;\n position: relative;\n top: -4px;\n left: -5px;\n text-shadow: -1px 1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;\n } \n .z1-rto-dollar-text-dOff-off-miniDollar {\n height: -1px;\n font-size: 23px;\n position: relative;\n top: -9px;\n } \n .z1-rto-dollar-text-dOff-off-miniDollarAmount {\n letter-spacing: -1px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto.loyalty {\n background-color: #e9f4cc;\n }\n\n .loyalty .usernameText {color: #208033;}\n .loyalty .saveMsg {color: #208033;}\n .loyalty .offerText {color: #208033;}\n .loyalty #rtoOfferCode {color: #208033;}\n .loyalty .z1-rto-dollar_reward_content {color: #208033;}\n .loyalty .btn_addoffer {background: #208033;}\n .loyalty.arrow_box:after{border-bottom-color: #208033;}\n .loyalty.arrow_box:before {\n background: #208033;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto.loyalty .bottom_link a{\n color: #444444;\n }\n\n .loyalty-cont.disable {display:none}\n .loyalty-cont.enable {display:block}\n\n .loyalty-cont{\n background-color: #208033;\n position: relative;\n top: -17px;\n left: -17px;\n width: 272px;\n height: 60px;\n border-radius: 0.6em 0.6em 0 0;\n color: #fff;\n }\n\n .loyalty-cont .heading-1 {\n padding-top: 15px;\n font-size: 16px;\n }\n\n .loyalty-cont .heading-2 {\n padding-top: 8px;\n font-size: 12px;\n }\n\n \n .z1_b_container_kohlsbannertoparrow_rto.loyalty .closeBtn{\n z-index: 1;\n color: #fff;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto.loyalty .loyalty-cont.disable{\n\n display:block;\n\n }\n\n\n .element_v2 {display:none;}\n\n .ui_v2 .element_v1 {display:none;}\n .ui_v2 .element_v2 {display:block;}\n\n #v2-take {position: absolute;left: 42px;top: 85px;}\n\n .ui_v2 .z1-rto-dollar-text {font-size: 36.9px;height: 5px;}\n .ui_v2 .z1-rto-dollar-text-amount{font-size: 82px;padding: 5px;}\n\n .ui_v2 {font-family: 'Gotham 5r';}\n\n .ui_v2 .z1-rto-dollar-text-dOff-off{ \n font-size: 25.6px;\n margin-left: 0px;\n top: 45px;\n font-weight: bold;\n }\n\n .ui_v2 .z1-rto-dollar_reward {margin-top: 5px;}\n\n .ui_v2 .treatText {margin-top: 25px;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .treatText {margin-top: 15px;font-size: 16px;color: #000;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .offerDuration {color: #000;font-size:20px;margin-top: 5px;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-weight: normal;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-weight: normal;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .cupontext {color: #005553;font-size: 15px;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {color: #444444;}\n\n\n\n .ui_v2.dollar_fix .z1-rto-dollar-text-dOff-off{\n\n top: 20px;\n\n }\n\n\n .ui_v2.dollar_fix #v2-take {\n\n top: 70px;\n\n }\n\n .ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText{\n margin: 30px 0;\n margin-bottom: 25px;\n }\n\n .ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue{\n font-size: 89.7px;\n }\n\n .ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText{\n font-size:40.4px;\n }\n\n\n `;\n\n console.log('Before RTO Style');\n\n appendStyle(style);\n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n\n domstr_val = `<div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class='offerText'>`+dolStr+`<span id='rtoOfferValue' class='rtoOfferValue'></span><span class=\"z1-rto-dollar-text-dOff-off element_v2\">off</span>`+`</div>`;\n\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\"; \n\n domstr_val = `<div class='offerText'>`+`<span id='rtoOfferValue' class='rtoOfferValue'></span>`+pctStr+`</div>`; \n } \n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = `<div class=\"z1-rto-dollar_reward\">\n\n <div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div>\n\n\n <div class=\"z1-rto-dollar_reward_content\">\n <div class=\"z1-rto-dollar-text\">$</div>\n <div id='rtoOfferValue' class=\"z1-rto-dollar-text-amount\"></div>\n <div class=\"z1-rto-dollar-text-dOff-outer\">\n <span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount element_v1\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">`+e.offThres+`</span></span>\n </div>\n </div>\n </div>`;\n }\n\n\n var domstr = `<div data-zineone-properties=\"modal:true;container-class:z1_b_container_kohlsbannertoparrow_rto;\" id=\"z1-rto-div\" class=\"z1_b_container_kohlsbannertoparrow_rto arrow_box\">\n <div class=\"closeBtn\" onclick=\"var el=document.getElementById('z1-rto-div');el.innerHTML='';el.parentNode.removeChild(el);\">x</div>\n <div class=\"z1_b_c1\">\n <div class='loyalty-cont disable'>\n <div class='heading-1'>KOHL’S REWARDS®</div>\n <div class='heading-2'>MEMBER EXCLUSIVE</div>\n </div>\n <div><span class=\"usernameText\">Hi, </span><span class='saveMsg element_v1'> save</span>\n\n <div class='saveMsg element_v2'>your cart looks great!</div>\n\n </div>` + domstr_val +\n `<div class='treatText element_v1'>in the next <span id='offerDuration'></span> minutes.</div>\n <div class='saveMsg element_v2'>the items in your cart!</div>\n\n <div class='treatTextNew'>Valid until <span id='uptillTime' class='uptillTime'></span></div>\n <div class='treatTextLatest element_v1'>(Go ahead, treat yourself!)</div>\n\n <div class='element_v2'>\n <div class='treatText'>Check out in the next</div>\n <div class='offerDuration'><span id='offerDurationv2'></span> minutes.</div>\n </div>\n\n <div class=\"cupontext\">PROMO CODE: <span id='rtoOfferCode'></span></div>\n <div class=\"btn_offer_container\"><a class=\"btn_addoffer\"><span id='btn_addoffer'></span></a></div>\n <div class=\"bottom_link\"><a id='discliamer_href' href=\"#\" target='_default'>details & exclusions</a></div>\n <input type=\"text\" id=\"textCopy\" style='opacity:0;pointer-events:none'/> \n </div>\n </div>`;\n\n \n\n var t = document.createRange().createContextualFragment(domstr);\n\n console.log('Before RTO Z1 Widget');\n\n document.getElementById('z1widget').append(t);\n\n\n document.getElementById('rtoOfferValue').append(e.offerValue);\n document.getElementById('rtoOfferCode').append(e.offerCode);\n document.getElementById('textCopy').value = e.offerCode; \n document.getElementById('offerDuration').append(e.offerDuration);\n\n document.getElementById('offerDurationv2').append(e.offerDuration);\n\n \n\n document.getElementById('discliamer_href').href = e.disclaimer;\n\n\n var uptillTime = new Date();\n uptillTime.setMinutes(uptillTime.getMinutes() + Number(e.offerDuration));\n\n var uptillTimeStr = formatAMPM(uptillTime);\n\n document.getElementById('uptillTime').append(uptillTimeStr + '.');\n\n \n if(document.getElementsByClassName('first-name')[0] && document.getElementsByClassName('first-name')[0].innerText.toLowerCase()!=\"account\")\n {\n document.getElementsByClassName('usernameText')[0].innerText = document.getElementsByClassName('first-name')[0].innerText + ','; \n }\n else\n {\n document.getElementsByClassName('saveMsg')[0].innerText = \"Save\";\n }\n\n\n if(e.loyaltyCx == true)\n {\n document.getElementById('z1-rto-div').classList.add('loyalty');\n }\n\n if(e.cta == \"COPY\")\n {\n document.getElementById('btn_addoffer').innerText = \"COPY OFFER\";\n document.getElementsByClassName('btn_addoffer')[0].classList.add('copy');\n }\n\n if(e.cta == \"ADD\" || e.cta == \"WALLET\")\n {\n document.getElementById('btn_addoffer').innerText = \"ADD OFFER\";\n }\n\n\n document.getElementsByClassName('btn_addoffer')[0].onclick = function() {\n if(e.cta == 'COPY')\n {\n\n var copyTextField = document.getElementById('textCopy');\n copyTextField.select();\n\n var copied = document.execCommand (\"copy\");\n\n console.log('Got Copied Status '+copied);\n \n document.getElementsByClassName('btn_addoffer')[0].classList.add('copied');\n e.is_copied = 'true';\n localStorage.setItem('z1_supc',JSON.stringify(e));\n\n return;\n } \n\n var urlToGo = '/checkout/shopping_cart.jsp?redeemCoupon=true';\n\n\n if(e.cta == 'WALLET')\n {\n if(pageData && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue)\n {\n var cartValue = parseInt(pageData.cartDetails.cartSubTotalValue);\n\n //alert('Got Cart Value '+cartValue);\n if(cartValue == 0)\n {\n urlToGo = '/wallet/my_wallet.jsp#offers';\n }\n\n } \n }\n\n\n location.href=urlToGo;\n\n };\n\n\n sendRTOOmniture(1);\n\n\n }\n\n\n\n\n function getDayLightOffset()\n {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth()+1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow; \n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n \n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n\n function checkForLocalRTO()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n var e = JSON.parse(existingSupc);\n\n var offerExpiry = e.offerExpiry;\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n console.log(e.offerExpiry+\" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n console.log(endTime+\" timeCheck Main: \" + currentTime);\n\n var timeCheck = endTime-currentTime;\n\n if(timeCheck > 0)\n {\n if(e.is_redeemed != true)\n {\n\n var expiryInMinutes = Math.ceil((timeCheck)/(60));\n\n e.offerDuration = expiryInMinutes;\n\n showRTOBanner(e); \n }\n }\n else\n {\n return false;\n }\n \n\n \n console.log(\" timeCheck: \" + timeCheck);\n\n return true;\n\n\n }\n\n return false;\n }\n\n function _handleRawRTOData(e) {\n // alert('Got raw data...' + JSON.stringify(e));\n console.log('Got Raw RTO data: ' + e);\n\n if(e)\n {\n e = JSON.parse(e);\n\n if(e.rtoOfferData)\n {\n e = e.rtoOfferData;\n\n localStorage.setItem('z1_supc',JSON.stringify(e));\n\n showRTOBanner(e);\n }\n\n\n fireOmniture(e);\n }\n \n \n }\n\n\n try {\n //var z1Widgets = ZineOne.getZ1Widget();\n //z1Widgets.registerWidgetHandler(\"raw\", _handleRawRTOData);\n } catch (e) {\n console.log('Could not register handler for Raw RTO Data.');\n }\n\n if(getUrlParameter('redeemCoupon') == 'true')\n {\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n }\n\n\n if(checkForLocalRTO() == true)\n {\n return;\n }\n\n localStorage.setItem('z1_supc',null);\n\n\n var evtName = '_ws_rto_offers';\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n if(isSoftLoggedIn == 'true' || isLoggedIn == 'true')\n {\n //ZineOne.pushEvent(evtName, {});\n }\n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in Rto New UI Tag: WebStore Z1 tag. \" + e);\n}\n\n","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"bedding-bed-bath"}},{"tagName":"RTO Order Review New","actionType":"z1script","script":"var debugScr = true;\ntry {\n\n var localVariable = localStorage.getItem('z1_rto_ui_v2');\n\n if(!localVariable || localVariable == null || localVariable == 'null' || localVariable == undefined || localVariable == \"undefined\")\n {\n return;\n }\n\n\n var rtoTimeRemaining = 0;\n\n console.log('This is on RTO Review Page');\n\n\n function fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n }\n\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n function appendJs(jsStr)\n {\n var jsElement = document.createElement('script');\n\n var t = document.createTextNode(jsStr);\n jsElement.appendChild(t);\n\n document.getElementsByTagName(\"head\")[0].appendChild(jsElement);\n \n }\n\n\n function getDayLightOffset()\n {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth()+1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow; \n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n \n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n\n\n function updateSupcDetails()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n if(existingSupc.is_redeemed == true)\n {\n if(document.getElementById(\"show_offer_status\"))\n {\n document.getElementById(\"show_offer_status\").innerHTML = \"\";\n document.getElementById(\"link_applynow\").style.display = \"none\";\n document.getElementById(\"link_applynow2\").style.display = \"none\";\n }\n \n //document.getElementById('reviewApplyNow').innerHTML = 'Applied';\n //document.getElementById('reviewApplyNow').href='javascript:void(0)';\n }\n else\n {\n console.log(\"document.getElementById('reviewApplyNow')\",document.getElementById('reviewApplyNow'));\n\n if(document.getElementById('reviewApplyNow'))\n {\n document.getElementById('reviewApplyNow').text ='APPLY NOW'; \n }\n \n }\n }\n\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n \n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n console.log('Final HTML '+InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function(){\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n\n updateSupcDetails();\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n }\n\n\n function populateUsername()\n {\n\n\n var usernameText = document.getElementById('usernameText');\n\n console.log(trJsonData.userData.firstName+' populateUsername '+usernameText);\n\n if(trJsonData.userData.firstName)\n {\n document.getElementById('usernameText').innerHTML = trJsonData.userData.firstName +', save';\n\t\t\tdocument.getElementById('usernameText2').innerHTML = trJsonData.userData.firstName+' '+trJsonData.userData.lastName+',';\n \t\n }\n else\n {\n document.getElementById('usernameText').innerHTML = 'Save';\n }\n \n\n console.log('usernameText '+document.getElementById('usernameText').innerHTML);\n \n }\n\n\n\n function showRTOReviewSection(e)\n {\n // Style string for RTO\n var style = `\n\n .popupPromoText {\n\n font-size: 1.85em;\n margin-bottom: 5px;\n\n }\n\n .z1_orderreview_container {\n background-color: #d5e1d4;\n /*display: flex;\n align-content: space-between;\n align-items: center;*/\n height: 85px;\n }\n \n .z1_orderreview_container {\n font-family: 'Gotham 5r';\n border: 1px solid #717171;\n padding: 0.5rem 0.2rem;\n margin-bottom: 0.6rem;\n /*display: -webkit-flex;\n display: flex;\n justify-content: space-between;*/\n color: #454545;\n /*align-content: space-between;\n align-items: center;*/\n }\n \n #username-container {\n font-size: 17px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.06;\n letter-spacing: normal;\n color: #005553;\n text-align: center;\n }\n \n .z1_orderreview_container #price-container {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n }\n \n .z1_orderreview_container #price-container .priceTag {\n margin-top: 8px;\n font-size: 28.4px;\n font-weight: bold;\n line-height: 0.49;\n color: #005553;\n text-align: center;\n font-style: normal;\n font-stretch: normal;\n }\n \n .z1_orderreview_container #price-container #rtoOfferValue {\n font-size: 63.2px;\n font-weight: 700;\n letter-spacing: -4.4px;\n color: #005553;\n display: block;\n }\n \n #message-container {\n font-size: 13px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1;\n letter-spacing: normal;\n color: #222222;\n width: 76px;\n margin: auto;\n }\n \n #time-container {\n display: flex;\n text-align: center;\n font-size: 9.7px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #222222;\n margin: auto;\n }\n \n #show_min,\n #show_sec {\n width: 61px;\n height: 39px;\n background-color: #005553;\n border: 1px solid #e3e3e3;\n margin: 0.3rem;\n font-size: 29.9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #d2e2d3;\n text-align: center;\n box-sizing: border-box;\n }\n \n #show_min,\n #show_sec {\n width: 61px;\n height: 39px;\n background-color: #005553;\n border: 1px solid #e3e3e3;\n margin: 0.3rem;\n font-size: 29.9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #d2e2d3;\n text-align: center;\n box-sizing: border-box;\n }\n \n #promo-container {\n width: 60%;\n }\n \n /*.z1_orderreview_container #link_applynow {\n text-transform: uppercase;\n text-align: center;\n padding-top: 0.3rem;\n font-family: 'Gotham 5r';\n font-size: 13px;\n font-weight: normal;\n }\n \n .z1_orderreview_container #link_applynow a {\n text-decoration: underline;\n color: #000;\n font-weight: 700;\n }*/\n \n .z1_orderreview_container #show_offer_status {\n font-family: 'Gotham 5r';\n font-size: 13px;\n text-transform: uppercase;\n text-decoration: none;\n color: #000;\n font-weight: normal;\n text-align: center;\n }\n \n .z1_orderreview_container .promocodecontainer {\n text-transform: uppercase;\n /*padding: 0.7rem 0;*/\n text-align: center;\n margin: 15px auto;\n }\n \n .z1_orderreview_container .promocodecontainer h4 {\n font-family: 'Gotham 5r';\n font-size: 13px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.08;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n }\n \n #rtoOfferCode {\n font-weight: bold;\n color: #005553;\n }\n \n .z1_orderreview_container .promocodecontainer h5 {\n font-family: 'Gotham 5r';\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.08;\n letter-spacing: -0.4px;\n text-align: center;\n color: #005553;\n font-size: 13px;\n }\n \n .z1_orderreview_container>* {\n /*margin: 10px;*/\n }\n \n #z1-rto-new-outerDiv {\n display: flex;\n flex-direction: row;\n justify-content: space-evenly;\n }\n \n .z1-rto-dollar_reward {\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n position: relative;\n top: -8px;\n }\n \n .z1-rto-dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n }\n \n .z1-rto-dollar-text {\n font-size: 25.2px;\n width: 14px;\n height: 36px;\n position: relative;\n top: 27px;\n }\n \n .z1-rto-dollar-text-amount {\n font-size: 60px;\n height: 68px;\n letter-spacing: -3px;\n }\n \n .z1-rto-dollar-text-dOff-outer {\n margin-top: 21px;\n margin-bottom: auto;\n height: 20px;\n }\n \n .z1-rto-dollar-text-dOff-off {\n font-size: 15px;\n margin-left: -26px;\n position: relative;\n top: 1px;\n }\n \n .z1-rto-dollar-text-dOff-off-amount {\n font-size: 32px;\n position: relative;\n top: -4px;\n left: -6px;\n text-shadow: -1px 1px 0 #d5e1d4, 1px 1px 0 #d5e1d4, 1px -1px 0 #d5e1d4, -1px -1px 0 #d5e1d4;\n }\n \n .z1-rto-dollar-text-dOff-off-miniDollar {\n height: -1px;\n font-size: 20px;\n position: relative;\n top: -9px;\n }\n \n .z1-rto-dollar-text-dOff-off-miniDollarAmount {\n letter-spacing: -1px;\n top: -2px;\n left: -1px;\n position: relative;\n }\n \n #z1-tro-new-promoCodeText {\n font-size: 13px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.08;\n letter-spacing: -0.4px;\n text-align: center;\n color: #005553;\n font-weight: bold;\n }\n \n #z1-rto-new-addOfferContainer {\n text-align: center;\n margin: auto;\n }\n \n .btn_offer_container {\n margin: 25px;\n }\n \n #z1-rto-new-addOfferContainer .bottom_link {\n text-align: center;\n margin-top: 3px;\n }\n \n #z1-rto-new-addOfferContainer .bottom_link a {\n font-size: 11px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1;\n letter-spacing: normal;\n text-align: center;\n color: #000000;\n }\n \n #link_applynow, #link_applynow2 {\n background: #005553;\n text-transform: uppercase;\n border-radius: 2.2px;\n text-decoration: none;\n letter-spacing: 1px;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n text-align: center;\n width: 104px;\n height: 31px;\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto;\n } \n /* start old */\n .tag_min, .tag_sec {\n font-family: 'Gotham 5r';\n font-size: 11px;\n text-transform: uppercase;\n text-align: center;\n color: #454545;\n margin-top: 0.3rem;\n font-weight: 700;\n }\n\n .loyalty #username-container {\n text-align: left;\n color: #208033;\n }\n\n .loyalty #show_min, .loyalty #show_sec {background-color: #208033;}\n\n .loyalty #price-container .priceTag {color: #208033;}\n .loyalty #price-container #rtoOfferValue {color: #208033;}\n\n .loyalty .promocodecontainer #z1-tro-new-promoCodeText {color: #208033;}\n .loyalty .promocodecontainer #rtoOfferCode {color: #208033;}\n .loyalty .btn_addoffer {background: #208033;}\n\n .loyalty #link_applynow {background: #208033;}\n .loyalty #link_applynow2 {background: #208033;}\n\n\n .loyalty-cont.disable {display:none}\n .loyalty-cont.enable {display:block}\n\n .loyalty-cont\n {\n text-align: center;\n background-color: #208033;\n height: 20px;\n position: relative;\n top: -8px;\n left: -3px;\n width: 598px;\n padding-top: 7px;\n color: #fff;\n font-size: 14px;\n }\n\n .z1_orderreview_container.loyalty{\n height: 115px;\n }\n\n .loyalty .heading-2 {\n font-weight: lighter;\n font-family: 'Gotham 4r';\n }\n\n .z1_orderreview_container.loyalty .loyalty-cont.disable{\n\n display:block;\n\n }\n\n\n .z1_orderreview_container_2 {\n background-color: #d5e1d4;\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 85px;\n }\n \n .z1_orderreview_container_2 {\n font-family: 'Gotham 5r';\n border: 1px solid #717171;\n padding: 10px 10px;\n margin-bottom: 0.6rem;\n color: #454545;\n \n }\n\n #first-div{\n display:flex;\n flex-direction:column;\n justify-content: space-around;\n }\n #second-div{\n display:flex;\n flex-direction:column;\n justify-content: space-around;\n text-align:center;\n }\n #third-div{\n display:flex;\n flex-direction:column;\n justify-content: space-around;\n }\n\n\n\t.usernameText2{\n\t\n width: 200px;\n height: 15px;\n font-size: 14px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.14;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n\n\t}\n\n\t.price-container-2{\n\t width: 200px;\n height: 38px;\n font-size: 28px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.36;\n letter-spacing: normal;\n color: #005553;\n text-align: center;\n margin-top: 5px;\n\t}\n\n .price-container-2-msg{\n width: 200px;\n height: 34px;\n font-size: 14px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n letter-spacing: normal;\n color: #005553;\n text-align: center;\n }\n\n .show_min_msg{width: 206px;\n height: 17px;\n \n font-size: 15px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n \n letter-spacing: normal;\n \n color: #222222;}\n\n\t.show_min_2{font-size: 19px;\n font-weight: bold;\n color: #222222;}\n\n.promocodecontainer-2{ \n height: 30px;\n \n font-size: 13px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.31;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n margin-top: 15px;}\n\n\n\n .element_v2 {display:none;}\n\n .ui_v2 .element_v1 {display:none;}\n .ui_v2 .element_v2 {display:block;}\n\n\n #username-container-2 {margin-top: 20px;}\n\n\n .ui_v2 .bottom_link {margin-top: 10px;}\n\n #z1-rto-new-addOfferContainer-2 .bottom_link a {font-size: 11px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1;\n letter-spacing: normal;\n text-align: center;\n color: #000000;\n }\n\n\n #rtoOfferValue2 {margin-left: -8px;}\n\n\n .ui_v2 .show_min_msg {height: 20px;}\n\n\n\n `;\n\n console.log('Before RTO Style');\n\n appendStyle(style);\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n console.log(e.offerExpiry+\" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n console.log(endTime+\" timeCheck Main: \" + currentTime);\n\n rtoTimeRemaining = (endTime-currentTime);\n\n if(rtoTimeRemaining <= 0)\n {\n return;\n }\n\n rtoTimeRemaining = rtoTimeRemaining*1000;\n\n var expiryInMinutes = Math.ceil((endTime-currentTime)/(60));\n\n e.offerDuration = expiryInMinutes;\n\n\n console.log(\" rtoTimeRemaining: \" + rtoTimeRemaining);\n\n var rtoTimejsStr = 'var rtoTimeRemaining = '+rtoTimeRemaining;\n\n appendJs(rtoTimejsStr);\n\n\n var javscriptStr = `\n // Set the TIME we're counting down from\n //var distance = 1*30*1000; //12min\n\n // Update the count down every 1 second\n var x = setInterval(function() {\n\n // Time calculations for days, hours, minutes and seconds\n var days = Math.floor(rtoTimeRemaining / (1000 * 60 * 60 * 24));\n var hours = Math.floor((rtoTimeRemaining % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n var minutes = Math.floor((rtoTimeRemaining % (1000 * 60 * 60)) / (1000 * 60));\n var seconds = Math.floor((rtoTimeRemaining % (1000 * 60)) / 1000);\n seconds = (\"0\" + seconds).slice(-2);\n minutes = (\"0\" + minutes).slice(-2);\n\n // Output the result in an element with id=\"show_min and show_sec\"\n\n if(document.getElementById(\"show_min\"))\n {\n document.getElementById(\"show_min\").innerHTML = minutes;\n document.getElementById(\"show_sec\").innerHTML = seconds;\n }\n \n\n // If the count down is over, write some text \n if (rtoTimeRemaining <= 0) {\n clearInterval(x);\n //document.getElementById(\"timercontainer\").style.display = \"none\";\n document.getElementById(\"link_applynow\").style.display = \"none\"; \n document.getElementById(\"show_offer_status\").innerHTML = \"EXPIRED\";\n\n return;\n }\n rtoTimeRemaining = rtoTimeRemaining - 1000;\n }, 1000);\n `;\n\n appendJs(javscriptStr);\n \n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n var domstr_val_2=\"\";\n\n domstr_val = `<div id=\"price-container\">\n <span class=\"priceTag\">`+dolStr+`</span>\n <span id=\"rtoOfferValue\"></span>\n </div>`;\n domstr_val_2 = `<div id=\"price-container\">\n <span class=\"priceTag\">Take `+dolStr+` off</span>\n <span id=\"rtoOfferValue\"></span>\n </div>`;\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\"; \n\n domstr_val = `<div id=\"price-container\">\n <span id=\"rtoOfferValue\"></span>\n <span class=\"priceTag\" style=\"margin:5px\">`+pctStr+`</span>\n </div>`; \n } \n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = `<div class=\"z1-rto-dollar_reward\">\n <div class=\"z1-rto-dollar_reward_content\">\n <div class=\"z1-rto-dollar-text\">$</div>\n <div class=\"z1-rto-dollar-text-amount\" id=\"rtoOfferValue\"></div>\n <div class=\"z1-rto-dollar-text-dOff-outer\">\n <span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">`+e.offThres+`</span></span>\n </div>\n </div>\n </div>`;\n }\n\n\n var domstr = `\n <div class='main-cont'>\n <div class='element_v1'>\n <div class=\"z1_orderreview_container\">\n\n <div class='loyalty-cont disable'>\n <span class='heading-1'>KOHL’S REWARDS®</span>\n <span class='heading-2'>MEMBER EXCLUSIVE</span>\n </div>\n\n <div id=\"username-container\">\n <div id=\"usernameText\">Hi, take</div>\n </div>\n <div id=\"z1-rto-new-outerDiv\">`+domstr_val+`\n <div id=\"message-container\">when you<br> place your<br> order in<br> the next..</div>\n <div id=\"time-container\">\n <div id=\"min-container\">\n <div id=\"show_min\">45</div>\n <div class=\"tag_min\">MINUTES</div>\n </div>\n <div id=\"sec-container\">\n <div id=\"show_sec\">39</div>\n <div class=\"tag_sec\">SECONDS</div>\n </div>\n </div>\n <div class=\"promocodecontainer\">\n <div id=\"z1-tro-new-promoCodeText\">Promo Code:</div>\n <div id=\"rtoOfferCode\"></div>\n </div>\n <div id=\"z1-rto-new-addOfferContainer\">\n <div id=\"link_applynow\"><a id=\"reviewApplyNow\" style=\"color:white;text-decoration: none;\" href=\"#\">ADD OFFER</a></div>\n <div id=\"show_offer_status\"></div>\n\n <div class=\"bottom_link\"><a id=\"discliamer_href\" href=\"`+e.disclaimer+`\" target=\"_default\">details &amp; exclusions</a></div>\n </div>\n </div>\n </div>\n </div>\n\n <div class='element_v2'>\n <div class=\"z1_orderreview_container_2\">\n <div id=\"first-div\">\n <div id=\"username-container-2\">\n <div id=\"usernameText2\" class=\"usernameText2\">Hi, take</div>\n <div class='usernameText2'>your cart looks great!</div>\n </div>\n\n <div id=\"price-container-2\" class=\"price-container-2\">\n <span class=\"priceTag\">Take `+dolStr+`</span>\n <span id=\"rtoOfferValue2\"></span>\n <span>off</span>\n </div>\n <div id=\"price-container-2-msg\" class=\"price-container-2-msg\">\n the items in your cart!\n </div>\n \n </div>\n <div id=\"second-div\">\n <div id=\"min-container-2\">\n <div id=\"show_min_msg\" class=\"show_min_msg\">Checkout in the next</div>\n <div id=\"show_min_2\" class=\"show_min_2\"><span id='offerDuration' class='offerDuration'> </span> minutes.</div>\n </div>\n <div class=\"promocodecontainer-2\">\n <div id=\"z1-tro-new-promoCodeText_2\">PROMO CODE:</div>\n <div id=\"rtoOfferCode2\"></div>\n </div>\n </div>\n <div id=\"third-div\">\n <div id=\"z1-rto-new-addOfferContainer-2\">\n <div id=\"link_applynow2\"><a id=\"reviewApplyNow2\" style=\"color:white;text-decoration: none;\" href=\"#\">ADD OFFER</a></div>\n <div id=\"show_offer_status\"></div>\n\n <div class=\"bottom_link\"><a id=\"discliamer_href\" href=\"`+e.disclaimer+`\" target=\"_default\">details &amp; exclusions</a></div>\n </div>\n </div>\n \n </div>\n </div>\n </div>\n`;\n \n \n \n\n console.log('Before RTO Reiview Widget');\n\n //document.querySelector('#checkoutreview #shopping_Bag_Lpanel').insertAdjacentHTML(\"afterbegin\", domstr);\n\tdocument.querySelector('#checkoutreview #shopping_Bag_Lpanel').insertAdjacentHTML(\"afterbegin\", domstr);\n\n document.getElementById('rtoOfferValue').append(e.offerValue);\n document.getElementById('rtoOfferValue2').append(e.offerValue);\n\n document.getElementById('rtoOfferCode').append(e.offerCode);\n document.getElementById('rtoOfferCode2').append(e.offerCode);\n \n document.getElementById('offerDuration').append(e.offerDuration);\n\n if(e.loyaltyCx == true)\n {\n document.getElementsByClassName('z1_orderreview_container')[0].classList.add('loyalty');\n }\n\n document.getElementById('reviewApplyNow').onclick = function(){\n\n\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function(){\n\n\n console.log(\"kohlscashapply Click \"); \n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function(){ \n\n console.log(\"Checking for Redemption Popup \"+timeCounter); \n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n console.log('Got Popup Div '+popupDiv);\n\n if(popupDiv != undefined && popupDiv != null)\n {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv,e.offerCode);\n\n return;\n }\n\n if(timeCounter > maxCounter)\n {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n };\n\n\n\n document.getElementById('reviewApplyNow2').onclick = function(){\n\n\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function(){\n\n\n console.log(\"kohlscashapply Click \"); \n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function(){ \n\n console.log(\"Checking for Redemption Popup \"+timeCounter); \n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n console.log('Got Popup Div '+popupDiv);\n\n if(popupDiv != undefined && popupDiv != null)\n {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv,e.offerCode);\n\n return;\n }\n\n if(timeCounter > maxCounter)\n {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n };\n\n\n \n\n\n \n populateUsername();\n\n updateSupcDetails();\n\n sendRTOOmniture(1);\n\n\n \n\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n\n function sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\n //Case 1: Display Omniture \n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|OR|';\n sendDisEventToC3(\"OR\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n\n\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n var e = JSON.parse(existingSupc);\n showRTOReviewSection(e);\n\n return;\n }\n\n\n localStorage.setItem('z1_supc',null);\n\n\n var evtName = '_ws_rto_offers';\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n\n\n \n \n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in RTO Order Review Tag: WebStore Z1 tag. \" + e);\n}\n ","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"checkout/v2/checkout.jsp"}},{"tagName":"Order Details","actionType":"z1script","script":"try\n{\n\t\n\n\tvar debugScr = false;\n var cartValue = 0;\n\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n if (debugScr) console.log(\"[ZineOne] Entering PlaceOrder Tag\");\n\n var evtName = \"_ws_placedorder\";\n\n var presentVector = null;\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n var isLoggedIn = \"\";\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n }\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n function fireOmniture(z1Response) {\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n }\n\n\n\n function sendRTOOmniture()\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n prop75 = prop75+'OR|'; \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n function checkForPreviousEvent(presentVector,previousVector)\n {\n if(presentVector.event == eventCodes._ws_placedorder)\n {\n if(presentVector.event == previousVector.event)\n {\n console.log('Current Event is same as previous event');\n return false;\n }\n }\n \n\n return true;\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n function validateForNotNull(obj)\n {\n //console.log('validateForNotNull',obj,typeof(obj));\n if(!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0)\n {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array,attribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\",attribute,array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\",mainAttribute,innerAttribute,array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ',spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function fetchCartDump()\n {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if(validateForNotNull(cartData))\n {\n for(var i=0;i<cartData.length;i++)\n {\n if(i == 15)\n {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if(validateForNotNull(currentObj.storeClearance))\n {\n currentFinalObjToSend.sc = currentObj.storeClearance; \n }\n \n if(validateForNotNull(currentObj.itemProperties.size))\n {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n \n if(validateForNotNull(currentObj.itemProperties.color))\n {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n \n if(validateForNotNull(currentObj.itemProperties.isWebExclusive))\n {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive; \n }\n \n\n var finalInvInfo = {};\n\n if(validateForNotNull(currentObj.inventoryInfo.shipAvailable))\n {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if(validateForNotNull(currentObj.inventoryInfo.bopusAvailable))\n {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.bossAvailable))\n {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip))\n {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip; \n }\n \n if(validateForNotNull(currentObj.finalInvInfo))\n {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo; \n }\n \n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ',currentPromoInfo);\n\n if(validateForNotNull(currentPromoInfo))\n {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for(var j=0;j<currentPromoInfo.length;j++)\n {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if(validateForNotNull(currentPromoObj.promoType))\n {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType; \n }\n \n if(validateForNotNull(currentPromoObj.promoText))\n {\n prTextArr[prTextArr.length] = currentPromoObj.promoText; \n }\n \n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n \n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ',currentOfferInfo);\n\n if(validateForNotNull(currentOfferInfo))\n {\n var finalOfferInfoArray = [];\n\n for(var j=0;j<currentOfferInfo.length;j++)\n {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if(validateForNotNull(currentOfferInfoObj.offerDiscount))\n {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount; \n }\n \n if(validateForNotNull(currentOfferInfoObj.startDate))\n {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate; \n }\n \n if(validateForNotNull(currentOfferInfoObj.endDate))\n {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate; \n }\n \n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n \n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ',shipmentInfo);\n\n if(validateForNotNull(shipmentInfo))\n {\n var finalshipmentInfoArray = [];\n\n for(var j=0;j<shipmentInfo.length;j++)\n {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {}; \n\n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges))\n {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount))\n {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta))\n {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal))\n {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal; \n }\n \n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if(validateForNotNull(shippingOffers))\n {\n var finalshippingOfferArray = [];\n\n for(var k=0;k<shippingOffers.length;k++)\n {\n var currentshippingOffersObj = shippingOffers[k];\n\n if(validateForNotNull(currentshippingOffersObj.discountAmount))\n {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount; \n }\n \n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary; \n\n var finalOrderSummaryObj = {};\n\n if(validateForNotNull(orderSummary.merchandisePromoAmount))\n {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount; \n }\n \n if(validateForNotNull(orderSummary.discountedShippingAmount))\n {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n \n if(validateForNotNull(orderSummary.originalShippingAmount))\n {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated))\n {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate))\n {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax))\n {\n finalOrderSummaryObj.tax = orderSummary.tax.tax; \n }\n \n if(validateForNotNull(orderSummary.totalSurcharges))\n {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges; \n }\n \n if(validateForNotNull(orderSummary.totalTaxFee))\n {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee; \n }\n \n if(validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts))\n {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts; \n }\n \n if(validateForNotNull(orderSummary.totalTax))\n {\n finalOrderSummaryObj.totTax = orderSummary.totalTax; \n }\n \n if(validateForNotNull(orderSummary.total))\n {\n finalOrderSummaryObj.total = orderSummary.total; \n }\n \n if(validateForNotNull(orderSummary.savings))\n {\n finalOrderSummaryObj.sav = orderSummary.savings; \n }\n \n if(validateForNotNull(orderSummary.taxFeeEnabled))\n {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled; \n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n function fetchMcmId()\n {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n function getPresentVector() \n {\n try {\n\n console.log('getPresentVector');\n\n if(pageData.cartDetails)\n {\n cartValue = pageData.cartDetails.cartSubTotalValue;\n }\n\n if(presentVector != null && Object.keys(presentVector).length > 0)\n {\n return presentVector;\n }\n\n presentVector = {};\n\n var itemsInBag = Number(localStorage.getItem(\"z1_checkoutBagCount\"));\n\n \n\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() \n {\n try \n {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n\n if(!checkForPreviousEvent(presentVector,previousVector))\n {\n return;\n }\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) \n {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try {\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if(validateForNotNull(cartDump))\n {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for(var k=0;k<cartKeys.length;k++)\n {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n \n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if(validateForNotNull(newUserVectors))\n {\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n }catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = '_ws_placedorder';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) \n {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue= cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n if(validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge))\n {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n }\n else\n {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n } \n else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) \n {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n function init()\n {\n\n \n var edata = {};\n \n edata.productIdList = localStorage.getItem('z1_checkoutProductIdList')+\"\";\n\n\n var presVec = getPresentVector();\n var sessionStartTime = getSessionStartTime();\n\n edata.time = presVec.time;\n edata.sessionStartTime = sessionStartTime;\n\n\n var cartValue = 0;\n var cartItems = 0;\n var finalCartQuantity = 0;\n\n if(pageData.cartDetails)\n {\n cartValue = pageData.cartDetails.cartSubTotalValue;\n\n\n cartItems = pageData.cartDetails.cartItems.length;\n\n for(var i=0;i<cartItems;i++)\n {\n finalCartQuantity = finalCartQuantity + Number(pageData.cartDetails.cartItems[i].quantity);\n }\n }\n\n if(cartValue == 0 || finalCartQuantity == 0)\n {\n if(trJsonData && trJsonData.orderSummary && trJsonData.orderSummary.merchandisePromoAmount)\n {\n cartValue = Number(trJsonData.orderSummary.merchandisePromoAmount);\n\n if(trJsonData.cartItems)\n {\n cartItems = trJsonData.cartItems.length;\n\n for(var i=0;i<cartItems;i++)\n {\n finalCartQuantity = finalCartQuantity + Number(trJsonData.cartItems[i].quantity);\n }\n }\n \n\n }\n }\n\n edata.cartValue = cartValue;\n edata.cartItems = finalCartQuantity;\n\n\n if(isValid(pageData) && isValid(pageData.orderConfirmation) && isValid(pageData.orderConfirmation.orderID))\n {\n var orderId = pageData.orderConfirmation.orderID;\n var promoCodes = pageData.orderConfirmation.promoCodes;\n\n\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n\n var temp = {};\n temp.orderId = orderId;\n temp.eventVector = userVectors.eventVector;\n temp.promoCodes = promoCodes;\n\n edata.orderId = orderId;\n //edata.eventVector = userVectors.eventVector;\n edata.promoCodes = promoCodes;\n\n //ZineOne.pushEvent(\"_ws_confirmedOrder\", temp);\n\n }\n\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n existingSupc = JSON.parse(existingSupc);\n\n var currentPromoCode = existingSupc.offerCode;\n\n if(edata.promoCodes.toString().indexOf(currentPromoCode) != -1)\n {\n\n\n edata.supc_redeemed = 'true';\n\n sendRTOOmniture();\n \n localStorage.setItem('z1_supc',null);\n \n // if(existingSupc.offType == \"DOLLAR_THR\")\n // {\n // if(cartValue >= parseFloat(existingSupc.offThres))\n // {\n // edata.supc_redeemed = 'true';\n\n // sendRTOOmniture();\n \n // localStorage.setItem('z1_supc',null);\n // }\n // }\n // else\n // {\n \n // }\n }\n\n edata.rtoName = existingSupc.rtoName;\n edata.identifier = existingSupc.identifier;\n\n }\n \n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n\n var presentVectorTmp = {};\n presentVectorTmp.event = eventCodes._ws_placedorder;\n\n if(!checkForPreviousEvent(presentVectorTmp,previousVector))\n {\n return;\n }\n\n \n\n console.log(\"[ZineOne] Firing _ws_placeOrder Event...\");\n ZineOne.pushEvent(evtName, edata);\n updateUserVectors();\n\n \t\n }\n\n\n init();\n\n}\ncatch(e)\n{\n console.log('Error in order details Tag '+e);\n console.log(e);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"checkout/v2/order_confirm"}},{"tagName":"FSG new tag","actionType":"z1script","script":"try {\n\n /*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if ( !(cust_id == \"3000000030411692\" || cust_id == \"3000000126553504\") ) return;*/\n console.log(\"[Zineone-I] FSG NEW TAG IE\");\n\n var debug = true;\n\n if(debug) console.log(\"ZINEONE fsg_new_tag\");\n\n var fsgKillSwitch = false;\n\n if (fsgKillSwitch) return;\n\n var TIME_TO_LIVE = 0;\n\n var isValid = function(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n return true;\n };\n\n var isNumeric = function(value) {\n return /^-{0,1}\\d+$/.test(value);\n };\n\n var getCookie = function(name) {\n var value = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n return (value != null) ? unescape(value[2]) : null;\n };\n\n var vID = localStorage.getItem(\"z1_cust_id\");\n if (!isValid(vID)) {\n vID = localStorage.getItem(\"z1_connectUserId\");\n }\n var timestamp = new Date().getTime();\n var send = false;\n var userLoginStatus = pageData.customerDetails.isLoggedIn;\n\n var pg = Z1.window.browserInfo.pagePath;\n var pgName = \"unknownPage\";\n var chkout = false;\n var elementToWatchFor = \"\";\n\n if (pg == \"/\") {\n pgName = \"Home\";\n } else if (pg.startsWith(\"/product\")) {\n pgName = \"PDP\";\n } else if (pg.startsWith(\"/catalog\")) {\n pgName = \"PMP\";\n } else if (pg.startsWith(\"/search\")) {\n pgName = \"Search\";\n } else if (pg.startsWith(\"/checkout\")) {\n pgName = \"Cart\";\n chkout = true;\n if (pg.endsWith(\"shopping_cart.jsp\")) {\n pgName = \"Cart\";\n } else if (pg.endsWith(\"v2/checkout.jsp\")) {\n pgName = \"Checkout\";\n }\n }\n\n elementToWatchFor = (document.getElementsByClassName(\"subtotal\") && document.getElementsByClassName(\"subtotal\")[0]) ? document.getElementsByClassName(\"subtotal\")[0] : \"\";\n\n\n if(debug) console.log(\"ZINEONE FSG NEW elementToWatchFor...\", elementToWatchFor);\n\n if (elementToWatchFor == \"\") return;\n\n //getFSGConfig\n var defaultFSGConfig = {\n '_d': \"0\",\n '_t': \"75\"\n };\n var guestFSGConfig = {\n '_d': \"1\",\n '_t': \"75\"\n };\n\n var paintFSG = function(cartData, fsgData){\n if(debug) console.log(\"ZINEONE FSG NEW paintFSG START\");\n var freeShippingDelta = 0;\n var thresh = fsgData._t;\n var showthreshold = \"$\" + fsgData._t;\n var cartTotal = 0;\n var subTotal = 0;\n var percentageFill = 0;\n cartTotal = cartData.orderSummary.merchandisePromoAmount;\n if(debug) console.log(\"ZINEONE FSG NEW thresh...\", thresh, \"...cartTotal...\", cartTotal);\n if ((cartData != null) && (cartData.shipmentInfo.length > 0)) {\n for (var k = 0; k < cartData.shipmentInfo.length; k++) {\n if ((cartData.shipmentInfo[k].shippingMethod == \"BOPUS\") || (cartData.shipmentInfo[k].shippingMethod == \"BOSS\")) {\n continue;\n } else if (cartData.shipmentInfo[k].shippingMethod == \"STD\") {\n freeShippingDelta = cartData.shipmentInfo[k].shipmentPriceInfo.freeShipQualificationDelta;\n break;\n }\n }\n } else {\n freeShippingDelta = (thresh - cartTotal).toFixed(2);\n }\n if(debug) console.log(\"ZINEONE FSG NEW freeShippingDelta...\", freeShippingDelta);\n subTotal = freeShippingDelta > 0 ? (thresh - freeShippingDelta).toFixed(2) : freeShippingDelta === 0 && cartTotal >= thresh ? thresh : 0; // returns total-delta\n if (subTotal == 0) return;\n if(debug) console.log(\"ZINEONE FSG NEW subTotal...\", subTotal);\n percentageFill = Math.round(100 / thresh * subTotal);\n\n if(debug) console.log(\"ZINEONE FSG NEW percentageFill...\", percentageFill);\n\n //var meterBar = '<div id=\"js-meter-summary-2\" style=\"display:block\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\"> ' + showthreshold + '</div> </div>';\n var diffUI = ($('.freeShipMessFirst') && $('.freeShipMessFirst')[0]) ? true : false;\n var meterBar = \"\";\n if (diffUI) {\n meterBar = '<div style=\"margin:20px;\"></div><div id=\"js-meter-summary-2\" style=\"display:block\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\"> ' + showthreshold + '</div> </div>';\n } else {\n meterBar = '<div id=\"js-meter-summary-2\" style=\"display:block\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\"> ' + showthreshold + '</div> </div>';\n }\n var noMeterBar = '<div id=\"js-meter-summary-2\" style=\"display: none;\" class=\"tce-small-ship-meter-freeShipDetails\">You&rsquo;ve earned free shipping!</div>';\n if(debug) console.log(\"ZINEONE FSG NEW subTotal...\", subTotal);\n if(debug) console.log(\"ZINEONE FSG NEW thresh...\", thresh);\n if(debug) console.log(\"ZINEONE FSG NEW condition1...\", (subTotal > 0));\n if(debug) console.log(\"ZINEONE FSG NEW condition2...\", (subTotal < thresh));\n if(debug) console.log(\"ZINEONE FSG NEW condition...\", (subTotal > 0 && subTotal < thresh));\n var miniCart = (Number(subTotal) > 0 && Number(subTotal) < Number(thresh)) ? meterBar : noMeterBar; // (subTotal > 0 && subTotal < thresh) ? meterBar : noMeterBar;\n\n if(debug) console.log(\"ZINEONE FSG NEW percentageFill...\", miniCart);\n if (pgName == \"Cart\") {\n if(debug) console.log(\"ZINEONE FSG NEW before appending testing...\", ($('#js-free-shipping-meter2')[0] ? \"meter shown\" : \"no meter\"));\n var isMeterExist = $('#js-free-shipping-meter2')[0] ? true : false;\n if (!isMeterExist) {\n $(\".freeShipSuggestMessage\").append(miniCart);\n }\n //$(\".freeShipSuggestMessage\").append(miniCart);\n $(\"#js-free-shipping-meter1, #js-free-shipping-meter2\").css({\n background: \"linear-gradient(to right,#167d9a 0%,#167d9a \" + percentageFill + \"%,rgb(220, 238, 240) \" + percentageFill + \"%,rgb(220, 238, 240) 100%)\",\n \"border-radius\": \"2px\"\n });\n } else if (pgName != \"Cart\") {\n if(debug) console.log(\"ZINEONE FSG NEW before appending testing...\", ($('#js-free-shipping-meter2')[0] ? \"meter shown\" : \"no meter\"));\n var isMeterExist = $('#js-free-shipping-meter2')[0] ? true : false;\n if (!isMeterExist) {\n $(\".tr_phase2_add_padding_ghr\").append(miniCart);\n }\n $(\"#js-free-shipping-meter1, #js-free-shipping-meter2\").css({\n background: \"linear-gradient(to right,#167d9a 0%,#167d9a \" + percentageFill + \"%,rgb(255, 255, 255) \" + percentageFill + \"%,rgb(255, 255, 255) 100%)\",\n \"border-radius\": \"2px\"\n });\n if(debug) console.log(\"ZINEONE FSG NEW after appending testing...\", ($('#js-free-shipping-meter2')[0] ? \"meter shown\" : \"no meter\"));\n }\n if(debug) console.log(\"ZINEONE FSG NEW paintFSG END\");\n }\n\n var miniCartBar = function(fsgData) {\n if(debug) console.log(\"ZINEONE FSG NEW miniCartBar function!\", fsgData);\n if (pgName != \"Cart\") {\n if(debug) console.log(\"ZINEONE FSG NEW Not on Cart Page\");\n let s = Kjs.PB.getPbCartStorage();\n if(!isValid(s)) return;\n if(debug) console.log(\"ZINEONE FSG NEW s...\",s);\n paintFSG(s, fsgData);\n } else {\n if(debug) console.log(\"ZINEONE FSG NEW On Cart Page\");\n let s = trJsonData;\n if (!isValid(s)) return;\n if (s != \"null\" && s.status != \"Failure\") {\n paintFSG(s, fsgData);//trJsonData is available in all browsers\n }\n }\n };\n\n var fsg = function(fsgData) {\n if(debug) console.log(\"ZINEONE FSG NEW FUNCTION CALLED!\", fsgData);\n\n //////////SAIKAT - Test////////////\n if(debug) console.log(\"ZINEONE - Landed fsg function and setting localStorage\");\n localStorage.setItem('z1_fsg_data', JSON.stringify(fsgData));\n ///////////////////////////////////\n\n //var fsgStyles = \"<style type=\\\"text/css\\\"> #tce-ship-meter {display: block;clear: both;}.tce-meter-copy {position: absolute;top: 50%;left: 8em;transform: translateY(-50%);}.tce-meter-copy p {font-size: 16px;color: #000; font-family:'Gotham 5r', Helvetica, sans-serif;text align:center;}.tce-meter-copy span {font-size: 16px;color: #108281; font-family:'Gotham 5r', Helvetica, sans-serif;}.tce-meter-bar * {all: unset;}.tce-meter-bar {position: absolute;float: left;width: 315px;left: 49em;top: 1.2em;}.tce-meter-bar p {display: block;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 0;-webkit-margin-end: 0;}.tce-ship-meter-cartDetails {width:100%;text-align:center;max-width: 1044px;margin-left: auto;margin-right: auto;display:block;position:relative;height:39px;text-align: center;background-color:#f0f0f0;}.tce-ship-meter-cartDetails__gauge {display: block;height: auto; width:100%;}.tce-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 13px;position: absolute;left: 2.5em;}.tce-ship-meter-cartDetails-left {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;color: #000;font-weight: bold;position: absolute;left: 0;}.tce-ship-meter-cartDetails-right {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;font-weight: bold;color: #000;position: absolute;left: 112%;top: 0;}.tce-small-ship-meter-cartDetails {display:block;position:relative;width: 158px;height: 28px;top: 18px;margin-top:2px;}.tce-small-ship-meter-cartDetails-left {font-size: 11px;color:#3e3e3e;font-weight:bold;position:absolute;font-family:'Gotham 4r', Helvetica, sans-serif;}.tce-small-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 9px;position: absolute;left: 2.5em;margin-left: -8px;}.tce-small-ship-meter-cartDetails-right {font-size: 11px;font-weight: bold;color:#3e3e3e;position: absolute;left: 125%;top: 0;font-family:'Gotham 4r', Helvetica, sans-serif;margin-left: -12px;}.tce-small-ship-meter-freeShipDetails {clear:both;height: 20px;font-family: 'Gotham 5r','GothamBold',Helvetica,Arial,sans-serif;font-size: 11px; font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;color: #15718a;top: 5px;position: relative;}.tce-small-ship-text-z1{font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;text-align: center;color: #15718a;font-family: 'Gotham 5r', Helvetica, sans-serif;margin-left: 5px;}</style>\";\n \tvar fsgStyles = \"<style type=\\\"text/css\\\"> #tce-ship-meter {display: block;clear: both;}.tce-meter-copy {position: absolute;top: 50%;left: 8em;transform: translateY(-50%);}.tce-meter-copy p {font-size: 16px;color: #000; font-family:'Gotham 5r', Helvetica, sans-serif;text align:center;}.tce-meter-copy span {font-size: 16px;color: #108281; font-family:'Gotham 5r', Helvetica, sans-serif;}.tce-meter-bar * {all: unset;}.tce-meter-bar {position: absolute;float: left;width: 315px;left: 49em;top: 1.2em;}.tce-meter-bar p {display: block;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 0;-webkit-margin-end: 0;}.tce-ship-meter-cartDetails {width:100%;text-align:center;max-width: 1044px;margin-left: auto;margin-right: auto;display:block;position:relative;height:39px;text-align: center;background-color:#f0f0f0;}.tce-ship-meter-cartDetails__gauge {display: block;height: auto; width:100%;}.tce-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 13px;position: absolute;left: 2.5em;}.tce-ship-meter-cartDetails-left {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;color: #000;font-weight: bold;position: absolute;left: 0;}.tce-ship-meter-cartDetails-right {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;font-weight: bold;color: #000;position: absolute;left: 112%;top: 0;}.tce-small-ship-meter-cartDetails {display:block;position:relative;width: 158px;clear:both;height: 14px;padding-top:6px;/*top: 18px;margin-top:2px;*/}.tce-small-ship-meter-cartDetails-left {font-size: 11px;color:#3e3e3e;font-weight:bold;position:absolute;font-family:'Gotham 4r', Helvetica, sans-serif;}.tce-small-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 9px;position: absolute;left: 2.5em;margin-left: -8px;}.tce-small-ship-meter-cartDetails-right {font-size: 11px;font-weight: bold;color:#3e3e3e;position: absolute;left: 125%;/*top: 0;*/font-family:'Gotham 4r', Helvetica, sans-serif;margin-left: -12px;}.tce-small-ship-meter-freeShipDetails {clear:both;height: 20px;font-family: 'Gotham 5r','GothamBold',Helvetica,Arial,sans-serif;font-size: 11px; font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;color: #15718a;top: 5px;position: relative;}.tce-small-ship-text-z1{font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;text-align: center;color: #15718a;font-family: 'Gotham 5r', Helvetica, sans-serif;margin-left: 5px;}</style>\";\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n\n head.appendChild(style);\n\n style.type = 'text/css';\n if (style.styleSheet) {\n // This is required for IE8 and below.\n style.styleSheet.cssText = fsgStyles;\n } else {\n style.appendChild(document.createTextNode(fsgStyles));\n }\n miniCartBar(fsgData.fsg); //Default Call for CartPage\n var mutationObserver = new MutationObserver(function(mutations) {\n mutations.forEach(function(mutation) {\n if(debug) console.log(\"ZINEONE FSG NEW miniCartBar called!\");\n if(debug) console.log(\"ZINEONE FSG NEW mutation...\", mutation);\n miniCartBar(fsgData.fsg);\n });\n });\n mutationObserver.disconnect();\n mutationObserver.observe(elementToWatchFor, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n attributeOldValue: true,\n characterDataOldValue: true\n });\n };\n\n var fsg_data = localStorage.getItem(\"z1_fsg_data\");\n if (fsg_data != null && !chkout) {\n delT = (timestamp - JSON.parse(fsg_data).timestamp);\n if (vID != JSON.parse(fsg_data).visitorId) {\n send = true;\n } else if (delT / 60000 > TIME_TO_LIVE) {\n send = true;\n } else if ((!userLoginStatus) || String(userLoginStatus).includes(\"false\")) {\n send = true;\n } else {\n fsg(fsg_data);\n }\n } else {\n send = true;\n }\n\n if (send) {\n if (!isNumeric(vID)) {\n if(debug) console.log(\"ZINEONE [ZineOne] Anonymous user - \" + vID);\n var guest_fsg_data = {\n fsg: guestFSGConfig,\n timestamp: timestamp,\n visitorId: vID\n };\n localStorage.setItem('z1_fsg_data', JSON.stringify(guest_fsg_data));\n fsg(guest_fsg_data);\n } else {\n var dummy_data = {\n fsg: defaultFSGConfig,\n timestamp: timestamp,\n visitorId: vID\n };\n localStorage.setItem('z1_fsg_data', JSON.stringify(dummy_data));\n ZineOne.pushEvent(\"_ws_z1__sb_fsg\", {});\n }\n }\n\n var z1ResponseHandler = function(e) {\n if(debug) console.log(\"ZINEONE Reached z1ResponseHandler in FSG NEW TAG\");\n if (e.detail && e.detail.fsg) {\n fsg(e.detail);\n }\n };\n document.addEventListener(\"onZ1RawData\", z1ResponseHandler, false);\n} catch (e) {\n console.log(\"ZINEONE Error in fsg_new_tag \" + e);\n}","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"addtobagNew","actionType":"z1script","script":"\n var debugScr = true;\ntry {\n console.log(\"In addtobagNew\");\n\n var addToBagClickHandler = function() {\n\n\n \n console.log(\"In addtobagNew clicked\");\n /*\n * Manish: Webstore instrumentation for all pages except OrderConfirmation and MyAccount\n * Varun: Added isNumeric to check if CustomerID is for Guest User\n * Manish: 05/18 Moved addEventData() to within try-catch block\n * Juzer: Checking for persistent_bar_components_json_v1 for ProductId before pushEvent\n * Juzer: Added ML Instrumentation\n * Juzer: Race condition validation check for the product count\n */\n try {\n \n var cartValue = 0;\n var currentUserCartArr = [];\n\n var isJsonNull = false;\n\n if (debugScr) console.log(\"[ZineOne] addtobag Event will be triggered\");\n\n var evtName = \"_ws_addedtobag\";\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n };\n\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n\n\n var evtData = {};\n\n function isNumeric(value) {\n return /^-{0,1}\\d+$/.test(value);\n }\n\n // Get cookie from user's browser/desktop\n function getCookie(name) {\n var re = new RegExp(name + \"=([^;]+)\");\n var value = re.exec(document.cookie);\n return (value != null) ? unescape(value[1]) : null;\n }\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n function getCurrentBagCount(cartInfo) {\n console.log('Got Cart Info ' + cartInfo);\n var itemsInBag = 0;\n\n console.log('Got Cart Items Length ' + cartInfo.cartItems.length);\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n }\n\n return itemsInBag;\n }\n\n function getSkuPriceObj(skuId)\n {\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].SKUS)\n {\n var skuArr = pageData.productDetails.pageItems[0].SKUS;\n\n for(var i=0;i<skuArr.length;i++)\n {\n var tempObj = skuArr[i]\n\n if(tempObj.skuId == skuId)\n {\n return tempObj;\n }\n }\n }\n\n return null;\n }\n\n function addEventData() {\n\n if (debugScr) {\n console.log('[Zineone] Starting to check for New Product in Cart');\n }\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n var cartInfo = JSON.parse(cartData);\n\n var prodFound = false;\n\n if (cartInfo && cartInfo.cartItems) {\n //Check if the cartInfo has the product Id\n\n var newProdId = -1;\n\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID)\n {\n newProdId = pageData.productDetails.pageItems[0].productID;\n }\n\n if (typeof productId != 'undefined') {\n\n newProdId = productId;\n }\n\n \n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var tempProdId = cartInfo.cartItems[i].productId;\n if (tempProdId == newProdId) {\n\n\n var lastBagCount = 0;\n\n if (localStorage.getItem('z1_checkoutBagCount')) {\n lastBagCount = Number(localStorage.getItem('z1_checkoutBagCount'));\n }\n\n\n var currentBagCount = getCurrentBagCount(cartInfo);\n\n if (currentBagCount > lastBagCount) {\n if (debugScr) {\n console.log('[Zineone] Found Product directly in persistent_bar_components_json_v1');\n }\n prodFound = true;\n sendEventOnSuccess();\n }\n\n }\n }\n\n }\n\n if (debugScr && prodFound == false) {\n console.log('[Zineone] Could not find product in 1st Check');\n }\n\n\n if (prodFound == false) {\n if (debugScr) {\n console.log('[Zineone] Inside prodFound == false after 1st Check');\n }\n\n var period = 500;\n var tCount = 0;\n var MAX_TCount = 10;\n\n\n\n var timer = setInterval(function() {\n try {\n tCount++;\n //if (debugScr) console.log(\"[ZineOne] timerCount=\" + tCount);\n if (prodFound == true) {\n if (debugScr) {\n console.log('[Zineone] Found Product in persistent_bar_components_json_v1 after count: ' + tCount);\n }\n\n clearInterval(timer);\n\n } else if (tCount <= MAX_TCount) {\n\n cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n cartInfo = JSON.parse(cartData);\n\n // if (cartInfo == null || cartInfo.cartItems == null || cartInfo.cartItems.length <= 0)\n // return true;\n\n var newProdId = -1;\n\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID)\n {\n newProdId = pageData.productDetails.pageItems[0].productID;\n }\n\n if (typeof productId != 'undefined') {\n\n newProdId = productId;\n }\n\n console.log('CartInfo from SetInterval ', cartInfo);\n if (cartInfo.cartItems) {\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var tempProdId = cartInfo.cartItems[i].productId;\n if (tempProdId == newProdId) {\n\n\n var lastBagCount = 0;\n\n if (localStorage.getItem('z1_checkoutBagCount')) {\n lastBagCount = Number(localStorage.getItem('z1_checkoutBagCount'));\n }\n\n\n var currentBagCount = getCurrentBagCount(cartInfo);\n\n if (currentBagCount > lastBagCount) {\n if (debugScr) {\n console.log('[Zineone] Found Product in persistent_bar_components_json_v1 after count: ' + tCount);\n }\n\n prodFound = true;\n\n if (debugScr) {\n console.log('[Zineone] Before sendEventOnSuccess inside SetInterval Found After Count ' + tCount);\n }\n sendEventOnSuccess();\n\n clearInterval(timer);\n\n break;\n }\n\n }\n }\n }\n\n\n }\n } catch (ie) {\n if (debugScr) console.log(\"[Zineone] Exception in setInterval \" + ie);\n }\n }, period);\n\n\n }\n\n\n\n }\n\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n\n\n var sendevt;\n\n sendevt = addEventData();\n\n if (debugScr)\n console.log('[Zineone] AddedToBag Event Code block Complete ');\n\n\n function sendEventOnSuccess() {\n\n if (debugScr)\n console.log('[Zineone] Into SendEventOnSuccess ');\n\n var productsArr = [];\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n var cartInfo = JSON.parse(cartData);\n\n //Send the Event even if the Cart does not have any item, so that the OpenAPI could be called\n //on the Server side\n\n var itemsInBag = 0;\n var productIdList = '';\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var si = cartInfo.cartItems[i];\n var obj = {\n \"id\": si.cartItemId,\n \"sku\": si.skuId,\n \"webID\": si.productId,\n \"saleUnitPrice\": si.itemPriceInfo.saleUnitprice.toString(),\n \"regularUnitPrice\": si.itemPriceInfo.regularUnitPrice.toString(),\n \"quantity\": si.quantity.toString()\n };\n\n productsArr.push(obj);\n\n\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n var sku = cartInfo.cartItems[i].skuId;\n var qty = cartInfo.cartItems[i].quantity;\n\n if (i > 0) productIdList = productIdList + \"|\";\n\n productIdList = productIdList + sku + \":\" + qty;\n }\n\n\n localStorage.setItem('z1_checkoutBagCount', itemsInBag);\n localStorage.setItem('z1_checkoutProductIdList', productIdList);\n\n\n evtData[\"cartItems\"] = JSON.stringify(productsArr);\n\n evtData['page'] = \"PDP\";\n\n\n ZineOne.pushEvent(evtName, evtData);\n\n updateUserVectors();\n\n }\n\n\n function checkForPreviousEvent() {\n console.log('checkForPreviousEvent');\n\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n\n if (previousVector.event == eventCodes.viewedproduct) {\n var prevProdId = previousVector.productID;\n\n console.log('Got ProductId from previousEventVector ' + prevProdId);\n\n return prevProdId;\n }\n\n return '-';\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n\n function validateForNotNull(obj) {\n //console.log('validateForNotNull',obj,typeof(obj));\n if (!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0) {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array, attribute) {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\", attribute, array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n\n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array, mainAttribute, innerAttribute) {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\", mainAttribute, innerAttribute, array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ', spltArrayObjectDataIntoVector(attributeValueArr, innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr, innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array, mainAttribute, innerAttribute) {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n\n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n\n function checkForPreviousEvent() {\n console.log('checkForPreviousEvent');\n\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n\n if (previousVector.event == eventCodes.viewedproduct) {\n var prevProdId = previousVector.productID;\n\n console.log('Got ProductId from previousEventVector ' + prevProdId);\n\n return prevProdId;\n }\n\n return '-';\n }\n\n function fetchCartDump() {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (!isValid(persistLocalData)) {\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if (validateForNotNull(cartData)) {\n for (var i = 0; i < cartData.length; i++) {\n if (i == 15) {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if (validateForNotNull(currentObj.storeClearance)) {\n currentFinalObjToSend.sc = currentObj.storeClearance;\n }\n\n if (validateForNotNull(currentObj.itemProperties.size)) {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n\n if (validateForNotNull(currentObj.itemProperties.color)) {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n\n if (validateForNotNull(currentObj.itemProperties.isWebExclusive)) {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive;\n }\n\n\n var finalInvInfo = {};\n\n if (validateForNotNull(currentObj.inventoryInfo.shipAvailable)) {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.bopusAvailable)) {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.bossAvailable)) {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip)) {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip;\n }\n\n if (validateForNotNull(currentObj.finalInvInfo)) {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo;\n }\n\n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ', currentPromoInfo);\n\n if (validateForNotNull(currentPromoInfo)) {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for (var j = 0; j < currentPromoInfo.length; j++) {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if (validateForNotNull(currentPromoObj.promoType)) {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType;\n }\n\n if (validateForNotNull(currentPromoObj.promoText)) {\n prTextArr[prTextArr.length] = currentPromoObj.promoText;\n }\n\n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n\n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ', currentOfferInfo);\n\n if (validateForNotNull(currentOfferInfo)) {\n var finalOfferInfoArray = [];\n\n for (var j = 0; j < currentOfferInfo.length; j++) {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if (validateForNotNull(currentOfferInfoObj.offerDiscount)) {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount;\n }\n\n if (validateForNotNull(currentOfferInfoObj.startDate)) {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate;\n }\n\n if (validateForNotNull(currentOfferInfoObj.endDate)) {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate;\n }\n\n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n\n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ', shipmentInfo);\n\n if (validateForNotNull(shipmentInfo)) {\n var finalshipmentInfoArray = [];\n\n for (var j = 0; j < shipmentInfo.length; j++) {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {};\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges)) {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount)) {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta)) {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal)) {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal;\n }\n\n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if (validateForNotNull(shippingOffers)) {\n var finalshippingOfferArray = [];\n\n for (var k = 0; k < shippingOffers.length; k++) {\n var currentshippingOffersObj = shippingOffers[k];\n\n if (validateForNotNull(currentshippingOffersObj.discountAmount)) {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount;\n }\n\n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary;\n\n var finalOrderSummaryObj = {};\n\n if (validateForNotNull(orderSummary.merchandisePromoAmount)) {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount;\n }\n\n if (validateForNotNull(orderSummary.discountedShippingAmount)) {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n\n if (validateForNotNull(orderSummary.originalShippingAmount)) {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated)) {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate)) {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax)) {\n finalOrderSummaryObj.tax = orderSummary.tax.tax;\n }\n\n if (validateForNotNull(orderSummary.totalSurcharges)) {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges;\n }\n\n if (validateForNotNull(orderSummary.totalTaxFee)) {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee;\n }\n\n if (validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts)) {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts;\n }\n\n if (validateForNotNull(orderSummary.totalTax)) {\n finalOrderSummaryObj.totTax = orderSummary.totalTax;\n }\n\n if (validateForNotNull(orderSummary.total)) {\n finalOrderSummaryObj.total = orderSummary.total;\n }\n\n if (validateForNotNull(orderSummary.savings)) {\n finalOrderSummaryObj.sav = orderSummary.savings;\n }\n\n if (validateForNotNull(orderSummary.taxFeeEnabled)) {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled;\n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n function fetchNewAttributesDeltaForSKU(eventData, eventName, skuCode) {\n\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (validateForNotNull(persistLocalData)) {\n var pageDataJson = pageData;\n\n persistLocalData = JSON.parse(persistLocalData);\n\n var cartItems = persistLocalData.cartItems;\n\n console.log('Cart items ', cartItems);\n\n var skuCartObj = null;\n\n for (var i = 0; i < cartItems.length; i++) {\n var tempObj = cartItems[i];\n\n if (tempObj.skuId == skuCode) {\n skuCartObj = tempObj;\n break;\n }\n }\n\n console.log('Got skuCartObj ', skuCartObj);\n\n if (skuCartObj == null) {\n return;\n }\n\n switch (eventName) {\n\n case \"_ws_addedtobag\":\n\n console.log('Into Switch Statement');\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n\n finalReturnObj.selected_sku = skuCode;\n finalReturnObj.c_i_size = skuCartObj.itemProperties.size;\n finalReturnObj.c_i_color = skuCartObj.itemProperties.color;\n finalReturnObj.c_i_isweb = skuCartObj.itemProperties.isWebExclusive;\n finalReturnObj.c_sclearance = skuCartObj.storeClearance;\n finalReturnObj.c_i_shipavailable = skuCartObj.inventoryInfo.shipAvailable;\n finalReturnObj.c_i_bopusAval = skuCartObj.inventoryInfo.bopusAvailable;\n\n finalReturnObj.c_i_bossAval = skuCartObj.inventoryInfo.bossAvailable;\n\n var invOnHandQtyShip = skuCartObj.inventoryInfo.invOnHandQtyShip;\n if (validateForNotNull(invOnHandQtyShip)) {\n finalReturnObj.c_i_invShip = invOnHandQtyShip;\n }\n var invOnHandQtyBopus = skuCartObj.inventoryInfo.invOnHandQtyBopus;\n if (validateForNotNull(invOnHandQtyBopus)) {\n finalReturnObj.c_i_invBopus = invOnHandQtyBopus;\n }\n var invOnHandQtyBoss = skuCartObj.inventoryInfo.invOnHandQtyBoss;\n if (validateForNotNull(invOnHandQtyBoss)) {\n finalReturnObj.c_i_invBoss = invOnHandQtyBoss;\n }\n\n\n\n finalReturnObj.c_o_offDis = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'offerInfo', 'offerDiscount');\n finalReturnObj.c_o_sdate = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'offerInfo', 'startDate');\n finalReturnObj.c_o_edate = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'offerInfo', 'endDate');\n\n finalReturnObj.c_p_type = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'promoInfo', 'promoType');\n finalReturnObj.c_p_ptext = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'promoInfo', 'promoText');\n\n\n\n finalReturnObj.shpi_shpp_ogshpchrgs = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'originalShippingCharges');\n finalReturnObj.shpi_shpp_shpchrgsafdis = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'shippingChargesAfterDiscount');\n finalReturnObj.shpi_shpp_freeshpqlfdelta = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'freeShipQualificationDelta');\n finalReturnObj.shpi_shpp_shpitmstotal = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'shipmentItemsTotal');\n\n finalReturnObj.shpi_shpo_disamnt = spltArrayObjectWithArrayObjectDataIntoVector(persistLocalData.shipmentInfo, 'shippingOffers', 'discountAmount');\n\n if (validateForNotNull(persistLocalData.orderSummary.merchandisePromoAmount)) {\n finalReturnObj.or_merpromoamnt = persistLocalData.orderSummary.merchandisePromoAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.discountedShippingAmount)) {\n finalReturnObj.or_disshpamnt = persistLocalData.orderSummary.discountedShippingAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.originalShippingAmount)) {\n finalReturnObj.or_ogshpamnt = persistLocalData.orderSummary.originalShippingAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.estimated)) {\n finalReturnObj.or_tax_est = persistLocalData.orderSummary.tax.estimated;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.taxRate)) {\n finalReturnObj.or_tax_taxrt = persistLocalData.orderSummary.tax.taxRate;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.tax)) {\n finalReturnObj.or_tax_tax = persistLocalData.orderSummary.tax.tax;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalSurcharges)) {\n finalReturnObj.or_totalsur = persistLocalData.orderSummary.totalSurcharges;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalTaxFee)) {\n finalReturnObj.or_totaltaxfree = persistLocalData.orderSummary.totalTaxFee;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalKohlsCashAndPromoDiscounts)) {\n finalReturnObj.or_totalkcpromodis = persistLocalData.orderSummary.totalKohlsCashAndPromoDiscounts;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalTax)) {\n finalReturnObj.or_totaltax = persistLocalData.orderSummary.totalTax;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.total)) {\n finalReturnObj.or_total = persistLocalData.orderSummary.total;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.savings)) {\n finalReturnObj.or_savings = persistLocalData.orderSummary.savings;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.taxFeeEnabled)) {\n finalReturnObj.or_taxfeeen = persistLocalData.orderSummary.taxFeeEnabled;\n }\n\n\n break;\n\n }\n }\n\n\n return finalReturnObj;\n\n }\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (!isValid(persistLocalData)) {\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n function fetchMcmId() {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n\n function getPresentVector() {\n try {\n\n console.log('getPresentVector');\n\n var itemsInBag = 0;\n cartValue = 0;\n\n isJsonNull = false;\n\n var cartData = localStorage.getItem(\"persistent_bar_components_json_v1\");\n if (isValid(cartData)) {\n var cartInfo = JSON.parse(cartData);\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n cartValue = cartValue + Number(cartInfo.cartItems[i].itemPriceInfo.grossPrice);\n\n var tempObj = {};\n tempObj.productId = cartInfo.cartItems[i].productId;\n tempObj.skuId = cartInfo.cartItems[i].skuId;\n tempObj.quantity = cartInfo.cartItems[i].quantity;\n tempObj.itemType = cartInfo.cartItems[i].itemType;\n\n currentUserCartArr.push(tempObj);\n\n }\n } else {\n if (getCookie('VisitorBagTotals').toString().length != 0) {\n cartValue = -1;\n\n isJsonNull = true;\n\n }\n }\n\n\n if (cartValue == 0 && (typeof pageData != 'undefined') && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n cartValue = Number(pageData.cartDetails.cartSubTotalValue);\n }\n\n\n\n\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n\n\n if (typeof pageData != 'undefined') {\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID)\n {\n presentVector.productID = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID) || '-';\n presentVector.originalPrice = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].originalPrice) || '-';\n presentVector.salePrice = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].salePrice) || '-';\n presentVector.PDPCategory = (pageData.productDetails && pageData.productDetails.categoryName) || '-';\n presentVector.onSale = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].isOnSale) || '-'; \n }\n\n if (validateForNotNull(pageData.productDetails) && validateForNotNull(pageData.productDetails.categoryName)) {\n presentVector.pgdata_proddet_catname = pageData.productDetails.categoryName;\n }\n\n if (validateForNotNull(pageData.productDetails) && validateForNotNull(pageData.productDetails.subcategoryName)) {\n presentVector.pgdata_proddet_subcatname = pageData.productDetails.subcategoryName;\n }\n\n if (validateForNotNull(pageData.productDetails) && validateForNotNull(pageData.productDetails.departmentName)) {\n presentVector.pgdata_proddet_deptname = pageData.productDetails.departmentName;\n }\n\n if (productId) {\n\n var skuPriceObj = getSkuPriceObj(Kjs.mainPanel.getBagItem(\"skuId\"));\n\n if(skuPriceObj)\n {\n presentVector.originalPrice = skuPriceObj.regularPrice.toString().substring(1,skuPriceObj.regularPrice.length);\n presentVector.salePrice = skuPriceObj.salePrice.toString().substring(1,skuPriceObj.salePrice.length);\n presentVector.PDPCategory = (pageData.productDetails && pageData.productDetails.categoryName) || '-';\n presentVector.onSale = '-';\n }\n\n presentVector.productID = (productId) || '-';\n \n }\n }\n else {\n var prodUrlSplit = window.location.pathname.toString().split('prd-')[1];\n var firstIndexOf = prodUrlSplit.indexOf('/');\n\n presentVector.productID = prodUrlSplit.substring(0, firstIndexOf);\n }\n\n\n presentVector.userPFM = getUrlParameter('userPFM') || '-';\n\n if (presentVector.productID == '-') {\n presentVector.productID = checkForPreviousEvent();\n }\n\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n presentVector = fetchNewAttributesDeltaForSKU(presentVector, evtName, skuCode);\n\n }\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() {\n try {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try {\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if (validateForNotNull(cartDump)) {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for (var k = 0; k < cartKeys.length; k++) {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if (validateForNotNull(newUserVectors)) {\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n } catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = 'AddedToBag';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue = cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.currentCart = JSON.stringify(currentUserCartArr);\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge)) {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n } else {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n\n if (isJsonNull) {\n var lastUserPageArr = userVectors.eventVector.toString().split('|');\n var lastPageChar = lastUserPageArr[lastUserPageArr.length - 2];\n\n var tempEventData = {};\n tempEventData.VisitorBagTotals = getCookie('VisitorBagTotals');\n tempEventData.pgName = 'PDP';\n tempEventData.lastPgChar = lastPageChar;\n\n ZineOne.pushEvent('_ws_emptyjson_v2', tempEventData);\n }\n\n\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n } catch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: WebStore Z1 tag. \" + ie);\n }\n \n\n\n \n\n };\n\n var selector='addtobagID';\n var rootElement = document.querySelector('body');\n rootElement.addEventListener('click',function(event){\n var targetElement = event.target.id;\n\n if(targetElement.match(selector)){\n //logic for handling the click event of addtobagID \n addToBagClickHandler();\n }\n },true);\n\n\n\n\n\n\n \n} catch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: WebStore Z1 tag. \" + ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"/product/prd-"}}],"TTL":"1440"}}
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_ftUserMap from localStorage
console-api log URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 21)
Message:
[errors] KJS global handler logged uncaught exception: [errors] Script error.
console-api error URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[errors] KJS global handler logged uncaught exception: [errors] Script error. [object Object]
console-api log URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
console.groupEnd
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'pageItems' of undefined","dbe.name":"product sp | name","pageId":3698821}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'pageItems' of undefined","dbe.name":"product mp & sp | product id","pageId":3698821}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: CONFIRMED
console-api log URL: https://cdn.tagdelivery.com/request/client/kohls.js(Line 60)
Message:
2a01:4f8:192:5414::2
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[$log] $ready called after window load
console-api warning URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
[$log] $init called after window load
console-api info URL: https://cdn.ampproject.org/rtv/012003262059300/amp4ads-v0.js(Line 407)
Message:
Powered by AMP ⚡ HTML – Version 2003262059300 https://www.kohls.com/sale-event/coupons-deals.jsp
console-api log URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 21)
Message:
[errors] KJS global handler logged uncaught exception: [errors] Uncaught TypeError: Cannot read property 'getItem' of null
console-api error URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
TypeError: Cannot read property 'getItem' of null
console-api log URL: https://www.kohls.com/snb/media/javascript/deploy/kjscore3.js(Line 22)
Message:
console.groupEnd

Security Headers

This page lists any security headers set by the main page. If you want to understand what these mean and how to use them, head on over to this page

Header Value
Content-Security-Policy block-all-mixed-content; frame-ancestors 'self';
Strict-Transport-Security max-age=15768000 ; preload
X-Frame-Options SAMEORIGIN

Indicators

This is a term in the security industry to describe indicators such as IPs, Domains, Hashes, etc. This does not imply that any of these indicate malicious activity.

6249496.collect.igodigital.com
6852bd0a.akstat.io
8632166.fls.doubleclick.net
ad.tagdelivery.com
adservice.google.com
adservice.google.de
analytics.twitter.com
api-bd.kohls.com
api.rlcdn.com
apps.zineone.com
b.criteo.com
bat.bing.com
c.go-mpulse.net
cdn.ampproject.org
cdn.curalate.com
cdn.tagdelivery.com
cdn.zineone.com
cdns.brsrvr.com
cdnssl.clicktale.net
cm.everesttech.net
cm.g.doubleclick.net
conductor.clicktale.net
connect.facebook.net
csi.gstatic.com
ct.pinterest.com
d.agkn.com
d.impactradius-event.com
d.us.criteo.com
dpm.demdex.net
googleads.g.doubleclick.net
gum.criteo.com
idsync.rlcdn.com
idx.liadm.com
ing-district.clicktale.net
js-sec.indexww.com
kohls.demdex.net
kohls.sjv.io
kohls.tt.omtrdc.net
match.adsrvr.org
media.kohlsimg.com
mon1.kohls.com
pagead2.googlesyndication.com
rp.liadm.com
rp4.liadm.com
s.btstatic.com
s.go-mpulse.net
s.pinimg.com
s.thebrighttag.com
sb.scorecardresearch.com
sc-static.net
secure.adnxs.com
securepubads.g.doubleclick.net
static.ads-twitter.com
static.criteo.net
stats.g.doubleclick.net
t.co
tjxbfc1n.micpn.com
tpc.googlesyndication.com
tr.snapchat.com
ww8.kohls.com
www.cloudflare.com
www.facebook.com
www.google-analytics.com
www.google.com
www.google.de
www.googleadservices.com
www.googletagmanager.com
www.googletagservices.com
www.hlserve.com
www.kohls.com
www.ojrq.net
api.rlcdn.com
104.244.42.67
104.244.42.69
13.224.194.81
13.225.73.102
13.225.73.33
13.225.73.37
15.188.31.119
151.101.113.179
151.101.12.157
172.217.18.166
172.217.22.66
172.217.22.98
172.217.23.98
178.250.0.130
178.250.0.157
178.250.2.149
185.33.220.241
23.11.238.95
23.213.15.82
23.213.164.234
23.37.48.184
2404:6800:4003:c03::5e
2600:1f18:730:b140:2148:8123:412:8d28
2600:9000:21f3:5600:19:fc2c:a140:93a1
2606:4700::6811:d109
2620:1ec:c11::200
2a00:1450:4001:80b::2001
2a00:1450:4001:815::2008
2a00:1450:4001:818::200e
2a00:1450:4001:819::2002
2a00:1450:4001:81a::2004
2a00:1450:4001:81b::2003
2a00:1450:4001:81d::2001
2a00:1450:4001:820::2002
2a00:1450:400c:c00::9d
2a02:26f0:6c00:183::2db0
2a02:26f0:6c00:184::11a6
2a02:26f0:6c00:189::eaf
2a02:26f0:6c00:18b::eaf
2a02:26f0:6c00:19d::1931
2a03:2880:f02d:12:face:b00c:0:3
2a03:2880:f12d:83:face:b00c:0:25de
3.210.28.246
3.248.119.92
34.194.93.145
34.200.164.188
34.95.127.121
35.186.226.184
35.186.249.72
35.190.72.21
35.227.211.136
46.137.100.137
52.200.119.212
52.200.2.193
52.208.212.211
52.6.27.178
54.164.173.111
54.243.79.244
54.76.175.152
66.117.28.86
66.117.29.4
74.119.118.146
74.119.119.135
0012bc12b8e4b21f101266c3e52c8a244739be6694eb451c8f77383655a0a998
019a576b7eccf17e9314ace09cd88544ef0c2131682d7bb8ae033a0f96ccd9dc
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
0290a012deb1b25451f5211d8cb8b40d8fa6f3942d23ecc12d96670e4c0ed7a5
041309a55336c7c9bfb4da02df1c484099eaa18b702422655364f445a0f6a9ee
047d611897c812052f201dfc342417e92e816f06081591df05a7d8a1d48eb945
0482a98d09daebc18a0d2e1ed8f748da5b0179e61223ed541101df1f4699f073
079e218ad07f42523479d475b4973a6e386ba95209ee964c04c1a6eb6186bda3
087fac5420f662b7d1176e2440faace2812f7c0ff0546cc9e341ea66fd58e51a
0b502dbf33a515f9b0fd2a857166c6bb00e41b8dfc07bfa8ef194224fd266b7e
0d01964116ba5a9c79219a78fd6196568ed155c40ae5a85104104f134bdc0d91
10d8d42d73a02ddb877101e72fbfa15a0ec820224d97cedee4cf92d571be5caa
118577f6c1fa5cd509378cde5fd3323c46b7d13f4c77e8bac90d9ee7049d194e
123d4b411f97e36f72e2f44be0b18944489e908ff159f59ab8aba984c69517fe
12a00ce90d3f47313490ff265720a5277a4f2db42b7cca9a830ea63d3538e241
132fefcf69e743721cc84433604b9be4030a96f20797af1e03ab030edca4d76f
140b59aaf164518b2c1b4a592f8b3fabd61dcdf810f00c83ab3d8c979a0f32b9
14fcf6193151f5336b176b2c55eadfad39d073d6670629f726fe66009054e0cc
1958bb7f293956e7170f639ce93a3d628ae465fa24fd751e1a2b3cd837059ffa
1b9677254b31d53bea24c7bf91d321e1c17c975a0d38544a141428005169364e
1c45f1dbc5afc1034ac9f4322cc6a66f4db7442f88be435d05897289ad475bd1
1c49158415dcf6733f51a6e2cef201ca5d70c56fa97287c630f19f1360b3ca11
1e57ef80de847edfe190c3cc278688675dd98bd4f419f189e317a6be83394d05
2039082ed79cca9faa87a80ebbf516502cda4ca08c67f1ef46b718fee79b47f3
2269cbc39c46b2b67c20c1e8fa4a623fb654261c892b50878c2ea9449450688f
2294527b0a142dc18d6247eab841f78253166755adac5cc483f3ece6e04f4677
22ffd3c91878a778c0c80d919abd9c063bf1b889faed4bc0e2fe69617a9f8458
2335971fe77e0b85cc6eb697b200f0443afa14b7d868f3b5b75ffa063c65cd5f
23b14b2e5675f2d8cd3e33bf31535f63a6f7595da6057781d89fc41f97395a19
2565892bc9a7c05ac215b1784631317b1c0a8c7a91986394662768a6d4dab1d9
25bd1eae99efbcb478306716b4f8de819213917cdc7fa9f6eb8fc6edc9e27e5d
260d6c5edacb67917465bd4692d5dc5b5d1abf3fd0e3bc9287b7a6e8d074d935
276d549ad430e8782313e8c586a080aed51d54c5fb86c11d402de637365af6ca
28479d70ec950db5b20da923f73963b924f8192a93e998a890c3b2aaa8d6e9b5
28d5c7d2279d76c0643863a7d3926cb5b831c26538611f92a105cc6533cd531a
29ab1bc64a50b7914491ee4513673976c72915ea183ea1618012a63a71c00ca5
29c0847f7eb03566d7a594e25003b1d1b9d52e34de5f04f1d18d6e75ed08a6c4
2d3c362dea9616624060e41064907033f41959ddf6bda37f26c87e6047fcd20a
2f05563ca65e7640350b200b8bbd1fc1d159870edae312279124cab44fd95e18
2f2e15efe8e2821d572e09b8dba03d7691d3ac1440a7770526846dc9dbe47dd8
2fe93a620764866e312afd421c1aa924b70994c7084664c12a8ed60fa0a7b90b
3053381ef6d6082e5b67ce1037e2c997fa8f019c1b344dac46cc82b803a397c0
317ef593559c12ec00d2005fa8aef8f47511604cad625727ce8b0c12022a013d
319949c8c08b86e9c35ea542c0dc0c30cedaa9b8d3d3c3327a36c91aefbd8af5
31a1e53d649d50a76ae296058b09c2598d051b5260513d6296644b4e35f8c91b
328da8a68dd2762e1340a56542aa3b5be06ddbe59d80d716c944c972be6393c8
34147804d98bbad1613d2f50c0eabcb74a7b1ba3273e3b477990d44951ce8212
350a160781abcfed2b855db11228ffa4b0e71a19c2e1212aa363336dff19d9a8
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068
37b17c5135a176a9474521af147d96dfa1fb4ca0f43f00d1400bd1885be3ab9b
38dff88a20261df3e510cf1bef67e1d9c68398158137cef3b9c06505d12033ae
3ac5ca978196ded2a4cf29e2cc940a0b83809ae6f577bf22197aa60c419b45fa
3f956444ef88d61a2776f6f33681a65ac73559446c7002d51d16d33ae46516f1
3fee8ee9cdc7566bfdf93c8158870816876ef54b93e58b205cb7f52f1d9ed064
411c045d2a620b9b58931bcfee6a2345031696ea884ff22ed59a20efd81bd217
440be39822a32d71b9e72094418a648c8a036dc4ab3275ef98bc3eaf4943b4cf
49883085e5d855cd7d5cab287586671205b999dd61b48ad4b98537a8d5d11375
4a63ccc41b6e27c88fca243efd1030d401bc83bd3ae22aaff2b0d1354ba25703
4c87707ce17127fc5385771fbde9f6c94bccbd208b0de2d0edfc2939601f6af1
4d30ac22ab046870c2859ae90b8598967936e693bf0773ef5e41dae33a04f0a5
4d370cfa6938e0d8d53a40150f811e553498d0e5224dc1a61e461aff18451572
4e0705327480ad2323cb03d9c450ffcae4a98bf3a5382fa0c7882145ed620e49
4e948638a694a5d3ec13f7f13f254788d5501905e246d99779e825aff3fbb725
50e5b7750f96375135dc10f803c330c87399fdde7e8f3ddd46a686eea84696b0
5394cdcfabc886296d184d2d7101f59612b59fe5baa239485a725b2bf4da6053
55af98da637eb49fe8ba4b0434fe6cbafcc12dc9bd893efb9574e6f9e437103f
5683d721043542df3d73195d4449d2842042193e896c63aba9552de00b5ed207
5a444223b2eb63eb310ea2de90643436fe54292410140ebabba6e94178c4e1da
5a91c6d3e635c0bd1551a53cf0769328132151a7732039170280d500dbcb4685
5e8923354dc828bba8fd3a84f1fed88a4b7095207803798b521710119bf347da
6102b6f9b0a2f3d5b128c566862198ada13900b20be86edd070d9744329c14f1
62bafc2ebe289567c662bc897d81b6e3ecd6a9b6b7c5ec7a077e1287dd56e60a
63630dabec4f48e5b818c21158eda205d78186285a429833931511b5c79ea337
644fe710e6435028a30263c2b907c700f61934afaff7a8c539c0e4337f79eccb
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1
6c532e2c890da8d2b8120ec057276d71a73f705e8ed2fb39ef221ffe285da1d3
6d257ae7d283ba55180a09d9933ff94e8069ceaac0ad76c5a01bf2d4fd170665
6d279a98030f1cbef07a45cbd97823021b501a9d636ecde314d4ccc372f0e591
6dfa271e269c6f6693aee52b71b1e808077d6f9c0cb8389c8e4a2181ec595f2d
6f871c183621b8a86f2d8f72d3d01014ca12b3a78faff8dcdbd0bf9f3abe61fa
6f8eaec182e63c7eaa74506405e61f720bcaa55bf9a572a723d3890b1a794257
7196e4dffbdae71684f3e01f40718fa99f3d9b1e5b059e0e6269261be00aa301
72e8b153d15dbfb59a1e1d0fb28f19ade39b5058928d897dd1823f419f21f0f3
740078cb1778d885689a3108d2ca696b01fd80cb73437528af4ed0dd6e7466b7
790d3cb3a1372c1185ee7f4d65f27b31797f50d21ef4093d8933c7f32030797c
7981dac50c9f26875336de70feca8696ea7e73a7d74438842eb21810dcb39755
7d1b654bc56485872b4c88231b981623294f36b863fc193ae0390a6d02a99130
7d902a1ffa6a76ad5c599742f4d37b2d21c3601c7745463a10d310b60aed734f
80cc8ef5083239b68a12bff0d34ce0fd015791a72ef9c173417edc29d95da6e8
80d54533f80e8233621f965ae0a7713928bdb4d491ed0eb5e90434550f1894cb
833360b05801708e010d6706e83816a33dbd1fdc13c0d877108ac7b3475db05c
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
84b2426a6096b022d9eddbc7b9318f98d10c6b51bfa99bd1aa3b605dd2c2264c
851bcd830e7bff040b563814c5fbd58683bd39e77f2aa87fbd3f97a1b21c42f7
86ff0cb1658b5b1e3368575112eab5ebdf2da7a786599ce73cee1ed875bd9f80
87f9d92602dd93eeb48d5a8c67788a8c64a524f5d8f592df485a52a7d790866b
897f99031b52d443fb29133ecdbbbc8ef5ff340a1611b52c773da94d61b20f5d
8b8bf95eea442cfcd7c2e67279e323e08915eab8a7c451dd0b6b5993944145fe
8bd5e5729a3fb989a0bcb99fd966df11e1c44198c447712fa4136996e2b28c0a
8c37840429cf932dcab57bf805c73d1508a27dcbd457839af775c02a34c7cfb3
8d70b3e6badb6973663b398d297bb32eaedd08826a1af98d0a1cfce5324ffce0
8dccc8a29c28ee78f0d1f0336ccc95edfc29e32134efd81160fb7a224f51a270
8ee94e76927614a59084b18f322ac6257f3ec5692d13426436a3e48a12db9de0
91bd671d9ef32c444bc363d40e7d072a317e899b9c662ad1dd837d1d2277ed3a
935c78ed2a8b54d1e45405f33a81d7122820c14a965750229f9be8e5d48d3376
944f7b834df014080fc6703401c66a25a7f784148a6a2e758c0594568ae351a6
99e502f00a1a89faf52ecf66791b4e3f5e85d5806544ecbf2943c5e4c4667c7e
9a118dcfc9dcb4b08cb5974926483ca437750f2c9becf6db10128accd57b198b
9a3c12072ed3b8a80321998ec90ed1915c2262b71c148b7a4ba08099d7fc0541
9d39e3127b199df526678091aa4681f829efb05a2df130f83edb51da08753fcd
9d8a2811fe6cec544f8e4ba7915c7ee8d4caa72257d97bf4f8964dae6c621ff6
9fb974b84a129972abbd1e2e5cfdf685cab5f6f22d881adf3845bc73b43eb4ad
a256529bd5b1b8846f8d2536ce7581fb6cea4479992f222d01535903dff48d79
a3d50ef27006d215b4828faae5cce1617ef8cbb2800346351dc17cb5159eaa50
a400fe551ce1b5f459f1808f5c93714ea243d7e4b10dc962936b21635f34f8b0
a47f17d6ebbf4621d8fe87ab790d8d8fb5c3086629194d9ff2d64faaa6e46ab6
a58db5adf9958450ff7368808e322df972146f6c86546e471b0608af84e93bb3
a70223898829b1dae52f218a01792075cf87c8f5bc10f410e2d15f0fb057f17a
a8a5c752f8ae0c033572453cbb3240ca9047eae565ea1f3df7cb1ea67e9984d9
a97dc3e56726da365e5116195a6b9eefc98b5018e73f53c5bd6e99583f79f56d
ac8778041fdb7f2e08ceb574c9a766247ea26f1a7d90fa854c4efcf4b361a957
ac9a5669ea71757e3799700d24c24fcabd3c8b97e2e6d267c67bbc3be4436462
acb67bb41b44277ba1d945f57f5f3f4325df997328e8885ee06de124ecbde118
aceabcad789ecff956642f386c61536a07b581d1c73f5bd4462686682bf9aa5f
af9fa9f0773266d650cff80076d18e7b3b6b170e807badd366cfef901e8e9235
b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b
b206040bd0394b10f97d5f7b12a8310e280a2f8fee90e7385f80c275f214fb64
b35f56de9c9628ab933499b9b424670c904afe4ffd2a22070d198cf459247260
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
b49f6a40e717ffb76dd7efa4e7ea878b60827127f18143705f6ab2e8b25f1283
b69335ae739737089bebce27cfc370df981bd29f27fca7ba40cc6cd893af9060
b9100a86e7eb0f3f86e40d25e8dd057a28793bbb984e88438fd3e7df05eaaa49
b9d2e26f22cdbae9b33b328fcaec06435834b057c435fd14a615dda245ce64d5
baafbc5d3a470ea59040dddefc64b8241b8d5081c5df1d0f3e2d395ca9270d44
bd2da9fc69887da8658af5688aacaf16bf76541964f19fb40c22497855e15740
c3d0ccc036971aca7f6332aec2cac5dd18c057ccd8395d350467b9c0dfc432c8
c79dc828b12ed77c8d0dc59ef0c96a630d758bd5b19f26b9e5c1051822f0a39b
ca25c041281d4b52800a89f8b5538c06ab5b95d99afd45c7c42654ca636feb4f
cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
d46ad86c11e4092faaececa2e076f72a78b0d965f6a2ca4e9c9c48c54f7cf5df
d47ef8e6e343895b5561cd0bb52f4cdb7fc04e55045740e0120e410cd0dddf81
d54f94df1233ab7224af68f63fe3df27584c4c01d70b2e65bcdc774ba05c6b41
d6887aae055eff5ba1d8eeb653fc7c2ba7f6c4831d2f06ee20b5dd1e45178273
da8c4bacc841dac6fd247e95d34e81f9896c52f1c9560e1dc300b628c37330d1
df179f7583362a8382421dadcbc9a497639f19dac1ea7c3774741d88b458c058
df3e003cc30e9bdd0313100e8ee5d468070b4b34d11ad355f276a356d4b9c7bf
e09c9127dac0929d232d9eaf49ee76941efa25807b2d6197c561327b46288d89
e15f21cd7a83e4e8d32c071f464287a2704794f2bdac683133a7b34dac6d55ba
e38f3f6f64fbb78489847e48d4664d32c59979542b154782c3be5ae72da860a0
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
e4a0335391a0cdd1e57626a33f8d947f0b7f4d74b0102a3c225961ba746b2126
e4b76ed0af6234ca979307d2e2c19a867fef645585f9785ad695fb36dbd45a98
e5063c2f8d59f2fa55456040d32935d5cceac9c23a0ae8a3e3ce026f08542496
e62580f2c2ae3878ba802740769fed193abe0b1d22a3130bdb36f9c69aa41332
e8390161ca933cb69515ed25ff87cbf82bdea9ab678606541b9fe21dcd3ab0a9
e93047ab88ddf3a33047a506b4a7594914e84fcf5ebac4b2723739e728e284b5
ea03bfd7fdda1eac185ebc3e8e74b33065b04c8e0adc48cbbd4136748dbd2742
ea46c4bbfb1c549721ae599d61413502c57785c0f411e9aafcf95985d2ea4a8b
eaf1b128b927ac2868755cb7366d35554255c8af362235afe270f9614f8c806d
ec34cd386427fe6deacf99f4fdbeea4b1d1ed25f505411650d7ceaa843a7fc63
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
ef22f8a5a2bedb042fc46f75b94d94706df3f0f874f897d9abddb56784f586e1
f24cd77318c239a2211ea8382efa423e81b21e515b902fbf707b7996f1b99a45
f74e2e7af5a2e1dcd32ce663bbcd4e79ca38177cc9aed4947873be75c4f58eb6
f94a0b8748fb6d8f32b70d464162f64e541983caa0631e5d3f2e73c40a17e393
f9f0e5457c894f1f7b34ba5f5cee2ed960ac3a627cabde4046e48e890d266679
fa3e9da6350b5a959cfc7b371fd9665fe017982f650514c0d59cd31c474bd8c7
fa8b52ffbef4c3722d121854e0fd4028fc6cd0372e07d4950e4c23ba0750696f
fb30d19bfdc58c092bdabad889657613116021c0d07e936fdb3e9e5dbd669872
fb4491ac8ba8263bc3648569c13e5c3db6559373d119c760b3bdf7816f352196
fbc4a87c9bb2a3264dd6a5326e619c0c2ef0f89e1a8c5cfe366163aa21600be3
fc49380a326d18192e6e10dc8b95f7738e27af87961a0221523910a6b8470500
fc64a3f93236408f1b7804c07d5bc6a4e9feac0388b7a94a6c6c2b61c5d2186e
fe7421687d3a97be3bed374774393148c6fe69a4fcb2eb47bd7d67717ad514c0
fe80262f4c357e72737b9fdbcd80883a5d0ea9d53996e5c84592d9d9f5cc04e2
fe8344de630b9e2cff3a5439c0962e31e02cd66470a16f0484a69a8332861c59