URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Submission: On April 16 via api from US

Summary

This website contacted 58 IPs in 7 countries across 48 domains to perform 218 HTTP transactions. The main IP is 2a02:26f0:6c00:18b::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
82 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
4 2606:4700::68... 13335 (CLOUDFLAR...)
1 4 52.30.78.155 16509 (AMAZON-02)
3 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
1 18.202.93.59 16509 (AMAZON-02)
2 15.188.105.205 16509 (AMAZON-02)
1 1 66.117.28.86 15224 (OMNITURE)
1 66.117.29.4 15224 (OMNITURE)
1 13.225.73.31 16509 (AMAZON-02)
1 54.225.83.164 14618 (AMAZON-AES)
6 104.111.226.89 16625 (AKAMAI-AS)
5 52.30.5.88 16509 (AMAZON-02)
1 3.225.134.189 14618 (AMAZON-AES)
3 2a00:1450:400... 15169 (GOOGLE)
1 172.217.16.162 15169 (GOOGLE)
1 5 2a00:1450:400... 15169 (GOOGLE)
2 6 2a00:1450:400... 15169 (GOOGLE)
6 2a00:1450:400... 15169 (GOOGLE)
1 54.197.190.85 14618 (AMAZON-AES)
4 2620:1ec:c11:... 8068 (MICROSOFT...)
1 3 23.5.97.37 16625 (AKAMAI-AS)
3 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 2606:4700::68... 13335 (CLOUDFLAR...)
2 13.224.194.92 16509 (AMAZON-02)
6 2a02:26f0:6c0... 20940 (AKAMAI-ASN1)
1 2 172.217.18.6 15169 (GOOGLE)
2 13.225.73.33 16509 (AMAZON-02)
2 74.119.119.135 19750 (AS-CRITEO)
1 35.186.249.72 15169 (GOOGLE)
1 1 178.250.2.146 44788 (ASN-CRITE...)
1 1 2600:1f18:730... 14618 (AMAZON-AES)
1 52.200.119.212 14618 (AMAZON-AES)
2 2 37.252.173.22 29990 (ASN-APPNEX)
2 52.215.98.88 16509 (AMAZON-02)
1 1 216.58.207.66 15169 (GOOGLE)
1 2600:9000:215... 16509 (AMAZON-02)
1 1 2a00:1450:400... 15169 (GOOGLE)
2 35.186.226.184 15169 (GOOGLE)
1 151.101.112.157 54113 (FASTLY)
2 104.244.42.195 13414 (TWITTER)
2 104.244.42.133 13414 (TWITTER)
3 2a03:2880:f12... 32934 (FACEBOOK)
1 2606:4700::68... 13335 (CLOUDFLAR...)
1 54.164.173.111 14618 (AMAZON-AES)
2 23.213.168.234 16625 (AKAMAI-AS)
7 34.231.218.119 14618 (AMAZON-AES)
6 52.203.156.212 14618 (AMAZON-AES)
1 35.227.211.136 15169 (GOOGLE)
6 2606:4700:10:... 13335 (CLOUDFLAR...)
1 35.190.72.21 15169 (GOOGLE)
1 34.95.127.121 15169 (GOOGLE)
2 178.250.0.130 44788 (ASN-CRITE...)
1 23.213.15.82 16625 (AKAMAI-AS)
3 2a00:1450:400... 15169 (GOOGLE)
1 2a00:1450:400... 15169 (GOOGLE)
1 2a00:1450:400... 15169 (GOOGLE)
3 172.217.21.194 15169 (GOOGLE)
1 178.250.0.161 44788 (ASN-CRITE...)
3 2a00:1450:400... 15169 (GOOGLE)
1 52.86.24.11 14618 (AMAZON-AES)
218 58
Apex Domain
Subdomains
Transfer
43 kohls.com
www.kohls.com
api-bd.kohls.com
ww8.kohls.com
mon1.kohls.com
1 MB
41 kohlsimg.com
media.kohlsimg.com
629 KB
19 clicktale.net
cdnssl.clicktale.net
ing-district.clicktale.net
conductor.clicktale.net
136 KB
12 doubleclick.net
googleads.g.doubleclick.net
8632166.fls.doubleclick.net
cm.g.doubleclick.net
stats.g.doubleclick.net
securepubads.g.doubleclick.net
92 KB
8 curalate.com
cdn.curalate.com
edge.curalate.com
324 KB
7 google.de
www.google.de
adservice.google.de
830 B
7 google.com
www.google.com
adservice.google.com
954 B
6 btstatic.com
s.btstatic.com
17 KB
5 googlesyndication.com
tpc.googlesyndication.com
pagead2.googlesyndication.com
11 KB
5 thebrighttag.com
s.thebrighttag.com
11 KB
5 demdex.net
dpm.demdex.net
kohls.demdex.net
8 KB
4 criteo.com
d.us.criteo.com
gum.criteo.com
b.criteo.com
120 KB
4 bing.com
bat.bing.com
16 KB
4 stylitics.com
widget.stylitics.com
widget-api.stylitics.com
209 KB
3 facebook.com
www.facebook.com
600 B
3 liadm.com
rp.liadm.com
rp4.liadm.com
idx.liadm.com
1 KB
3 google-analytics.com
www.google-analytics.com
18 KB
3 scorecardresearch.com
sb.scorecardresearch.com
2 KB
3 googletagmanager.com
www.googletagmanager.com
88 KB
2 criteo.net
static.criteo.net
520 B
2 pinterest.com
ct.pinterest.com
634 B
2 t.co
t.co
573 B
2 twitter.com
analytics.twitter.com
388 B
2 snapchat.com
tr.snapchat.com
2 adsrvr.org
match.adsrvr.org
806 B
2 adnxs.com
secure.adnxs.com
2 KB
2 micpn.com
tjxbfc1n.micpn.com
16 KB
2 pinimg.com
s.pinimg.com
16 KB
2 tagdelivery.com
cdn.tagdelivery.com
ad.tagdelivery.com
12 KB
2 facebook.net
connect.facebook.net
142 KB
2 zineone.com
cdn.zineone.com
apps.zineone.com
176 KB
2 go-mpulse.net
s.go-mpulse.net
c.go-mpulse.net
52 KB
1 googletagservices.com
www.googletagservices.com
14 KB
1 indexww.com
js-sec.indexww.com
37 KB
1 ojrq.net
www.ojrq.net
415 B
1 rlcdn.com
idsync.rlcdn.com
api.rlcdn.com Failed
40 B
1 sjv.io
kohls.sjv.io
830 B
1 cloudflare.com
www.cloudflare.com
564 B
1 ads-twitter.com
static.ads-twitter.com
2 KB
1 agkn.com
d.agkn.com
593 B
1 impactradius-event.com
d.impactradius-event.com
13 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 akstat.io
684dd307.akstat.io
201 B
1 omtrdc.net
kohls.tt.omtrdc.net
7 KB
1 everesttech.net
cm.everesttech.net
554 B
218 48
Domain Requested by
41 media.kohlsimg.com www.kohls.com
29 www.kohls.com www.kohls.com
s.go-mpulse.net
7 ing-district.clicktale.net s.go-mpulse.net
6 edge.curalate.com cdn.curalate.com
6 conductor.clicktale.net cdnssl.clicktale.net
s.go-mpulse.net
6 cdnssl.clicktale.net www.kohls.com
cdnssl.clicktale.net
6 www.google.de
6 www.google.com 2 redirects
6 s.btstatic.com www.kohls.com
s.btstatic.com
6 mon1.kohls.com www.kohls.com
mon1.kohls.com
6 api-bd.kohls.com www.kohls.com
api-bd.kohls.com
5 googleads.g.doubleclick.net 1 redirects www.googleadservices.com
5 s.thebrighttag.com s.btstatic.com
4 bat.bing.com s.btstatic.com
4 dpm.demdex.net 1 redirects www.kohls.com
s.go-mpulse.net
3 tpc.googlesyndication.com securepubads.g.doubleclick.net
tpc.googlesyndication.com
3 securepubads.g.doubleclick.net www.googletagservices.com
s.go-mpulse.net
securepubads.g.doubleclick.net
3 www.facebook.com
3 www.google-analytics.com www.kohls.com
3 sb.scorecardresearch.com 1 redirects www.kohls.com
3 www.googletagmanager.com s.btstatic.com
3 widget.stylitics.com www.kohls.com
2 pagead2.googlesyndication.com s.go-mpulse.net
2 static.criteo.net
2 ct.pinterest.com s.go-mpulse.net
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 d.us.criteo.com s.btstatic.com
d.us.criteo.com
2 tjxbfc1n.micpn.com www.kohls.com
2 8632166.fls.doubleclick.net 1 redirects www.googletagmanager.com
2 cdn.curalate.com www.kohls.com
cdn.curalate.com
2 s.pinimg.com www.kohls.com
s.pinimg.com
2 connect.facebook.net s.btstatic.com
connect.facebook.net
2 ww8.kohls.com www.kohls.com
1 idx.liadm.com s.go-mpulse.net
1 b.criteo.com
1 adservice.google.com www.googletagservices.com
1 adservice.google.de www.googletagservices.com
1 www.googletagservices.com www.kohls.com
1 js-sec.indexww.com www.kohls.com
1 www.ojrq.net
1 idsync.rlcdn.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 static.ads-twitter.com s.btstatic.com
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 cdn.tagdelivery.com s.btstatic.com
1 sc-static.net www.kohls.com
1 6249496.collect.igodigital.com s.btstatic.com
1 widget-api.stylitics.com s.go-mpulse.net
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 684dd307.akstat.io s.go-mpulse.net
1 c.go-mpulse.net s.go-mpulse.net
1 kohls.tt.omtrdc.net www.kohls.com
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
218 71
Subject Issuer Validity Valid
www.kohls.com
DigiCert SHA2 Extended Validation Server CA
2020-01-21 -
2021-09-26
2 years crt.sh
*.stylitics.com
Sectigo RSA Domain Validation Secure Server CA
2019-04-17 -
2020-05-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
*.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-04-01 -
2020-06-24
3 months crt.sh
www.googleadservices.com
GTS CA 1O1
2020-03-24 -
2020-06-16
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
*.pinimg.com
DigiCert SHA2 High Assurance Server CA
2019-05-29 -
2020-06-03
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
*.doubleclick.net
GTS CA 1O1
2020-03-24 -
2020-06-16
3 months crt.sh
*.micpn.com
Sectigo RSA Domain Validation Secure Server CA
2019-03-18 -
2020-06-15
a year crt.sh
*.us.criteo.com
DigiCert ECC Secure Server CA
2019-06-12 -
2020-06-16
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
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
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
*.pinterest.com
DigiCert SHA2 High Assurance Server CA
2019-06-05 -
2020-07-22
a year crt.sh
*.sjv.io
Sectigo RSA Domain Validation Secure Server CA
2019-04-22 -
2021-04-21
2 years crt.sh
sni.cloudflaressl.com
CloudFlare Inc ECC CA-2
2020-03-26 -
2020-10-09
6 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
*.criteo.net
DigiCert ECC Secure Server CA
2020-03-30 -
2020-06-28
3 months crt.sh
san.casalemedia.com
GeoTrust RSA CA 2018
2020-03-02 -
2021-04-01
a year crt.sh
*.google.de
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
*.google.com
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
*.criteo.com
DigiCert ECC Secure Server CA
2020-03-30 -
2020-06-28
3 months crt.sh
tpc.googlesyndication.com
GTS CA 1O1
2020-03-24 -
2020-06-16
3 months crt.sh

This page contains 8 frames:

Primary Page: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Frame ID: 2DA8A48EC83BFD83FC83A0B3E2718BE7
Requests: 223 HTTP requests in this frame

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

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

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

Frame: https://8632166.fls.doubleclick.net/activityi;dc_pre=COPQ3KXw7egCFaJM5Qodc2sKYg;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome;u11=Home%2520Furnishings%2520%2526%2520Home%2520Goods%2520%257C%2520Kohl%2527s;u13=for-the-home;u2=;u23=New%20Customer;u24=11400310355889857570695271717368127690;u25=8b453b8f-3664-4028-a887-5c9893d6403a;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome
Frame ID: DE3BFE263531112E0940D3822EF289D6
Requests: 1 HTTP requests in this frame

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

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

Frame: https://tpc.googlesyndication.com/sodar/sodar2/209/runner.html
Frame ID: 3C176CB1D4D614220EEDEF59AAACB870
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

218
Requests

98 %
HTTPS

35 %
IPv6

48
Domains

71
Subdomains

58
IPs

7
Countries

3484 kB
Transfer

10362 kB
Size

24
Cookies

Redirected requests

There were HTTP redirect chains for the following requests:

Request Chain 44
  • 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=1587072096572 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=1587072096572
Request Chain 60
  • https://cm.everesttech.net/cm/dd?d_uuid=05028975441525664530040122795556399586 HTTP 302
  • https://dpm.demdex.net/ibs:dpid=411&dpuuid=XpjMYQAAAZ44LhTJ
Request Chain 123
  • https://8632166.fls.doubleclick.net/activityi;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome;u11=Home%2520Furnishings%2520%2526%2520Home%2520Goods%2520%257C%2520Kohl%2527s;u13=for-the-home;u2=;u23=New%20Customer;u24=11400310355889857570695271717368127690;u25=8b453b8f-3664-4028-a887-5c9893d6403a;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome HTTP 302
  • https://8632166.fls.doubleclick.net/activityi;dc_pre=COPQ3KXw7egCFaJM5Qodc2sKYg;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome;u11=Home%2520Furnishings%2520%2526%2520Home%2520Goods%2520%257C%2520Kohl%2527s;u13=for-the-home;u2=;u23=New%20Customer;u24=11400310355889857570695271717368127690;u25=8b453b8f-3664-4028-a887-5c9893d6403a;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome
Request Chain 128
  • 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=3931216867 HTTP 302
  • https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=3931216867&ipr=y
Request Chain 129
  • 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=rc2MyRCEiY-JZJHMV676Q7l2R93K7rO1
Request Chain 130
  • https://rp.liadm.com/p?aid=a-00oc&duid=8567527823381980900 HTTP 302
  • https://rp4.liadm.com/p?aid=a-00oc&duid=8567527823381980900&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome
Request Chain 131
  • https://secure.adnxs.com/getuid?https%3A%2F%2Fs.thebrighttag.com%2Fcs%3Fbtt%3DEF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw%26uid%3D$UID%26tp%3Dan%26gdpr%3D1 HTTP 307
  • https://secure.adnxs.com/bounce?%2Fgetuid%3Fhttps%253A%252F%252Fs.thebrighttag.com%252Fcs%253Fbtt%253DEF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw%2526uid%253D%24UID%2526tp%253Dan%2526gdpr%253D1 HTTP 302
  • https://s.thebrighttag.com/cs?btt=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&uid=778689528975075079&tp=an&gdpr=1
Request Chain 133
  • https://cm.g.doubleclick.net/pixel?gdpr=1&google_nid=signal_dmp&google_cm&btt=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw HTTP 302
  • https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&google_gid=CAESEEc0ohlR9ZxEIRe6yzlwJdQ&google_cver=1
Request Chain 138
  • https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&v=1&_v=j81&tid=UA-45121696-1&cid=1638243898.1587072099&jid=1065076424&gjid=1269558579&_gid=1020618910.1587072099&_u=YGBAgAAB~&z=1596946519 HTTP 302
  • https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1638243898.1587072099&jid=1065076424&_v=j81&z=1596946519 HTTP 302
  • https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1638243898.1587072099&jid=1065076424&_v=j81&z=1596946519&slf_rd=1&random=2878225837
Request Chain 146
  • https://sb.scorecardresearch.com/b?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome&ns__t=1587072099445&ns_c=UTF-8&cv=3.5&c8=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&c9= HTTP 302
  • https://sb.scorecardresearch.com/b2?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome&ns__t=1587072099445&ns_c=UTF-8&cv=3.5&c8=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&c9=

218 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
Primary Request for-the-home.jsp
www.kohls.com/sale-event/
176 KB
178 KB
Document
General
Full URL
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
b2b9fcf8497404b50054ca1bd348de9387e7a369a85f91c3819e387214609c83
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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=9; expires=Tue, 13-Oct-2020 21:21:35 GMT; path=/; secure _abck=D4E3FEF7A8ED826E1D47E9FFB0CB0460~-1~YAAQFbsQArnnrIFxAQAA9lbehAOULjHSDDlxNv2w5COT5Mgvy8n0HRC9k4HfufcU3uz671hVQA2/bvDg8uzLof2ZTbVawt8f2o5ZqqQJGuwXbxJAyWGFtbZW2MvJuD95yQ+shViWPFrICFULqXDtzPW2pgwTDgeR5efUe9X3UJ6MIIfZIo2ONZQOvefDEd49XjLCZyZtul+7Fvel6UL1yKVDu/kFrHAk+Cxap6PlsY3Hu7A6Hu9e7ch9yzDA2Ayoq543fWVOT3JRETRxGTlmlADjtBANBX6gcbFU2Gp1UoN6m+wDVaZugFA=~-1~-1~-1; Domain=.kohls.com; Path=/; Expires=Fri, 16 Apr 2021 21:21:35 GMT; Max-Age=31536000; Secure bm_sz=950F93F437751C09FDAA8A45590FB8B0~YAAQFbsQArjnrIFxAQAA9lbehAcWmFRdcX/IJpESi05RFoqkUoQlQENzQtDi2YXH9vKI7CaN7JH3TCAT4YmlVD5iSMn0k7Gbf/ovwgVsxqNaa/PUOPO1vD4Hde3awKyIqUa3GhFREU9Tnwiev331Xdm7HqQcOuP0+ftSul6D+suq3kCyddiUd0ewXM2evus=; Domain=.kohls.com; Path=/; Expires=Fri, 17 Apr 2020 01:21:35 GMT; Max-Age=14400; HttpOnly bm_mi=42BAF4229A1B6DB7D4C7B2ACE6771581~tiI3YjRRqiKz7pLRBRRH2po0ZlLLGtIQ392H7NgdGNVRi6cxIbgjftwFAXyUDvjAUqkwTxjNBsQO3iEHLagVBqyTEiPL6uIAXr5mSZStIlcpVDsshsBGqTGjWfkUV1yD8xZXj/f1wnORJdnD9KLP3NmcaI2fN5sjMjVXVUo9DMJ0y025M/31LgxFb5CuV+9vxiE4Ca02dmviThClRjf4KisjZ/QpeoftZDFAQxX3wSiW7noobzlzoGUSplHpokSh; Domain=.kohls.com; Path=/; Max-Age=0; HttpOnly SL_Cookie=a1; expires=Fri, 17 Apr 2020 04:04:17 GMT; path=/; domain=.kohls.com; secure akavpau_www=1587072395~id=14b16e66ed90053f39e156387b3523f7; Path=/; Secure; SameSite=None ak_bmsc=FEC5F472E653B901F01F55539C8D742E0210BB15277A00005FCC985E9008D711~plEjQwrrcfo1mur7expyzTFh0m0Ry/j4gupxqjA9VuO5TyN7mkzFhTOqvoMAmDMD4BOyNvRS10gh9Bc2LBqYYLgP2Wj12gr9E0aUZtUWnLd/qgalIiyNczS56TdC882Hng28rCfykiIbzj9QEhg/WIjY1pK6lCPnS+O4iw6COJa45kXFhQDZPlwmzvI7j8XeNpbiIl+XEtpzh11r3Z1TsKKp1/XG+OfSlH0jeClOIqLbQ=; expires=Thu, 16 Apr 2020 23:21:35 GMT; max-age=7200; path=/; domain=.kohls.com; HttpOnly AKA_PDP2=True; expires=Tue, 13-Oct-2020 21:21:35 GMT; path=/; secure AKA_HP2=True; expires=Tue, 13-Oct-2020 21:21:35 GMT; path=/; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 11:49:55 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 09:56:35 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 09:56:35 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Fri, 17 Apr 2020 11:49:55 GMT; path=/; domain=.kohls.com; secure SL_Cookie=a1; expires=Thu, 16 Apr 2020 22:00:00 GMT; path=/; domain=.kohls.com; secure
device_type
Touch
strict-transport-security
max-age=15768000 ; preload
x-origin-ttl
Fri, 17 Apr 2020 04:04:17 GMT Fri, 17 Apr 2020 04:04:17 GMT Fri, 17 Apr 2020 04:04:17 GMT Fri, 17 Apr 2020 04:04:17 GMT
x-origin-cc
no-store no-store no-store no-store
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
x-edgeconnect-cache-status
1
host_service
x-akamai-transformed
9 175864 0 pmb=mTOE,3mRUM,2
cache-control
private, max-age=600
expires
Thu, 16 Apr 2020 21:31:36 GMT
date
Thu, 16 Apr 2020 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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, 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, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
3061
expires
Fri, 17 Apr 2020 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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, 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, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
17129
expires
Fri, 17 Apr 2020 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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
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
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
42089
expires
Fri, 17 Apr 2020 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
content-encoding
br
last-modified
Wed, 25 Mar 2020 05:54:00 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 26 Mar 2020 05:53:58 GMT, Thu, 26 Mar 2020 05:53:58 GMT, Thu, 26 Mar 2020 05:53:58 GMT, Thu, 26 Mar 2020 05:53:58 GMT, Thu, 26 Mar 2020 05:53:58 GMT, Thu, 26 Mar 2020 05:53:58 GMT
etag
"5e6c7202-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, 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 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Apache /
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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.21:63047fe
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
20
expires
Thu, 16 Apr 2020 21:51:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Apache /
Resource Hash
63630dabec4f48e5b818c21158eda205d78186285a429833931511b5c79ea337

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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.21:630480b
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
20170
expires
Thu, 16 Apr 2020 21:51:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Apache /
Resource Hash
b69335ae739737089bebce27cfc370df981bd29f27fca7ba40cc6cd893af9060

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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.21:630481f
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
113597
expires
Thu, 16 Apr 2020 21:51:36 GMT
33bf7c3
www.kohls.com/akam/11/
32 KB
11 KB
Script
General
Full URL
https://www.kohls.com/akam/11/33bf7c3
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
1a87fc922ae495af041941359c3d2cff2e8ea0b8d55326800c05d861dd8de641
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
content-encoding
gzip
last-modified
Thu, 02 May 2019 20:06:46 GMT
x-origin-ttl
, ,
etag
"2790ce1232e71fbdf7689df47a581eafe3458d57dd6cc1337b6c9d8d89803481"
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
10416
expires
Thu, 16 Apr 2020 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
99e502f00a1a89faf52ecf66791b4e3f5e85d5806544ecbf2943c5e4c4667c7e
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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 21:21:36 GMT
hfjFonts.css
www.kohls.com/media/css/fonts/
238 KB
137 KB
Stylesheet
General
Full URL
https://www.kohls.com/media/css/fonts/hfjFonts.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
content-encoding
br
last-modified
Tue, 19 Feb 2019 14:57:23 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Wed, 20 Feb 2019 14:57:21 GMT, Wed, 20 Feb 2019 14:57:21 GMT, Wed, 20 Feb 2019 14:57:21 GMT, Wed, 20 Feb 2019 14:57:21 GMT, Wed, 20 Feb 2019 14:57:21 GMT, Wed, 20 Feb 2019 14:57:21 GMT, Wed, 20 Feb 2019 14:57:21 GMT, Wed, 20 Feb 2019 14:57:21 GMT
etag
"38002e-3b6b7-562e9f7738b80"
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, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=2
accept-ranges
bytes
content-length
139432
expires
Fri, 17 Apr 2020 21:21:36 GMT
fth-dp-20200304-fth-dt-hero
media.kohlsimg.com/is/image/kohls/
216 KB
216 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-fth-dt-hero?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
db2db73c8e2465b0c406bd7ffbe0bbfb39abd592d93cc4c578891d25015d19ee

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"0dbbf6afd7271633f19890c8748cb568"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=900
content-length
220986
expires
Thu, 16 Apr 2020 21:36:37 GMT
fth-dp-20200304-fth-m-hero
media.kohlsimg.com/is/image/kohls/
38 KB
38 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-fth-m-hero?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
7723054026b9a0f9a04bc1bd92d534d0f391d06928a6ea9f21a88d73ce674770

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"cb38520b1753b7df010f0e3fb8a275a7"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=900
content-length
38818
expires
Thu, 16 Apr 2020 21:36:37 GMT
fth-dp-20200304-patio
media.kohlsimg.com/is/image/kohls/
11 KB
11 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-patio?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
835e6e2778a8f1ad7136ed9496722f3590adb0828ea7d331d35f98e8bf6d936a

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"1895b967e0dcd20330b6d4ef638625bc"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=900
content-length
10799
expires
Thu, 16 Apr 2020 21:36:37 GMT
fth-dp-20200304-rugs
media.kohlsimg.com/is/image/kohls/
7 KB
8 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-rugs?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
d9b35bfb57f54552bf5ff05d248d3b9b78d0cad3d7a5cd35e7b8a794a0203fd4

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"f23b21acd20754d7cb15d8cab02d4f04"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
7588
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-curtains
media.kohlsimg.com/is/image/kohls/
11 KB
11 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-curtains?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
1c994fe0f3d03df755d2421059188b9e6428b0c8b34ac09fb4d1c5572e27e63b

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"65b7013298805dc2fdff6617c38ad175"
x-serial
1991
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
10918
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-small
media.kohlsimg.com/is/image/kohls/
2 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-small?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
bd003897078b211fddaa84e7b31cfc90b0de54d294dffc31aece56ed026ce186

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"2227f8c65e2ec30ad18a3d77d9773104"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2492
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-floor-care
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-floor-care?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
3b3bed8ebb57892eb56c8f10f80dea40b578350db407de6e58375312c2031ab8

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"8b8af8021806bf71c46be55ffabe9967"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1818
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-bedding
media.kohlsimg.com/is/image/kohls/
7 KB
8 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-bedding?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
2b15aafeffa35cd310b17539fa8c620e1a51510ff44eb6ba8bf0bd9d109bbac6

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"7ee0efdb69901a28b5cdd5157f9baeaf"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=899
content-length
7571
expires
Thu, 16 Apr 2020 21:36:36 GMT
fth-dp-20200304-kitchen
media.kohlsimg.com/is/image/kohls/
6 KB
6 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-kitchen?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
7ce29054105464dfd219d78809096d5ef1654eb65352436a7047be55c95246bc

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"7f788d20423cee856ece9fc2a804e46f"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=900
content-length
6224
expires
Thu, 16 Apr 2020 21:36:37 GMT
fth-dp-20200304-electronics
media.kohlsimg.com/is/image/kohls/
4 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-electronics?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
0880e33d6b135939c235f47ec1a44ccb6337219fe1c674f91c36a687b72f4114

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Manager
etag
"79f761c8aecc42903b9ab0d509d7da20"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
4164
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-storage
media.kohlsimg.com/is/image/kohls/
4 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-storage?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
bc24d0d41bcdb6b695552beb813309350739bc52e9e6e03c7766816762fbf157

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Manager
etag
"cc633f65c1f9d129b66a8d4b1f33f96f"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
4062
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-lugage
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-lugage?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
59bf1353d95c9bca6c03dbba0ba374b1d503144432d3aea453fcb2dcbf912873

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Manager
etag
"ea2ae298d2f86dd5e9de393efdca1d5c"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2292
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-cookware
media.kohlsimg.com/is/image/kohls/
2 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-cookware?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
5362b7a5123f497155cfd7f422457370fdaaf3b0b0b3bc3798eeed9f1643c419

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"b048109852b61a6f94d9d79cfe166ad4"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2414
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-furniture
media.kohlsimg.com/is/image/kohls/
1 KB
1 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-furniture?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
8c4733e6ed8309884300bfdd6c99a28c43a078277dfb013e2036eebdd5930c06

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"602db170419439793b7134a5b588e70d"
x-serial
821
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1166
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-main-m
media.kohlsimg.com/is/image/kohls/
34 KB
34 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-main-m?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
749c148a1459170716835fe3bb0e850c0004430c917fcaf75e22e7ea327f1165

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"7c96478fd5a1f4187258034ed9170e48"
x-serial
534
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
34914
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-main-d
media.kohlsimg.com/is/image/kohls/
24 KB
24 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-main-d?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
aa62689b37973c7306183d12324ea9daf6f9d50fbe0f2a65f41b81aaa556cae1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"e088291ec8b73cd2ffdd04177a6d3bb0"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
24646
expires
Thu, 23 Apr 2020 21:21:36 GMT
dp-templates-d-20200401-staying-in
media.kohlsimg.com/is/image/kohls/
27 KB
28 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/dp-templates-d-20200401-staying-in?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
625b967507428ba6b5801831c36f3caf3e819261a8b920859ef73ee247c4115a

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"2a01e9e520e111fb3bfe0173e8058721"
x-serial
870
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
27954
expires
Thu, 23 Apr 2020 21:21:37 GMT
dp-templates-m-20200401-staying-in
media.kohlsimg.com/is/image/kohls/
18 KB
19 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/dp-templates-m-20200401-staying-in?scl=1&fmt=pjpeg&qlt=80,1
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
a97d646b5a448fe56237813784c8d585048fbe7f6f6efb02a48736a6094c63f3

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"6c2928dac442836b5984225b244f116e"
x-serial
715
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
18792
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-e1-a1-m
media.kohlsimg.com/is/image/kohls/
16 KB
17 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-e1-a1-m?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
897fec07a1f8ff609389c54436f01e96897d2041be089efa815d51288bba5674

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Manager
etag
"c1c48daa68e8d5becf2eba6680be1105"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
16698
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-e1-a1-dt
media.kohlsimg.com/is/image/kohls/
29 KB
30 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-e1-a1-dt?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
0de9c58ab4cbe6d95b0d1a50488fe5ec8021163ac1d3a4be9c22b6ebb4838a49

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"1d13ab438490d2e0b59a1779b896d36f"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
30190
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-e1-a2
media.kohlsimg.com/is/image/kohls/
9 KB
9 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-e1-a2?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
182dc918c9bcf19ee8e60e9a0813782d5524b19a76721d40e4df50c9ef3bfcbc

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Manager
etag
"87cb3cd0d3a009d31c887ab991be46a9"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
9328
expires
Thu, 23 Apr 2020 21:21:37 GMT
fth-dp-20200304-e1-a3
media.kohlsimg.com/is/image/kohls/
10 KB
10 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-e1-a3?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
c078fae7ad7ab63420b68e38395d680cc8c7c3e2d13e0a4f295082bac5983f76

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"8045ed8c94416ba0f8ff1e15fa20c120"
x-serial
1115
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
10168
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-e1-a4
media.kohlsimg.com/is/image/kohls/
9 KB
10 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-e1-a4?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
c31c7980df981fd1920e536706c32a3c0496c7154eff64c37538e1f3b4ddb266

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"6eb1639d71d358db294f3bf609b741db"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
9574
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-e1-a5
media.kohlsimg.com/is/image/kohls/
13 KB
13 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-e1-a5?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
f5c47edf8bb006ff7872e596819aa81ffaa80f3740330622e048c7de5c3638fc

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"0b56f7c77621d9743d29bdef714e1c83"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
13164
expires
Thu, 23 Apr 2020 21:21:36 GMT
fth-dp-20200304-scottliving-image
media.kohlsimg.com/is/image/kohls/
41 KB
41 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-scottliving-image?scl=1&fmt=pjpeg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
e556da74f98a7e28f6587d84bffa721c893c2cc537ee69aacced1f1755a90a2a

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"4fb0234c94b28a7a4a62563d9c5d71d4"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=900
content-length
41666
expires
Thu, 16 Apr 2020 21:36:37 GMT
style.css
widget.stylitics.com/kohls-mnm-v2/css/
77 KB
15 KB
Stylesheet
General
Full URL
https://widget.stylitics.com/kohls-mnm-v2/css/style.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700::6812:15a0 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
c33bfb9bf99597501c78e3dc3530babcd11f7b98b7aca0a4631f312a14e400c9

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
content-encoding
gzip
cf-cache-status
HIT
age
1070
status
200
cf-request-id
022677718a00003264992a3200000001
last-modified
Tue, 10 Mar 2020 19:24:25 GMT
server
cloudflare
etag
W/"5e67e969-13448"
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET, POST, OPTIONS
content-type
text/css
access-control-allow-origin
*
access-control-expose-headers
Content-Length,Content-Range
cache-control
public, max-age=3600
cf-ray
5850f4fc1d8f3264-FRA
access-control-allow-headers
DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
expires
Thu, 16 Apr 2020 22:21:36 GMT
widget.js
widget.stylitics.com/v2/
247 KB
95 KB
Script
General
Full URL
https://widget.stylitics.com/v2/widget.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700::6812:15a0 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
9a360cf5ee4308a7d244179b2f91f25d33310871c20b6cf765093acb81fd8e49

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
content-encoding
gzip
cf-cache-status
HIT
age
1651
status
200
cf-request-id
02267771bb00003264992a9200000001
last-modified
Wed, 08 Apr 2020 23:29:34 GMT
server
cloudflare
etag
W/"5e8e5e5e-3dcfd"
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET, POST, OPTIONS
content-type
application/javascript
access-control-allow-origin
*
access-control-expose-headers
Content-Length,Content-Range
cache-control
public, max-age=3600
cf-ray
5850f4fc5e7b3264-FRA
access-control-allow-headers
DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
expires
Thu, 16 Apr 2020 22:21:36 GMT
main.js
widget.stylitics.com/kohls-mnm-v2/js/
276 KB
92 KB
Script
General
Full URL
https://widget.stylitics.com/kohls-mnm-v2/js/main.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700::6812:15a0 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
a26c4421f420f7a7a0615312c31cb8150ce3dfc51afe4d9516b4bf36f5d24bac

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
content-encoding
gzip
cf-cache-status
HIT
age
3025
status
200
cf-request-id
02267771bc00003264992aa200000001
last-modified
Tue, 10 Mar 2020 19:24:46 GMT
server
cloudflare
etag
W/"5e67e97e-44e38"
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET, POST, OPTIONS
content-type
application/javascript
access-control-allow-origin
*
access-control-expose-headers
Content-Length,Content-Range
cache-control
public, max-age=3600
cf-ray
5850f4fc6e803264-FRA
access-control-allow-headers
DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
expires
Thu, 16 Apr 2020 22:21:36 GMT
fth-dp-20200304-fth-gc-a1
media.kohlsimg.com/is/image/kohls/
32 KB
32 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-fth-gc-a1?scl=1&fmt=png-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
ce7e971dc5b5a372e890f41e8b5de2eac3d5af4fa276784a7b97da2e26fe04de

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"38fd1756294cc29616fb9aeecf1714dc"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, max-age=900
content-length
32402
expires
Thu, 16 Apr 2020 21:36:37 GMT
fth-dp-20200304-fth-gc-a2
media.kohlsimg.com/is/image/kohls/
4 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20200304-fth-gc-a2?scl=1&fmt=png-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
04e55163faf7d62a45c31e2d6ed51765daf5f7655573b6e17ae919567b785d6c

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Manager
etag
"69253a534c986d346790ac729c412713"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
3920
expires
Thu, 23 Apr 2020 21:21:37 GMT
0d627b0f916377baf33570265c79a
www.kohls.com/public/
64 KB
16 KB
Script
General
Full URL
https://www.kohls.com/public/0d627b0f916377baf33570265c79a
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
8bd5e5729a3fb989a0bcb99fd966df11e1c44198c447712fa4136996e2b28c0a
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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 21:21:36 GMT
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=1587072096572
  • 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=1587072096572
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=1587072096572
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.30.78.155 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-78-155.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
a5bab066a8cde4b5cd4cbe51b41160e99daa91f8f166f6b992f80090d3962295
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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-0e6803665.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
HaAT1apxSgs=
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
2232
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
yn5YhGFMSao=
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=1587072096572
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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 21:21:36 GMT
id
api-bd.kohls.com/v1/ecs/correlation/
36 B
357 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
8d985c9981e1b6470133490825f7ccc5b85425f8ebc28fbf5bc1a301077f2fbf

Request headers

Accept
*/*
Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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:63049a7
server-timing
cdn-cache; desc=MISS, edge; dur=94, origin; dur=34
content-length
36
id
api-bd.kohls.com/v1/ecs/correlation/
36 B
357 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
28b74976b46465cba8ad00082cfdcb5f3cf905a74623b2a2940d8e802b2433eb

Request headers

Accept
*/*
Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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:63049ef
server-timing
cdn-cache; desc=MISS, edge; dur=105, origin; dur=30
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 BF5A
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:6c00:181::11a6 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
9fb974b84a129972abbd1e2e5cfdf685cab5f6f22d881adf3845bc73b43eb4ad

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 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
666 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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 21:21:36 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 21:21:36 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
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 21:21:36 GMT
server
Akamai Image Server
etag
"f4d95f99ca6627c0da518f4776dd6700"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, max-age=851
content-length
738
expires
Thu, 16 Apr 2020 21:35:47 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
fth-dp-20191226-peopledog
media.kohlsimg.com/is/image/kohls/
6 KB
6 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/fth-dp-20191226-peopledog
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Server /
Resource Hash
320c70ad4bf650961b94f2e2939c14470e8660dc3e337e99f29339fc6405f14c

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
server
Akamai Image Server
etag
"1b6fef9b9ff6f46f2ffedc486ce1b989"
status
200
content-type
image/jpeg
access-control-allow-origin
*
cache-control
private, max-age=900
content-length
6445
expires
Thu, 16 Apr 2020 21:36:37 GMT
bed-and-bath-dp-20200304-mombg-d
media.kohlsimg.com/is/image/kohls/
8 KB
9 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/bed-and-bath-dp-20200304-mombg-d
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Akamai Image Manager /
Resource Hash
dadc398fbea0cbcbfd726901951318df5d51725de440e4fc82d1bccb0dfdfb45

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
server
Akamai Image Manager
etag
"0483d53c48d78858ad33e903653ab0c6"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
8638
expires
Thu, 23 Apr 2020 21:21:36 GMT
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 4443
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
18.202.93.59 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-18-202-93-59.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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Accept-Encoding
gzip, deflate, br
Accept-Language
en-US
Cookie
demdex=05028975441525664530040122795556399586
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome

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:23 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=05028975441525664530040122795556399586;Path=/;Domain=.demdex.net;Expires=Tue, 13-Oct-2020 21:21:36 GMT;Max-Age=15552000;Secure;SameSite=None
Strict-Transport-Security
max-age=31536000; includeSubDomains
Vary
Accept-Encoding, User-Agent
X-TID
ebtouVJNSdI=
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=11400310355889857570695271717368127690&ts=1587072096857
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.105.205 Paris, France, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-15-188-105-205.eu-west-3.compute.amazonaws.com
Software
jag /
Resource Hash
ff30745030d165d5a474636821019b31c675ce1564e79da1cbe1e19f7617d444
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:36 GMT
x-content-type-options
nosniff
server
jag
xserver
anedge-65fb49f79-gwm5l
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=XpjMYQAAAZ44LhTJ
dpm.demdex.net/
Redirect Chain
  • https://cm.everesttech.net/cm/dd?d_uuid=05028975441525664530040122795556399586
  • https://dpm.demdex.net/ibs:dpid=411&dpuuid=XpjMYQAAAZ44LhTJ
42 B
915 B
Image
General
Full URL
https://dpm.demdex.net/ibs:dpid=411&dpuuid=XpjMYQAAAZ44LhTJ
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.30.78.155 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-78-155.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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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-0f0e7e8a7.edge-irl1.demdex.com 5.66.0.20200408080925 1ms (+1ms)
Pragma
no-cache
Strict-Transport-Security
max-age=31536000; includeSubDomains
X-Content-Type-Options
nosniff
X-TID
RGc8HaYVRlI=
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 21:21:36 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=XpjMYQAAAZ44LhTJ
Cache-Control
no-cache
Connection
Keep-Alive
Keep-Alive
timeout=15,max=100
Content-Length
0
0d627b0f916377baf33570265c79a
www.kohls.com/public/
17 B
736 B
XHR
General
Full URL
https://www.kohls.com/public/0d627b0f916377baf33570265c79a
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/public/0d627b0f916377baf33570265c79a
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
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
x-origin-ttl
Thu, 16 Apr 2020 21:21:37 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:38:25 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:38:24 GMT, Thu, 02 Apr 2020 05:38:24 GMT, Thu, 02 Apr 2020 05:38:24 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 21:21:37 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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, 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, max-age=0, no-cache, no-store
accept-ranges
bytes
expires
Thu, 16 Apr 2020 21:21:37 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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
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
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
2231
expires
Fri, 17 Apr 2020 21:21:37 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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 21:21:37 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
content-encoding
br
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
etag
"5e729f13-13f6e"
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
25016
expires
Fri, 17 Apr 2020 21:21:37 GMT
json
kohls.tt.omtrdc.net/m2/kohls/mbox/
24 KB
7 KB
XHR
General
Full URL
https://kohls.tt.omtrdc.net/m2/kohls/mbox/json?mbox=target-global-mbox&mboxSession=1496cc11290049019d3109d9a57d540b&mboxPC=&mboxPage=217f125e1d8942ac9aa9de5687605c96&mboxRid=872b6085fea64f6084fa0b41bd2b1698&mboxVersion=1.7.1&mboxCount=1&mboxTime=1587079296594&mboxHost=www.kohls.com&mboxURL=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&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=True&tceIsCNCRedesign=false&mboxMCSDID=6FE357CE6136B4E0-0E70FE8A2B52879D&vst.trk=ww9.kohls.com&vst.trks=ww8.kohls.com&mboxMCGVID=11400310355889857570695271717368127690&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
d8fdce64bbf770066b67c13065828cc26206c371b426dd45a4939a4a3d932f1b

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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
872b6085fea64f6084fa0b41bd2b1698
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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
akamai-request-id2
2.16.187.21:6304f6c
server-timing
cdn-cache; desc=MISS, edge; dur=97, origin; dur=42
access-control-allow-origin
*
fwdhst
origin-gcp-us-central1-ecs.kohls.com
config.json
c.go-mpulse.net/api/ Frame BF5A
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=5290240&v=1.667.0&if=&sl=0&si=q05zucm40f-q8wgo0&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:181::11a6 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
ee9c1d075ccb7aacfb8c4b0ba397eed8c8c956e15b915f89f6ce7cde00766333

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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
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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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 21:21:37 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:38:22 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:38:22 GMT, Thu, 02 Apr 2020 05:38:22 GMT, Thu, 02 Apr 2020 05:38:22 GMT, Thu, 02 Apr 2020 05:38:22 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, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
10502
expires
Fri, 17 Apr 2020 21:21:37 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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
09f8f339f39acb70b7d6cbdf7c1b0be8b12b4f0bc5533350e121ce679ad847b4
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
463909169291216ACCM5c9893d6403a
x-edgeconnect-origin-mex-latency
57
date
Thu, 16 Apr 2020 21:21:37 GMT
x-sessionid
8b453b8f-3664-4028-a887-5c9893d6403a
vary
Accept-Encoding
x-edgeconnect-midmile-rtt
95
x-isvalidated
true
status
200
x-sessionid_expires
2020-04-16 16:36:37.737
server-timing
cdn-cache; desc=MISS, edge; dur=114, origin; dur=57
content-encoding
gzip
content-length
225
pragma
no-cache
correlation-id
:null::5a723f72-c47c-4ff4-add3-7a7bd457470c::1587072097735::us-central1-c::cprod-green-accservice-prod-zfjs::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 21:21:37 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
Apache /
Resource Hash
140b59aaf164518b2c1b4a592f8b3fabd61dcdf810f00c83ab3d8c979a0f32b9
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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 21:21:37 GMT
0d627b0f916377baf33570265c79a
www.kohls.com/public/
17 B
731 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 GMT
x-origin-ttl
Thu, 16 Apr 2020 21:21:37 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
pixel_33bf7c3
www.kohls.com/akam/11/
0
665 B
XHR
General
Full URL
https://www.kohls.com/akam/11/pixel_33bf7c3
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
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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 21:21:37 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:37 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 21:21:37 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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
1abca67531d82517b62bb8e9b03864ac8da95149eaf71588ba7debfb66890b31
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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-edgeconnect-origin-mex-latency
22
date
Thu, 16 Apr 2020 21:21:38 GMT
content-encoding
gzip
vary
Accept-Encoding
x-edgeconnect-midmile-rtt
94
status
200
server-timing
cdn-cache; desc=MISS, edge; dur=95, origin; dur=22
content-length
1602
host_service
FutureTenseContentServer:11.1.1.8.0
last-modified
Thu, 16 Apr 2020 21:21:37 GMT
x-origin-ttl
,
x-edgeconnect-cache-status
0
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 21:21:38 GMT
/
684dd307.akstat.io/
0
201 B
Other
General
Full URL
https://684dd307.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:181::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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 21:21:38 GMT
nv_bootstrap.js
mon1.kohls.com/nv/kohls/
1 KB
920 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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
9a118dcfc9dcb4b08cb5974926483ca437750f2c9becf6db10128accd57b198b

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
content-encoding
gzip
etag
"0183887516"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
624
expires
Thu, 16 Apr 2020 22:21:38 GMT
oo_desktop.js
www.kohls.com/onlineopinionV5/
122 KB
17 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:18b::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
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
accept-ranges
bytes
expires
Thu, 16 Apr 2020 21:21:38 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.31 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-31.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
6102b6f9b0a2f3d5b128c566862198ada13900b20be86edd070d9744329c14f1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
635805
ETag
"76f3ffb5d22c60d6015df0332ad5f3f4"
X-Cache
Hit from cloudfront
Content-Type
application/javascript
Via
1.1 2b2e2811e641703aebf776da39317b9c.cloudfront.net (CloudFront)
Connection
keep-alive
X-Amz-Cf-Pop
FRA2-C2
Accept-Ranges
bytes
Content-Length
21357
X-Amz-Cf-Id
BsWdD3i5zGINbCZi-jIIeVVec7sxNxElcy7cvmBSF8i7rNdakmxJQQ==
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.225.83.164 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-54-225-83-164.compute-1.amazonaws.com
Software
nginx/1.4.6 (Ubuntu) /
Resource Hash
3fee8ee9cdc7566bfdf93c8158870816876ef54b93e58b205cb7f52f1d9ed064

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
104.111.226.89 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-111-226-89.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
c93fbf07aea53b8f5c7f7477a6e9eccc4024356002f210ba6b24ea1ce48f1814

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
Content-Encoding
gzip
Last-Modified
Thu, 12 Dec 2019 17:28:13 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
12415
s14537471103504
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/s14537471103504?AQB=1&ndh=1&pf=1&callback=s_c_il[1].doPostbacks&et=1&t=16%2F3%2F2020%2023%3A21%3A38%204%20-120&d.&nsid=0&jsonv=1&.d&sdid=6FE357CE6136B4E0-0E70FE8A2B52879D&mid=11400310355889857570695271717368127690&aamlh=6&ce=UTF-8&ns=kohls&pageName=for_thehome&g=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&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=523998%3A1%3A0%2C523996%3A1%3A0%2C525023%3A1%3A0%2C524186%3A0%3A0%2C524571%3A1%3A0%2C524251%3A1%3A0%2C521474%3A0%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%7C04%3A00%20pm&v18=thu%7Cweekday%7C04%3A00%20pm&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=for_thehome&c64=VisitorAPI%20Present&v68=for_thehome&v70=8b453b8f-3664-4028-a887-5c9893d6403a&v71=klsbrwcki%3A8b453b8f-3664-4028-a887-5c9893d6403a&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.105.205 Paris, France, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-15-188-105-205.eu-west-3.compute.amazonaws.com
Software
jag /
Resource Hash
54615af7e556d60b2afc1382ed52fd96c1d65e37aba82e9caa741c6af25bb2c4
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
HcZpiLZnTr0=
date
Thu, 16 Apr 2020 21:21:37 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
8307
x-xss-protection
1; mode=block
dcs
dcs-prod-irl1-v065-0b87ce274.edge-irl1.demdex.com 5.66.0.20200408080925 7ms (+1ms)
pragma
no-cache
last-modified
Fri, 17 Apr 2020 21:21:38 GMT
server
jag
xserver
anedge-65fb49f79-qjs6h
etag
3408211378737348608-4618414647561598477
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 21:21:38 GMT
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
cav_nv.js
mon1.kohls.com/nv/kohls/ Frame 4391
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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
28d5c7d2279d76c0643863a7d3926cb5b831c26538611f92a105cc6533cd531a

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
content-encoding
gzip
etag
"0192755029"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
183985
expires
Thu, 16 Apr 2020 22:21:38 GMT
tag
s.thebrighttag.com/
24 KB
7 KB
Script
General
Full URL
https://s.thebrighttag.com/tag?site=4DPyaxM&H=4n7pz93
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
52.30.5.88 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-5-88.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
f746e82bd131a5b09043ae341bd8c0d6013014eab5da521392278988164a385e

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
Content-Encoding
gzip
Server
nginx
ETag
45316801a30da23c124c5874593828df
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
4209b102-8028-11ea-b9da-0000ac150af8
Expires
Thu, 01 Jan 1970 00:00: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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
6dfa271e269c6f6693aee52b71b1e808077d6f9c0cb8389c8e4a2181ec595f2d

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
content-encoding
gzip
etag
"0195452865"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
12331
expires
Thu, 16 Apr 2020 22:21:38 GMT
test_rum_nv
mon1.kohls.com/ Frame 4391
277 B
723 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|2|650|1|5|14|198|452|-2|1977|1|1|2178|1090|10|1578|0|176||https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome|www.kohls.com|VisitorId%3D8b453b8f-3664-4028-a887-5c9893d6403a%3B%20AKA_RV%3D9%3B%20AKA_HP2%3DTrue%3B%20AKA_PDP2%3DTrue%3B%20CavSF%3DcavnvComplete%2C%2C%2C%2C68%25PIPE%25%2C%2C%2C%2C%2C%2C%2CNaN%2C%2C%2C%3B%20loglevel%3DSILENT%3B%20akacd_www-kohls-com-mosaic-p2%3D2177452799~rv%3D27~id%3D5430e327689f744c55bf18b6e96b6e2b%3B%20check%3Dtrue%3B%20AMCVS_F0EF5E09512D2CD20A490D4D%2540AdobeOrg%3D1%3B%20mosaic%3Dgcpg%3B%20s_ecid%3DMCMID%25PIPE%2511400310355889857570695271717368127690%3B%20mbox%3Dsession%231496cc11290049019d3109d9a57d540b%231587073958%25PIPE%25PC%231496cc11290049019d3109d9a57d540b.26_0%231650316898%3B%20mboxEdgeCluster%3D26%3B%20AMCV_F0EF5E09512D2CD20A490D4D%2540AdobeOrg%3D-1712354808%25PIPE%25MCIDTS%25PIPE%2518369%25PIPE%25MCMID%25PIPE%2511400310355889857570695271717368127690%25PIPE%25MCAAMLH-1587676896%25PIPE%256%25PIPE%25MCAAMB-1587676896%25PIPE%25RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%25PIPE%25MCOPTOUT-1587079296s%25PIPE%25NONE%25PIPE%25MCAID%25PIPE%25NONE%25PIPE%25MCSYNCSOP%25PIPE%25411-18376%25PIPE%25vVersion%25PIPE%254.3.0%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|1034|-2|16680|907395|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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
bd0ef48eaa0ac4eedc4dd9649aab84851875b408d67db5280578790e63865fd0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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 21:21:38 GMT
8ae4ac2e-9158-447b-cbb0-5f9dabea1658
apps.zineone.com/c3/api/v1/connect/
1 MB
155 KB
XHR
General
Full URL
https://apps.zineone.com/c3/api/v1/connect/8ae4ac2e-9158-447b-cbb0-5f9dabea1658?deviceId=8ae4ac2e-9158-447b-cbb0-5f9dabea1658&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
3.225.134.189 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-3-225-134-189.compute-1.amazonaws.com
Software
/
Resource Hash
bd1ce324b2ecc6505e0e2e57ee85377070767920aaa5aa140737d0b263692772

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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:814::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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 21: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 21:21:38 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:814::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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 21: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 21:21:38 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
104.111.226.89 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-111-226-89.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
a400fe551ce1b5f459f1808f5c93714ea243d7e4b10dc962936b21635f34f8b0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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.16.162 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s11-in-f2.1e100.net
Software
cafe /
Resource Hash
0d5089eed925228b55540f5538192da7f723aeb5c2ed8d3faf11c60ccab67069
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
10621
x-xss-protection
0
server
cafe
etag
6655327481849056389
vary
Accept-Encoding
content-type
text/javascript; charset=UTF-8
cache-control
private, max-age=3600
timing-allow-origin
*
expires
Thu, 16 Apr 2020 21:21:38 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
104.111.226.89 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-111-226-89.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
935c78ed2a8b54d1e45405f33a81d7122820c14a965750229f9be8e5d48d3376

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
outfits
widget-api.stylitics.com/api/
53 KB
7 KB
XHR
General
Full URL
https://widget-api.stylitics.com/api/outfits?username=kohls&total=10&with_item_coords=true&tags=homedept_1_200416
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::6812:15a0 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
c44133797872e991c24b92e81a91b6f9dc27b42d82089f6a4cc1d6c5817ad97e

Request headers

Accept
application/json, text/javascript, */*; q=0.01
Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
content-encoding
gzip
cf-cache-status
HIT
age
1349
status
200
cf-request-id
022677796000001f21368fd200000001
server
cloudflare
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET, PUT, PATCH, POST, DELETE, OPTIONS
content-type
application/json; charset=utf-8
access-control-allow-origin
*
expires
Thu, 16 Apr 2020 21:51:38 GMT
cache-control
public, max-age=1800
cf-ray
5850f5089f581f21-FRA
access-control-allow-headers
Authorization, Content-Type
x-proxy-cache
BYPASS
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/
2 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/?random=1587072098637&cv=9&fst=1587072098637&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%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:808::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
947e9f65adc6ac5c6617e55325ee90f7be1a2176b562e0739ef27a8cb2b23cfa
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
1075
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=1587072098639&cv=9&fst=1587072098639&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%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:808::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
49c8e93b429638f1ef0bfe59d2e19548aceb0ede39a3adc129a323a84da8600b
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
1074
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
test_rum_nv
mon1.kohls.com/ Frame 4391
1 B
462 B
XHR
General
Full URL
https://mon1.kohls.com/test_rum_nv?s=000852712160067849144&p=1&m=0&op=domwatcher&pi=1&CavStore=-1&pid=10&d=10|0|1&lts=198537519&nvcounter=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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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 21:21:38 GMT
3af9bd0f-9f9b-4df0-99f5-1035b31b3d8d
https://www.kohls.com/ Frame 4391
17 KB
0
Other
General
Full URL
blob:https://www.kohls.com/3af9bd0f-9f9b-4df0-99f5-1035b31b3d8d
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
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
104.111.226.89 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-111-226-89.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
5683d721043542df3d73195d4449d2842042193e896c63aba9552de00b5ed207

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
110 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1071871169/?random=1587072098637&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=216826949&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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=1587072098637&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=216826949&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
110 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1018012790/?random=1587072098639&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1907216137&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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=1587072098639&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1907216137&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 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
54.197.190.85 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-54-197-190-85.compute-1.amazonaws.com
Software
/
Resource Hash
4a63ccc41b6e27c88fca243efd1030d401bc83bd3ae22aaff2b0d1354ba25703

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 16:01:39 GMT
vary
Accept-Encoding
content-type
application/javascript
test_rum_nv
mon1.kohls.com/ Frame 4391
1 B
462 B
XHR
General
Full URL
https://mon1.kohls.com/test_rum_nv?s=000852712160067849144&p=1&op=pagedump&pi=1&CavStore=-1&pid=10&d=10|2|0&lts=198537519&nvcounter=2
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:18b::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 GMT
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
104.111.226.89 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-111-226-89.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
1c45f1dbc5afc1034ac9f4322cc6a66f4db7442f88be435d05897289ad475bd1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
content-encoding
gzip
last-modified
Mon, 13 Apr 2020 22:01:50 GMT
x-msedge-ref
Ref A: 6F4470EB6F4A408EA5D6086198145703 Ref B: FRAEDGE0722 Ref C: 2020-04-16T21:21:39Z
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
104.111.226.89 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-111-226-89.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
e15f21cd7a83e4e8d32c071f464287a2704794f2bdac683133a7b34dac6d55ba

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
content-encoding
gzip
last-modified
Mon, 13 Apr 2020 22:01:50 GMT
x-msedge-ref
Ref A: 960A9F6C87A84CFB990915B3D1386EA2 Ref B: FRAEDGE0722 Ref C: 2020-04-16T21:21:39Z
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
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
23.5.97.37 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-5-97-37.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
a256529bd5b1b8846f8d2536ce7581fb6cea4479992f222d01535903dff48d79

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:819::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
6185
date
Thu, 16 Apr 2020 19: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 21: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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
VIGU67KFTkDtzu3RzmdYLV/kUmEWd2zTyvLovcgYfb6UYGcvpu17vll62bQewNZ/5E5pVALdg2SbNs4SAGZnrw==
x-fb-trip-id
2000377899
x-frame-options
DENY
date
Thu, 16 Apr 2020 21:21:39 GMT, Thu, 16 Apr 2020 21:21:39 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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:08 GMT
content-encoding
gzip
last-modified
Tue, 25 Feb 2020 22:48:01 GMT
server
AmazonS3
age
72513
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
DHafjK1lJiSnLvWftPBiPJKY3Gn3_W3HqVRdnjPfyW9haaY-Q59N2A==
via
1.1 784dd167d622737126ee2d76985e7d3c.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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
content-encoding
gzip
age
598
x-cache
HIT
status
200
content-length
10964
x-amz-id-2
b50fYxIWb0XyKknjGY7UG9W/05YOayDrCcKHFziS0o8jIcKsrTqodD6xZ8m8wmXyHszWBW4uHBY=
x-served-by
cache-hhn4046-HHN
last-modified
Thu, 09 Apr 2020 16:44:11 GMT
server
AmazonS3
x-timer
S1587072099.335494,VS0,VE0
etag
"e13e8d9466f37fc0f0235771a13bc98f"
vary
Accept-Encoding
x-amz-request-id
8D06353F33624218
via
1.1 varnish
x-robots-tag
noindex, nofollow
accept-ranges
bytes
content-type
application/javascript
x-cache-hits
1
core.js
s.pinimg.com/ct/
1 KB
610 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700::6812:eb0 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
a8a5c752f8ae0c033572453cbb3240ca9047eae565ea1f3df7cb1ea67e9984d9

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
content-encoding
br
x-cdn
cloudflare
status
200
etag
W/"fdf03ac619d384023432225dbd221b25"
vary
Accept-Encoding
access-control-allow-methods
GET
content-type
application/javascript
access-control-allow-origin
*
access-control-expose-headers
x-cdn
cache-control
max-age=1209600
cf-ray
5850f50c5a67c295-FRA
cf-request-id
0226777bbb0000c295d3a5f200000001
server
cloudflare
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.224.194.92 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-224-194-92.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
b9d2e26f22cdbae9b33b328fcaec06435834b057c435fd14a615dda245ce64d5

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
298
date
Thu, 16 Apr 2020 21:16:42 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
kyPfJOp6MX8gqK4cqrq17oKfOG-G-bjA7rm_4lbF8Pyk2V0xlSaOgg==
via
1.1 7a18a0a1d9929dae345690b88b08dd5e.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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:19f::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
AmazonS3 /
Resource Hash
a783804e222c9d85236a34c0bf859e41202f5c8c20fbe2d1e25bf5d658f12760

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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 21:21:39 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 14:25:34 GMT
server
AmazonS3
x-amz-request-id
124AC8FA275F789F
etag
"49108172918202ea77c02fef4bac98d2"
vary
Accept-Encoding
content-type
application/x-javascript
status
200
cache-control
max-age=600
accept-ranges
bytes
access-control-allow-origin
*
content-length
22817
x-amz-id-2
6AQOamm5HgnUwU5hUL66XFKE6U7cpo0zRUWQNHTcX6EM0wzYWinZiLgqTusF9sxZhwUQUmVsKVk=
expires
Thu, 16 Apr 2020 21:31:39 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:814::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21: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 21:21:39 GMT
activityi;dc_pre=COPQ3KXw7egCFaJM5Qodc2sKYg;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-h...
8632166.fls.doubleclick.net/ Frame DE3B
Redirect Chain
  • https://8632166.fls.doubleclick.net/activityi;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the...
  • https://8632166.fls.doubleclick.net/activityi;dc_pre=COPQ3KXw7egCFaJM5Qodc2sKYg;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fww...
0
0
Document
General
Full URL
https://8632166.fls.doubleclick.net/activityi;dc_pre=COPQ3KXw7egCFaJM5Qodc2sKYg;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome;u11=Home%2520Furnishings%2520%2526%2520Home%2520Goods%2520%257C%2520Kohl%2527s;u13=for-the-home;u2=;u23=New%20Customer;u24=11400310355889857570695271717368127690;u25=8b453b8f-3664-4028-a887-5c9893d6403a;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome?
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.6 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s28-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=COPQ3KXw7egCFaJM5Qodc2sKYg;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome;u11=Home%2520Furnishings%2520%2526%2520Home%2520Goods%2520%257C%2520Kohl%2527s;u13=for-the-home;u2=;u23=New%20Customer;u24=11400310355889857570695271717368127690;u25=8b453b8f-3664-4028-a887-5c9893d6403a;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome?
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
accept-encoding
gzip, deflate, br
accept-language
en-US
cookie
IDE=AHWqTUkyEFUTJCImZoaBrjbv2JqFtNAcdqZ1RMpdxQhLE6GtHRRdSKpY2XdZGLeS
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 21:21:39 GMT
expires
Thu, 16 Apr 2020 21:21:39 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
514
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 21:21:39 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=COPQ3KXw7egCFaJM5Qodc2sKYg;src=8632166;type=landi0;cat=unive0;ord=7124333717910;gtm=2od480;auiddc=1882432677.1587072099;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome;u11=Home%2520Furnishings%2520%2526%2520Home%2520Goods%2520%257C%2520Kohl%2527s;u13=for-the-home;u2=;u23=New%20Customer;u24=11400310355889857570695271717368127690;u25=8b453b8f-3664-4028-a887-5c9893d6403a;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome?
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
Vf_DPdJO1TQsqqPSb6CSWnSQiP79sTyFlXUa3Wltxe4-j_tt3ZWLlg==
via
1.1 2f194b62c8c43859cbf5af8e53a8d2a7.cloudfront.net (CloudFront)
x-uuid
bdd844bd-581c-4901-87bf-72c5a772fe40
expires
Thu, 01 Dec 1994 16:00:00 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: s.btstatic.com
URL: https://s.btstatic.com/tag.js
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
2176e586196f5998a644d44a77d1b80be24bb57a7782000ee903694d5c7704cc

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 20:25:02 GMT
server
nginx/1.16.1
etag
W/"5e98bf1e-406c0"
content-type
application/javascript
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
content-encoding
gzip
age
0
x-guploader-uploadid
AEnB2UoB6Hrr_K3rvd_sVUNXK9E2FHJVA1Cg4Jc3ZZWDR1j9KwvXyDfFGQr_TJvO-YxWtpEY1YCnp-Hi12LZWRIoTy62uyIl2A
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 21:26:39 GMT
tag
s.thebrighttag.com/
3 KB
2 KB
Script
General
Full URL
https://s.thebrighttag.com/tag?site=4DPyaxM&H=4n7pz93&referrer=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&mode=v2&cf=4847722%2C4847939%2C6706303%2C6706308%2C7432823&btpdb.4DPyaxM.dGZjLjYyMTAxMDM=REFZUw&btpdb.4DPyaxM.dGZjLjYyMTAxMTA=REFZUw&btpdb.4DPyaxM.dGZjLjYyMDYyMTU=REFZUw&btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gc2Vzc2lvbg=ODMzMDMxMDkyNTk2MTA3MDQxMA&btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gMzY1IGRheXM=ODU2NzUyNzgyMzM4MTk4MDkwMA
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
52.30.5.88 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-5-88.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
6fb771cea0f01fb298abc64789085e6006897a9ce38e50e60357866b30dde636

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
Content-Encoding
gzip
Server
nginx
ETag
ca7a31136e693266054320389dc3f31b
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
42a1d250-8028-11ea-9e50-0000ac150acc
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=3931216867
  • https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=3931216867&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=3931216867&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 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=3931216867&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=rc2MyRCEiY-JZJHMV676Q7l2R93K7rO1
35 B
717 B
Image
General
Full URL
https://s.thebrighttag.com/cs?btt=0&tp=cr&uid=rc2MyRCEiY-JZJHMV676Q7l2R93K7rO1
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
52.30.5.88 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-5-88.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
42ad1cf1-8028-11ea-9ab5-0000ac150a28
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
x-powered-by
ASP.NET
status
302
content-type
text/html; charset=utf-8
location
https://s.thebrighttag.com/cs?btt=0&tp=cr&uid=rc2MyRCEiY-JZJHMV676Q7l2R93K7rO1
cache-control
private, max-age=0, no-cache, no-store, must-revalidate
date
Thu, 16 Apr 2020 21:21:39 GMT
content-length
203
p
rp4.liadm.com/
Redirect Chain
  • https://rp.liadm.com/p?aid=a-00oc&duid=8567527823381980900
  • https://rp4.liadm.com/p?aid=a-00oc&duid=8567527823381980900&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-for...
43 B
512 B
Image
General
Full URL
https://rp4.liadm.com/p?aid=a-00oc&duid=8567527823381980900&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 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=8567527823381980900&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome
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%3DEF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw%26uid%3D$UID%26tp%3Dan%26gdpr%3D1
  • https://secure.adnxs.com/bounce?%2Fgetuid%3Fhttps%253A%252F%252Fs.thebrighttag.com%252Fcs%253Fbtt%253DEF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw%2526uid%253D%24UID%2526tp%253Dan%2526gdpr%253D1
  • https://s.thebrighttag.com/cs?btt=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&uid=778689528975075079&tp=an&gdpr=1
35 B
717 B
Image
General
Full URL
https://s.thebrighttag.com/cs?btt=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&uid=778689528975075079&tp=an&gdpr=1
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
52.30.5.88 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-5-88.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
42ef7d20-8028-11ea-a8bc-0000ac1508b6
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 21:21:41 GMT
X-Proxy-Origin
85.159.237.65; 85.159.237.65; 536.bm-nginx-loadbalancer.mgmt.fra1; *.adnxs.com; 37.252.172.204:80
AN-X-Request-Uuid
2b6e1bce-e37d-4a44-a563-bdbf185b4936
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=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&uid=778689528975075079&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=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.215.98.88 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-215-98-88.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
8d70b3e6badb6973663b398d297bb32eaedd08826a1af98d0a1cfce5324ffce0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw
  • https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&google_gid=CAESEEc0ohlR9ZxEIRe6yzlwJdQ&google_cver=1
35 B
741 B
Image
General
Full URL
https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&google_gid=CAESEEc0ohlR9ZxEIRe6yzlwJdQ&google_cver=1
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
52.30.5.88 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-5-88.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
42b24d10-8028-11ea-a564-0000ac150821
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 21:21:39 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=EF0uvZosoE5wNQY_nuuHYD-SfRCmJx_gB7qtq3fbdRw&google_gid=CAESEEc0ohlR9ZxEIRe6yzlwJdQ&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
593 B
Image
General
Full URL
https://d.agkn.com/pixel/10107/?che=1271607196&mcvisid=11400310355889857570695271717368127690
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
2600:9000:2156:8000: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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:38 GMT
via
1.1 fb8c0300277bd0137c1693d3d64ab550.cloudfront.net (CloudFront)
server
Apache-Coyote/1.1
x-amz-cf-pop
FRA50-C1
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
mQkWVnnOLNWMA79WfuUKXO9IlEQD1ePBXAGqLgJDzLyC8546fI8ZSA==
expires
Sat, 01 Jan 2000 00:00:00 GMT
0
bat.bing.com/action/
0
171 B
Image
General
Full URL
https://bat.bing.com/action/0?ti=4024145&Ver=2&mid=3e78f589-d990-ec40-a830-3a1ea0c3f8b8&sid=12b474ec-2dad-1b64-38b2-2effdd69d288&pi=0&lg=en-US&sw=1600&sh=1200&sc=24&tl=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&p=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&r=&lt=2179&evt=pageLoad&msclkid=N&sv=1&rn=688071
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
cache-control
no-cache, must-revalidate
x-msedge-ref
Ref A: 53F8C5F331CC45BDAB98EAF5410F28FC Ref B: FRAEDGE0722 Ref C: 2020-04-16T21:21:39Z
access-control-allow-origin
*
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=3e78f589-d990-ec40-a830-3a1ea0c3f8b8&sid=12b474ec-2dad-1b64-38b2-2effdd69d288&prodid=event&pagetype=product&en=Y&evt=custom&msclkid=N&rn=240395
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
cache-control
no-cache, must-revalidate
x-msedge-ref
Ref A: DD2DEACE0D9F461C96703E92DD1103ED Ref B: FRAEDGE0722 Ref C: 2020-04-16T21:21:39Z
access-control-allow-origin
*
expires
Fri, 01 Jan 1990 00:00:00 GMT
collect
www.google-analytics.com/
35 B
99 B
Image
General
Full URL
https://www.google-analytics.com/collect?v=1&_v=j81&a=1830934112&t=pageview&_s=1&dl=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&ul=en-us&de=UTF-8&dt=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&sd=24-bit&sr=1600x1200&vp=1585x1200&je=0&_u=YGBAgAAB~&jid=1065076424&gjid=1269558579&cid=1638243898.1587072099&tid=UA-45121696-1&_gid=1020618910.1587072099&cd2=8b453b8f-3664-4028-a887-5c9893d6403a&cd4=&z=268387907
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:819::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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, 03 Apr 2020 05:53:09 GMT
x-content-type-options
nosniff
last-modified
Sun, 17 May 1998 03:00:00 GMT
server
Golfe2
age
1178910
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=1638243898.1587072099&jid=1065076424&gjid=1269558579&_gid=1020618910.1587072099&_u=YGBAgAAB~&z=1596946519
  • https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1638243898.1587072099&jid=1065076424&_v=j81&z=1596946519
  • https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=1638243898.1587072099&jid=1065076424&_v=j81&z=1596946519&slf_rd=1&random=2878225837
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=1638243898.1587072099&jid=1065076424&_v=j81&z=1596946519&slf_rd=1&random=2878225837
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 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=1638243898.1587072099&jid=1065076424&_v=j81&z=1596946519&slf_rd=1&random=2878225837
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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
7tEMXi9YsZ6ubpXjf82vJC4lt9wNym4lyn5CE1FUW/Y/nfo8SPS5IYmIUhK+hzXqr0zw3ES8J4/NHhBcgiJ3Kw==
x-fb-trip-id
2000377899
x-frame-options
DENY
date
Thu, 16 Apr 2020 21:21:39 GMT, Thu, 16 Apr 2020 21:21:39 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
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_128_GCM
Server
2606:4700::6812:eb0 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
5e8923354dc828bba8fd3a84f1fed88a4b7095207803798b521710119bf347da

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
content-encoding
br
x-cdn
cloudflare
status
200
etag
W/"dca924303eac8ed14b9cb0fa8819af3d"
vary
Accept-Encoding
access-control-allow-methods
GET
content-type
application/javascript
access-control-allow-origin
*
access-control-expose-headers
x-cdn
cache-control
max-age=1209600
cf-ray
5850f50d5cbec295-FRA
cf-request-id
0226777c590000c295d3a69200000001
server
cloudflare
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:19f::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 21:21:39 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 21:21:39 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:19f::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 21:21:39 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 21:21:39 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:19f::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 21:21:39 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 21:21:39 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=1587072099438&cv=9&fst=1587072099438&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%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:808::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
0ab30e64201204ec83abbe436c9282aa55d25a130c205f1b60e50555419a9935
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
1075
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=1587072099440&cv=9&fst=1587072099440&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%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:808::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ca7d09ad7efd15f3ba2941da4f10d9ba3d2c6e8319c2793f64919c8d2ea99bed
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
1076
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
b2
sb.scorecardresearch.com/
Redirect Chain
  • https://sb.scorecardresearch.com/b?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome&ns__t=1587072099445&ns_c=UTF-8&cv=3.5&c8=Hom...
  • https://sb.scorecardresearch.com/b2?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome&ns__t=1587072099445&ns_c=UTF-8&cv=3.5&c8=Ho...
0
248 B
Image
General
Full URL
https://sb.scorecardresearch.com/b2?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome&ns__t=1587072099445&ns_c=UTF-8&cv=3.5&c8=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&c9=
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
23.5.97.37 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-5-97-37.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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

Redirect headers

Location
https://sb.scorecardresearch.com/b2?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-tn1.0-s-forthehome&ns__t=1587072099445&ns_c=UTF-8&cv=3.5&c8=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&c9=
Pragma
no-cache
Date
Thu, 16 Apr 2020 21:21:39 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
i
tr.snapchat.com/cm/ Frame CD93
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome

Response headers

status
200
server
nginx/1.17.3
date
Thu, 16 Apr 2020 21:21:39 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
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.112.157 Frankfurt am Main, Germany, ASN54113 (FASTLY, US),
Reverse DNS
Software
/
Resource Hash
319949c8c08b86e9c35ea542c0dc0c30cedaa9b8d3d3c3327a36c91aefbd8af5

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
content-encoding
gzip
age
447
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-hhn4050-HHN
last-modified
Tue, 23 Jan 2018 20:09:00 GMT
x-timer
S1587072100.524299,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
170 B
Image
General
Full URL
https://analytics.twitter.com/i/adsct?p_id=49582&p_user_id=2ac54992-f4e5-4a5f-bf49-6cd6b6150f4c
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
104.244.42.195 , 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
119
pragma
no-cache
last-modified
Thu, 16 Apr 2020 21:21:39 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
cde22929786a6650e10a165b9ec0784b
x-transaction
00ebd10b00ec9a43
expires
Tue, 31 Mar 1981 05:00:00 GMT
adsct
t.co/i/
43 B
449 B
Image
General
Full URL
https://t.co/i/adsct?p_id=49582&p_user_id=2ac54992-f4e5-4a5f-bf49-6cd6b6150f4c
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
104.244.42.133 , 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 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
95c099b8fe2ffe69f51ef757fe9e437f
x-transaction
009c690800f4bf39
expires
Tue, 31 Mar 1981 05:00:00 GMT
tr
www.facebook.com/
44 B
250 B
Image
General
Full URL
https://www.facebook.com/tr?id=1272022626312394&ev=PageView&cd[order_id]=11400310355889857570695271717368127690
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT, Thu, 16 Apr 2020 21:21:39 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 21:21:39 GMT
trace
www.cloudflare.com/cdn-cgi/
279 B
564 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
17e67d71a978d6ca3a720f6e2462433c3354aab8b83a71d01975529a77f7c21d
Security Headers
Name Value
X-Frame-Options SAMEORIGIN

Request headers

Accept
*/*
Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
5850f50dd8bedfd7-FRA
cf-request-id
0226777ca60000dfd7403c2200000001
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%2Fbed_and_bath%2C%2Fhome_decor&slot=1240&callback=TagDeliveryContent.callbacks._09e1e69d_4066_46e3_aad7_f5eff4e1d467&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
86e6a4aba6ff6680360f73f8ab9c8b3d243e44d945dbae44c9af9a149fda0f98

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
9b908294-aa76-4e25-8796-8df206cec702
Expires
Thu, 16 Apr 2020 21:21:39 UTC
p
tr.snapchat.com/ Frame C5E4
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
304
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome

Response headers

status
200
server
nginx/1.17.3
date
Thu, 16 Apr 2020 21:21:39 GMT
content-type
text/html
content-length
0
access-control-allow-origin
*
cache-control
no-cache, no-transform
set-cookie
sc_at=v2|H4sIAAAAAAAAAAXBgQ0AMAQEwIkk2tJnHBWmMHzv6qJXJMjvE5LUpvBUKjnbQisebGapgbHZffgDmpJg5DIAAAA=;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
experience.min.js
cdn.curalate.com/sites/kohlsfanreel-afeck7/experiences/custom-square-grid-1534871816038/latest/
727 KB
175 KB
Script
General
Full URL
https://cdn.curalate.com/sites/kohlsfanreel-afeck7/experiences/custom-square-grid-1534871816038/latest/experience.min.js
Requested by
Host: cdn.curalate.com
URL: https://cdn.curalate.com/sites/kohlsfanreel-afeck7/site/latest/site.min.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.224.194.92 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-224-194-92.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
d23db175f2b8a64c53ff81f0ee03cad4cbba8cc0e2f62c39fd7058d03663332b

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:11:58 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 17:50:01 GMT
server
AmazonS3
age
582
vary
Accept-Encoding
x-cache
Hit from cloudfront
x-amz-version-id
zJdPMEPJJ26R4ng85rp4zZ61Hdx4eZZ0
status
200
cache-control
max-age=1800,s-maxage=1800
x-amz-replication-status
COMPLETED
x-amz-cf-pop
FRA2-C1
content-type
application/javascript
x-amz-cf-id
Z8mAi3pJNcJuDmAoEAB2_DzCA1lScfXE1vYn2VmyS0LH43Vpobp_HQ==
via
1.1 7a18a0a1d9929dae345690b88b08dd5e.cloudfront.net (CloudFront)
/
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=1587072099506
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.168.234 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-213-168-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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
3
content-length
35
x-pinterest-rid
3085330102703758
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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome%22%2C%22ref%22%3A%22%22%2C%22if%22%3Afalse%2C%22sh%22%3A1200%2C%22sw%22%3A1600%7D&cb=1587072099507
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
23.213.168.234 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-213-168-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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
3
content-length
35
x-pinterest-rid
6965061815467985
expires
Sat, 01 Jan 2000 00:00:00 GMT
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:6c00:19f::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
Origin
https://www.kohls.com

Response headers

date
Thu, 16 Apr 2020 21:21:39 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 21:21:39 GMT
/
ing-district.clicktale.net/ctn_v2/auth/
263 B
411 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/auth/?pid=24&as=1&830221693&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.231.218.119 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-231-218-119.compute-1.amazonaws.com
Software
/
Resource Hash
f6dcf716a17e2e589d2c4db03772788627dc649b6bd4f1d8bb32e66a9bac1456

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
access-control-allow-credentials
true
access-control-allow-origin
https://www.kohls.com
content-length
263
content-type
application/json; charset=UTF-8
monitor
conductor.clicktale.net/
1 B
251 B
Other
General
Full URL
https://conductor.clicktale.net/monitor?t=preinit&p=271&2=3396145771023836&v=1.5.5&7=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&3=6984162921994600&4=4678012867914464&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.203.156.212 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-203-156-212.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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=3396145771023836&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.203.156.212 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-203-156-212.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
/
www.facebook.com/tr/
44 B
101 B
Image
General
Full URL
https://www.facebook.com/tr/?id=831984583490556&ev=PageView&dl=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&rl=&if=false&ts=1587072099565&sw=1600&sh=1200&v=2.9.15&r=stable&a=sig&ec=0&o=30&fbp=fb.1.1587072099564.836716090&it=1587072099416&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT, Thu, 16 Apr 2020 21:21:39 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 21:21:39 GMT
/
www.google.com/pagead/1p-user-list/1071871169/
42 B
110 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1071871169/?random=1587072099438&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=3720032621&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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=1587072099438&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=3720032621&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
110 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1018012790/?random=1587072099440&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1043059845&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:820::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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=1587072099440&cv=9&fst=1587070800000&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&tiba=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1043059845&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
5349
kohls.sjv.io/xc/385561/362119/
206 B
830 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
ba896d2887b39bdd7443fb9bf6ec5c3de922d790251364f5daa096ab6341be55

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 GMT
adsct
analytics.twitter.com/i/
31 B
218 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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome
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.195 , 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
106
pragma
no-cache
last-modified
Thu, 16 Apr 2020 21:21:39 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
cde22929786a6650e10a165b9ec0784b
x-transaction
0013421600179ed6
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.133 , 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
119
pragma
no-cache
last-modified
Thu, 16 Apr 2020 21:21:39 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
95c099b8fe2ffe69f51ef757fe9e437f
x-transaction
0003b3f100e7533c
expires
Tue, 31 Mar 1981 05:00:00 GMT
zFqvpFnTGtiVDOQN
edge.curalate.com/v1/media/
71 KB
12 KB
Fetch
General
Full URL
https://edge.curalate.com/v1/media/zFqvpFnTGtiVDOQN?appId=curalate&locale=en-us&limit=4&productMetadata=description,custom_label_3,custom_label_4&sort=Moderation&fpcuid=9bdbb402-91a9-4726-8274-aaef4d8a7601&rid=a4792d87-8ac4-4593-90c0-49593a9ac11a&filter=label%3Afth_october2019
Requested by
Host: cdn.curalate.com
URL: https://cdn.curalate.com/sites/kohlsfanreel-afeck7/experiences/custom-square-grid-1534871816038/latest/experience.min.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:8e5 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
a2852bb56a7d5d48e3d23033ea395ae3f129667616dfe194b5c1ca2d8734dd52

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
via
1.1 a686e72b9757a599d684131328e4a952.cloudfront.net (CloudFront)
cf-cache-status
HIT
age
1349
x-cache
Miss from cloudfront
status
200
content-encoding
gzip
cf-request-id
0226777dff00003248b39bc200000001
server
cloudflare
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Origin, Accept-Encoding
content-type
application/json; charset=utf-8
access-control-allow-origin
https://www.kohls.com
cache-control
max-age=1800
access-control-allow-credentials
true
x-amz-cf-pop
ATL52-C1
cf-ray
5850f50ffbec3248-FRA
x-amz-cf-id
kzSqItyBbv_kWAayhawBXTocHF3kDOS1-Rwu3fB4iQOX2DbdcUIGQw==
455679.gif
idsync.rlcdn.com/
0
40 B
Image
General
Full URL
https://idsync.rlcdn.com/455679.gif?partner_uid=42dd54c9-8028-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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
via
1.1 google
alt-svc
clear
/
www.ojrq.net/p/
50 B
415 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 GMT
track.gif
tjxbfc1n.micpn.com/p/cp/-1/
42 B
617 B
Image
General
Full URL
https://tjxbfc1n.micpn.com/p/cp/-1/track.gif?t=1587072099832&mi_u=anon-1587072099831-6821387043&mi_cid=8212&page_title=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&timezone_offset=-120&event_type=pageview&cdate=1587072099831&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 GMT
via
1.1 2f194b62c8c43859cbf5af8e53a8d2a7.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
EdCtaENXEpC22L86HsExlEc9-Pvj3Ste3j4f9D4EuS1KmePoRFbkBg==
x-uuid
96c597ab-004e-4d6b-a499-6ef7ae904e46
pixel.gif
static.criteo.net/images/
43 B
260 B
Image
General
Full URL
https://static.criteo.net/images/pixel.gif?ch=1
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 GMT
pixel.gif
static.criteo.net/images/
43 B
260 B
Image
General
Full URL
https://static.criteo.net/images/pixel.gif?ch=2
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 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:19f::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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 21:21:39 GMT
collect
www.google-analytics.com/
35 B
99 B
Image
General
Full URL
https://www.google-analytics.com/collect?v=1&_v=j81&a=1830934112&t=event&ni=1&_s=2&dl=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&ul=en-us&de=UTF-8&dt=Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s&sd=24-bit&sr=1600x1200&vp=1585x1200&je=0&ec=curalate.fanreel.kohlstest&ea=reel.impression&el=v1%3Arid%3Da4792d87-8ac4-4593-90c0-49593a9ac11a%26dt%3DCategory&_u=aHBAgAAB~&jid=&gjid=&cid=1638243898.1587072099&tid=UA-45121696-1&_gid=1020618910.1587072099&cd2=8b453b8f-3664-4028-a887-5c9893d6403a&cd4=&z=158995395
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:819::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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, 03 Apr 2020 05:53:09 GMT
x-content-type-options
nosniff
last-modified
Sun, 17 May 1998 03:00:00 GMT
server
Golfe2
age
1178911
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
events.png
edge.curalate.com/api/v1/metrics/experience/kohlstest/
95 B
311 B
Image
General
Full URL
https://edge.curalate.com/api/v1/metrics/experience/kohlstest/events.png?xp=custom-category-secondary-custom-square-grid-1534871816038&rid=a4792d87-8ac4-4593-90c0-49593a9ac11a&fpcuid=9bdbb402-91a9-4726-8274-aaef4d8a7601&ref=&e=t%3Api%7Cts%3A1587072099906%7Cdt%3ACategory&cache=_681c90b3-8f0d-4a39-bcb4-91508efaf693
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:8e5 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
3eb10792d1f0c7e07e7248273540f1952d9a5a2996f4b5df70ab026cd9f05517

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
via
1.1 f322bde9dd1a547680a5a9a160fbef81.cloudfront.net (CloudFront)
cf-cache-status
DYNAMIC
server
cloudflare
x-amz-cf-pop
ATL50-C1
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
x-cache
Miss from cloudfront
content-type
image/png; charset=utf-8
status
200
cf-ray
5850f5111ec53248-FRA
content-length
95
cf-request-id
0226777eae00003248b39c8200000001
x-amz-cf-id
275xM9dSVqcriVh7eRSMtYd7JcE-YGMDIffFjX-ot-nREvLv3NcleQ==
300
edge.curalate.com/v1/img/EgPXwU_qqK_0BlJZN0SPl9-rs8Ef0ccbzdl2o1Quyes=/w/
34 KB
34 KB
Image
General
Full URL
https://edge.curalate.com/v1/img/EgPXwU_qqK_0BlJZN0SPl9-rs8Ef0ccbzdl2o1Quyes=/w/300
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:8e5 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
f2683570ae7fe95b27c525f227033d235346af6ea910e8ba3543096be7e4f7fb

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
via
1.1 59a6ba0c52394bdd68c0d9c4f1900068.cloudfront.net (CloudFront), 1.1 6b8ac2d6d64dc42007741d312e2d73ab.cloudfront.net (CloudFront)
cf-cache-status
HIT
age
115178
x-cache
Hit from cloudfront
status
200
access-control-max-age
259200
content-length
34618
cf-request-id
0226777eba00003248b39c9200000001
last-modified
Wed, 18 Mar 2020 15:19:59 GMT
server
cloudflare
etag
39fbe6067f73c255f5baef62d53c5b35
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET
content-type
image/jpeg; charset=utf-8
access-control-allow-origin
*
cache-control
max-age=2592000,s-maxage=2592000
x-amz-cf-pop
MUC51-C1, FRA50-C1
accept-ranges
bytes
cf-ray
5850f5112f003248-FRA
x-amz-cf-id
Kyu_dnMTWf4sHZWYg_ecKamBwQvrqZzNP_9m8tZps6uDq7_nB1hPlQ==
300
edge.curalate.com/v1/img/wbf-mu1f4aM3QdkqkRXFPRgs4DXUDWvlP3z-5mQhl0U=/w/
26 KB
26 KB
Image
General
Full URL
https://edge.curalate.com/v1/img/wbf-mu1f4aM3QdkqkRXFPRgs4DXUDWvlP3z-5mQhl0U=/w/300
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:8e5 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
8868e6ac1342805b547df669e1a37c9a2ac03263978ddd0388a0eb9764dd2800

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
via
1.1 5f6905ea282e042ad3334bfed8a840ce.cloudfront.net (CloudFront)
cf-cache-status
HIT
age
115178
x-cache
Hit from cloudfront
status
200
access-control-max-age
259200
content-length
26173
cf-request-id
0226777eba00003248b39ca200000001
last-modified
Fri, 10 Apr 2020 11:30:57 GMT
server
cloudflare
etag
ae7dc13b07e2617e33f70ce69fada98c
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET
content-type
image/jpeg; charset=utf-8
access-control-allow-origin
*
cache-control
max-age=2592000,s-maxage=2592000
x-amz-cf-pop
FRA50-C1
accept-ranges
bytes
cf-ray
5850f5112f053248-FRA
x-amz-cf-id
vqY6j7_uPSvJKKV3V6AhwqopT2I8ZVWMXkfulpxV2OMeHWvUbYGsHg==
300
edge.curalate.com/v1/img/-NOGSCHTPlplJky9zvBavrJWI6X-42rQEoT8nqCOcmY=/w/
29 KB
30 KB
Image
General
Full URL
https://edge.curalate.com/v1/img/-NOGSCHTPlplJky9zvBavrJWI6X-42rQEoT8nqCOcmY=/w/300
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:8e5 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
d7947b9b9b2cbd30a97db1cfe83eaef602b553783b63350d525cde0e4da519a9

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
via
1.1 8547f12dca264b18406421d1487b13af.cloudfront.net (CloudFront), 1.1 1b73451818d2dd47a574604c0b84f692.cloudfront.net (CloudFront)
cf-cache-status
HIT
age
115178
x-cache
Hit from cloudfront
status
200
access-control-max-age
259200
content-length
30119
cf-request-id
0226777eba00003248b39cb200000001
last-modified
Wed, 18 Mar 2020 15:19:59 GMT
server
cloudflare
etag
ff18449f4408cf0a04457f0e5d5452a7
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET
content-type
image/jpeg; charset=utf-8
access-control-allow-origin
*
cache-control
max-age=2592000,s-maxage=2592000
x-amz-cf-pop
MUC51-C1, FRA50-C1
accept-ranges
bytes
cf-ray
5850f5112f073248-FRA
x-amz-cf-id
bgi9xeIjeJSGSAyhcZAxWplBvOpVZpegKJ_extQny8Pa6siyBM1AsA==
300
edge.curalate.com/v1/img/875cxeMEqd-pJyGNF7Rz6D_tavG6jjnlyHIAxmFppAE=/w/
30 KB
30 KB
Image
General
Full URL
https://edge.curalate.com/v1/img/875cxeMEqd-pJyGNF7Rz6D_tavG6jjnlyHIAxmFppAE=/w/300
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2606:4700:10::6816:8e5 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
5be7f98d02e5e39dd7fb71e53d3b1dfb150d89d932e7258b8b4069c6ddd7f7ea

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
via
1.1 1b73451818d2dd47a574604c0b84f692.cloudfront.net (CloudFront)
cf-cache-status
HIT
age
115178
x-cache
Hit from cloudfront
status
200
access-control-max-age
259200
content-length
30708
cf-request-id
0226777eba00003248b39cc200000001
last-modified
Mon, 06 Apr 2020 11:39:49 GMT
server
cloudflare
etag
5a3888b8f14f5659463fccc16f0f5a8f
expect-ct
max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
vary
Accept-Encoding
access-control-allow-methods
GET
content-type
image/jpeg; charset=utf-8
access-control-allow-origin
*
cache-control
max-age=2592000,s-maxage=2592000
x-amz-cf-pop
FRA50-C1
accept-ranges
bytes
cf-ray
5850f5112f093248-FRA
x-amz-cf-id
QTXXyIjcssa9TcTWaLwlCdKnB687GznC_CZMqB7eotT1EEr0CBZdyQ==
page
d.us.criteo.com/delivery/v2/api/
72 KB
46 KB
Script
General
Full URL
https://d.us.criteo.com/delivery/v2/api/page?~it=js&key=164&shopper-browser-id=N%2FA&page-id=CategoryWeb&placement-id=CategoryWeb-Dept&category=homefavorites&shopper-account-id=&abe=0&filters=(ratingeligible%2Ceq%2C1)&json=hl_70&_=24
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
90bbb3ea1d08073df9b81016822765c24210acb56fe474627e64b925979f2057

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:39 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
content-length
46675
47f94455-60f0-4c3e-a062-6275b56bf061
https://www.kohls.com/
0
0
Other
General
Full URL
blob:https://www.kohls.com/47f94455-60f0-4c3e-a062-6275b56bf061
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/?2736155850048116&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.231.218.119 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-231-218-119.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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/?2736155850048116&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.231.218.119 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-231-218-119.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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=11400310355889857570695271717368127690&d_blob=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y&d_cid_ic=mcvid%012736155850048116&ts=1587072100080
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.30.78.155 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-30-78-155.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
8b827ad54f4b3f9f0235c3938708788401c8fa9aef295134299fe0cb8380e92b
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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-06608af2d.edge-irl1.demdex.com 5.66.0.20200408080925 3ms (+0ms)
Pragma
no-cache
Strict-Transport-Security
max-age=31536000; includeSubDomains
Content-Encoding
gzip
X-TID
QUtrhoxHTYM=
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
2232
Expires
Thu, 01 Jan 1970 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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 GMT
Content-Encoding
gzip
Last-Modified
Thu, 16 Apr 2020 21:20:53 GMT
Server
Apache
ETag
"762482-1f1b5-5a36f01f79b37"
Vary
Accept-Encoding
P3P
policyref="/w3c/p3p.xml", CP="NOI DSP COR DEVa TAIa OUR BUS UNI"
Cache-Control
max-age=3599
Connection
keep-alive
Accept-Ranges
bytes
Content-Type
text/javascript
Content-Length
37249
Expires
Thu, 16 Apr 2020 22:21:40 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:819::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
3668f6bc8dd86f6690ad159eed9c3020cf6af81084e29712995005ecc7176aff
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"488 / 187 of 1000 / last-modified: 1587070946"
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
14316
x-xss-protection
0
expires
Thu, 16 Apr 2020 21:21:40 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:817::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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:81a::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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_2020040702.js
securepubads.g.doubleclick.net/gpt/
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.21.194 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra16s12-in-f194.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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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 21:21:40 GMT
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
/
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
/
432 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
26e3599cccafcf6c3766e1876c83b2ffef6d960399ef07539eb4bb9c72627ffa

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
/
382 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
784987f702c79e593b13b91fc91b303cb44af611c6537ef988b415c1f376e8ec

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
/
408 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
88df94264c45651d0f812f074dc8e4d03205d40924fe8a6ac672b494098ca772

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
/
447 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
beebeb4f09a7ac38a5612b107b9cc34f9946e59c382d6be24aa3600894adbcba

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
/
407 B
0
Image
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
4415770ecc7b85b58f5d595f4c62c91d6eee2d7e0f51efed0c8feb214207d6cf

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
beacon
b.criteo.com/
43 B
265 B
Image
General
Full URL
https://b.criteo.com/beacon?fid=164&hl_qs=Sb5vdPmsucN9SDfNayfElXd6TFJkkAPQYLNXJswrY%2FLpUvwzvpXbhjW0F0E9YwUBwSz%2BwBk75zFQ%2FIueHiqgCbtQ4Aldq7ugHFIiSES6rmuYl2C6kGZqkwHi0p5QmAF1O9uIQLNzNEpu7Js%2FNso%2BhSziDx9vlrguMmyOHZhtF35KflwyDwiT1VSw4r5xeAOr7Do34LJV6IO%2BohkPIYHZCgX8MY%2FQTKU%2F7nwPaI%2F7RqRn55CgdCdnWxOa7aYnx4KqM5Vr9OC%2FF1zuDUUrnOknbaO837VBBHKQRBtGJNnJsWON%2B%2FMWAtj2hDfsWJ4qPvNyy5G23j%2FiUXCVM6rD%2BGSCJt%2FCW6bTIv10IIS80iY8idqRquuvO%2FKfxOoMC5teX3jLqf8ZcWxz6JhqRW0O20aGr4WA%2Bep%2BrpG9dK%2FlQhO8pkPfLhGQoH5tsPkQZawFiKnuuScMNPMAU%2B4hxskCAc3A3NJfXrTPmU%2BIVQKs%2FQfKHTjp8%2FWdoOGYCKvLCld7BsyBTmJBG21DDUv%2FIfL%2BCdWDB3prpkpVvbkSqmTI%2FyLGC%2BI5HsH5FgP7ZokaHSsZtyl3LlfYx4qXkYSxhdPp6hJHk%2FmCa4ZIN%2BwXhv0UEgvg7gny3Of7a9IjbCeyJJ%2FYYY2M%2F%2BP3zqWKsMReZPzHIN5aPZrHr%2B54xrDj6iYduEsfSymszks3oz4e3dhWXFpNWV8ixzwMg5OoGpsbAGvq5yJnnmoUwUTfAREgODrG8XtBUDx5Oubj3gVrM10KFpbEg1C2ziFkPE5nduOHDYsq3k%2BkHr5hYHP2gIk0v9lzdXocuyULVp8933Ljk%2F8DMuI%2BoyLKcQGJvPrITu5cobBOLV0ZfZJxUHXolD0ZBZ9JpKBhPr2ednYJ1lJyTX8ogqf9IpEY8KCeTqbj7vXVGB%2BinZv5ZpedwydjF9aUB%2FoXV%2Fy3faNXshNYjKQwiwR7T3QCn6605Rv9SIpQAXy%2BdRnAIvOudYs9%2FmszGEneUh4ZBsyLLFvM1EawkNrNTyK%2BzNiwADaEXvu3I%2BZ32Luiu1en5PXmFn9F%2BHlP7NoAC%2FGeZHGH%2BL8%3D&ev=2&action=page&origc=A&pid=3c6f0b67-f97e-40e8-b963-a9c1dcef7d9e&rn=1642409399&abe=0
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
178.250.0.161 , France, ASN44788 (ASN-CRITEO-EUROPE, FR),
Reverse DNS
Software
Kestrel /
Resource Hash
4e0705327480ad2323cb03d9c450ffcae4a98bf3a5382fa0c7882145ed620e49

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
cache-control
no-cache
server
Kestrel
content-type
image/gif
2997433
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2997433?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
d0a6f14555498397bfb0c24e4230c861569dc8cea6cfbd08df9cfd268dbe697d

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
server
Akamai Image Manager
etag
"453896fb2ee6988460d8b9883bfea4fc"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2376
expires
Thu, 23 Apr 2020 21:21:40 GMT
2932523
media.kohlsimg.com/is/image/kohls/
1 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2932523?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
dcb2626fcd1e84f955c17868e7fcae836323e049333b46b96b7af2d08389f6b0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
server
Akamai Image Manager
etag
"375da1eb0261ba601d51d77eaada9ff5"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1386
expires
Thu, 23 Apr 2020 21:21:40 GMT
3407709
media.kohlsimg.com/is/image/kohls/
1 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3407709?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
fdda0bf56efc740943f5d132b26d6bd72755b22971e9987da2ea2c294ef25118

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"9850122d904c7b618738fd69815ca952"
x-serial
420
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=278998
content-length
1370
expires
Mon, 20 Apr 2020 02:51:38 GMT
33266
media.kohlsimg.com/is/image/kohls/
3 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/33266?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
7174bee35eeeb0547655bf8514ccd01d48ecfbd070492c8608b63e16412f3a0b

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
server
Akamai Image Manager
etag
"9317fb10fabfc5e9ce986438e48733e3"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2656
expires
Thu, 23 Apr 2020 21:21:40 GMT
3031529
media.kohlsimg.com/is/image/kohls/
3 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3031529?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
952dec4a61124f99e50148eb3d98afbada8ab4c5c7a3d4e5b8b1ef067454acdc

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"8ca955b201fe2a7fffad6b6c00b31e0e"
x-serial
391
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2622
expires
Thu, 23 Apr 2020 21:21:40 GMT
2373420
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2373420?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
eae916bc9c89a6f2e177af19f1813146b1a2ff4d60753bd0e8fdafd8d8bfd8cc

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"6cb8525a317be4583e531dc8615bd88c"
x-serial
1867
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
K0e5OCe3nuim9EGmMNOBnw==
content-length
2274
expires
Thu, 23 Apr 2020 21:21:40 GMT
2281439
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2281439?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
4055bbe52ec1ff5cea3b680b8471ec2a065aeaa31f48f1b33177008514c5760e

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"0342e540e0fc5c9f5ca6a39a8a9ec8de"
x-serial
959
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2276
expires
Thu, 23 Apr 2020 21:21:40 GMT
3007908
media.kohlsimg.com/is/image/kohls/
3 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3007908?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
e8b0f3008df17a9ab47dce9a7ba06f248db59db13236372abd388303a5cf947d

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"41421e03ec8752da99f6ea4c6c1b9430"
x-serial
426
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2654
expires
Thu, 23 Apr 2020 21:21:40 GMT
3260244_Charcoal
media.kohlsimg.com/is/image/kohls/
3 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3260244_Charcoal?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
db6ba57b93434c982b5945511e142210fc808786baf44e33242e3b573bec33d8

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
server
Akamai Image Manager
etag
"39747400eff3d936ef22b3c4560cfb96"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
3572
expires
Thu, 23 Apr 2020 21:21:40 GMT
3407464
media.kohlsimg.com/is/image/kohls/
1 KB
1 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3407464?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
4facc80de47ff0e715dae44c55f93c85911a2d41585cf9416a6ac641a47218c8

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"903767187cff23cb258364c40f4b6f2b"
x-serial
14
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
HUGgpJ2UfBIgIMO1+kAZ1Q==
content-length
1172
expires
Thu, 23 Apr 2020 21:21:40 GMT
2443723
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2443723?wid=180&hei=180&op_sharpen=1
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
Akamai Image Manager /
Resource Hash
f95deafc0b53b8cde448f7b3d3e6e1b03a264b993f60be3ff501fbef647523c1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 GMT
server
Akamai Image Manager
etag
"8ea736015d6cedd749786792d1665ba0"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1740
expires
Thu, 23 Apr 2020 21:21:40 GMT
a5664f26-444d-455c-90eb-85d1788d251f
https://www.kohls.com/
36 KB
0
Other
General
Full URL
blob:https://www.kohls.com/a5664f26-444d-455c-90eb-85d1788d251f
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
ads
securepubads.g.doubleclick.net/gampad/
2 KB
916 B
XHR
General
Full URL
https://securepubads.g.doubleclick.net/gampad/ads?gdfp_req=1&pvsid=2071920472963876&correlator=308017979948313&output=ldjh&impl=fifs&adsid=NT&eid=21064170%2C21065392%2C21065783&vrg=2020040702&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%3Dfor-the-home.jsp%26channel%3Ddesktop%26env%3Dprod&cookie_enabled=1&bc=31&abxe=1&lmt=1587072100&dt=1587072100574&dlt=1587072096072&idt=4389&frm=20&biw=1585&bih=1200&oid=3&adxs=0%2C281%2C531%2C930%2C-9&adys=0%2C1385%2C4237%2C4237%2C-9&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%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&dssz=154&icsg=52564656140288&mso=512&std=20&vis=1&dmc=8&scr_x=0&scr_y=0&psz=1585x5904%7C166x1709%7C798x314%7C798x314%7C0x-1&msz=1585x1%7C166x600%7C300x250%7C300x250%7C0x-1&ga_vid=689588839.1587072101&ga_sid=1587072101&ga_hid=1830934112&fws=0%2C0%2C0%2C0%2C2&ohw=0%2C0%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.21.194 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra16s12-in-f194.1e100.net
Software
cafe /
Resource Hash
0cc85b1d01447ff5ef9eb6fc2595292cb993d1e630471ef2b2a6cb54344e361d
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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
249
x-xss-protection
0
google-lineitem-id
-2,-2,-2,-2,-2
pragma
no-cache
server
cafe
google-mediationtag-id
-2
google-creative-id
-2,-2,-2,-2,-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/
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.21.194 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra16s12-in-f194.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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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 21:21:40 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_2020040702.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:809::2001 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
/
Resource Hash

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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

/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2736155850048116&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.231.218.119 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-231-218-119.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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/?2736155850048116&24&10&3&0&3&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.231.218.119 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-231-218-119.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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/?2736155850048116&24&10&4&1&0&104&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.231.218.119 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-231-218-119.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 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/?2736155850048116&24&10&5&1&1&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.231.218.119 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-34-231-218-119.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
sodar
pagead2.googlesyndication.com/getconfig/
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: 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:819::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
694e7d44f5924f985ab1581df085818f7331016bd8c3930196d9b183a3bc4963
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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
5158
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_2020040702.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:809::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:40 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 21:21:40 GMT
runner.html
tpc.googlesyndication.com/sodar/sodar2/209/ Frame 3C17
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:809::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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome

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 21:02:47 GMT
expires
Fri, 16 Apr 2021 21:02:47 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
1133
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=3396145771023836&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.203.156.212 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-203-156-212.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Access-Control-Allow-Headers
*
Content-Length
1
Content-Type
text/plain
gen_204
pagead2.googlesyndication.com/pagead/
0
58 B
Image
General
Full URL
https://pagead2.googlesyndication.com/pagead/gen_204?id=sodar2&v=209&t=2&li=gpt_2020040702&jk=2071920472963876&bg=!ExClEAhYrtAqTabjXK8CAAAAP1IAAAALmQFZ4Ke7gcDpquS5GFV87O1vrfVVtm-C_zBbz7hOC1dIGSgoFbEpUiKkcPsHALNxUzdX1MuHn70ADkY034IV-8UV3wSRc7dzxP1cJJ1E7npYfn4mO0pBWXTef4XBDM1QsFpyqoFLIbWP8YyBZhMUhTtpGjWuGq_zxc0ts6b-2uSYZG95FA_pQdYPZWy8JXdwHm5vOS2GyUuDmxMWdy6nzt0n79pj2a2dIAZ9M0F2TBhdHUte1tu3Ay118gU10s1cTJpjrzUx7leqqUPmLb8tNLa3F16pX8jfAqZFCLVok9SgmMoCryRJ8XrUru5mC5b7m4hIzIv3NNZJyXcLCh8CHAewHWpwXTDWz9s-2b8LyFYY1OlN47vqpnmLzPbIDPHgkY29al7PSEuc5acUAFwheXB_F77v40SAkREYrLF7EKV3VyTvQsJevXllN7o5PGamqJFS_XvgX-2LgsYm
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
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 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
/
www.facebook.com/tr/
44 B
249 B
Image
General
Full URL
https://www.facebook.com/tr/?id=831984583490556&ev=Microdata&dl=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&rl=&if=false&ts=1587072101109&cd[DataLayer]=%5B%5D&cd[Meta]=%7B%22title%22%3A%22Home%20Furnishings%20%26%20Home%20Goods%20%7C%20Kohl%27s%22%2C%22meta%3Adescription%22%3A%22Enjoy%20free%20shipping%20and%20easy%20returns%20on%20home%20furniture%20and%20decor%20at%20Kohl%27s.%20Shop%20decorative%20accents%2C%20linens%2C%20art%2C%20furniture%20and%20more.%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.1587072101108.384606551&it=1587072099416&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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 GMT, Thu, 16 Apr 2020 21:21:41 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 21:21:41 GMT
rid
match.adsrvr.org/track/
109 B
542 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
52.215.98.88 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-215-98-88.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
b77c0a609ec47590bf68fc421e89173e9e3eb08e4337bde5f8ac46de40dfd059

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 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
109
expires
Sat, 16 May 2020 21:21:41 GMT
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.86.24.11 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-86-24-11.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/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:41 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Strict-Transport-Security
max-age=31536000; includeSubDomains
identity
api.rlcdn.com/api/
0
0

monitor
conductor.clicktale.net/
1 B
251 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=chunk&p=271&2=3396145771023836&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.203.156.212 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-203-156-212.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:43 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
251 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=chunk&p=271&2=3396145771023836&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.203.156.212 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-203-156-212.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:48 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
251 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=chunk&p=271&2=3396145771023836&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.203.156.212 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-203-156-212.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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 21:21:53 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

721 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 function| StyliticsWidget function| Hammer function| TapToSwap function| getCookieByName string| pagePostalCode object| pageData string| domain1 function| setLoginSuccessCookie string| LoginSuccess object| SCTrackingBean 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 string| s_tnt string| tntVal function| ttMBX boolean| tntADDEnabled boolean| tntADD_STDMaxSLA boolean| AccurateDDBoss boolean| tntADD_BOSSMaxSLA boolean| AccurateDD 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 number| BOOMR_configt 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 number| BOOMR_onload 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| 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 string| __nv_agent_version 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 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 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 function| _onBodyAction function| _loopThroughGlobalTriggers number| width number| height object| browserInfo object| config undefined| eventNames function| __nativeXHR boolean| __nvjse object| DepartmentManager boolean| __ooc object| google_tag_manager object| dataLayer function| gtag object| google_tag_data function| GooglemKTybQhCsO function| google_trackConversion object| GooglebQhCsO number| urlLength number| subUrlLength object| BrTrk function| extractParamFromUri object| _etmc object| _etmc_temp function| UET object| BTPrivacy 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 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 function| udm_ object| ns_p object| COMSCORE function| twq object| twtObject object| contentIds string| sfIp function| get_gender function| createShelfContainer object| TagDeliveryContent string| tagId number| index 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| CEC function| ImpactRadiusEvent object| irEvent object| ctRules_PrePCC object| ctCustomCode_PrePCC function| doOnlyWhen object| ct boolean| ClickTaleFirstPCCGo function| clickTaleStartEventSignal function| clickTaleEndEventSignal function| ClicktaleIntegrationExperienceHandler object| twttr function| MutationSummary object| ClickTaleOnUploadPageContentFetched object| ClickTaleOnStop object| core object| picturefillCFG function| picturefill function| JsBarcode object| HLLibrary 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 object| ggeac object| closure_memoize_cache_ object| googleToken object| googleIMState object| google_js_reporting_queue function| processGoogleToken undefined| google_measure_js_timing number| google_srt number| __google_ad_urls_id number| google_unique_id function| Goog_AdSense_getAdAdapterInstance function| Goog_AdSense_OsdAdapter object| GoogleGcLKhOms object| google_image_requests object| headertag function| headertag_render object| pbjs object| rubicontag boolean| clickTaleNotAvailableOnPageWhereOLClicked boolean| clickTaleNeverAvailableOnSite

24 Cookies

Domain/Path Name / Value
.demdex.net/ Name: dextp
Value: 21-1-1587072097026|60-1-1587072097126|358-1-1587072097227|477-1-1587072097328|601-1-1587072097429|640-1-1587072097530|771-1-1587072097630|822-1-1587072097731|992-1-1587072097832|1123-1-1587072097933|1083-1-1587072098034
www.kohls.com/ Name: AKA_RV
Value: 9
.demdex.net/ Name: demdex
Value: 05028975441525664530040122795556399586
www.kohls.com/ Name: akavpau_www
Value: 1587072398~id=640f4b2fda27de186f52cf8226563a82
www.kohls.com/ Name: kohls_klbd_cookie
Value: 88790026.16970.0000
.kohls.com/ Name: bm_sv
Value: 786B869AD9C96091F5881C96452B8E7A~B6PpdT0RIl3zywpitH7PFRqUF84YzUgIUApG6P1/fThvz4tVyoB1cckT8jR77afH5A2U+Cebp01ZaaE8/MbIWBxYKSgNNhdslyzVKjjPMndsKHVd0fXQ3kBoZjOyP+XSvgWWUBVNE2MasXVr2/lirowR+s1RJM7Fc1uVs9EGpeM=
.www.kohls.com/ Name: VisitorId
Value: 8b453b8f-3664-4028-a887-5c9893d6403a
.kohls.com/ Name: _abck
Value: D4E3FEF7A8ED826E1D47E9FFB0CB0460~-1~YAAQFbsQAsLnrIFxAQAAbV3ehAOX9YyIWJGmLDlw6dFZQEw8GVlgUo94PBfVBXM7Uc0JVAeI3ukMfoiEjWWAWkvA/xj2QS5B3kKgdh+9b++TsRMyeqeYDKNpAOgmUaTCHc4ORg4BkasJOaHbzc0tIo73nA0LPi2YC9djFp5BZ9b3L6ioWgYHNRZA23Macnxz8ngrCMXHyTA6dnhuL070du/PC1E0+IoXyxwHnqCFR+qsrDN0u5MVL02KB373y2rHuUL6VtUptBOr9YYQzvVLn/9arsGRwn16OdtgjiuRAAW5dumTEUPb8T4ANgW6aNp4lWkiVNxTalF8EXyGg2wC3trbVQ==~-1~-1~-1
www.kohls.com/ Name: X-SESSIONID
Value: 8b453b8f-3664-4028-a887-5c9893d6403a
www.kohls.com/ Name: AKA_HP2
Value: True
.kohls.com/ Name: ak_bmsc
Value: FEC5F472E653B901F01F55539C8D742E0210BB15277A00005FCC985E9008D711~plnXPSrU0RPe+D6DmNK7Hmt+HOYwZcJEqO1pzdJBjAbcF/quzp2DxzAThbolj/OEMelAbMk0y4Md5LABFYwXZniRTjSD59Mrs791XkBbQNzfFtd1o/2kk/oTpgVqRv75oVCszD0khUMh9c9RZDBvlidfx/nASFBv03n4NTN6qvk0zJypTmM95D+Nvu1fP+RkI7KK5zo70pUErmyjWlN9zbSeQ/sfpTZw9cefsQ2vAOiO5u3pvlSTzyuh1WBhFuxw/09adhGzELfqR3IKOODQYM7gFLT/fd4gJ5kQpn+4tQVxk=
.kohls.com/ Name: AMCV_F0EF5E09512D2CD20A490D4D%40AdobeOrg
Value: -1712354808%7CMCIDTS%7C18369%7CMCMID%7C11400310355889857570695271717368127690%7CMCAAMLH-1587676896%7C6%7CMCAAMB-1587676896%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1587079296s%7CNONE%7CMCAID%7CNONE%7CMCSYNCSOP%7C411-18376%7CvVersion%7C4.3.0
.kohls.com/ Name: s_ecid
Value: MCMID%7C11400310355889857570695271717368127690
.kohls.com/ Name: RT
Value: "z=1&dm=kohls.com&si=1057fbb8-9870-4cb9-8045-ab1fb466f9bb&ss=k939qykf&sl=1&tt=1oj&bcn=%2F%2F684dd307.akstat.io%2F&ld=1os"
.kohls.com/ Name: AMCVS_F0EF5E09512D2CD20A490D4D%40AdobeOrg
Value: 1
.kohls.com/ Name: SL_Cookie
Value: a1
www.kohls.com/ Name: akacd_www-kohls-com-mosaic-p2
Value: 2177452799~rv=27~id=5430e327689f744c55bf18b6e96b6e2b
.kohls.com/ Name: mboxEdgeCluster
Value: 26
.kohls.com/ Name: bm_sz
Value: 950F93F437751C09FDAA8A45590FB8B0~YAAQFbsQArjnrIFxAQAA9lbehAcWmFRdcX/IJpESi05RFoqkUoQlQENzQtDi2YXH9vKI7CaN7JH3TCAT4YmlVD5iSMn0k7Gbf/ovwgVsxqNaa/PUOPO1vD4Hde3awKyIqUa3GhFREU9Tnwiev331Xdm7HqQcOuP0+ftSul6D+suq3kCyddiUd0ewXM2evus=
.kohls.com/ Name: check
Value: true
www.kohls.com/sale-event Name: loglevel
Value: SILENT
www.kohls.com/ Name: mosaic
Value: gcpg
www.kohls.com/ Name: AKA_PDP2
Value: True
.kohls.com/ Name: mbox
Value: session#1496cc11290049019d3109d9a57d540b#1587073958|PC#1496cc11290049019d3109d9a57d540b.26_0#1650316898

99 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":"for-the-home"},"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 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 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:
[startup] No static messages to load for https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome
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:
[$log] $init called after window load
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:
[$log] $ready called after window load
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/s14537471103504?AQB=1&ndh=1&pf=1&callback=s_c_il[1].doPostbacks&et=1&t=16%2F3%2F2020%2023%3A21%3A38%204%20-120&d.&nsid=0&jsonv=1&.d&sdid=6FE357CE6136B4E0-0E70FE8A2B52879D&mid=11400310355889857570695271717368127690&aamlh=6&ce=UTF-8&ns=kohls&pageName=for_thehome&g=https%3A%2F%2Fwww.kohls.com%2Fsale-event%2Ffor-the-home.jsp%3Fcc%3Dfor_thehome-TN1.0-S-forthehome&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=523998%3A1%3A0%2C523996%3A1%3A0%2C525023%3A1%3A0%2C524186%3A0%3A0%2C524571%3A1%3A0%2C524251%3A1%3A0%2C521474%3A0%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%7C04%3A00%20pm&v18=thu%7Cweekday%7C04%3A00%20pm&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=for_thehome&c64=VisitorAPI%20Present&v68=for_thehome&v70=8b453b8f-3664-4028-a887-5c9893d6403a&v71=klsbrwcki%3A8b453b8f-3664-4028-a887-5c9893d6403a&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/s14537471103504?AQB=1 ndh=1 pf=1 callback=s_c_il[1].doPostbacks et=1 t=16/3/2020 23:21:38 4 -120 d. nsid=0 jsonv=1 .d sdid=6FE357CE6136B4E0-0E70FE8A2B52879D mid=11400310355889857570695271717368127690 aamlh=6 ce=UTF-8 ns=kohls pageName=for_thehome g=https://www.kohls.com/sale-event/for-the-home.jsp?cc=for_thehome-TN1.0-S-forthehome 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=523998:1:0,523996:1:0,525023:1:0,524186:0:0,524571:1:0,524251:1:0,521474:0: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|04:00 pm v18=thu|weekday|04:00 pm 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=for_thehome c64=VisitorAPI Present v68=for_thehome v70=8b453b8f-3664-4028-a887-5c9893d6403a v71=klsbrwcki:8b453b8f-3664-4028-a887-5c9893d6403a s=1600x1200 c=24 j=1.6 v=N k=Y bw=1600 bh=1200 AQE=1
console-api log (Line 1)
Message:
[object Object]
console-api log (Line 1)
Message:
#content,#id_pmpMainCont,.pdp-content
console-api log (Line 1)
Message:
#content
console-api log (Line 1)
Message:
#id_pmpMainCont
console-api log (Line 1)
Message:
.pdp-content
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:
8ae4ac2e-9158-447b-cbb0-5f9dabea1658
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:
1587072098335
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://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://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://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:
1587072099184
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":"f9376eef-9f6f-4228-ac08-8746a829ed3e","sdkPropsChanged":true,"firstTimeUser":true,"sessionTime":"30","id":"8ae4ac2e-9158-447b-cbb0-5f9dabea1658","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://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://cdn.curalate.com/sites/kohlsfanreel-afeck7/experiences/custom-square-grid-1534871816038/latest/experience.min.js(Line 1)
Message:
[crl8] Spatial tags only apply to cropped images. No spatial tags have been added.
console-api warning URL: https://cdn.curalate.com/sites/kohlsfanreel-afeck7/experiences/custom-square-grid-1534871816038/latest/experience.min.js(Line 1)
Message:
[crl8] Spatial tags only apply to cropped images. No spatial tags have been added.
console-api warning URL: https://cdn.curalate.com/sites/kohlsfanreel-afeck7/experiences/custom-square-grid-1534871816038/latest/experience.min.js(Line 1)
Message:
[crl8] Spatial tags only apply to cropped images. No spatial tags have been added.
console-api warning URL: https://cdn.curalate.com/sites/kohlsfanreel-afeck7/experiences/custom-square-grid-1534871816038/latest/experience.min.js(Line 1)
Message:
[crl8] Spatial tags only apply to cropped images. No spatial tags have been added.
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
684dd307.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.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
ct.pinterest.com
d.agkn.com
d.impactradius-event.com
d.us.criteo.com
dpm.demdex.net
edge.curalate.com
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
widget-api.stylitics.com
widget.stylitics.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.kohls.com
www.ojrq.net
api.rlcdn.com
104.111.226.89
104.244.42.133
104.244.42.195
13.224.194.92
13.225.73.102
13.225.73.31
13.225.73.33
15.188.105.205
151.101.112.157
151.101.113.179
172.217.16.162
172.217.18.6
172.217.21.194
178.250.0.130
178.250.0.161
178.250.2.146
18.202.93.59
216.58.207.66
23.213.15.82
23.213.168.234
23.5.97.37
2600:1f18:730:b110:dbd9:adbc:c9c0:b85f
2600:9000:2156:8000:19:fc2c:a140:93a1
2606:4700:10::6816:8e5
2606:4700::6811:d109
2606:4700::6812:15a0
2606:4700::6812:eb0
2620:1ec:c11::200
2a00:1450:4001:808::2002
2a00:1450:4001:809::2001
2a00:1450:4001:814::2008
2a00:1450:4001:817::2002
2a00:1450:4001:819::2002
2a00:1450:4001:819::200e
2a00:1450:4001:81a::2002
2a00:1450:4001:81b::2003
2a00:1450:4001:820::2004
2a00:1450:400c:c00::9a
2a02:26f0:6c00:181::11a6
2a02:26f0:6c00:18b::eaf
2a02:26f0:6c00:19f::2db0
2a03:2880:f02d:12:face:b00c:0:3
2a03:2880:f12d:83:face:b00c:0:25de
3.225.134.189
34.231.218.119
34.95.127.121
35.186.226.184
35.186.249.72
35.190.72.21
35.227.211.136
37.252.173.22
52.200.119.212
52.203.156.212
52.215.98.88
52.30.5.88
52.30.78.155
52.86.24.11
54.164.173.111
54.197.190.85
54.225.83.164
66.117.28.86
66.117.29.4
74.119.119.135
0012bc12b8e4b21f101266c3e52c8a244739be6694eb451c8f77383655a0a998
019a576b7eccf17e9314ace09cd88544ef0c2131682d7bb8ae033a0f96ccd9dc
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
0482a98d09daebc18a0d2e1ed8f748da5b0179e61223ed541101df1f4699f073
04e55163faf7d62a45c31e2d6ed51765daf5f7655573b6e17ae919567b785d6c
079e218ad07f42523479d475b4973a6e386ba95209ee964c04c1a6eb6186bda3
0880e33d6b135939c235f47ec1a44ccb6337219fe1c674f91c36a687b72f4114
09f8f339f39acb70b7d6cbdf7c1b0be8b12b4f0bc5533350e121ce679ad847b4
0ab30e64201204ec83abbe436c9282aa55d25a130c205f1b60e50555419a9935
0cc85b1d01447ff5ef9eb6fc2595292cb993d1e630471ef2b2a6cb54344e361d
0d01964116ba5a9c79219a78fd6196568ed155c40ae5a85104104f134bdc0d91
0d5089eed925228b55540f5538192da7f723aeb5c2ed8d3faf11c60ccab67069
0de9c58ab4cbe6d95b0d1a50488fe5ec8021163ac1d3a4be9c22b6ebb4838a49
10d8d42d73a02ddb877101e72fbfa15a0ec820224d97cedee4cf92d571be5caa
132fefcf69e743721cc84433604b9be4030a96f20797af1e03ab030edca4d76f
140b59aaf164518b2c1b4a592f8b3fabd61dcdf810f00c83ab3d8c979a0f32b9
14fcf6193151f5336b176b2c55eadfad39d073d6670629f726fe66009054e0cc
17e67d71a978d6ca3a720f6e2462433c3354aab8b83a71d01975529a77f7c21d
182dc918c9bcf19ee8e60e9a0813782d5524b19a76721d40e4df50c9ef3bfcbc
1958bb7f293956e7170f639ce93a3d628ae465fa24fd751e1a2b3cd837059ffa
1a87fc922ae495af041941359c3d2cff2e8ea0b8d55326800c05d861dd8de641
1abca67531d82517b62bb8e9b03864ac8da95149eaf71588ba7debfb66890b31
1b9677254b31d53bea24c7bf91d321e1c17c975a0d38544a141428005169364e
1c45f1dbc5afc1034ac9f4322cc6a66f4db7442f88be435d05897289ad475bd1
1c994fe0f3d03df755d2421059188b9e6428b0c8b34ac09fb4d1c5572e27e63b
2039082ed79cca9faa87a80ebbf516502cda4ca08c67f1ef46b718fee79b47f3
2176e586196f5998a644d44a77d1b80be24bb57a7782000ee903694d5c7704cc
2294527b0a142dc18d6247eab841f78253166755adac5cc483f3ece6e04f4677
22ffd3c91878a778c0c80d919abd9c063bf1b889faed4bc0e2fe69617a9f8458
260d6c5edacb67917465bd4692d5dc5b5d1abf3fd0e3bc9287b7a6e8d074d935
26e3599cccafcf6c3766e1876c83b2ffef6d960399ef07539eb4bb9c72627ffa
28b74976b46465cba8ad00082cfdcb5f3cf905a74623b2a2940d8e802b2433eb
28d5c7d2279d76c0643863a7d3926cb5b831c26538611f92a105cc6533cd531a
2b15aafeffa35cd310b17539fa8c620e1a51510ff44eb6ba8bf0bd9d109bbac6
2d3c362dea9616624060e41064907033f41959ddf6bda37f26c87e6047fcd20a
2f05563ca65e7640350b200b8bbd1fc1d159870edae312279124cab44fd95e18
317ef593559c12ec00d2005fa8aef8f47511604cad625727ce8b0c12022a013d
319949c8c08b86e9c35ea542c0dc0c30cedaa9b8d3d3c3327a36c91aefbd8af5
320c70ad4bf650961b94f2e2939c14470e8660dc3e337e99f29339fc6405f14c
3668f6bc8dd86f6690ad159eed9c3020cf6af81084e29712995005ecc7176aff
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068
37b17c5135a176a9474521af147d96dfa1fb4ca0f43f00d1400bd1885be3ab9b
38dff88a20261df3e510cf1bef67e1d9c68398158137cef3b9c06505d12033ae
3b3bed8ebb57892eb56c8f10f80dea40b578350db407de6e58375312c2031ab8
3eb10792d1f0c7e07e7248273540f1952d9a5a2996f4b5df70ab026cd9f05517
3fee8ee9cdc7566bfdf93c8158870816876ef54b93e58b205cb7f52f1d9ed064
4055bbe52ec1ff5cea3b680b8471ec2a065aeaa31f48f1b33177008514c5760e
411c045d2a620b9b58931bcfee6a2345031696ea884ff22ed59a20efd81bd217
4415770ecc7b85b58f5d595f4c62c91d6eee2d7e0f51efed0c8feb214207d6cf
49c8e93b429638f1ef0bfe59d2e19548aceb0ede39a3adc129a323a84da8600b
4a63ccc41b6e27c88fca243efd1030d401bc83bd3ae22aaff2b0d1354ba25703
4c87707ce17127fc5385771fbde9f6c94bccbd208b0de2d0edfc2939601f6af1
4e0705327480ad2323cb03d9c450ffcae4a98bf3a5382fa0c7882145ed620e49
4facc80de47ff0e715dae44c55f93c85911a2d41585cf9416a6ac641a47218c8
5362b7a5123f497155cfd7f422457370fdaaf3b0b0b3bc3798eeed9f1643c419
54615af7e556d60b2afc1382ed52fd96c1d65e37aba82e9caa741c6af25bb2c4
5683d721043542df3d73195d4449d2842042193e896c63aba9552de00b5ed207
59bf1353d95c9bca6c03dbba0ba374b1d503144432d3aea453fcb2dcbf912873
5a91c6d3e635c0bd1551a53cf0769328132151a7732039170280d500dbcb4685
5be7f98d02e5e39dd7fb71e53d3b1dfb150d89d932e7258b8b4069c6ddd7f7ea
5e8923354dc828bba8fd3a84f1fed88a4b7095207803798b521710119bf347da
6102b6f9b0a2f3d5b128c566862198ada13900b20be86edd070d9744329c14f1
625b967507428ba6b5801831c36f3caf3e819261a8b920859ef73ee247c4115a
63630dabec4f48e5b818c21158eda205d78186285a429833931511b5c79ea337
644fe710e6435028a30263c2b907c700f61934afaff7a8c539c0e4337f79eccb
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1
694e7d44f5924f985ab1581df085818f7331016bd8c3930196d9b183a3bc4963
6d257ae7d283ba55180a09d9933ff94e8069ceaac0ad76c5a01bf2d4fd170665
6dfa271e269c6f6693aee52b71b1e808077d6f9c0cb8389c8e4a2181ec595f2d
6fb771cea0f01fb298abc64789085e6006897a9ce38e50e60357866b30dde636
7174bee35eeeb0547655bf8514ccd01d48ecfbd070492c8608b63e16412f3a0b
740078cb1778d885689a3108d2ca696b01fd80cb73437528af4ed0dd6e7466b7
749c148a1459170716835fe3bb0e850c0004430c917fcaf75e22e7ea327f1165
7723054026b9a0f9a04bc1bd92d534d0f391d06928a6ea9f21a88d73ce674770
784987f702c79e593b13b91fc91b303cb44af611c6537ef988b415c1f376e8ec
790d3cb3a1372c1185ee7f4d65f27b31797f50d21ef4093d8933c7f32030797c
7981dac50c9f26875336de70feca8696ea7e73a7d74438842eb21810dcb39755
7ce29054105464dfd219d78809096d5ef1654eb65352436a7047be55c95246bc
7d1b654bc56485872b4c88231b981623294f36b863fc193ae0390a6d02a99130
80cc8ef5083239b68a12bff0d34ce0fd015791a72ef9c173417edc29d95da6e8
80d54533f80e8233621f965ae0a7713928bdb4d491ed0eb5e90434550f1894cb
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
835e6e2778a8f1ad7136ed9496722f3590adb0828ea7d331d35f98e8bf6d936a
84b2426a6096b022d9eddbc7b9318f98d10c6b51bfa99bd1aa3b605dd2c2264c
86e6a4aba6ff6680360f73f8ab9c8b3d243e44d945dbae44c9af9a149fda0f98
86ff0cb1658b5b1e3368575112eab5ebdf2da7a786599ce73cee1ed875bd9f80
8868e6ac1342805b547df669e1a37c9a2ac03263978ddd0388a0eb9764dd2800
88df94264c45651d0f812f074dc8e4d03205d40924fe8a6ac672b494098ca772
897fec07a1f8ff609389c54436f01e96897d2041be089efa815d51288bba5674
8b827ad54f4b3f9f0235c3938708788401c8fa9aef295134299fe0cb8380e92b
8bd5e5729a3fb989a0bcb99fd966df11e1c44198c447712fa4136996e2b28c0a
8c4733e6ed8309884300bfdd6c99a28c43a078277dfb013e2036eebdd5930c06
8d70b3e6badb6973663b398d297bb32eaedd08826a1af98d0a1cfce5324ffce0
8d985c9981e1b6470133490825f7ccc5b85425f8ebc28fbf5bc1a301077f2fbf
8dccc8a29c28ee78f0d1f0336ccc95edfc29e32134efd81160fb7a224f51a270
90bbb3ea1d08073df9b81016822765c24210acb56fe474627e64b925979f2057
91bd671d9ef32c444bc363d40e7d072a317e899b9c662ad1dd837d1d2277ed3a
935c78ed2a8b54d1e45405f33a81d7122820c14a965750229f9be8e5d48d3376
947e9f65adc6ac5c6617e55325ee90f7be1a2176b562e0739ef27a8cb2b23cfa
952dec4a61124f99e50148eb3d98afbada8ab4c5c7a3d4e5b8b1ef067454acdc
99e502f00a1a89faf52ecf66791b4e3f5e85d5806544ecbf2943c5e4c4667c7e
9a118dcfc9dcb4b08cb5974926483ca437750f2c9becf6db10128accd57b198b
9a360cf5ee4308a7d244179b2f91f25d33310871c20b6cf765093acb81fd8e49
9a3c12072ed3b8a80321998ec90ed1915c2262b71c148b7a4ba08099d7fc0541
9d39e3127b199df526678091aa4681f829efb05a2df130f83edb51da08753fcd
9d8a2811fe6cec544f8e4ba7915c7ee8d4caa72257d97bf4f8964dae6c621ff6
9fb974b84a129972abbd1e2e5cfdf685cab5f6f22d881adf3845bc73b43eb4ad
a256529bd5b1b8846f8d2536ce7581fb6cea4479992f222d01535903dff48d79
a26c4421f420f7a7a0615312c31cb8150ce3dfc51afe4d9516b4bf36f5d24bac
a2852bb56a7d5d48e3d23033ea395ae3f129667616dfe194b5c1ca2d8734dd52
a3d50ef27006d215b4828faae5cce1617ef8cbb2800346351dc17cb5159eaa50
a400fe551ce1b5f459f1808f5c93714ea243d7e4b10dc962936b21635f34f8b0
a47f17d6ebbf4621d8fe87ab790d8d8fb5c3086629194d9ff2d64faaa6e46ab6
a5bab066a8cde4b5cd4cbe51b41160e99daa91f8f166f6b992f80090d3962295
a783804e222c9d85236a34c0bf859e41202f5c8c20fbe2d1e25bf5d658f12760
a8a5c752f8ae0c033572453cbb3240ca9047eae565ea1f3df7cb1ea67e9984d9
a97d646b5a448fe56237813784c8d585048fbe7f6f6efb02a48736a6094c63f3
aa62689b37973c7306183d12324ea9daf6f9d50fbe0f2a65f41b81aaa556cae1
ac8778041fdb7f2e08ceb574c9a766247ea26f1a7d90fa854c4efcf4b361a957
aceabcad789ecff956642f386c61536a07b581d1c73f5bd4462686682bf9aa5f
af9fa9f0773266d650cff80076d18e7b3b6b170e807badd366cfef901e8e9235
b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b
b2b9fcf8497404b50054ca1bd348de9387e7a369a85f91c3819e387214609c83
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
b69335ae739737089bebce27cfc370df981bd29f27fca7ba40cc6cd893af9060
b77c0a609ec47590bf68fc421e89173e9e3eb08e4337bde5f8ac46de40dfd059
b9d2e26f22cdbae9b33b328fcaec06435834b057c435fd14a615dda245ce64d5
ba896d2887b39bdd7443fb9bf6ec5c3de922d790251364f5daa096ab6341be55
bc24d0d41bcdb6b695552beb813309350739bc52e9e6e03c7766816762fbf157
bd003897078b211fddaa84e7b31cfc90b0de54d294dffc31aece56ed026ce186
bd0ef48eaa0ac4eedc4dd9649aab84851875b408d67db5280578790e63865fd0
bd1ce324b2ecc6505e0e2e57ee85377070767920aaa5aa140737d0b263692772
beebeb4f09a7ac38a5612b107b9cc34f9946e59c382d6be24aa3600894adbcba
c078fae7ad7ab63420b68e38395d680cc8c7c3e2d13e0a4f295082bac5983f76
c31c7980df981fd1920e536706c32a3c0496c7154eff64c37538e1f3b4ddb266
c33bfb9bf99597501c78e3dc3530babcd11f7b98b7aca0a4631f312a14e400c9
c3d0ccc036971aca7f6332aec2cac5dd18c057ccd8395d350467b9c0dfc432c8
c44133797872e991c24b92e81a91b6f9dc27b42d82089f6a4cc1d6c5817ad97e
c79dc828b12ed77c8d0dc59ef0c96a630d758bd5b19f26b9e5c1051822f0a39b
c93fbf07aea53b8f5c7f7477a6e9eccc4024356002f210ba6b24ea1ce48f1814
ca7d09ad7efd15f3ba2941da4f10d9ba3d2c6e8319c2793f64919c8d2ea99bed
ce7e971dc5b5a372e890f41e8b5de2eac3d5af4fa276784a7b97da2e26fe04de
cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
d0a6f14555498397bfb0c24e4230c861569dc8cea6cfbd08df9cfd268dbe697d
d23db175f2b8a64c53ff81f0ee03cad4cbba8cc0e2f62c39fd7058d03663332b
d54f94df1233ab7224af68f63fe3df27584c4c01d70b2e65bcdc774ba05c6b41
d6887aae055eff5ba1d8eeb653fc7c2ba7f6c4831d2f06ee20b5dd1e45178273
d7947b9b9b2cbd30a97db1cfe83eaef602b553783b63350d525cde0e4da519a9
d8fdce64bbf770066b67c13065828cc26206c371b426dd45a4939a4a3d932f1b
d9b35bfb57f54552bf5ff05d248d3b9b78d0cad3d7a5cd35e7b8a794a0203fd4
dadc398fbea0cbcbfd726901951318df5d51725de440e4fc82d1bccb0dfdfb45
db2db73c8e2465b0c406bd7ffbe0bbfb39abd592d93cc4c578891d25015d19ee
db6ba57b93434c982b5945511e142210fc808786baf44e33242e3b573bec33d8
dcb2626fcd1e84f955c17868e7fcae836323e049333b46b96b7af2d08389f6b0
df179f7583362a8382421dadcbc9a497639f19dac1ea7c3774741d88b458c058
df3e003cc30e9bdd0313100e8ee5d468070b4b34d11ad355f276a356d4b9c7bf
e15f21cd7a83e4e8d32c071f464287a2704794f2bdac683133a7b34dac6d55ba
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
e5063c2f8d59f2fa55456040d32935d5cceac9c23a0ae8a3e3ce026f08542496
e556da74f98a7e28f6587d84bffa721c893c2cc537ee69aacced1f1755a90a2a
e8b0f3008df17a9ab47dce9a7ba06f248db59db13236372abd388303a5cf947d
e93047ab88ddf3a33047a506b4a7594914e84fcf5ebac4b2723739e728e284b5
ea46c4bbfb1c549721ae599d61413502c57785c0f411e9aafcf95985d2ea4a8b
eae916bc9c89a6f2e177af19f1813146b1a2ff4d60753bd0e8fdafd8d8bfd8cc
eaf1b128b927ac2868755cb7366d35554255c8af362235afe270f9614f8c806d
ec34cd386427fe6deacf99f4fdbeea4b1d1ed25f505411650d7ceaa843a7fc63
ee9c1d075ccb7aacfb8c4b0ba397eed8c8c956e15b915f89f6ce7cde00766333
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
f24cd77318c239a2211ea8382efa423e81b21e515b902fbf707b7996f1b99a45
f2683570ae7fe95b27c525f227033d235346af6ea910e8ba3543096be7e4f7fb
f5c47edf8bb006ff7872e596819aa81ffaa80f3740330622e048c7de5c3638fc
f6dcf716a17e2e589d2c4db03772788627dc649b6bd4f1d8bb32e66a9bac1456
f746e82bd131a5b09043ae341bd8c0d6013014eab5da521392278988164a385e
f94a0b8748fb6d8f32b70d464162f64e541983caa0631e5d3f2e73c40a17e393
f95deafc0b53b8cde448f7b3d3e6e1b03a264b993f60be3ff501fbef647523c1
fb30d19bfdc58c092bdabad889657613116021c0d07e936fdb3e9e5dbd669872
fb4491ac8ba8263bc3648569c13e5c3db6559373d119c760b3bdf7816f352196
fc49380a326d18192e6e10dc8b95f7738e27af87961a0221523910a6b8470500
fdda0bf56efc740943f5d132b26d6bd72755b22971e9987da2ea2c294ef25118
ff30745030d165d5a474636821019b31c675ce1564e79da1cbe1e19f7617d444