Submitted URL: http://click.s.kohls.com/?qs=80a6bf42c51f76dfde1bb8bfa9063b98858085097c8ca5bd6bb288a59286fe20a4158a67d9ff74516e23bcda7cc7...
Effective URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Sm...
Submission: On April 17 via api from US

Summary

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

urlscan.io Verdict: No classification

Domain & IP information

IP Address AS Autonomous System
2 2 198.245.92.105 22606 (EXACT-7)
1 1 2a02:26f0:eb:... 20940 (AKAMAI-ASN1)
56 2a02:26f0:eb:... 20940 (AKAMAI-ASN1)
1 4 52.16.76.117 16509 (AMAZON-02)
1 2a02:26f0:eb:... 20940 (AKAMAI-ASN1)
1 52.211.89.62 16509 (AMAZON-02)
1 35.181.91.36 16509 (AMAZON-02)
1 1 66.117.28.86 15224 (OMNITURE)
1 74.119.118.146 19750 (AS-CRITEO)
1 2a02:26f0:eb:... 20940 (AKAMAI-ASN1)
1 66.117.29.4 15224 (OMNITURE)
1 2a02:26f0:eb:... 20940 (AKAMAI-ASN1)
1 13.225.73.53 16509 (AMAZON-02)
6 23.203.64.67 16625 (AKAMAI-AS)
1 104.108.169.218 16625 (AKAMAI-AS)
3 8 2a00:1450:400... 15169 (GOOGLE)
4 46.137.81.30 16509 (AMAZON-02)
1 3.219.149.238 14618 (AMAZON-AES)
3 2a00:1450:400... 15169 (GOOGLE)
1 2 172.217.18.162 15169 (GOOGLE)
2 7 2a00:1450:400... 15169 (GOOGLE)
1 3.210.28.246 14618 (AMAZON-AES)
7 2a00:1450:400... 15169 (GOOGLE)
4 2620:1ec:c11:... 8068 (MICROSOFT...)
1 3 104.124.133.20 16625 (AKAMAI-AS)
2 2a00:1450:400... 15169 (GOOGLE)
2 2a03:2880:f01... 32934 (FACEBOOK)
1 13.225.73.37 16509 (AMAZON-02)
1 151.101.113.179 54113 (FASTLY)
2 2606:4700::68... 13335 (CLOUDFLAR...)
6 2a02:26f0:f1:... 20940 (AKAMAI-ASN1)
1 2 216.58.207.70 15169 (GOOGLE)
2 13.225.73.36 16509 (AMAZON-02)
1 205.185.216.42 20446 (HIGHWINDS3)
1 35.186.249.72 15169 (GOOGLE)
1 2a02:2638::1c 44788 (ASN-CRITE...)
1 1 2600:1f18:730... 14618 (AMAZON-AES)
1 3.86.120.22 14618 (AMAZON-AES)
2 2 37.252.173.62 29990 (ASN-APPNEX)
2 52.215.180.197 16509 (AMAZON-02)
1 2600:9000:215... 16509 (AMAZON-02)
2 35.186.226.184 15169 (GOOGLE)
1 1 2a00:1450:400... 15169 (GOOGLE)
1 2606:4700::68... 13335 (CLOUDFLAR...)
1 35.227.211.136 15169 (GOOGLE)
1 151.101.112.157 54113 (FASTLY)
2 104.244.42.195 13414 (TWITTER)
2 104.244.42.5 13414 (TWITTER)
5 52.201.3.186 14618 (AMAZON-AES)
8 52.5.165.202 14618 (AMAZON-AES)
2 151.101.12.84 54113 (FASTLY)
1 35.190.72.21 15169 (GOOGLE)
1 34.95.127.121 15169 (GOOGLE)
2 2a03:2880:f11... 32934 (FACEBOOK)
1 23.213.15.82 16625 (AKAMAI-AS)
2 2a00:1450:400... 15169 (GOOGLE)
1 172.217.22.66 15169 (GOOGLE)
1 52.86.24.11 14618 (AMAZON-AES)
168 53
Apex Domain
Subdomains
Transfer
45 kohls.com
click.s.kohls.com
kohls.com
www.kohls.com
api-bd.kohls.com
ww8.kohls.com
mon1.kohls.com
1020 KB
19 clicktale.net
cdnssl.clicktale.net
conductor.clicktale.net
ing-district.clicktale.net
137 KB
15 kohlsimg.com
media.kohlsimg.com
51 KB
11 doubleclick.net
googleads.g.doubleclick.net
8632166.fls.doubleclick.net
cm.g.doubleclick.net
stats.g.doubleclick.net
securepubads.g.doubleclick.net
69 KB
9 google.com
www.google.com
adservice.google.com
60 KB
8 google.de
www.google.de
adservice.google.de
940 B
6 btstatic.com
s.btstatic.com
17 KB
5 demdex.net
dpm.demdex.net
kohls.demdex.net
8 KB
4 bing.com
bat.bing.com
15 KB
4 thebrighttag.com
s.thebrighttag.com
11 KB
3 liadm.com
rp.liadm.com
rp4.liadm.com
idx.liadm.com
2 KB
3 scorecardresearch.com
sb.scorecardresearch.com
3 KB
3 googletagmanager.com
www.googletagmanager.com
88 KB
2 facebook.com
www.facebook.com
372 B
2 pinterest.com
ct.pinterest.com
191 B
2 t.co
t.co
295 B
2 twitter.com
analytics.twitter.com
288 B
2 snapchat.com
tr.snapchat.com
2 adsrvr.org
match.adsrvr.org
933 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 facebook.net
connect.facebook.net
142 KB
2 google-analytics.com
www.google-analytics.com
18 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
263 B
1 rlcdn.com
idsync.rlcdn.com
api.rlcdn.com Failed
40 B
1 ads-twitter.com
static.ads-twitter.com
2 KB
1 sjv.io
kohls.sjv.io
623 B
1 cloudflare.com
www.cloudflare.com
472 B
1 agkn.com
d.agkn.com
581 B
1 criteo.com
gum.criteo.com
64 B
1 impactradius-event.com
d.impactradius-event.com
13 KB
1 flashtalking.com
servedby.flashtalking.com
1 tagdelivery.com
cdn.tagdelivery.com
11 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
11 KB
1 richrelevance.com
media.richrelevance.com
7 KB
1 akstat.io
684dd306.akstat.io
354 B
1 omtrdc.net
kohls.tt.omtrdc.net
9 KB
1 hlserve.com
www.hlserve.com
73 KB
1 everesttech.net
cm.everesttech.net
554 B
168 46
Domain Requested by
33 www.kohls.com www.kohls.com
s.go-mpulse.net
15 media.kohlsimg.com www.kohls.com
8 ing-district.clicktale.net s.go-mpulse.net
cdnssl.clicktale.net
8 www.google.com 3 redirects www.kohls.com
7 www.google.de
6 cdnssl.clicktale.net www.kohls.com
cdnssl.clicktale.net
6 googleads.g.doubleclick.net 2 redirects www.googleadservices.com
6 s.btstatic.com www.kohls.com
s.btstatic.com
6 mon1.kohls.com www.kohls.com
mon1.kohls.com
5 conductor.clicktale.net cdnssl.clicktale.net
s.go-mpulse.net
4 bat.bing.com s.btstatic.com
4 s.thebrighttag.com s.btstatic.com
4 dpm.demdex.net 1 redirects www.kohls.com
s.go-mpulse.net
3 sb.scorecardresearch.com 1 redirects www.kohls.com
3 www.googletagmanager.com s.btstatic.com
2 www.facebook.com
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 tjxbfc1n.micpn.com www.kohls.com
2 8632166.fls.doubleclick.net 1 redirects www.googletagmanager.com
2 s.pinimg.com www.kohls.com
s.pinimg.com
2 connect.facebook.net s.btstatic.com
connect.facebook.net
2 www.google-analytics.com www.kohls.com
2 api-bd.kohls.com www.kohls.com
2 click.s.kohls.com 2 redirects
1 idx.liadm.com s.go-mpulse.net
1 securepubads.g.doubleclick.net www.googletagservices.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 static.ads-twitter.com s.btstatic.com
1 kohls.sjv.io s.go-mpulse.net
1 www.cloudflare.com s.go-mpulse.net
1 stats.g.doubleclick.net 1 redirects
1 d.agkn.com
1 cm.g.doubleclick.net 1 redirects
1 rp4.liadm.com
1 rp.liadm.com 1 redirects
1 gum.criteo.com
1 d.impactradius-event.com www.kohls.com
1 servedby.flashtalking.com s.btstatic.com
1 cdn.tagdelivery.com s.btstatic.com
1 sc-static.net www.kohls.com
1 6249496.collect.igodigital.com s.btstatic.com
1 www.googleadservices.com www.googletagmanager.com
1 apps.zineone.com s.go-mpulse.net
1 media.richrelevance.com www.kohls.com
1 cdn.zineone.com www.kohls.com
1 684dd306.akstat.io s.go-mpulse.net
1 kohls.tt.omtrdc.net s.go-mpulse.net
1 c.go-mpulse.net s.go-mpulse.net
1 www.hlserve.com www.kohls.com
1 cm.everesttech.net 1 redirects
1 ww8.kohls.com www.kohls.com
1 kohls.demdex.net www.kohls.com
1 s.go-mpulse.net www.kohls.com
1 kohls.com 1 redirects
0 api.rlcdn.com Failed s.go-mpulse.net
168 65
Subject Issuer Validity Valid
www.kohls.com
DigiCert SHA2 Extended Validation Server CA
2020-01-21 -
2021-09-26
2 years 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
*.hlserve.com
DigiCert ECC Secure Server CA
2019-07-01 -
2020-07-08
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
s.btstatic.com
DigiCert SHA2 Secure Server CA
2020-02-10 -
2022-02-17
2 years crt.sh
static.richrelevance.net
GeoTrust RSA CA 2018
2020-03-14 -
2021-06-13
a year crt.sh
www.google.com
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months 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
*.g.doubleclick.net
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.google.de
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months 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
*.clicktale.net
DigiCert SHA2 Secure Server CA
2019-10-06 -
2020-11-04
a year crt.sh
*.doubleclick.net
GTS CA 1O1
2020-04-01 -
2020-06-24
3 months crt.sh
*.micpn.com
Sectigo RSA Domain Validation Secure Server CA
2019-03-18 -
2020-06-15
a year crt.sh
servedby.flashtalking.com
DigiCert SHA2 Secure Server CA
2019-02-08 -
2021-02-11
2 years crt.sh
*.impactradius-event.com
COMODO RSA Domain Validation Secure Server CA
2019-01-08 -
2021-01-20
2 years crt.sh
*.criteo.com
DigiCert ECC Secure Server CA
2020-03-30 -
2020-06-28
3 months crt.sh
*.liadm.com
Amazon
2020-01-17 -
2021-02-17
a year crt.sh
*.adsrvr.org
Trustwave Organization Validation SHA256 CA, Level 1
2019-03-07 -
2021-04-19
2 years crt.sh
*.agkn.com
RapidSSL RSA CA 2018
2018-06-21 -
2020-09-16
2 years crt.sh
tr.snapchat.com
DigiCert SHA2 Secure Server CA
2019-02-19 -
2021-02-23
2 years crt.sh
cloudflare.com
DigiCert ECC Extended Validation Server CA
2018-10-30 -
2020-11-03
2 years crt.sh
*.sjv.io
Sectigo RSA Domain Validation Secure Server CA
2019-04-22 -
2021-04-21
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
*.pinterest.com
DigiCert SHA2 High Assurance Server CA
2019-06-05 -
2020-07-22
a year 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
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

This page contains 8 frames:

Primary Page: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Frame ID: 13D334E549B41AA43EA45C49758F537E
Requests: 164 HTTP requests in this frame

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

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

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

Frame: https://8632166.fls.doubleclick.net/activityi;dc_pre=CM-7z8_H7-gCFXvEuwgd7lIMFQ;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292;u11=;u13=;u2=;u23=New%20Customer;u24=;u25=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292
Frame ID: 79474568AFB9FCF5CA93B9ADE8CD5CAC
Requests: 1 HTTP requests in this frame

Frame: https://servedby.flashtalking.com/container/1638;101965;1478;iframe/?spotName=Category_Page&U1=&U2=1234&U3=6650194855604879051&U7=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc&cachebuster=974801.2442729888
Frame ID: C7F67ACC72193623AA51D07CA345549C
Requests: 1 HTTP requests in this frame

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

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

Screenshot


Page URL History Show full URLs

  1. http://click.s.kohls.com/?qs=80a6bf42c51f76dfde1bb8bfa9063b98858085097c8ca5bd6bb288a59286fe20a4158a67... HTTP 301
    https://click.s.kohls.com/?qs=80a6bf42c51f76dfde1bb8bfa9063b98858085097c8ca5bd6bb288a59286fe20a4158a67... HTTP 302
    http://kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton... HTTP 302
    https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton... Page URL

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
  • html /<iframe[^>]* (?:id="comscore"|scr=[^>]+comscore)|\.scorecardresearch\.com\/beacon\.js|COMSCORE\.beacon/i
  • script /\.scorecardresearch\.com\/beacon\.js|COMSCORE\.beacon/i

Page Statistics

168
Requests

98 %
HTTPS

36 %
IPv6

46
Domains

65
Subdomains

53
IPs

7
Countries

2140 kB
Transfer

8106 kB
Size

18
Cookies

Page URL History

This captures the URL locations of the websites, including HTTP redirects and client-side redirects via JavaScript or Meta fields.

  1. http://click.s.kohls.com/?qs=80a6bf42c51f76dfde1bb8bfa9063b98858085097c8ca5bd6bb288a59286fe20a4158a67d9ff74516e23bcda7cc7d0b7b68bee51e707440d HTTP 301
    https://click.s.kohls.com/?qs=80a6bf42c51f76dfde1bb8bfa9063b98858085097c8ca5bd6bb288a59286fe20a4158a67d9ff74516e23bcda7cc7d0b7b68bee51e707440d HTTP 302
    http://kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292 HTTP 302
    https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292 Page URL

Redirected requests

There were HTTP redirect chains for the following requests:

Request Chain 10
  • 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=1587129898394 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=1587129898394
Request Chain 32
  • https://cm.everesttech.net/cm/dd?d_uuid=81808525293673043470875006748608943555 HTTP 302
  • https://dpm.demdex.net/ibs:dpid=411&dpuuid=XpmuKgAAAZ-O-hTJ
Request Chain 104
  • https://8632166.fls.doubleclick.net/activityi;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292;u11=;u13=;u2=;u23=New%20Customer;u24=;u25=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292 HTTP 302
  • https://8632166.fls.doubleclick.net/activityi;dc_pre=CM-7z8_H7-gCFXvEuwgd7lIMFQ;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292;u11=;u13=;u2=;u23=New%20Customer;u24=;u25=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292
Request Chain 109
  • 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=3748992834 HTTP 302
  • https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=3748992834&ipr=y
Request Chain 111
  • https://rp.liadm.com/p?aid=a-00oc&duid=3497852905576106265 HTTP 302
  • https://rp4.liadm.com/p?aid=a-00oc&duid=3497852905576106265&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292
Request Chain 112
  • https://secure.adnxs.com/getuid?https%3A%2F%2Fs.thebrighttag.com%2Fcs%3Fbtt%3DOMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs%26uid%3D$UID%26tp%3Dan%26gdpr%3D1 HTTP 307
  • https://secure.adnxs.com/bounce?%2Fgetuid%3Fhttps%253A%252F%252Fs.thebrighttag.com%252Fcs%253Fbtt%253DOMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs%2526uid%253D%24UID%2526tp%253Dan%2526gdpr%253D1 HTTP 302
  • https://s.thebrighttag.com/cs?btt=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&uid=3114086622950745936&tp=an&gdpr=1
Request Chain 114
  • https://cm.g.doubleclick.net/pixel?gdpr=1&google_nid=signal_dmp&google_cm&btt=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs HTTP 302
  • https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&google_gid=CAESEHmyUheXJQ5mq-sWUPW4pgY&google_cver=1
Request Chain 124
  • https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&v=1&_v=j81&tid=UA-45121696-1&cid=145564412.1587129901&jid=1292028696&gjid=682686622&_gid=1705764663.1587129901&_u=YGBAgAAB~&z=1214856027 HTTP 302
  • https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=145564412.1587129901&jid=1292028696&_v=j81&z=1214856027 HTTP 302
  • https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=145564412.1587129901&jid=1292028696&_v=j81&z=1214856027&slf_rd=1&random=3592762454
Request Chain 132
  • https://googleads.g.doubleclick.net/pagead/viewthroughconversion/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat3%3D%3BPROD_Cat4%3D%3BPROD_Cat5%3D%3BPROD_Cat6%3D%3BPROD_Cat7%3D%3BPROD_Action%3DVIEW_LIST HTTP 302
  • https://www.google.com/pagead/1p-user-list/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat3%3D%3BPROD_Cat4%3D%3BPROD_Cat5%3D%3BPROD_Cat6%3D%3BPROD_Cat7%3D%3BPROD_Action%3DVIEW_LIST&is_vtc=1&random=3795829600 HTTP 302
  • https://www.google.de/pagead/1p-user-list/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat3%3D%3BPROD_Cat4%3D%3BPROD_Cat5%3D%3BPROD_Cat6%3D%3BPROD_Cat7%3D%3BPROD_Action%3DVIEW_LIST&is_vtc=1&random=3795829600&ipr=y
Request Chain 135
  • https://sb.scorecardresearch.com/b?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&ns__t=1587129900974&ns_c=UTF-8&cv=3.5&c8=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&c9= HTTP 302
  • https://sb.scorecardresearch.com/b2?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&ns__t=1587129900974&ns_c=UTF-8&cv=3.5&c8=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&c9=

168 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
Primary Request hamilton-beach-small-appliances-kitchen-dining.jsp
www.kohls.com/catalog/
Redirect Chain
  • http://click.s.kohls.com/?qs=80a6bf42c51f76dfde1bb8bfa9063b98858085097c8ca5bd6bb288a59286fe20a4158a67d9ff74516e23bcda7cc7d0b7b68bee51e707440d
  • https://click.s.kohls.com/?qs=80a6bf42c51f76dfde1bb8bfa9063b98858085097c8ca5bd6bb288a59286fe20a4158a67d9ff74516e23bcda7cc7d0b7b68bee51e707440d
  • http://kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid...
  • https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&o...
1014 KB
290 KB
Document
General
Full URL
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
ea84fd0e8a91984167706d1db34737e7e768687178a7b589f02fe632373d9530
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
/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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
cookie
bm_sz=5A2E165352979D541BEFEEA0220CB639~YAAQmL4UAsXMN4FxAQAATlNQiAdWHTXZ8Y3gCgs2Ei/sjIc8s/7c+eholYhPPmwoRahXb5GLK+C1EpGzRBH27BB9aPF9a/Jc/56FR7uVgNnlFI9QJdb2gVSScRnkG8X7olQ+CtURxJFNyNLEsSe+Sp3qe9IycKzc7O6TH3/ADKHSdLKcqk0XHw/bNZw8Cw==; _abck=0808876F2EE0C926C2CF0742FF9E7A8B~-1~YAAQmL4UAsbMN4FxAQAATlNQiAPBQVYYC6dMmw6P3rWAb3Vi2zg7SaiaaTLpe+7VVoZICevqOk32Yq1WjhhGkPVZg+H/yKvQYZGrhHfKBIfUEkrNRMyviXefpTRbkil9zLc4KxdFb0Qw8ximemKZ9SGaycyE3WfMqYpJhH4miquL0uchKy3KqDynzgCadn19R1uLVh4nFyG0N/XkuwgNK/Ji+r1DFj9So0kivhLWXknRthzeUxEiVmiaMZ4uXX+EDUy77qD8DRJPn/ODJ8izuVpYxsI=~-1~-1~-1
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
x-cavnv
4655084005288234774_33333_9_0
correlation-id
webstore::d549a660-80ae-11ea-943d-335308cf5f2b::1587129897::us-central1-b::cprod-green-snbui-prod-m58v::2a01:4f8:192:5414::2
content-type
text/html; charset=utf-8
content-encoding
gzip
x-origin-cc
x-origin-ttl
Fri, 17 Apr 2020 13:39:57 GMT Fri, 17 Apr 2020 13:39:57 GMT
x-akamai-transformed
9 - 0 pmb=mTOE,3mRUM,2
cache-control
max-age=900
expires
Fri, 17 Apr 2020 13:39:58 GMT
date
Fri, 17 Apr 2020 13:24:58 GMT
vary
Accept-Encoding
set-cookie
propensityAvailable=false; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=Strict; Path=/ AKA_RV=25; expires=Wed, 14-Oct-2020 13:24:58 GMT; path=/; secure AKA_HP2=True; expires=Wed, 14-Oct-2020 13:24:58 GMT; path=/; secure AKA_PDP2=True; expires=Wed, 14-Oct-2020 13:24:58 GMT; path=/; secure mosaic=gcpg; expires=Sun, 17-May-2020 13:24:58 GMT; path=/; secure ak_bmsc=988F16D95D3F1B04C8EF0E5B78136D460214BE99834400002AAE995EBBEDB217~pl/RCWrCPf3hzpeOWaeVpgGlEm1N3juq1IAlxj1YHsJh6gLrRumkklUnXgseH+3iCEbHgm7owkNtQE3NNTVeLxPLHvUGIqdLu/xaxh4HPTDRQl3XSJ6f9Yn41FMysokcVWXDxeXsZMH2rjN2h5YSMBu2m8v0C4oc+10a3J11J/LRqVx8oMxcv9wBDMKhPRIodDcEDUd7jHON3T6ZYXoF+4EqPdIbjxSPVCX+ev9+DBI1s=; expires=Fri, 17 Apr 2020 15:24:58 GMT; max-age=7200; path=/; domain=.kohls.com; HttpOnly akacd_www-kohls-com-mosaic-p2=2177452799~rv=65~id=9a9d6038c403a262ce4454131d67c7ba; path=/; Expires=Mon, 31 Dec 2038 23:59:59 GMT; Secure; SameSite=None akavpau_www=1587130198~id=1bd36a9b48833bd1821f6b312959a0ec; Path=/; Secure; SameSite=None SL_Cookie=a1; expires=Fri, 17 Apr 2020 13:39:57 GMT; path=/; domain=.kohls.com; secure bm_mi=8DFE0C8C3800BCE32941D1FA2F8235F5~yCVTs3yGSanQ/OEFUamqDP2cfGtcltsw+pVMvYhEGzErujN/hjL6vShlLvBDeY0yLDbpyt0yvrzqT62OjncfczyKg/IZDdUM2V4W/qwPq8BfVhqYheh+GpianBxMqZeGlV6EqwlQecZaBtlwq+peP08RMJFKW36Nrl9K77+FmPB7s7BWfJlZOsdFJkwOAVa2/D4tjxWTJU0ijN+uTTLZECKGPNOEGnTToIjhTRECzXVfWXxmySvb+Qq1T3AK5SMhz5l+ne5cjYsZvWiUg4Qhof0q4CxRZQV39tWJ8KyHYng=; Domain=.kohls.com; Path=/; Max-Age=0; HttpOnly
server-timing
cdn-cache; desc=MISS edge; dur=151 origin; dur=136
content-security-policy
block-all-mixed-content; frame-ancestors 'self';
x-frame-options
SAMEORIGIN
strict-transport-security
max-age=15768000 ; preload

Redirect headers

Server
AkamaiGHost
Content-Length
0
Location
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Expires
Fri, 17 Apr 2020 13:24:57 GMT
Cache-Control
max-age=0, no-cache, no-store
Pragma
no-cache
Date
Fri, 17 Apr 2020 13:24:57 GMT
Connection
keep-alive
Vary
User-Agent
Set-Cookie
bm_sz=5A2E165352979D541BEFEEA0220CB639~YAAQmL4UAsXMN4FxAQAATlNQiAdWHTXZ8Y3gCgs2Ei/sjIc8s/7c+eholYhPPmwoRahXb5GLK+C1EpGzRBH27BB9aPF9a/Jc/56FR7uVgNnlFI9QJdb2gVSScRnkG8X7olQ+CtURxJFNyNLEsSe+Sp3qe9IycKzc7O6TH3/ADKHSdLKcqk0XHw/bNZw8Cw==; Domain=.kohls.com; Path=/; Expires=Fri, 17 Apr 2020 17:24:57 GMT; Max-Age=14400; HttpOnly _abck=0808876F2EE0C926C2CF0742FF9E7A8B~-1~YAAQmL4UAsbMN4FxAQAATlNQiAPBQVYYC6dMmw6P3rWAb3Vi2zg7SaiaaTLpe+7VVoZICevqOk32Yq1WjhhGkPVZg+H/yKvQYZGrhHfKBIfUEkrNRMyviXefpTRbkil9zLc4KxdFb0Qw8ximemKZ9SGaycyE3WfMqYpJhH4miquL0uchKy3KqDynzgCadn19R1uLVh4nFyG0N/XkuwgNK/Ji+r1DFj9So0kivhLWXknRthzeUxEiVmiaMZ4uXX+EDUy77qD8DRJPn/ODJ8izuVpYxsI=~-1~-1~-1; Domain=.kohls.com; Path=/; Expires=Sat, 17 Apr 2021 13:24:57 GMT; Max-Age=31536000
kjscoretag3.js
www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/
188 KB
58 KB
Script
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
84b6069c05a26ab548fef609c3edce25b555490819fa34b35e0078fce6a55429
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:28:11 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT, Thu, 02 Apr 2020 05:28:10 GMT
etag
"5e72a107-2efea"
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, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
58666
expires
Sat, 18 Apr 2020 13:24:58 GMT
33bf649
www.kohls.com/akam/11/
32 KB
11 KB
Script
General
Full URL
https://www.kohls.com/akam/11/33bf649
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
c8cd5e92dfcceae454d21d93e49b8629648f1e43b7ec8d2482ee540a5852feef
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:24:58 GMT
content-encoding
gzip
last-modified
Thu, 02 May 2019 20:07:35 GMT
x-origin-ttl
, ,
etag
"930028634489cc9169191c5ae0cd101dc4e13c0fa8fd91c706eb789a146a778d"
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
10418
expires
Fri, 17 Apr 2020 13:24:58 GMT
ggl_close_btn.png
www.kohls.com/snb/media/images/
2 KB
2 KB
Image
General
Full URL
https://www.kohls.com/snb/media/images/ggl_close_btn.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
1ded650b20c54eeff53b7b71ebaeb07741f8f61a50e62aafb1ee194a91f4ce6e
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, ,
etag
"5e729f06-6b4"
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
content-length
1716
expires
Sat, 18 Apr 2020 13:24:58 GMT
order-status-icon.png
www.kohls.com/media/images/global-header-refresh-icons/
1 KB
2 KB
Image
General
Full URL
https://www.kohls.com/media/images/global-header-refresh-icons/order-status-icon.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips /
Resource Hash
99e502f00a1a89faf52ecf66791b4e3f5e85d5806544ecbf2943c5e4c4667c7e
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Tue, 16 Jan 2018 19:45:04 GMT
server
Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips
x-origin-ttl
, , , , , , , , , , , , , , , , ,
etag
"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
content-length
1221
expires
Sat, 18 Apr 2020 13:24:58 GMT
pmp_search_loader.gif
www.kohls.com/snb/media/images/pmp_imgs/
13 KB
13 KB
Image
General
Full URL
https://www.kohls.com/snb/media/images/pmp_imgs/pmp_search_loader.gif
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
04aff5bea1b2c7b48dbeb171c9dcd30e2de1342550682cdec15ae748fa928088
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , ,
etag
"5e729f06-3352"
strict-transport-security
max-age=15768000 ; preload
content-type
image/gif
status
200
cache-control
max-age=86400
x-origin-cc
, , ,
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
13138
expires
Sat, 18 Apr 2020 13:24:58 GMT
blank_1x1.png
www.kohls.com/snb/media/26.0.7-1409/images/
68 B
482 B
Image
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/images/blank_1x1.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
5e3d382db4dd83d59aa5742793ad6b7903409e865c83bcbc54835049f043bc15
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:30:31 GMT
x-origin-ttl
, ,
etag
"5e72a107-44"
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
content-length
68
expires
Sat, 18 Apr 2020 13:24:58 GMT
20OffGPO_Overlay-Editorial_180x300_20200415
media.kohlsimg.com/is/image/kohls/
5 KB
5 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/20OffGPO_Overlay-Editorial_180x300_20200415
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
80ae61cf90a1b1421b928d5c04b88e30376d60d5124e08b420933abfc79b1065

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
server
Akamai Image Manager
etag
"96441ae2e4f1651a54080801c59eedda"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
5164
expires
Fri, 24 Apr 2020 13:24:58 GMT
s_code.js
www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/
80 KB
25 KB
Script
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/s_code.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
790d3cb3a1372c1185ee7f4d65f27b31797f50d21ef4093d8933c7f32030797c
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:28:03 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:28:02 GMT, Thu, 02 Apr 2020 05:28:02 GMT, Thu, 02 Apr 2020 05:28:02 GMT, Thu, 02 Apr 2020 05:28:02 GMT
etag
"5e72a107-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, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
25016
expires
Sat, 18 Apr 2020 13:24:58 GMT
omniture_tracking.js
www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/
5 KB
2 KB
Script
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/omniture_tracking.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
fc1bd48c49c83613c4c3a2fa54bb1de4ec91018a97fce5834f1f404c8c046cbe
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:27:46 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT
etag
"5e72a107-1238"
strict-transport-security
max-age=15768000 ; preload
content-type
application/javascript
status
200
cache-control
max-age=86400
x-origin-cc
, max-age=86400, max-age=86400, max-age=86400, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
946
expires
Sat, 18 Apr 2020 13:24:58 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
8bd5e5729a3fb989a0bcb99fd966df11e1c44198c447712fa4136996e2b28c0a
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:24:58 GMT
content-encoding
gzip
last-modified
Tue, 04 Feb 2020 20:25:53 GMT
x-origin-ttl
,
etag
"aa9808af4a63a6991976c58d3a0b688b4fa00b617dcffd0fc56464fdf04f2074"
vary
Accept-Encoding
content-type
application/javascript
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
cache-control
max-age=604800
x-origin-cc
,
strict-transport-security
max-age=15768000 ; preload
content-length
16429
expires
Fri, 17 Apr 2020 13:24:58 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=1587129898394
  • 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=1587129898394
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=1587129898394
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.16.76.117 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-16-76-117.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
2c8efe490fe1a66a5c7dd3c5d844abc19eb437a897517c42b92ab917d1c04c35
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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-09bd39f2e.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
+OmcmsfBRJQ=
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
2236
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
RCU39ztaR60=
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=1587129898394
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
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 565A
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:1b4::11a6 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
9fb974b84a129972abbd1e2e5cfdf685cab5f6f22d881adf3845bc73b43eb4ad

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Fri, 13 Mar 2020 05:21:23 GMT
vary
Accept-Encoding
content-type
application/javascript; charset=utf-8
status
200
cache-control
max-age=604800
timing-allow-origin
*
content-length
50141
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/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache /
Resource Hash
63630dabec4f48e5b818c21158eda205d78186285a429833931511b5c79ea337

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
gzip
server
Apache
fwdhst
kohls.download.akamai.com
etag
"b330d165d1fa1f7ddb4d73fcbf23f587:1580192838"
vary
Accept-Encoding
content-type
text/css
status
200
cache-control
max-age=1800
akamai-request-id2
2.20.190.153:51c3e1d
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
20170
expires
Fri, 17 Apr 2020 13:54:58 GMT
search-icon.svg
www.kohls.com/snb/media/images/global-header-refresh-icons/
324 B
712 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
a3d50ef27006d215b4828faae5cce1617ef8cbb2800346351dc17cb5159eaa50
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
gzip
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , , ,
etag
"5e729f06-144"
vary
Accept-Encoding
content-type
image/svg+xml
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
cache-control
max-age=86400
x-origin-cc
, , , ,
strict-transport-security
max-age=15768000 ; preload
accept-ranges
bytes
content-length
228
expires
Sat, 18 Apr 2020 13:24:58 GMT
gh-test-shoppingcart
media.kohlsimg.com/is/image/kohls/
738 B
903 B
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/gh-test-shoppingcart?scl=1&fmt=png-alpha
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Server /
Resource Hash
2d3c362dea9616624060e41064907033f41959ddf6bda37f26c87e6047fcd20a

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
server
Akamai Image Server
etag
"f4d95f99ca6627c0da518f4776dd6700"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, max-age=875
content-length
738
expires
Fri, 17 Apr 2020 13:39:33 GMT
truncated
/
14 KB
14 KB
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
f94a0b8748fb6d8f32b70d464162f64e541983caa0631e5d3f2e73c40a17e393

Request headers

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

Response headers

Content-Type
application/x-font-woff
truncated
/
14 KB
14 KB
Font
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
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
up.svg
www.kohls.com/snb/media/images/pmp_imgs/
294 B
658 B
Image
General
Full URL
https://www.kohls.com/snb/media/images/pmp_imgs/up.svg
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
d79e99b4c459402002b1e36b42d4ab187f8afc1083fc823becfa9750b7d42633
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
gzip
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, ,
etag
"5e729f06-126"
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
220
expires
Sat, 18 Apr 2020 13:24:58 GMT
loading.png
www.kohls.com/snb/media/images/
917 B
1 KB
Image
General
Full URL
https://www.kohls.com/snb/media/images/loading.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
c4183ec963c0749480ddf2edf0177db6e67d15b5a59a903c62983a9123d9937a
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , ,
etag
"5e729f06-395"
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
content-length
917
expires
Sat, 18 Apr 2020 13:24:58 GMT
ic-left-chevron.png
www.kohls.com/snb/media/images/pmp_imgs/
322 B
759 B
Image
General
Full URL
https://www.kohls.com/snb/media/images/pmp_imgs/ic-left-chevron.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
579f18fb447c3ab10e71679f99a0f40cefaa4a58950a342ae55f68392d977504
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , ,
etag
"5e729f06-142"
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
content-length
322
expires
Sat, 18 Apr 2020 13:24:58 GMT
ic-right-chevron.png
www.kohls.com/snb/media/images/pmp_imgs/
287 B
702 B
Image
General
Full URL
https://www.kohls.com/snb/media/images/pmp_imgs/ic-right-chevron.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
55aef556e25e53cce213ba61e4980f387784389978ad68a0ccb0c430f7a103b6
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, ,
etag
"5e729f06-11f"
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
content-length
287
expires
Sat, 18 Apr 2020 13:24:58 GMT
product-rating-stars-sprite.png
www.kohls.com/snb/media/images/
2 KB
2 KB
Image
General
Full URL
https://www.kohls.com/snb/media/images/product-rating-stars-sprite.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
3f36603805c889faf08235b10081553af7e36b8bbb4bf425b03cbbacfdb65ea2
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , ,
etag
"5e729f06-6e0"
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
content-length
1760
expires
Sat, 18 Apr 2020 13:24:58 GMT
plus.png
www.kohls.com/snb/media/images/pmp_imgs/
182 B
642 B
Image
General
Full URL
https://www.kohls.com/snb/media/images/pmp_imgs/plus.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
6d433c0efcee69eb1773743c93e23940c6027ad87d22c708e864a0183de8fc34
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , , ,
etag
"5e729f06-b6"
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
content-length
182
expires
Sat, 18 Apr 2020 13:24:58 GMT
backToTop.png
www.kohls.com/snb/media/images/
3 KB
3 KB
Image
General
Full URL
https://www.kohls.com/snb/media/images/backToTop.png
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
a30ff001f8b283976268021bf2f1fd74535f88904c66cd8ef976b652c35af1ae
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
last-modified
Wed, 18 Mar 2020 22:21:58 GMT
x-origin-ttl
, , ,
etag
"5e729f06-c30"
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
content-length
3120
expires
Sat, 18 Apr 2020 13:24:58 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
0d627b0f916377baf33570265c79a
www.kohls.com/public/
17 B
730 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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:24:58 GMT
x-origin-ttl
Fri, 17 Apr 2020 13:24:58 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
Cookie set dest5.html
kohls.demdex.net/ Frame 337D
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/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.211.89.62 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-211-89-62.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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Accept-Encoding
gzip, deflate, br
Accept-Language
en-US
Cookie
demdex=81808525293673043470875006748608943555
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292

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 14:08:03 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=81808525293673043470875006748608943555;Path=/;Domain=.demdex.net;Expires=Wed, 14-Oct-2020 13:24:58 GMT;Max-Age=15552000;Secure;SameSite=None
Strict-Transport-Security
max-age=31536000; includeSubDomains
Vary
Accept-Encoding, User-Agent
X-TID
/TRt8aALSwc=
Content-Length
2785
Connection
keep-alive
id
ww8.kohls.com/
48 B
481 B
XHR
General
Full URL
https://ww8.kohls.com/id?d_visid_ver=4.3.0&d_fieldgroup=A&mcorgid=F0EF5E09512D2CD20A490D4D%40AdobeOrg&mid=86921325534391668990363723434308754667&ts=1587129898583
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
35.181.91.36 Paris, France, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-35-181-91-36.eu-west-3.compute.amazonaws.com
Software
jag /
Resource Hash
01952424eb7bf6b82cc51b625ede392e9b4b3f2e409a43d6f7d97c6bcad188e6
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 1; mode=block

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:24:58 GMT
x-content-type-options
nosniff
server
jag
xserver
anedge-65fb49f79-q5jm7
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=XpmuKgAAAZ-O-hTJ
dpm.demdex.net/
Redirect Chain
  • https://cm.everesttech.net/cm/dd?d_uuid=81808525293673043470875006748608943555
  • https://dpm.demdex.net/ibs:dpid=411&dpuuid=XpmuKgAAAZ-O-hTJ
42 B
915 B
Image
General
Full URL
https://dpm.demdex.net/ibs:dpid=411&dpuuid=XpmuKgAAAZ-O-hTJ
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.16.76.117 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-16-76-117.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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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-05538dd76.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
EGJxD4miTrM=
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
Fri, 17 Apr 2020 13:24:57 GMT
Server
AMO-cookiemap/1.1
P3P
CP="NOI NID DEVa PSAa PSDa OUR IND PUR COM NAV INT DEM"
Location
https://dpm.demdex.net/ibs:dpid=411&dpuuid=XpmuKgAAAZ-O-hTJ
Cache-Control
no-cache
Connection
Keep-Alive
Keep-Alive
timeout=15,max=100
Content-Length
0
foundation3.js
www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/
229 KB
72 KB
Script
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/foundation3.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
86ff0cb1658b5b1e3368575112eab5ebdf2da7a786599ce73cee1ed875bd9f80
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:28:24 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:28:22 GMT, Thu, 02 Apr 2020 05:28:22 GMT, Thu, 02 Apr 2020 05:28:22 GMT
etag
"5e72a107-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
Sat, 18 Apr 2020 13:24:58 GMT
productlistRevamp.js
www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/
452 KB
98 KB
Script
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/productlistRevamp.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
5e274b90f9e953a02ca69f649a0052023241c5fbb29ddb36c07a26d81845cf87
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:27:47 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT
etag
"5e72a107-70f94"
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, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
99047
expires
Sat, 18 Apr 2020 13:24:58 GMT
ctl.pmp.js
www.kohls.com/snb/media/26.0.7-1409/javascript/controller/
15 KB
4 KB
Script
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/controller/ctl.pmp.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
ccb7c385a0b51956e92a2acae43f49e9a9020f5170bd6e8b981d381c0a5b502a
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:27:47 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:27:47 GMT, Thu, 02 Apr 2020 05:27:47 GMT, Thu, 02 Apr 2020 05:27:47 GMT, Thu, 02 Apr 2020 05:27:47 GMT
etag
"5e72a107-3bbb"
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
3278
expires
Sat, 18 Apr 2020 13:24:58 GMT
hook.js
www.hlserve.com/Delivery/ClientPaths/Library/
258 KB
73 KB
Script
General
Full URL
https://www.hlserve.com/Delivery/ClientPaths/Library/hook.js?cid=164
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
74.119.118.146 , United States, ASN19750 (AS-CRITEO, US),
Reverse DNS
Software
nginx/1.16.1 /
Resource Hash
d6d91eda26fd2a21f367ba7865293cf849afc6d75e4c4ad9bcfe803fc8a9f3a7

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 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
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/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache /
Resource Hash
b69335ae739737089bebce27cfc370df981bd29f27fca7ba40cc6cd893af9060

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
gzip
server
Apache
fwdhst
kohls.download.akamai.com
etag
"744116693b0d1dafbb72e36f8d5f7d29:1580192839"
vary
Accept-Encoding
content-type
application/x-javascript
status
200
cache-control
max-age=1800
akamai-request-id2
2.20.190.153:51c3f41
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
113597
expires
Fri, 17 Apr 2020 13:54:58 GMT
config.json
c.go-mpulse.net/api/ Frame 565A
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=5290433&v=1.667.0&if=&sl=0&si=c2v2uw6tf7m-q8xp9l&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:eb:19e::11a6 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
7ddc45613300ec85b80f9fcc157e66c289b2bed9d877c043fd5787a35cca8a03

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
Content-Encoding
gzip
Vary
Accept-Encoding
Content-Type
application/json
Access-Control-Allow-Origin
*
Cache-Control
private, max-age=300, stale-while-revalidate=60, stale-if-error=120
Connection
keep-alive
Timing-Allow-Origin
*
Content-Length
2734
json
kohls.tt.omtrdc.net/m2/kohls/mbox/
35 KB
9 KB
XHR
General
Full URL
https://kohls.tt.omtrdc.net/m2/kohls/mbox/json?mbox=target-global-mbox&mboxSession=c9c0634e95114024b302293814130452&mboxPC=&mboxPage=8f5316f11c2243ddaa0056e42e076bc9&mboxRid=2ea57a687f4646f7873d440cf31d6ddb&mboxVersion=1.7.1&mboxCount=1&mboxTime=1587137098415&mboxHost=www.kohls.com&mboxURL=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&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=6A3D67454FB4E0CF-3153204A009E6E44&vst.trk=ww9.kohls.com&vst.trks=ww8.kohls.com&mboxMCGVID=86921325534391668990363723434308754667&mboxAAMB=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y&mboxMCGLH=6
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
66.117.29.4 , United States, ASN15224 (OMNITURE, US),
Reverse DNS
Software
/
Resource Hash
0e90be12ca22a199e83d7b57d07d37ad3ad6c823e1af1b713473607917e49fb6

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:24:58 GMT
content-encoding
gzip
status
200
vary
Origin,Accept-Encoding
content-type
application/json;charset=UTF-8
access-control-allow-origin
https://www.kohls.com
cache-control
no-cache
access-control-allow-credentials
true
timing-allow-origin
*
x-request-id
2ea57a687f4646f7873d440cf31d6ddb
tr_phase2_common.css
www.kohls.com/cnc/media/21.0.6-736/css/
58 KB
10 KB
Stylesheet
General
Full URL
https://www.kohls.com/cnc/media/21.0.6-736/css/tr_phase2_common.css
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
fc49380a326d18192e6e10dc8b95f7738e27af87961a0221523910a6b8470500
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:42:55 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:42:54 GMT, Thu, 02 Apr 2020 05:42:54 GMT, Thu, 02 Apr 2020 05:42:54 GMT, Thu, 02 Apr 2020 05:42:54 GMT, Thu, 02 Apr 2020 05:42:54 GMT, Thu, 02 Apr 2020 05:42:54 GMT
etag
"5e72a074-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, 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
Sat, 18 Apr 2020 13:24:58 GMT
pb.module.js
www.kohls.com/cnc/media/21.0.6-736/javascript/deploy/
46 KB
11 KB
Script
General
Full URL
https://www.kohls.com/cnc/media/21.0.6-736/javascript/deploy/pb.module.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
6d6ef6c5f1fe43a0f22a27d9d07f53c4a20869f907b4220894fb7c703fa6f617
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:39:08 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:39:08 GMT, Thu, 02 Apr 2020 05:39:08 GMT, Thu, 02 Apr 2020 05:39:08 GMT, Thu, 02 Apr 2020 05:39:08 GMT
etag
"5e72a074-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
Sat, 18 Apr 2020 13:24:58 GMT
pmpSearchPageScriptsV1.js
www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/
86 KB
21 KB
Script
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/pmpSearchPageScriptsV1.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
75d3ec6000579329f7d114945489256119bdcb4c191ebeed3699c7ad6272953c
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:27:46 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT, Thu, 02 Apr 2020 05:27:45 GMT
etag
"5e72a107-1576d"
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, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
20153
expires
Sat, 18 Apr 2020 13:24:58 GMT
tpl.pmpSearchPageTmplV1.js
www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/tpl/
39 KB
8 KB
XHR
General
Full URL
https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/tpl/tpl.pmpSearchPageTmplV1.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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
a1e27fd7fb9eca2a10a3efa3f1594acb28e5ea6875fb62f4655787e544e0e858
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Accept
text/html, */*; q=0.01
Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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
Fri, 17 Apr 2020 13:24:58 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 07:47:52 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 07:47:52 GMT, Thu, 02 Apr 2020 07:47:52 GMT, Thu, 02 Apr 2020 07:47:52 GMT, Thu, 02 Apr 2020 07:47:52 GMT, Thu, 02 Apr 2020 07:47:52 GMT, Thu, 02 Apr 2020 07:47:52 GMT, Thu, 02 Apr 2020 07:47:52 GMT, Thu, 02 Apr 2020 07:47:52 GMT
etag
"5e72a107-9bda"
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, max-age=86400, max-age=86400
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
7296
expires
Sat, 18 Apr 2020 13:24:58 GMT
0d627b0f916377baf33570265c79a
www.kohls.com/public/
17 B
732 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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:24:59 GMT
x-origin-ttl
Fri, 17 Apr 2020 13:24:59 GMT
status
201
vary
Origin
content-type
application/json
access-control-allow-origin
https://www.kohls.com
access-control-allow-credentials
true
x-origin-cc
max-age=0, no-cache, no-store
strict-transport-security
max-age=15768000 ; preload
access-control-allow-headers
Content-Type
content-length
17
pixel_33bf649
www.kohls.com/akam/11/
0
664 B
XHR
General
Full URL
https://www.kohls.com/akam/11/pixel_33bf649
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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:24:59 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=5
content-length
0
expires
Fri, 17 Apr 2020 13:24:59 GMT
/
684dd306.akstat.io/
0
354 B
Other
General
Full URL
https://684dd306.akstat.io/
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:eb:1a2::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:24:59 GMT
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
Connection
keep-alive
Timing-Allow-Origin
*
X-XSS-Protection
0
Expires
Fri, 17 Apr 2020 13:24:59 GMT
session.jsp
www.kohls.com/web/
293 B
1 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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
ffb1956d12fe68843adefb7406ae8c6ebc8517bc4567639ac96a2339be75937d
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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
8562077596963ACCMc0f0e29af4fc
date
Fri, 17 Apr 2020 13:24:59 GMT
x-sessionid
b8de4403-e0e9-4fef-91ea-c0f0e29af4fc
vary
Accept-Encoding
x-isvalidated
true
status
200
x-sessionid_expires
2020-04-17 08:39:59.629
server-timing
cdn-cache; desc=MISS, edge; dur=116, origin; dur=18
content-encoding
gzip
content-length
223
pragma
no-cache
correlation-id
:null::db0bb4bc-046c-4350-8261-4ee7c6e080ea::1587129899627::us-central1-f::cprod-green-accservice-prod-wgnc::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-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
Fri, 17 Apr 2020 13:24:59 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
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Apache /
Resource Hash
140b59aaf164518b2c1b4a592f8b3fabd61dcdf810f00c83ab3d8c979a0f32b9
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:24:59 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
Fri, 17 Apr 2020 13:24:59 GMT
361562
media.kohlsimg.com/is/image/kohls/
2 KB
2 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/361562?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
437af70604089c777715864fb059070a0805df0dd10d18a97c52a328fdcd3b7a

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"e6f44312cedc02cffa149abfcaa28d89"
x-serial
1306
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
ub/v4iH2+5+fXHoyYIj29A==
content-length
1720
expires
Fri, 24 Apr 2020 13:24:59 GMT
3604023
media.kohlsimg.com/is/image/kohls/
2 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3604023?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
6b66777f76c4f589aac9726645cd0b82163a7f3ac9b94fe71accb0286fef5ad8

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Manager
etag
"aafe8051d3055bf0d7976cbe6a9d959e"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2376
expires
Fri, 24 Apr 2020 13:24:59 GMT
3254666
media.kohlsimg.com/is/image/kohls/
3 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3254666?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
8d68caea458b333a6926266ca67af52302f0952d27b5a3a43084d7ac70012ce6

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"3730feef39e18ae483ca3bbe9415a804"
x-serial
259
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
dIDP1HJiZflw2MBHlGAvqw==
content-length
2842
expires
Fri, 24 Apr 2020 13:24:59 GMT
3088735
media.kohlsimg.com/is/image/kohls/
4 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/3088735?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
29d7704638ffe330d5ab99ee30638e3c8d452807df1e51bd7fd0ddf2ba5dee52

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"b395a88ebef5be720900d601dcd80420"
x-serial
346
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=467269
x-akamai-ssl-client-sid
wLZkx+TvEHd94ca5PDALzQ==
content-length
3618
expires
Wed, 22 Apr 2020 23:12:48 GMT
2951835
media.kohlsimg.com/is/image/kohls/
3 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2951835?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
8945e3d98fc3717527bf2ddaf99ecec7a8bcbe513c3f6fd37a1f295ae91b3e3d

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Manager
etag
"ff052e26fa978a67aeca9fa3a8715e0f"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2968
expires
Fri, 24 Apr 2020 13:24:59 GMT
2945736
media.kohlsimg.com/is/image/kohls/
3 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2945736?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
f65db2b2d01bf61e68c53d2fb981444e799640317d83eb69f990def55cba436a

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"218bd5f9b646748ecb1bbbd5ed0be1b2"
x-serial
1810
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
BophsBFaOxQyLRvlKz74Gg==
content-length
2682
expires
Fri, 24 Apr 2020 13:24:59 GMT
2549528
media.kohlsimg.com/is/image/kohls/
3 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2549528?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
b696abbda99809bebd446cab9af3543452aae2b164f0349861518ee8215cdfc4

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Manager
etag
"bfdc2eff60c126eaaed1ed8a6883b273"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
3498
expires
Fri, 24 Apr 2020 13:24:59 GMT
2498484
media.kohlsimg.com/is/image/kohls/
3 KB
3 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2498484?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
927111a1fdc9b3d58977901f2197ad1e37231cc4a166174994004ea92e7b79eb

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Manager
etag
"6b0860221315b09805f1639569f2971c"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
2960
expires
Fri, 24 Apr 2020 13:24:59 GMT
2446680
media.kohlsimg.com/is/image/kohls/
1 KB
1 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2446680?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
51042747eacb1feb0f456c04c38b98d1a290f9ea7389cf1f99b479095ff2155f

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Manager
etag
"5b5e55cb94a0bfc3c7bdc3e06da78eaa"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
1240
expires
Fri, 24 Apr 2020 13:24:59 GMT
2446669
media.kohlsimg.com/is/image/kohls/
4 KB
4 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2446669?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
30eb33d64c9f4986b8dc285c28de99444ecd55a598f31996c6d2d831e0ab6562

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
x-check-cacheable
YES
server
Akamai Image Manager
etag
"960fd99b62d3ca28d82cbe611abb8926"
x-serial
2035
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
x-akamai-ssl-client-sid
ylfqrUINIAU5d27BRifwag==
content-length
4188
expires
Fri, 24 Apr 2020 13:24:59 GMT
2298885
media.kohlsimg.com/is/image/kohls/
9 KB
9 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2298885?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
1a584d5eb84dd4979d2374447dd0c89ceb58365210f1f272df6d09aa7aa7151e

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Manager
etag
"ce51cf05dfc94ae51a83b53bedde1dbe"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
8746
expires
Fri, 24 Apr 2020 13:24:59 GMT
2298860
media.kohlsimg.com/is/image/kohls/
5 KB
5 KB
Image
General
Full URL
https://media.kohlsimg.com/is/image/kohls/2298860?wid=240&hei=240&op_sharpen=1
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Manager /
Resource Hash
cb71dc1663ac4512353d2dd25090147b1349bc48447681e5f40244f3f840a082

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Manager
etag
"501b4ff331d69067990e006322551e9f"
status
200
content-type
image/webp
access-control-allow-origin
*
cache-control
private, no-transform, max-age=604800
content-length
5338
expires
Fri, 24 Apr 2020 13:24:59 GMT
static_pb_drawerV2.js
www.kohls.com/cnc/media/21.0.6-736/R51/javascript/tmpl/tr/
80 KB
10 KB
XHR
General
Full URL
https://www.kohls.com/cnc/media/21.0.6-736/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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
4c87707ce17127fc5385771fbde9f6c94bccbd208b0de2d0edfc2939601f6af1
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Accept
text/html, */*; q=0.01
Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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
Fri, 17 Apr 2020 13:24:59 GMT
content-encoding
br
last-modified
Wed, 01 Apr 2020 05:47:43 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Thu, 02 Apr 2020 05:47:43 GMT, Thu, 02 Apr 2020 05:47:43 GMT, Thu, 02 Apr 2020 05:47:43 GMT
etag
"5e72a074-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
server-timing
cdn-cache; desc=HIT, edge; dur=1
accept-ranges
bytes
content-length
10002
expires
Sat, 18 Apr 2020 13:24:59 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/snb/media/26.0.7-1409/javascript/deploy/foundation3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Image Server /
Resource Hash
2d3c362dea9616624060e41064907033f41959ddf6bda37f26c87e6047fcd20a

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:24:59 GMT
server
Akamai Image Server
etag
"f4d95f99ca6627c0da518f4776dd6700"
status
200
content-type
image/png
access-control-allow-origin
*
cache-control
private, max-age=874
content-length
738
expires
Fri, 17 Apr 2020 13:39:33 GMT
/
www.kohls.com/feature/ESI/Common/NewBanner/
2 KB
4 KB
XHR
General
Full URL
https://www.kohls.com/feature/ESI/Common/NewBanner/
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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
668f9e45bab856c4f89f8b7e89240f2d3f6bf2467638ee559626ac958c307878
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload
X-Frame-Options SAMEORIGIN, SAMEORIGIN

Request headers

Accept
text/html, */*; q=0.01
Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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

strict-transport-security
max-age=15768000 ; preload
status
200
server-timing
edge; dur=1, cdn-cache; desc=HIT
content-length
1650
host_service
x-origin-ttl
Sat, 18 Apr 2020 02:42:33 GMT, Sat, 18 Apr 2020 02:42:33 GMT, Sat, 18 Apr 2020 02:42:33 GMT, Sat, 18 Apr 2020 02:42:33 GMT
date
Fri, 17 Apr 2020 13:24:59 GMT
x-robots-tag
noindex
x-frame-options
SAMEORIGIN, SAMEORIGIN
content-type
text/html; charset=UTF-8
cache-control
private, max-age=600
x-origin-cc
max-age=86460, max-age=86460, max-age=86460, max-age=86460
device_type
Touch
esi_status
ENABLED
x-akamai-transformed
9 1650 0 pmb=mTOE,2mRUM,2
expires
Fri, 17 Apr 2020 13:34:59 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
nv_bootstrap.js
mon1.kohls.com/nv/kohls/
1 KB
917 B
Script
General
Full URL
https://mon1.kohls.com/nv/kohls/nv_bootstrap.js?v=REL20170123
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
9a118dcfc9dcb4b08cb5974926483ca437750f2c9becf6db10128accd57b198b

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
etag
"0169249613"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
624
expires
Fri, 17 Apr 2020 14:25:00 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/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Akamai Resource Optimizer /
Resource Hash
6d257ae7d283ba55180a09d9933ff94e8069ceaac0ad76c5a01bf2d4fd170665
Security Headers
Name Value
Strict-Transport-Security max-age=15768000 ; preload

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
br
status
200
server-timing
cdn-cache; desc=HIT, edge; dur=1
content-length
17213
pragma
no-cache
last-modified
Fri, 10 Apr 2020 21:05:02 GMT
server
Akamai Resource Optimizer
x-origin-ttl
, Fri, 10 Apr 2020 21:05:02 GMT, Fri, 10 Apr 2020 21:05:02 GMT, Fri, 10 Apr 2020 21:05:02 GMT, Fri, 10 Apr 2020 21:05:02 GMT
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
Fri, 17 Apr 2020 13:25:00 GMT
z1m.js
cdn.zineone.com/apps/latest/
80 KB
21 KB
Script
General
Full URL
https://cdn.zineone.com/apps/latest/z1m.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.53 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-53.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
6102b6f9b0a2f3d5b128c566862198ada13900b20be86edd070d9744329c14f1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
693607
ETag
"76f3ffb5d22c60d6015df0332ad5f3f4"
X-Cache
Hit from cloudfront
Content-Type
application/javascript
Via
1.1 aab8eb1f7b95159cdf1cf139d0bbc33c.cloudfront.net (CloudFront)
Connection
keep-alive
X-Amz-Cf-Pop
FRA2-C2
Accept-Ranges
bytes
Content-Length
21357
X-Amz-Cf-Id
esFQemNHpelwSYtkvWQBfK5DA9hm_MKRNehhpNMVAuAsKsrT4ZLwYQ==
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/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.203.64.67 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-203-64-67.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
4e948638a694a5d3ec13f7f13f254788d5501905e246d99779e825aff3fbb725

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
Content-Encoding
gzip
Last-Modified
Thu, 02 Apr 2020 15:29:30 GMT
Server
nginx
Vary
Accept-Encoding
P3P
CP=NOI DSP COR NID
Cache-Control
public, max-age=14400
Connection
keep-alive
Accept-Ranges
bytes
Content-Type
application/javascript
Content-Length
12429
p13n.js
media.richrelevance.com/rrserver/js/1.2/
26 KB
7 KB
Script
General
Full URL
https://media.richrelevance.com/rrserver/js/1.2/p13n.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
104.108.169.218 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-108-169-218.deploy.static.akamaitechnologies.com
Software
Apache /
Resource Hash
75ff7462a402fa4c69b4e2e473632ad03cb112111b52ca66ae4e0aac8d838ee3

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
Content-Encoding
gzip
Last-Modified
Thu, 30 Jan 2020 23:24:44 GMT
Server
Apache
ETag
"41a2e9b903dcd2d499d558af0557ec7e:1580426684"
Vary
Accept-Encoding
Content-Type
application/x-javascript
Cache-Control
max-age=3600
Connection
keep-alive
Accept-Ranges
bytes
Content-Length
6863
async-ads.js
www.google.com/adsense/search/
169 KB
59 KB
Script
General
Full URL
https://www.google.com/adsense/search/async-ads.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
sffe /
Resource Hash
848c973f0c9ce730af945041dd18a5e09a8c857e6462d7531be9c0b4e934b1e2
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"5950634215069158980"
vary
Accept-Encoding
content-type
text/javascript; charset=UTF-8
status
200
cache-control
private, max-age=3600
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
x-xss-protection
0
expires
Fri, 17 Apr 2020 13:25:00 GMT
cav_nv.js
mon1.kohls.com/nv/kohls/ Frame F5F6
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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
28d5c7d2279d76c0643863a7d3926cb5b831c26538611f92a105cc6533cd531a

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
etag
"0192755084"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
183985
expires
Fri, 17 Apr 2020 14:25:00 GMT
tag
s.thebrighttag.com/
24 KB
7 KB
Script
General
Full URL
https://s.thebrighttag.com/tag?site=4DPyaxM&H=3cuoidu
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.81.30 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-81-30.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
d8e9cd3d22f9d995e9f3bc2271e2a0c8b198af58844abfb64087dcc5bf4b4565

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 GMT
Content-Encoding
gzip
Server
nginx
ETag
0ee77885807a66b418426984ec843778
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
d6abce70-80ae-11ea-a955-0000ac15087a
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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
6dfa271e269c6f6693aee52b71b1e808077d6f9c0cb8389c8e4a2181ec595f2d

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
etag
"0195452992"
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=3600
content-length
12331
expires
Fri, 17 Apr 2020 14:25:00 GMT
560262ba-6c85-41ad-f341-5ad665dba301
apps.zineone.com/c3/api/v1/connect/
1 MB
155 KB
XHR
General
Full URL
https://apps.zineone.com/c3/api/v1/connect/560262ba-6c85-41ad-f341-5ad665dba301?deviceId=560262ba-6c85-41ad-f341-5ad665dba301&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.219.149.238 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-3-219-149-238.compute-1.amazonaws.com
Software
/
Resource Hash
5fda38ff3d6c979db28cd572fc5c2d90a19964e726bc75285661dfd532ae5cc4

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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
Fri, 17 Apr 2020 13:25:00 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:818::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
Fri, 17 Apr 2020 12: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
Fri, 17 Apr 2020 13:25:00 GMT
test_rum_nv
mon1.kohls.com/ Frame F5F6
277 B
936 B
Script
General
Full URL
https://mon1.kohls.com/test_rum_nv?s=000000000000000000000&p=1&op=timing&pi=1&CavStore=-1&pid=18&d=1|0|-1|0|544|-1|-1|-1|960|234|-2|1283|0|1|2245|1412|18|1412|0|310||https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71|www.kohls.com|VisitorId%3Db8de4403-e0e9-4fef-91ea-c0f0e29af4fc%3B%20CavSF%3DcavnvComplete%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C1%2C%2C%2C%3B%20akavpau_www%3D1587130199~id%3Dd5a3ad2b48098ffc3a39aa57d4bcb9a2%3B%20akacd_www-kohls-com-mosaic-p2%3D2177452799~rv%3D45~id%3Da5db617954ed9b11cc49a51a02bbec51%3B%20_abck%3D2840498B8065853FB495605171893EB2~-1~YAAQmb4UAoErDYRxAQAARltQiAPYuA6PUf1Jg9snjPczDKG4YSSRk29coDwieCRM3UonRs0m2o%2BS7n5gcSZfA5PTI4JaBswbThsmxHOeBmYF8Wqo84oYNOjrMDgQqlGdTP2vMr4SxHIT228V%2FHBRpEchdUhycvi05HCQf2PMlbco08Gqo8C%2FigzSlDZwD%2F69BTi1sE5vULDalbXahw6c5qX2QJhFTsBw0GIeB%2FusBEM1vye6r%2Bfcww7ZHfIzsM1WdUvRbAd22zaj18X2o2IodlOlJZA0NMCdUTroKL%2Bv6COHsbR2CB5p63c%3D~-1~-1~-1|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|1359|-2|21000|680003|0|0|0&lts=-1&d2=-1|-1|-1|1|100|0
Requested by
Host: mon1.kohls.com
URL: https://mon1.kohls.com/nv/kohls/cav_nv.js?v=REL20170123
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
2a02:26f0:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
987ed34cf9978e12064112192f171ade6dcc70195fd96a8b1d7523e9ca92902b

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
Fri, 17 Apr 2020 13:25:00 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:818::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
Fri, 17 Apr 2020 12: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
Fri, 17 Apr 2020 13:25:00 GMT
745abcebb4573a60dc1dc7f5d132864d1c23e738.js
s.btstatic.com/lib/
238 B
527 B
Script
General
Full URL
https://s.btstatic.com/lib/745abcebb4573a60dc1dc7f5d132864d1c23e738.js?v=2
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.203.64.67 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-203-64-67.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
a400fe551ce1b5f459f1808f5c93714ea243d7e4b10dc962936b21635f34f8b0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
11 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.18.162 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s29-in-f2.1e100.net
Software
cafe /
Resource Hash
1e57ef80de847edfe190c3cc278688675dd98bd4f419f189e317a6be83394d05
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
x-content-type-options
nosniff
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
content-disposition
attachment; filename="f.txt"
alt-svc
quic="googleads.g.doubleclick.net:443"; ma=2592000; v="46,43",quic=":443"; ma=2592000; v="46,43",h3-Q050="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043="googleads.g.doubleclick.net:443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050="googleads.g.doubleclick.net:443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
10625
x-xss-protection
0
server
cafe
etag
11196337773217644603
vary
Accept-Encoding
content-type
text/javascript; charset=UTF-8
cache-control
private, max-age=3600
timing-allow-origin
*
expires
Fri, 17 Apr 2020 13:25:00 GMT
c8c3096e256a91eaf614d7c9433aad0eb1322fcd.js
s.btstatic.com/lib/
617 B
764 B
Script
General
Full URL
https://s.btstatic.com/lib/c8c3096e256a91eaf614d7c9433aad0eb1322fcd.js?v=2
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.203.64.67 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-203-64-67.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
935c78ed2a8b54d1e45405f33a81d7122820c14a965750229f9be8e5d48d3376

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
test_rum_nv
mon1.kohls.com/ Frame F5F6
1 B
674 B
XHR
General
Full URL
https://mon1.kohls.com/test_rum_nv?s=000852962440841796660&p=1&m=0&op=domwatcher&pi=1&CavStore=-1&pid=18&d=18|0|1&lts=198595792&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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:00 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
Fri, 17 Apr 2020 13:25:00 GMT
8fa0ff2e-cf45-4017-83ab-df7d495813d6
https://www.kohls.com/ Frame F5F6
17 KB
0
Other
General
Full URL
blob:https://www.kohls.com/8fa0ff2e-cf45-4017-83ab-df7d495813d6
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
23.203.64.67 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-203-64-67.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
5683d721043542df3d73195d4449d2842042193e896c63aba9552de00b5ed207

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/
3 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/?random=1587129900523&cv=9&fst=1587129900523&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%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:81a::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
c5fdc0b4b36acbc789bcc9f6e2a48635c3f994feb09e39f63063fc9cf4f99162
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
1369
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/
3 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/?random=1587129900525&cv=9&fst=1587129900525&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%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:81a::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
aef251cb37f465ccf2336386dfae06791a6b2e78539c3276977f7015b7b59b3a
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
1369
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
collect.js
6249496.collect.igodigital.com/
9 KB
2 KB
Script
General
Full URL
https://6249496.collect.igodigital.com/collect.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
3.210.28.246 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-3-210-28-246.compute-1.amazonaws.com
Software
/
Resource Hash
4a63ccc41b6e27c88fca243efd1030d401bc83bd3ae22aaff2b0d1354ba25703

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
last-modified
Thu, 16 Apr 2020 16:01:18 GMT
vary
Accept-Encoding
content-type
application/javascript
/
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=1587129900523&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=566618579&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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=1587129900523&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=566618579&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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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=1587129900525&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1798529348&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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=1587129900525&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1798529348&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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
test_rum_nv
mon1.kohls.com/ Frame F5F6
1 B
674 B
XHR
General
Full URL
https://mon1.kohls.com/test_rum_nv?s=000852962440841796660&p=1&op=pagedump&pi=1&CavStore=-1&pid=18&d=18|2|0&lts=198595792&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:eb:189::eaf , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
/
Resource Hash
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
Fri, 17 Apr 2020 13:25:00 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
23.203.64.67 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-203-64-67.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
1c45f1dbc5afc1034ac9f4322cc6a66f4db7442f88be435d05897289ad475bd1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
last-modified
Mon, 13 Apr 2020 22:01:50 GMT
x-msedge-ref
Ref A: 5987EB581D494DA08B36F94EAFAA6DAC Ref B: FRAEDGE0122 Ref C: 2020-04-17T13:25:00Z
status
200
etag
"0db222df11d61:0"
vary
Accept-Encoding
content-type
application/javascript
access-control-allow-origin
*
cache-control
private,max-age=1800
accept-ranges
bytes
content-length
7610
btprivacy.js
s.btstatic.com/
5 KB
2 KB
Script
General
Full URL
https://s.btstatic.com/btprivacy.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
23.203.64.67 , United States, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a23-203-64-67.deploy.static.akamaitechnologies.com
Software
nginx /
Resource Hash
e15f21cd7a83e4e8d32c071f464287a2704794f2bdac683133a7b34dac6d55ba

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
last-modified
Mon, 13 Apr 2020 22:01:50 GMT
x-msedge-ref
Ref A: 40ABCD08742742E8A729F3F0258DB7FC Ref B: FRAEDGE0122 Ref C: 2020-04-17T13:25:00Z
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
104.124.133.20 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-124-133-20.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
a256529bd5b1b8846f8d2536ce7581fb6cea4479992f222d01535903dff48d79

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
Sat, 18 Apr 2020 13:25:00 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
6386
date
Fri, 17 Apr 2020 11:38:34 GMT
vary
Accept-Encoding
content-type
text/javascript
status
200
cache-control
public, max-age=7200
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
18174
expires
Fri, 17 Apr 2020 13:38:34 GMT
fbevents.js
connect.facebook.net/en_US/
126 KB
30 KB
Script
General
Full URL
https://connect.facebook.net/en_US/fbevents.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f01c:8012: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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
bXrwYMVOekVwdM0UJr4zw0Zk01BCTcu56BddtknXy9it+R0eSJMNijBS83wTbybVSf7lHi3gY2rpby6d4azwPQ==
x-fb-trip-id
420120009
x-frame-options
DENY
date
Fri, 17 Apr 2020 13:25:00 GMT, Fri, 17 Apr 2020 13:25:00 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.37 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-37.fra2.r.cloudfront.net
Software
AmazonS3 /
Resource Hash
e93047ab88ddf3a33047a506b4a7594914e84fcf5ebac4b2723739e728e284b5

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 01:13:09 GMT
content-encoding
gzip
last-modified
Tue, 25 Feb 2020 22:48:01 GMT
server
AmazonS3
age
43914
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
tJzJo_zIgWtc3NecIvzUKjx42JTav6rqkZJu8pnkUmAk3N2pHC6fjw==
via
1.1 ccfe5851ecd4194e2d976fb32dec7539.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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
age
113
x-cache
HIT
status
200
content-length
10964
x-amz-id-2
b50fYxIWb0XyKknjGY7UG9W/05YOayDrCcKHFziS0o8jIcKsrTqodD6xZ8m8wmXyHszWBW4uHBY=
x-served-by
cache-hhn4030-HHN
last-modified
Thu, 09 Apr 2020 16:44:11 GMT
server
AmazonS3
x-timer
S1587129901.837327,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
2
core.js
s.pinimg.com/ct/
1 KB
601 B
Script
General
Full URL
https://s.pinimg.com/ct/core.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
585678382fc6dfef-FRA
cf-request-id
0229e9771d0000dfef77b68200000001
server
cloudflare
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:f1:195::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Origin
https://www.kohls.com

Response headers

date
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
last-modified
Fri, 17 Apr 2020 08:19:58 GMT
server
AmazonS3
x-amz-request-id
66DD16C332701399
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
h61bx3C2q0U6xrsTEBmXTV+5Fn2zvC2ZKNCMSijE/GdcNnhjGQb2UVfjO/kc9Dg2bA7nLFUVuCQ=
expires
Fri, 17 Apr 2020 13:35:00 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:818::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
Fri, 17 Apr 2020 12: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
Fri, 17 Apr 2020 13:25:00 GMT
activityi;dc_pre=CM-7z8_H7-gCFXvEuwgd7lIMFQ;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-bea...
8632166.fls.doubleclick.net/ Frame 7947
Redirect Chain
  • https://8632166.fls.doubleclick.net/activityi;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-b...
  • https://8632166.fls.doubleclick.net/activityi;dc_pre=CM-7z8_H7-gCFXvEuwgd7lIMFQ;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fww...
0
0
Document
General
Full URL
https://8632166.fls.doubleclick.net/activityi;dc_pre=CM-7z8_H7-gCFXvEuwgd7lIMFQ;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292;u11=;u13=;u2=;u23=New%20Customer;u24=;u25=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292?
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
216.58.207.70 Mountain View, United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra16s25-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=CM-7z8_H7-gCFXvEuwgd7lIMFQ;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292;u11=;u13=;u2=;u23=New%20Customer;u24=;u25=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292?
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
accept-encoding
gzip, deflate, br
accept-language
en-US
cookie
IDE=AHWqTUma02ZwVdYpGYxP9dRrJ_-PRhuLO9GWXGv4Q5fzhUl4pBGSvriI3F4ZwFmg
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
Fri, 17 Apr 2020 13:25:00 GMT
expires
Fri, 17 Apr 2020 13:25:00 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
788
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
Fri, 17 Apr 2020 13:25:00 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=CM-7z8_H7-gCFXvEuwgd7lIMFQ;src=8632166;type=landi0;cat=unive0;ord=3176709598869;gtm=2od480;auiddc=1100871216.1587129900;u1=;u10=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292;u11=;u13=;u2=;u23=New%20Customer;u24=;u25=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc;u5=0;~oref=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292?
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.36 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-36.fra2.r.cloudfront.net
Software
/
Resource Hash
317ef593559c12ec00d2005fa8aef8f47511604cad625727ce8b0c12022a013d

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
twMC-KnDY3lg3cz2tHNjjNzD6Cs4TjY6QzU6PPLD4fgkhte6TK1Tbg==
via
1.1 ac0e9b19969df989a920e6d1b834d009.cloudfront.net (CloudFront)
x-uuid
f8252b57-301b-4f55-a005-36e5e72b0f9c
expires
Thu, 01 Dec 1994 16:00:00 GMT
/
servedby.flashtalking.com/container/1638;101965;1478;iframe/ Frame C7F6
0
0
Document
General
Full URL
https://servedby.flashtalking.com/container/1638;101965;1478;iframe/?spotName=Category_Page&U1=&U2=1234&U3=6650194855604879051&U7=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc&cachebuster=974801.2442729888
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
205.185.216.42 Phoenix, United States, ASN20446 (HIGHWINDS3, US),
Reverse DNS
map2.hwcdn.net
Software
prod-xre-app16.frk11 /
Resource Hash

Request headers

Host
servedby.flashtalking.com
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Accept-Encoding
gzip, deflate, br
Accept-Language
en-US
Cookie
flashtalkingad1="GUID=44905B5459B9A9"
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292

Response headers

Date
Fri, 17 Apr 2020 13:25:00 GMT
Connection
close
Cache-Control
no-cache, no-store
Content-Type
text/html
Server
prod-xre-app16.frk11
Pragma
no-cache
X-HW
1587129900.dop003.pa1.shc,1587129900.dop003.pa1.t,1587129900.cds028.pa1.sc,1587129900.cds028.pa1.p
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:22:03 GMT
content-encoding
gzip
age
177
x-guploader-uploadid
AEnB2UpcmTsTaEuNEZYKRLtf7ieYNPD0ucBirGKPK8_RFME9KPS-FRuTRccJRWcshX5q1lV03d47VpLNF0apow1RaCL63QcnIQ
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
Fri, 17 Apr 2020 13:27:03 GMT
tag
s.thebrighttag.com/
5 KB
2 KB
Script
General
Full URL
https://s.thebrighttag.com/tag?site=4DPyaxM&H=3cuoidu&referrer=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&mode=v2&cf=4847645%2C4847722%2C4847939%2C6706303%2C6706308&btpdb.4DPyaxM.dGZjLjYyMTAxMDM=REFZUw&btpdb.4DPyaxM.dGZjLjYyMTAxMTA=REFZUw&btpdb.4DPyaxM.dGZjLjYyMDYyMTU=REFZUw&btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gc2Vzc2lvbg=ODYzMjg2MTEwMjM4Njc2ODE4MQ&btpdb.4DPyaxM.Y3VzdG9tZXIgfCBzaWduYWwgMXN0IHBhcnR5IGlkIC0gMzY1IGRheXM=MzQ5Nzg1MjkwNTU3NjEwNjI2NQ
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.81.30 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-81-30.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
50ca161fd2af1eb738c749ef0121eac384092db8222b648762b1fbc1f4806b41

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 GMT
Content-Encoding
gzip
Server
nginx
ETag
99e0ff529c7d324df648de5bd6b04690
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
d709ccf0-80ae-11ea-ac7a-0000ac150972
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=3748992834
  • https://www.google.de/pagead/1p-user-list/1071871169/?value=0&guid=ON&script=0&is_vtc=1&random=3748992834&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=3748992834&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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
Fri, 17 Apr 2020 13:25:00 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=3748992834&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
sync
gum.criteo.com/
1 B
64 B
Image
General
Full URL
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
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a02:2638::1c , France, ASN44788 (ASN-CRITEO-EUROPE, FR),
Reverse DNS
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
cache-control
private, max-age=0
content-type
text/html
expires
-1
p
rp4.liadm.com/
Redirect Chain
  • https://rp.liadm.com/p?aid=a-00oc&duid=3497852905576106265
  • https://rp4.liadm.com/p?aid=a-00oc&duid=3497852905576106265&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp...
43 B
512 B
Image
General
Full URL
https://rp4.liadm.com/p?aid=a-00oc&duid=3497852905576106265&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
3.86.120.22 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-3-86-120-22.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
Fri, 17 Apr 2020 13:25:01 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
0
content-length
43
x-content-type-options
nosniff

Redirect headers

date
Fri, 17 Apr 2020 13:25:00 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=3497852905576106265&i6=MmEwMTo0Zjg6MTkyOjU0MTQ6OjI%3D&n3pc=true&pu=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292
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%3DOMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs%26uid%3D$UID%26tp%3Dan%26gdpr%3D1
  • https://secure.adnxs.com/bounce?%2Fgetuid%3Fhttps%253A%252F%252Fs.thebrighttag.com%252Fcs%253Fbtt%253DOMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs%2526uid%253D%24UID%2526tp%253Dan%2526gdpr%253D1
  • https://s.thebrighttag.com/cs?btt=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&uid=3114086622950745936&tp=an&gdpr=1
35 B
717 B
Image
General
Full URL
https://s.thebrighttag.com/cs?btt=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&uid=3114086622950745936&tp=an&gdpr=1
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.81.30 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-81-30.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
d72a2633-80ae-11ea-8693-0000ac150b35
Content-Type
image/gif
Content-Length
35
Expires
Thu, 01 Jan 1970 00:00:00 GMT

Redirect headers

Pragma
no-cache
Date
Fri, 17 Apr 2020 13:25:02 GMT
X-Proxy-Origin
185.236.201.131; 185.236.201.131; 535.bm-nginx-loadbalancer.mgmt.fra1; *.adnxs.com; 37.252.172.169:80
AN-X-Request-Uuid
32ca26a9-4140-43fc-be00-a7f8ee413a52
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=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&uid=3114086622950745936&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=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.215.180.197 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-215-180-197.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
8d70b3e6badb6973663b398d297bb32eaedd08826a1af98d0a1cfce5324ffce0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs
  • https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&google_gid=CAESEHmyUheXJQ5mq-sWUPW4pgY&google_cver=1
35 B
741 B
Image
General
Full URL
https://s.thebrighttag.com/cs?tp=gcms&gdpr=1&btt=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&google_gid=CAESEHmyUheXJQ5mq-sWUPW4pgY&google_cver=1
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, CHACHA20_POLY1305
Server
46.137.81.30 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-46-137-81-30.eu-west-1.compute.amazonaws.com
Software
nginx /
Resource Hash
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 GMT
Server
nginx
P3P
CP=NOI DSP COR NID
Cache-Control
private, must-revalidate
Connection
keep-alive
X-BT-RequestId
d7151791-80ae-11ea-aadd-0000ac1509ff
Content-Type
image/gif
Content-Length
35
Expires
Thu, 01 Jan 1970 00:00:00 GMT

Redirect headers

pragma
no-cache
date
Fri, 17 Apr 2020 13:25:00 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=OMqTWlYjBGW2mUksdyKety77gDXJvw45wG-bHhn-hHs&google_gid=CAESEHmyUheXJQ5mq-sWUPW4pgY&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
581 B
Image
General
Full URL
https://d.agkn.com/pixel/10107/?che=1958586506&mcvisid=
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
2600:9000:2156:e000: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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 GMT
via
1.1 9128c49d19c76fd86ec4c647434ccb0a.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
t0KceQ0x2qP49sFKs32MdMkm1n_rlTHwDvPkbY8CUeTNA4hSsrsUdA==
expires
Sat, 01 Jan 2000 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=7ee4e72e-13af-ff99-b6f3-3567d063f5fd&sid=2e9ea397-e3fd-931c-c4ef-148b2b619403&pi=0&lg=en-US&sw=1600&sh=1200&sc=24&tl=Hamilton%20Beach%20Small%20Appliances,%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&p=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&r=&lt=2246&evt=pageLoad&msclkid=N&sv=1&rn=680840
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
cache-control
no-cache, must-revalidate
x-msedge-ref
Ref A: 5AB6D470D1EF4934B7FBDB0A73F2B8B1 Ref B: FRAEDGE0122 Ref C: 2020-04-17T13:25:00Z
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=7ee4e72e-13af-ff99-b6f3-3567d063f5fd&sid=2e9ea397-e3fd-931c-c4ef-148b2b619403&pagetype=product&en=Y&evt=custom&msclkid=N&rn=231858
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
cache-control
no-cache, must-revalidate
x-msedge-ref
Ref A: 1E8186C65DBC4A3EAF8D83636C6DD05E Ref B: FRAEDGE0122 Ref C: 2020-04-17T13:25:00Z
access-control-allow-origin
*
expires
Fri, 01 Jan 1990 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
585678389904dfef-FRA
cf-request-id
0229e977610000dfef77b73200000001
server
cloudflare
i
tr.snapchat.com/cm/ Frame 6291
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292

Response headers

status
200
server
nginx/1.17.3
date
Fri, 17 Apr 2020 13:25:00 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
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:f1:195::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Origin
https://www.kohls.com

Response headers

date
Fri, 17 Apr 2020 13:25:00 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
Sat, 18 Apr 2020 13:25:00 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:f1:195::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Origin
https://www.kohls.com

Response headers

date
Fri, 17 Apr 2020 13:25:00 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
Sat, 18 Apr 2020 13:25:00 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:f1:195::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Origin
https://www.kohls.com

Response headers

date
Fri, 17 Apr 2020 13:25:00 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
Sat, 18 Apr 2020 13:25: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=720234128&t=pageview&_s=1&dl=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&ul=en-us&de=UTF-8&dt=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&sd=24-bit&sr=1600x1200&vp=1585x1200&je=0&_u=YGBAgAAB~&jid=1292028696&gjid=682686622&cid=145564412.1587129901&tid=UA-45121696-1&_gid=1705764663.1587129901&cd2=b8de4403-e0e9-4fef-91ea-c0f0e29af4fc&cd4=&z=1818318869
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Mon, 13 Apr 2020 08:23:11 GMT
x-content-type-options
nosniff
last-modified
Sun, 17 May 1998 03:00:00 GMT
server
Golfe2
age
363709
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=145564412.1587129901&jid=1292028696&gjid=682686622&_gid=1705764663.1587129901&_u=YGBAgAAB~&z=1214856027
  • https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=145564412.1587129901&jid=1292028696&_v=j81&z=1214856027
  • https://www.google.de/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-45121696-1&cid=145564412.1587129901&jid=1292028696&_v=j81&z=1214856027&slf_rd=1&random=3592762454
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=145564412.1587129901&jid=1292028696&_v=j81&z=1214856027&slf_rd=1&random=3592762454
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-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
Fri, 17 Apr 2020 13:25:00 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=145564412.1587129901&jid=1292028696&_v=j81&z=1214856027&slf_rd=1&random=3592762454
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:f01c:8012: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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
ai1PWS109ItutSFUB6D/RBdcOV2EAJQFBIyFHuVe907XmDLiutiI9gMPebUuIUDtGnHeJ8lWC3r3KHud4FrPMQ==
x-fb-trip-id
420120009
x-frame-options
DENY
date
Fri, 17 Apr 2020 13:25:00 GMT, Fri, 17 Apr 2020 13:25:00 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
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/
3 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1071871169/?random=1587129900904&cv=9&fst=1587129900904&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%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:81a::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
513ca6cc4dfa5a0fae33c3cfdb8d91a798249a153b7bfd4d1e67b9fde3b6dd76
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
1368
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/
3 KB
1 KB
Script
General
Full URL
https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1018012790/?random=1587129900905&cv=9&fst=1587129900905&num=1&bg=ffffff&guid=ON&resp=GooglemKTybQhCsO&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%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:81a::2002 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
91006cda06380717bca4482acaeeb8f63130ac7cba533bd5d9bb1ef8d7a0b339
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:00 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
1368
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
p
tr.snapchat.com/ Frame 5AD3
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
837
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292

Response headers

status
200
server
nginx/1.17.3
date
Fri, 17 Apr 2020 13:25:00 GMT
content-type
text/html
content-length
0
access-control-allow-origin
*
cache-control
no-cache, no-transform
set-cookie
sc_at=v2|H4sIAAAAAAAAAAXBgQ0AMAQEwIkkqOLHqTamMHzv0HWt69AzLTIpUHaDNM03YkmGz8jOEAWYhz9ukUpeMgAAAA==;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
trace
www.cloudflare.com/cdn-cgi/
280 B
472 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:d209 , United States, ASN13335 (CLOUDFLARENET, US),
Reverse DNS
Software
cloudflare /
Resource Hash
a7ff680392f5fb0d4a1ca35277acd41af42d8b795b94bc7adee0c7893e910f27
Security Headers
Name Value
X-Frame-Options SAMEORIGIN

Request headers

Accept
*/*
Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 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
58567838f92fd72d-FRA
cf-request-id
0229e9779a0000d72db4b30200000001
expires
Thu, 01 Jan 1970 00:00:01 GMT
5349
kohls.sjv.io/xch/8061/362119/
206 B
623 B
XHR
General
Full URL
https://kohls.sjv.io/xch/8061/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
981e5ca360dc090737fb546da068ca64b27860aa61188b6b859f4485eeb84637

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:00 GMT
via
1.1 google
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
Fri, 17 Apr 2020 13:25:00 GMT
uwt.js
static.ads-twitter.com/
5 KB
2 KB
Script
General
Full URL
https://static.ads-twitter.com/uwt.js
Requested by
Host: s.btstatic.com
URL: https://s.btstatic.com/tag.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
151.101.112.157 Frankfurt am Main, Germany, ASN54113 (FASTLY, US),
Reverse DNS
Software
/
Resource Hash
319949c8c08b86e9c35ea542c0dc0c30cedaa9b8d3d3c3327a36c91aefbd8af5

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:00 GMT
content-encoding
gzip
age
53926
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-hhn4030-HHN
last-modified
Tue, 23 Jan 2018 20:09:00 GMT
x-timer
S1587129901.977344,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
/
www.google.de/pagead/1p-user-list/962845106/
Redirect Chain
  • https://googleads.g.doubleclick.net/pagead/viewthroughconversion/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat...
  • https://www.google.com/pagead/1p-user-list/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat3%3D%3BPROD_Cat4%3D%3B...
  • https://www.google.de/pagead/1p-user-list/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat3%3D%3BPROD_Cat4%3D%3BP...
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat3%3D%3BPROD_Cat4%3D%3BPROD_Cat5%3D%3BPROD_Cat6%3D%3BPROD_Cat7%3D%3BPROD_Action%3DVIEW_LIST&is_vtc=1&random=3795829600&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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT

Redirect headers

pragma
no-cache
date
Fri, 17 Apr 2020 13:25:01 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/962845106/?value=0&guid=ON&script=0&data=PROD_Name%3D%3BPROD_Price%3D%3BPROD_Currency%3DUSD%3BPROD_Cat1%3D%3BPROD_Cat2%3D%3BPROD_Cat3%3D%3BPROD_Cat4%3D%3BPROD_Cat5%3D%3BPROD_Cat6%3D%3BPROD_Cat7%3D%3BPROD_Action%3DVIEW_LIST&is_vtc=1&random=3795829600&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
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=d4be24df-b2c4-420e-8a79-bf228fb6ee88
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 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
110
pragma
no-cache
last-modified
Fri, 17 Apr 2020 13:25:01 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
c5bb61a2c0b18b4bf25afcd71eb3a35a
x-transaction
000141ee00bfe52e
expires
Tue, 31 Mar 1981 05:00:00 GMT
adsct
t.co/i/
43 B
170 B
Image
General
Full URL
https://t.co/i/adsct?p_id=49582&p_user_id=d4be24df-b2c4-420e-8a79-bf228fb6ee88
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
104.244.42.5 , 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 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
116
pragma
no-cache
last-modified
Fri, 17 Apr 2020 13:25:01 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
49cde9faedc004e295d58117c47ec595
x-transaction
004eb7030065063c
expires
Tue, 31 Mar 1981 05: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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmal...
  • https://sb.scorecardresearch.com/b2?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asma...
0
248 B
Image
General
Full URL
https://sb.scorecardresearch.com/b2?c1=2&c2=18386829&c4=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&ns__t=1587129900974&ns_c=UTF-8&cv=3.5&c8=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&c9=
Protocol
HTTP/1.1
Security
TLS 1.2, ECDHE_RSA, AES_256_GCM
Server
104.124.133.20 , Netherlands, ASN16625 (AKAMAI-AS, US),
Reverse DNS
a104-124-133-20.deploy.static.akamaitechnologies.com
Software
/
Resource Hash
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3Fcn%3Dbrand%3Ahamilton%2520beach%2Bcategory%3Asmall%2520appliances%2Bdepartment%3Akitchen%2520%2526%2520dining%2Bmerchpricing%3A%252419.99%26bl%3Dy%26om_mid%3D_200416_dg_email_thursday%26om_etid%3D343348292%26utm_source%3Dtra%26utm_medium%3Det%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_dg_email_thursday%26tid%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&ns__t=1587129900974&ns_c=UTF-8&cv=3.5&c8=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&c7=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&c9=
Pragma
no-cache
Date
Fri, 17 Apr 2020 13:25:00 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
monitor
conductor.clicktale.net/
1 B
251 B
Other
General
Full URL
https://conductor.clicktale.net/monitor?t=preinit&p=271&2=6676430848934943&v=1.5.5&7=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&3=465752022937171&4=7608847952217761&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.201.3.186 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-201-3-186.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:01 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=6676430848934943&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.201.3.186 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-201-3-186.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:01 GMT
Vary
*
Content-Type
text/plain
Access-Control-Allow-Origin
https://www.kohls.com
Access-Control-Allow-Credentials
true
Connection
keep-alive
Access-Control-Allow-Headers
*
Content-Length
1
ChangeMonitor-latest.js
cdnssl.clicktale.net/www/
47 KB
16 KB
Script
General
Full URL
https://cdnssl.clicktale.net/www/ChangeMonitor-latest.js
Requested by
Host: www.kohls.com
URL: https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Protocol
H2
Security
TLS 1.3, , AES_256_GCM
Server
2a02:26f0:f1:195::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
Origin
https://www.kohls.com

Response headers

date
Fri, 17 Apr 2020 13:25:01 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
Sat, 18 Apr 2020 13:25:01 GMT
/
ing-district.clicktale.net/ctn_v2/auth/
265 B
413 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/auth/?pid=24&as=1&1533879827&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
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
7090708246cd9193afdf9a3e9ebe1d01440d94fe7aaba487e6e0792c649add35

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:01 GMT
access-control-allow-credentials
true
access-control-allow-origin
https://www.kohls.com
content-length
265
content-type
application/json; charset=UTF-8
/
ct.pinterest.com/user/
35 B
106 B
XHR
General
Full URL
https://ct.pinterest.com/user/?tid=2616391205865&pd=%7B%22em%22%3A%22a683c5c5349f6f7fb903ba8a9e7e55d0ba1b8f03579f95be83f4954c33e81098%22%7D&cb=1587129901050
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
151.101.12.84 Frankfurt am Main, Germany, ASN54113 (FASTLY, US),
Reverse DNS
Software
/
Resource Hash
37b17c5135a176a9474521af147d96dfa1fb4ca0f43f00d1400bd1885be3ab9b

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-cdn
fastly
status
200
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-pinterest-rid
0219976355219485
x-envoy-upstream-service-time
2
content-length
35
expires
Sat, 01 Jan 2000 00:00:00 GMT
/
ct.pinterest.com/v3/
35 B
85 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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292%22%2C%22ref%22%3A%22%22%2C%22if%22%3Afalse%2C%22sh%22%3A1200%2C%22sw%22%3A1600%7D&cb=1587129901051
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
151.101.12.84 Frankfurt am Main, Germany, ASN54113 (FASTLY, US),
Reverse DNS
Software
/
Resource Hash
37b17c5135a176a9474521af147d96dfa1fb4ca0f43f00d1400bd1885be3ab9b

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-cdn
fastly
status
200
content-type
image/gif
access-control-allow-origin
*
cache-control
no-cache,no-store,must-revalidate,max-age=0
x-envoy-upstream-service-time
5
x-pinterest-rid
8592491066263897
content-length
35
expires
Sat, 01 Jan 2000 00:00:00 GMT
455679.gif
idsync.rlcdn.com/
0
40 B
Image
General
Full URL
https://idsync.rlcdn.com/455679.gif?partner_uid=d71b3266-80ae-11ea-9b68-42010a24660a
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 GMT
via
1.1 google
alt-svc
clear
/
www.ojrq.net/p/
50 B
263 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
via
1.1 google
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
Fri, 17 Apr 2020 13:25:01 GMT
/
www.facebook.com/tr/
44 B
248 B
Image
General
Full URL
https://www.facebook.com/tr/?id=831984583490556&ev=PageView&dl=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&rl=&if=false&ts=1587129901077&sw=1600&sh=1200&v=2.9.15&r=stable&a=sig&ec=0&o=30&fbp=fb.1.1587129901075.673600849&it=1587129900900&coo=false&rqm=GET
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f11c:8183: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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 GMT, Fri, 17 Apr 2020 13:25:01 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
Fri, 17 Apr 2020 13:25:01 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=1587129900904&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=2438502599&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.de/pagead/1p-user-list/1071871169/
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/1071871169/?random=1587129900904&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=2438502599&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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.com/pagead/1p-user-list/1018012790/
42 B
110 B
Image
General
Full URL
https://www.google.com/pagead/1p-user-list/1018012790/?random=1587129900905&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1618542790&resp=GooglemKTybQhCsO&rmt_tld=0&ipr=y
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:81a::2004 Frankfurt am Main, Germany, ASN15169 (GOOGLE, US),
Reverse DNS
Software
cafe /
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
Security Headers
Name Value
Content-Security-Policy script-src 'none'; object-src 'none'
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
/
www.google.de/pagead/1p-user-list/1018012790/
42 B
110 B
Image
General
Full URL
https://www.google.de/pagead/1p-user-list/1018012790/?random=1587129900905&cv=9&fst=1587128400000&num=1&bg=ffffff&guid=ON&eid=376635470&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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&tiba=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&async=1&fmt=3&is_vtc=1&random=1618542790&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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
x-content-type-options
nosniff
server
cafe
timing-allow-origin
*
p3p
policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
status
200
cache-control
no-cache, no-store, must-revalidate
content-security-policy
script-src 'none'; object-src 'none'
content-type
image/gif
alt-svc
quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
content-length
42
x-xss-protection
0
expires
Fri, 01 Jan 1990 00:00:00 GMT
track.gif
tjxbfc1n.micpn.com/p/cp/-1/
42 B
604 B
Image
General
Full URL
https://tjxbfc1n.micpn.com/p/cp/-1/track.gif?t=1587129901095&mi_u=343348292&mi_cid=8212&page_title=Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s&timezone_offset=-120&event_type=pageview&cdate=1587129901093&ck=false&link=anon-1587129901093-8203501598&type=category&title=Hamilton%20Beach%20Small%20Appliances&id=hamilton-beach-small-appliances-kitchen-dining&url=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
13.225.73.36 Seattle, United States, ASN16509 (AMAZON-02, US),
Reverse DNS
server-13-225-73-36.fra2.r.cloudfront.net
Software
/
Resource Hash
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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, 17 Apr 2020 13:25:01 GMT
via
1.1 ac0e9b19969df989a920e6d1b834d009.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
rgNGu3BPqoswtiOIKQpedSvfO1GpRJxmA416wmTIANY_Y5_7opbKxQ==
x-uuid
c893a5b2-a239-412f-a830-39b55fb71f40
adsct
analytics.twitter.com/i/
31 B
118 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%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292
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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 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
157
pragma
no-cache
last-modified
Fri, 17 Apr 2020 13:25:01 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
c5bb61a2c0b18b4bf25afcd71eb3a35a
x-transaction
00cafd3c00ea32de
expires
Tue, 31 Mar 1981 05:00:00 GMT
adsct
t.co/i/
43 B
125 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.5 , 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 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
110
pragma
no-cache
last-modified
Fri, 17 Apr 2020 13:25:01 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
49cde9faedc004e295d58117c47ec595
x-transaction
006f790900b6b072
expires
Tue, 31 Mar 1981 05:00:00 GMT
WR1031b.js
cdnssl.clicktale.net/www/
91 KB
31 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:f1:195::2db0 , Ascension Island, ASN20940 (AKAMAI-ASN1, US),
Reverse DNS
Software
Microsoft-IIS/8.5 /
Resource Hash
d6887aae055eff5ba1d8eeb653fc7c2ba7f6c4831d2f06ee20b5dd1e45178273

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 GMT
content-encoding
gzip
last-modified
Thu, 26 Mar 2020 17:50:39 GMT
server
Microsoft-IIS/8.5
status
200
etag
"69cad1f973d61:0"
vary
Accept-Encoding
content-type
application/javascript
access-control-allow-origin
*
cache-control
max-age=86400
accept-ranges
bytes
content-length
30986
expires
Sat, 18 Apr 2020 13:25:01 GMT
/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
Other
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2737102497513713&24&10&6&0&3&9&subsid=233441&msgsize=120
Requested by
Host: cdnssl.clicktale.net
URL: https://cdnssl.clicktale.net/www/WR-latest.js
Protocol
H2
Security
TLS 1.2, ECDHE_RSA, AES_128_GCM
Server
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
200
date
Fri, 17 Apr 2020 13:25:01 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
0849a63a-9d96-43c9-9a4a-a468170f8eb4
https://www.kohls.com/
0
0
Other
General
Full URL
blob:https://www.kohls.com/0849a63a-9d96-43c9-9a4a-a468170f8eb4
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/?2737102865383483&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
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:01 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/?2737102865383483&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
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:01 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/?2737102865383483&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
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:01 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=86921325534391668990363723434308754667&d_blob=RKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y&d_cid_ic=mcvid%012737102865383483&ts=1587129901289
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.16.76.117 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-16-76-117.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
58dcf72e7d4bd9fade977de4e37559bf08e293d678ad10e443fe04bc82d709a8
Security Headers
Name Value
Strict-Transport-Security max-age=31536000; includeSubDomains

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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-062b1e683.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
pJBTO2t7Q8M=
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
2235
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/26.0.7-1409/javascript/deploy/kjscoretag3.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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 GMT
Content-Encoding
gzip
Last-Modified
Fri, 17 Apr 2020 13:05:54 GMT
Server
Apache
ETag
"762415-1f1b5-5a37c35a1b0f8"
Vary
Accept-Encoding
P3P
policyref="/w3c/p3p.xml", CP="NOI DSP COR DEVa TAIa OUR BUS UNI"
Cache-Control
max-age=2507
Connection
keep-alive
Accept-Ranges
bytes
Content-Type
text/javascript
Content-Length
37249
Expires
Fri, 17 Apr 2020 14:06:48 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/26.0.7-1409/javascript/deploy/kjscoretag3.js
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a00:1450:4001:80b::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 GMT
content-encoding
gzip
x-content-type-options
nosniff
server
sffe
etag
"488 / 337 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
Fri, 17 Apr 2020 13:25:01 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:80b::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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 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
174 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:01 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.22.66 , United States, ASN15169 (GOOGLE, US),
Reverse DNS
fra15s17-in-f66.1e100.net
Software
sffe /
Resource Hash
740078cb1778d885689a3108d2ca696b01fd80cb73437528af4ed0dd6e7466b7
Security Headers
Name Value
X-Content-Type-Options nosniff
X-Xss-Protection 0

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:02 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
Fri, 17 Apr 2020 13:25:02 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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:02 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Strict-Transport-Security
max-age=31536000; includeSubDomains
identity
api.rlcdn.com/api/
0
0

rid
match.adsrvr.org/track/
108 B
669 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.180.197 Dublin, Ireland, ASN16509 (AMAZON-02, US),
Reverse DNS
ec2-52-215-180-197.eu-west-1.compute.amazonaws.com
Software
/
Resource Hash
f71eae1344e6a5a8f67ce49ac98ef4da95de3ce60aab1122b814ee6b882ad049

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:01 GMT
x-aspnet-version
4.0.30319
status
200
vary
Origin
content-type
application/json; charset=utf-8
access-control-allow-origin
https://www.kohls.com
cache-control
private
access-control-allow-credentials
true
access-control-allow-headers
Origin, X-Requested-With, Content-Type, Content-Length, Content-Encoding, Vary, Cache-Control, Accept
content-length
108
expires
Sun, 17 May 2020 13:25:01 GMT
87b90432-af63-44f9-9293-bc9b2bae3924
https://www.kohls.com/
36 KB
0
Other
General
Full URL
blob:https://www.kohls.com/87b90432-af63-44f9-9293-bc9b2bae3924
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
monitor
conductor.clicktale.net/
1 B
251 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=init&p=271&2=6676430848934943&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.201.3.186 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-201-3-186.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:02 GMT
Access-Control-Allow-Credentials
true
Connection
keep-alive
Access-Control-Allow-Headers
*
Content-Length
1
Content-Type
text/plain
/
ing-district.clicktale.net/ctn_v2/wr/
1 B
100 B
XHR
General
Full URL
https://ing-district.clicktale.net/ctn_v2/wr/?2737102865383483&24&10&3&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
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:02 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/?2737102865383483&24&10&4&1&1&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
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:02 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/?2737102865383483&24&10&5&1&2&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
52.5.165.202 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-5-165-202.compute-1.amazonaws.com
Software
/
Resource Hash
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:02 GMT
access-control-allow-origin
*
content-length
1
content-type
text/plain; charset=UTF-8
/
www.facebook.com/tr/
44 B
124 B
Image
General
Full URL
https://www.facebook.com/tr/?id=831984583490556&ev=Microdata&dl=https%3A%2F%2Fwww.kohls.com%2Fcatalog%2Fhamilton-beach-small-appliances-kitchen-dining.jsp%3FCN%3DBrand%3AHamilton%2520Beach%2BCategory%3ASmall%2520Appliances%2BDepartment%3AKitchen%2520%2526%2520Dining%2BMerchPricing%3A%252419.99%26BL%3Dy%26om_mid%3D_200416_DG_Email_Thursday%26om_etid%3D343348292%26utm_source%3DTRA%26utm_medium%3DET%26utm_term%3D343348292%26utm_content%3D727419%26utm_campaign%3D_200416_DG_Email_Thursday%26TID%3D%26sfmc_j%3D727419%26sfmc_s%3D343348292%26sfmc_l%3D28%26sfmc_jb%3D49280%26sfmc_mid%3D6249496%26sfmc_u%3D98074756%26e%3D711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71%26mi_u%3D343348292&rl=&if=false&ts=1587129902581&cd[DataLayer]=%5B%5D&cd[Meta]=%7B%22title%22%3A%22Hamilton%20Beach%20Small%20Appliances%2C%20Kitchen%20%26%20Dining%20%7C%20Kohl%27s%22%2C%22meta%3Adescription%22%3A%22Enjoy%20free%20shipping%20and%20easy%20returns%20every%20day%20at%20Kohl%27s.%20Find%20great%20deals%20on%20Hamilton%20Beach%20Small%20Appliances%20at%20Kohl%27s%20today!%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.1587129901075.673600849&it=1587129900900&coo=false&es=automatic&tm=3&rqm=GET
Protocol
H2
Security
TLS 1.3, , AES_128_GCM
Server
2a03:2880:f11c:8183: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/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/5.0 (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
Fri, 17 Apr 2020 13:25:02 GMT, Fri, 17 Apr 2020 13:25:02 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
Fri, 17 Apr 2020 13:25:02 GMT
monitor
conductor.clicktale.net/
1 B
251 B
XHR
General
Full URL
https://conductor.clicktale.net/monitor?t=chunk&p=271&2=6676430848934943&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.201.3.186 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-201-3-186.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:05 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=6676430848934943&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.201.3.186 Ashburn, United States, ASN14618 (AMAZON-AES, US),
Reverse DNS
ec2-52-201-3-186.compute-1.amazonaws.com
Software
/
Resource Hash
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068

Request headers

Referer
https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
User-Agent
Mozilla/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
Fri, 17 Apr 2020 13:25:10 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

527 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 function| $env object| googletag function| _googCsa object| Kjs object| pmpSearchJsonData function| e object| visitor string| tceIsRedesign string| tceIsPDPRedesign boolean| tceIsCNCRedesign function| targetPageParams function| isEmpty function| key function| distinct 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 object| adobe function| Visitor object| s_c_il number| s_c_in object| targetGlobalSettings object| ___target_traces function| mboxCreate function| mboxDefine function| mboxUpdate object| BOOMR_mq string| BOOMR_API_key object| BOOMR number| BOOMR_lstart string| bazadebezolkohpepadr object| suites object| SCTrackingBean function| getParameterByName string| relatedSearch string| categoryName string| trJsonData string| fullUrlPath string| hooklogicEnabled string| ishookLogicEnabled object| placement object| placementA object| placementB string| pagetype object| pageData object| pageData1 string| brightTagScriptCallURL string| brightTagScriptCallParam string| jsFile string| pageName object| dfpslots object| superLeaderBoardDfpslots function| isNative function| isTabletDevice function| isMobile function| isMobileDomain function| getCookieByName function| setNativeCookie undefined| multiSuite string| standardSuite string| mobileCookie string| s_account 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 object| _cf object| _ac object| bmak string| _sd_trace string| urhehlevkedkilrobacf number| BOOMR_configt 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| updateParameterByName function| checkSessionforOverlay function| fillProductInfoDetails function| setMiniShoppingCartData function| getCartRequestNeeded function| getCartRequest string| relativeJsPath function| addCurrency function| addLoyaltyCurrency function| addCurrencyNoDec function| getShippingDetailLabelByMethod function| getAllVgcShipmentItemsCountOrTotal function| cartHasShipItem function| vgcFindOrNot 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| br_call object| br_data function| $box function| $modal object| availableDiscountPanel object| appliedDiscountPanel function| getUrlParameter function| captureUserTrackingData function| getPaymentMonth object| ttMETA string| s_tnt string| tntVal function| ttMBX boolean| tntADDEnabled boolean| tntADD_STDMaxSLA boolean| AccurateDDBoss boolean| tntADD_BOSSMaxSLA boolean| AccurateDD function| tceKCashCalc function| tceRunKCash object| HLLibrary object| bd function| _setIncentiveRedirectCookie function| _renderRedesignPBDrawer object| OmnitureData number| BOOMR_onload undefined| isOldPBLayoutEnabled object| globalPbCart object| ordered function| _displayStore function| _getGeoStoreCookie function| _getKFavStoreCookie function| _getNearStoreLocation function| _callStoreLocator function| _onSuccess function| _onError function| _setStoreLocationStorages string| newStoreName function| calculateDate function| showLoyaltyMesage function| redirectSignInToCheckout object| Kohls boolean| isPersonalizeEnabled string| __nv_agent_version function| rr_addLoadEvent function| rr_create_script function| r3_generic function| r3_home function| r3_error function| r3_personal function| r3_brand function| r3_item function| r3_category function| r3_cart function| r3_addtocart function| r3_purchased function| r3_search function| r3_wishlist function| r3_addtoregistry function| r3_common function| r3_placement function| r3 function| rr_flush_onload function| rr_flush function| rr_insert_placement string| rr_v boolean| rr_onload_called object| rr_placements object| rr_placement_place_holders object| RR string| pathToAssets string| bar_gif string| float_gif string| loading_gif string| tab_1_gif string| bar_gif_retina string| float_gif_retina string| tab_1_gif_retina object| css string| cssText object| OOo object| $jscomp function| Z1 object| ZineOne function| _enablePushNotification function| checkIfPushSubscriptionExists function| _printSdkVersion function| _setApiKey function| _getApiKey function| _setAccessToken function| _getAccessToken function| _setDomainName function| _setHostName function| _getHostName function| _generateUUID function| _acceptLocation function| _isLocationEnabled function| _initWebPush function| _getZ1Widget function| _getInboxCount function| _getInfo function| _fetchInboxData function| _onInboxDataSuccessful function| _showFAQ function| _onFAQSuccessful function| _openSession function| _onSetCustomerId function| _onSetCustomKey function| _createMessagingLayer function| _pushEvent function| _localStorageSetItem function| _localStorageGetItem object| _webPush object| _loader object| _Session function| _onBodyAction function| _loopThroughGlobalTriggers number| width number| height object| browserInfo function| bt_eval function| bt_parameter function| bt_meta function| bt_cookie function| bt_data function| bt_log function| bt_handle_exception undefined| _bt_url_prefix undefined| _bt_referrer undefined| _bt_site undefined| _bt_mode function| btServe function| bt_data_escaped object| BrightTag number| googleNDT_ string| _googCsaExpIds number| _googCsaAlwaysHttps number| _googTcfApiTimeout number| _googUspApiTimeout number| googleAltLoader object| google 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| 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 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 boolean| clickTaleTagInjected object| uetq string| MovableInkTrack function| mitr number| ftRandom string| ire_o function| ire 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| date 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 object| gaplugins object| gaGlobal object| gaData string| sfIp function| get_gender function| createShelfContainer object| TagDeliveryContent function| ImpactRadiusEvent object| irEvent function| twq object| twtObject object| contentIds function| udm_ object| ns_p object| COMSCORE object| CEC string| WRFi number| WRFk number| WRFh number| WRFj object| WRFw number| ClickTaleUnloadPause number| ClickTaleEventsMask string| ClickTaleIgnoreCookieName string| ClickTaleUIDCookieName function| ClickTaleLog function| ClickTale string| ClickTaleCookieDomain function| ClickTaleUploadPage function| ClickTaleDelayUploadPage function| ClickTaleIsUploadPage function| ClickTaleSetAllSensitive function| ClickTaleResetAllSensitive function| ClickTaleSetSomeSensitive function| ClickTaleResetSomeSensitive function| ClickTaleIgnore function| ClickTaleRegisterFormSubmitFailure function| ClickTaleGetVersion function| ClickTaleSetCustomElementID function| ClickTaleRegisterFormSubmitSuccess function| ClickTaleExec function| ClickTaleField function| ClickTaleNote function| ClickTaleTag function| ClickTaleEvent function| ClickTaleGetPID function| ClickTaleSetUID function| ClickTaleGetUID function| ClickTaleGetSID function| ClickTaleUnsubscribe function| ClickTaleSubscribe function| ClickTaleLogical function| ClickTaleDetectAgent function| ClickTaleIsPlayback number| ClickTaleCookieExpiryDays function| ClickTaleIsSavedRecording function| ClickTaleIsRecording function| ClickTaleSendJsonMessage function| ClickTaleDispatchPersistedMessages function| ClickTaleUploadPageNow function| ClickTaleAddAugmentElementPathHandler function| ClickTaleGetAuthResponse function| ClickTaleGetSubscriberId function| ClickTaleGetPartition function| ClickTaleGetWRIgnoreExpiry number| WRInitTime object| ClickTaleFetchFromWithCookies object| ctRules_PrePCC object| ctCustomCode_PrePCC function| doOnlyWhen object| ct boolean| ClickTaleFirstPCCGo function| clickTaleStartEventSignal function| clickTaleEndEventSignal function| ClicktaleIntegrationExperienceHandler string| tagId number| index object| twttr function| MutationSummary object| ClickTaleOnUploadPageContentFetched object| ClickTaleOnStop 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 object| headertag function| headertag_render object| pbjs object| rubicontag undefined| google_measure_js_timing number| google_srt boolean| clickTaleNotAvailableOnPageWhereOLClicked boolean| clickTaleNeverAvailableOnSite

18 Cookies

Domain/Path Name / Value
.demdex.net/ Name: dextp
Value: 21-1-1587129898717|60-1-1587129898818|358-1-1587129898918|477-1-1587129899019|601-1-1587129899120|640-1-1587129899221|771-1-1587129899321|822-1-1587129899426
.demdex.net/ Name: demdex
Value: 81808525293673043470875006748608943555
.kohls.com/ Name: ak_bmsc
Value: 988F16D95D3F1B04C8EF0E5B78136D460214BE99834400002AAE995EBBEDB217~plipCA5aZ+UlSCjeXSk1EIKKtkh5bO2joM5i0R/FyYQRGoFwCAhaaFDWPOC8KmmI/Kv1mdr4LHt6gIqX2u/RFce3eDFBLPRUeqKiMOE34KSA+72DIKhGHu5zz0jo0OVtbfR0+sCZYzRn0gP45qcjDTHo4CKo24ZrxuLf24RyyfTZF6mqI1wHEa1nVsa5DKeUswAMtrK/AEgiyRN1YVnHBrajw0hPYWJoEOhMWEJHde7VLXJ7d4lNCh5p6vj75+odcmfDAy5tczYw/q+FY7qSLrQXpPNapWq4ADsOnkfMliQx4=
.kohls.com/ Name: mbox
Value: session#c9c0634e95114024b302293814130452#1587131759|PC#c9c0634e95114024b302293814130452.26_0#1650374699
.kohls.com/ Name: AMCV_F0EF5E09512D2CD20A490D4D%40AdobeOrg
Value: -1712354808%7CMCIDTS%7C18370%7CMCMID%7C86921325534391668990363723434308754667%7CMCAAMLH-1587734698%7C6%7CMCAAMB-1587734698%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1587137098s%7CNONE%7CMCAID%7CNONE%7CMCSYNCSOP%7C411-18377%7CvVersion%7C4.3.0
.kohls.com/ Name: s_ecid
Value: MCMID%7C86921325534391668990363723434308754667
.kohls.com/ Name: RT
Value: "z=1&dm=kohls.com&si=8d31956b-d581-4b5c-ae54-8f5f7e3eb371&ss=k9485ubw&sl=1&tt=1qe&bcn=%2F%2F684dd306.akstat.io%2F&ld=1qo"
www.kohls.com/ Name: AKA_RV
Value: 25
.kohls.com/ Name: AMCVS_F0EF5E09512D2CD20A490D4D%40AdobeOrg
Value: 1
.kohls.com/ Name: mboxEdgeCluster
Value: 26
.kohls.com/ Name: bm_sz
Value: 5A2E165352979D541BEFEEA0220CB639~YAAQmL4UAsXMN4FxAQAATlNQiAdWHTXZ8Y3gCgs2Ei/sjIc8s/7c+eholYhPPmwoRahXb5GLK+C1EpGzRBH27BB9aPF9a/Jc/56FR7uVgNnlFI9QJdb2gVSScRnkG8X7olQ+CtURxJFNyNLEsSe+Sp3qe9IycKzc7O6TH3/ADKHSdLKcqk0XHw/bNZw8Cw==
.kohls.com/ Name: check
Value: true
www.kohls.com/ Name: akavpau_www
Value: 1587130198~id=1bd36a9b48833bd1821f6b312959a0ec
www.kohls.com/ Name: AKA_PDP2
Value: True
www.kohls.com/ Name: mosaic
Value: gcpg
.kohls.com/ Name: _abck
Value: 0808876F2EE0C926C2CF0742FF9E7A8B~-1~YAAQmb4UAnkrDYRxAQAAtlhQiAM7bMFFABFbUuwYYdkur5ey+m4TsT1K0TwjfTgZIVw5qj5XsGf8Z2mkdm1pVZNhYWROAxo2aLOWLKeN8Dn1yeq9vVpSoBoc0rfwA5WbOPGtNHuqw3qWJD3gY/O81dW8X/++xQNrAdcqiNcCrL6RkSC/SxJmRrc1KoCd6DI+UCqdNtXKzzjT2bw79tRt4eLnt1Topc1NixT6akQAHVFa4oWA4CY2/XQQLh5vzUhOYW3Sd0IX4fHZMpasZRRZgRO8B+Z+A5CsWi2eIM1PJkn3oqnT6SskTlyaSRjRnTGs/y1MPJvksMW5Wv6SJukU562hVKI=~-1~-1~-1
www.kohls.com/ Name: akacd_www-kohls-com-mosaic-p2
Value: 2177452799~rv=65~id=9a9d6038c403a262ce4454131d67c7ba
www.kohls.com/ Name: AKA_HP2
Value: True

94 Console Messages

Source Level URL
Text
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[$log] An early $(document).ready(function() {...}) handler was registered
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[$log] An early $(function() {...}) ready handler was registered
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613469)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613470)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613471)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613472)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613473)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613474)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613475)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613476)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613477)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613478)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613479)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[startup] No static messages to load for https://www.kohls.com/catalog/hamilton-beach-small-appliances-kitchen-dining.jsp?CN=Brand:Hamilton%20Beach+Category:Small%20Appliances+Department:Kitchen%20%26%20Dining+MerchPricing:%2419.99&BL=y&om_mid=_200416_DG_Email_Thursday&om_etid=343348292&utm_source=TRA&utm_medium=ET&utm_term=343348292&utm_content=727419&utm_campaign=_200416_DG_Email_Thursday&TID=&sfmc_j=727419&sfmc_s=343348292&sfmc_l=28&sfmc_jb=49280&sfmc_mid=6249496&sfmc_u=98074756&e=711c8a69da7866c712b45f97b3284f375cb2465f472db22bdb510d6eeeb3ce71&mi_u=343348292
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 21)
Message:
[startup] (msgExceptionInHandler) Exception in init handler (init._$init_pmpSearchRedesign): Cannot read property 'getItem' of null
console-api error URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 21)
Message:
In function _$init_pmpSearchRedesign
console-api error URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
TypeError: Cannot read property 'getItem' of null
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
console.groupEnd
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613480)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613481)
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 21)
Message:
[errors] A contained exception occurred within an exec call (_trackinganalytics) - Cannot read property 'getItem' of null
console-api error URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
TypeError: Cannot read property 'getItem' of null
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
console.groupEnd
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[$log] $ready called after window load
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 warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[errors] Nested exec call! (2)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613440)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613441)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613445)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613446)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613447)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613448)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613449)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613442)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613443)
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[panel] Name conflict in component integration with new panel ("Modal" in panel panel46613444)
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 21)
Message:
[startup] (msgExceptionInHandler) Exception in ready handler (ready._$ready_pmpSearchRedesign): Cannot read property 'getItem' of null
console-api error URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 21)
Message:
In function _$ready_pmpSearchRedesign
console-api error URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
TypeError: Cannot read property 'getItem' of null
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
console.groupEnd
console-api warning URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.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/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
[$log] $init called after window load
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:
560262ba-6c85-41ad-f341-5ad665dba301
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:
1587129900281
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_cust_id from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_connectData_tts from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_cust_key from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to write to localStorage, retaining information in SDK
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
z1_connectDirty
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
true
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_connectData from localStorage
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to write to localStorage, retaining information in SDK
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
z1_connectData_tts
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
1587129900672
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":"a8e9d98b-7521-49ea-85a0-5e97c8038c4c","sdkPropsChanged":true,"firstTimeUser":true,"sessionTime":"30","id":"560262ba-6c85-41ad-f341-5ad665dba301","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 var myId = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if (myId == \"3000000129500077\") {\n\n var 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 } else {\n product_ids = product_ids + \",\" + shoppingBagItems[i].getAttribute('data-productid');\n }\n }\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 } else {\n console.log(\"[Zineone] ws_pdp_recommendations Event disabled\");\n }\n } else {\n console.log(\"Firning only for testing users\");\n return;\n }\n} catch (e) {\n console.log(\"[zineone] exception in ws_pdp_recommendations Tag=\" + e);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"checkout/shopping_cart"}},{"tagName":"SetMCMSecondaryKey","actionType":"z1script","script":"\nvar mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\nId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n//console.log (\" MCID - \" + Id );\n\nvar limitCustomerIds = [\"2254009728812139\",\"3000000015001846\"];\n\n\nvar localMcm = localStorage.getItem('mcm_id');\n\nif(localMcm == null)\n{\n\tZineOne.setCustomKey(\"mcid\", Id);\n\tlocalStorage.setItem('mcm_id',Id);\n}\n\n","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"RTO Wallet Apply","actionType":"z1script","script":"try {\n \t\n\tvar debugScr = true;\n \n \tconsole.log('RTO WAllet Start');\n\n \tfunction fireOmniture(z1Response) {\n\n\t //////***** whats the s.tl(this) ??? */\n\n\t if (z1Response && z1Response.prop75) {\n\t var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n\t s.tl(this, 'o', 'ZineOne Impression', {\n\t linkTrackVars: 'prop75,eVar39',\n\t prop75: z1Response.prop75,\n\t eVar39: eVar39\n\t });\n\n\t }\n\n\n\t}\n\n \tfunction getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n \tfunction sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\tfunction sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75+'C:'+existingSupc.offerCampaign+'|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|CP|';\n\n sendDisEventToC3(\"CP\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]); \n\n var initPopupContent = document.querySelector('#fancybox-content .kas-promo_code'); \n\n var div = document.getElementById('wallet-promoText');\n\n if(div)\n {\n \tdiv.parentNode.removeChild(div);\t\n }\n\t\t\n\n var promoTextContent = '<div id=\"wallet-promoText\" style=\"font-size: 14px;text-align: left;\" class=\"popupPromoText\">Your promo code is already entered</div>';\n\n\n\n initPopupContent.parentNode.insertAdjacentHTML(\"afterend\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n initPopupContent.value = promoCode;\n\n\n var applyButton = document.querySelector('#fancybox-content .addto_wallet_btn'); \n\n\n applyButton.onclick = function(){\n\n var currentPromoCode = initPopupContent.value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n\n }\n\n function getDayLightOffset()\n\t {\n\t //Automatically adjust for GMT to Central Timediff based on Daylight savings\n\t //Returns number of hours Central is behind GMT\n\t //\n\t var now = new Date();\n\t //test data\n\t var test = now.getTime(); //238*24*3600000;\n\t var nowUtc = new Date(test);\n\t var month = nowUtc.getMonth()+1; //make jan=1\n\n\t if (month < 3 || month > 11) return 6; // savings=F\n\t if (month > 3 && month < 11) return 5; // savings=T\n\n\t // switch if >2nd sun in march or >1st sun in nov\n\t // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n\t var tzDiffInHours; //UTC vs Central diff in hours\n\t var day = nowUtc.getDate(); //already 1 based\n\t var dow = nowUtc.getDay(); //already sun=0\n\t var previousSunday = day - dow; \n\t if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n\t if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n\t \n\t //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n\t //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n\t return tzDiffInHours;\n\t }\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n \n function checkForLocalRTO()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n var e = JSON.parse(existingSupc);\n\n var offerExpiry = e.offerExpiry;\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n\n var timeCheck = endTime-currentTime;\n\n //console.log(\" timeCheck: \" + timeCheck);\n\n if(timeCheck > 0)\n {\n\n if(e.is_redeemed != true)\n {\n\n document.getElementsByClassName('open-addtowallet')[0].onclick = function(){\n\n \tvar timeCounter = 0;\n\t\t var maxCounter = 10;\n\t\t var timeDelay = 500;\n\n\t\t var popupCheck = setInterval(function(){ \n\n\n\t\t var popupDiv = document.querySelector('#fancybox-content .kas-promo_code');\n\n\t\t //var popupDiv = document.getElementById('promo-kcInput');\n\n\t\t console.log('Got Popup Div '+popupDiv);\n\n\t\t if(popupDiv != undefined && popupDiv != null)\n\t\t {\n\t\t clearInterval(popupCheck);\n\n\n\t\t //setTimeout(function(){ }, 500);\n\n\t\t addDataToRedemptionPopup(popupDiv,e.offerCode);\n\n\t\t return;\n\t\t }\n\n\t\t if(timeCounter > maxCounter)\n\t\t {\n\t\t clearInterval(popupCheck);\n\t\t }\n\n\t\t timeCounter++;\n\n\t\t }, timeDelay);\n\n };\n\n document.getElementsByClassName('open-addtowallet')[0].click();\n }\n }\n else\n {\n return false;\n }\n \n\n \n return true;\n\n\n }\n\n return false;\n }\n\n console.log('RTO WAllet Before Check');\n\n if(checkForLocalRTO() == true)\n {\n return;\n }\n\n localStorage.setItem('z1_supc',null);\n\n\n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in RTO Wallet Apply Tag: WebStore Z1 tag. \" + e);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"my_wallet.jsp"}},{"tagName":"perk_perf_tag","actionType":"z1script","script":"/*Changes done for IE\nA. function declaration like, var abc = function() won't work in IE if function is used first and then declared and defined. Please take below precaution before using it:\n 1. If you want to use function declaration like, var abc = function(), first declare it and then use it\n 2. Use normal function declaration like, function abc(). you can declare function anywhere in the page and use it before or after declaration. It will work on all the browsers.\nB. Do not use multiline strings, also call as 'Template String'. Template Strings are demarked by a backtick(`).\n Example. var abc = `This is multiline\n comment`; //multiline comments won't work in IE\n Use simple concatenation to achieve the same like,\n var abc = \"\";\n abc += 'This is multiline';\n abc += 'comment';\nC. You can not set defalut parameter values for function in IE.\n for e.g. function abc(num = 0,str=\"hello\") //Won't work in IE\nD. You can not use arguments object ([...args] or (...args) in function) in IE.\n For e.g function abc(...args){\n console.log(\"received paramenters \", args)\n } // Won't work in IE\nE. 'append' function won't work in IE. You can use 'appendChild' function to achieve the same functionality.\nF. 'prepend' function won't work IE. Try to use 'insertBefore' function to achieve the same functionality.\nG. new Event() function won't work in IE. You can use new CustomEvent() function to achieve the same functionality.\nH. Arrow functions (=>) won't work in IE\nI. while creating div do not put all the css in style attribute. For e.g.\n<new div>.style=\"margin:24px;display:flex;float:right\" \nchange to \n\n\n<new div>.style.margin=\"24px\";\n<new div>.style.display=\"flex\";\n<new div>.style.float=\"right\"; \n*/\n/*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if (cust_id != \"3000000030411692\") return;*/\n console.log(\"[Zineone-I] Perk Perf Tag\");\n/*try {\n if (debug) console.log(\" [Z1] perk_perf_tag_test\");\n\n var birthday_perk_perfCodeHandler = function(e) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...\", e);\n if (debug) console.log(\"e.detail...\", e.detail);\n localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data\",JSON.stringify(e.detail));\n // handleEmailOptIn(e.detail);\n }\n document.addEventListener(\"ws_birthday_perk_perf\", birthday_perk_perfCodeHandler, false);\n}\ncatch(e)\n{if (debug) console.log(\"perk_perf_tag_test\");}*/\n\nvar debug = false;\n\nfunction isValid(datapoint) {\n if (!datapoint || typeof datapoint == 'undefined' || datapoint == undefined || datapoint === undefined || String(datapoint) === 'undefined' || datapoint == \"null\" || datapoint == null) {\n\n return false;\n } else {\n return true;\n }\n}\n\nfunction appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n}\n\nfunction perkPerfBannersCouponPage() {\n\n var pg_url = window.location.href;\n if (pg_url.includes(\"qa02\")) {\n //QA02 start\n var perkPerfBannersDiv3 = document.getElementById('bottom-right');\n if (debug) console.log(\"perkPerfBannersCouponPage>>>\", perkPerfBannersDiv3);\n var perkPerfBannersCouponPage = \".perk_notify_coupon{display:flex;flex-direction:row;width:417px;height:147px;background-color:#238341}.perk_notify_coupon_content{display:flex;flex-direction:column}#PICK-YOUR-PERK_btn{padding-bottom:9px;margin-left:34px;margin-right:99px;margin-top:14px;width:128px}.clk-btn{display:block;height:30.4px;background-color:#fff;cursor:pointer;font-family:'Gotham 7r',GothamBold,Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.gift{text-align:center;font-size:70px;color:#fff;margin-top:auto;margin-right:39.2px;margin-bottom:auto}.Your-birthdays-comi{width:228px;height:50px;font-family:'Gotham 5r',GothamBold,Helvetica,Arial,sans-serif;font-size:25px;font-style:normal;font-stretch:normal;line-height:1.08;letter-spacing:.44px;color:#fff;margin-right:53px;margin-left:33px;margin-top:25px}\";\n appendStyle(perkPerfBannersCouponPage);\n\n var inHTMLperkPerfBannersCouponPage = \"\";\n inHTMLperkPerfBanners = \"<div class='perk_notify_coupon'> <div class='perk_notify_coupon_content'> <div class='Your-birthdays-comi'>Your birthday’s<br>coming up… </div><div id='PICK-YOUR-PERK_btn'><a href='/myaccount/kohls_rewards.jsp' > <input type='button' style='font-weight: bold;font-family: 'Gotham 4r', GothamBold, Helvetica, Arial, sans-serif;' class='clk-btn' value='PICK YOUR PERK'></a> </div></div><div class='gift'> <img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div></div>\";\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBanners;\n // child.style = \"margin:24px;display:flex;float:right\";\n\n child.style.margin=\"24px\";\n child.style.display=\"flex\";\n child.style.float=\"right\"; \n\n\n perkPerfBannersDiv3.appendChild(child);\n // perkPerfBannersDiv3.innerHTML =appendChild(inHTMLperkPerfBannersCouponPage);\n // perkPerfBannersDiv3.style.display = \"block\";\n //QA02 end\n }\n\n\n //if (pg_url.includes(\"rel02\")) {\n //REL02 start\n /* var perkPerfBannersDiv3 = document.getElementsByClassName('tdeals_lot -tcs');\n perkPerfBannersDiv3[0].style = \"margin-bottom: 66px;\";\n var clearanceDiv = document.getElementsByClassName(\"tdeals_box -half -major -clearance\")[0];\n clearanceDiv.style = \"display: none;\"*/\n\n var rel2_cpn = document.getElementsByClassName('tdeals_box -half -major -clearance');\n rel2_cpn[0].innerHTML = \"\";\n rel2_cpn[0].onclick=\"\";\n //rel2_cpn[0].style = \"background-color:#238341; padding: 25px;\";\n rel2_cpn[0].style.backgroundColor = \"#238341\";\n rel2_cpn[0].style.padding = \"25px\";\n\n var perkPerfBannersDiv3 = rel2_cpn;\n var perkPerfBannersCouponPage = \".perk_notify_coupon_rel{display:flex;flex-direction:row;width:372 px;height:134 px;background-color:#238341}.perk_notify_coupon_content_rel{display:flex;flex-direction:column}#PICK-YOUR-PERK_btn_rel{margin-top:14px;width:128px}.clk-btn_rel{display:block;height:30.4px;background-color:#fff;cursor:pointer;font-family:'Gotham 4r',GothamMedium,Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.gift_rel{text-align:center;font-size:70px;color:#fff;margin:auto;position:relative;left:45px}.Your-birthdays-comi_rel{width:228px;height:50px;font-family:'Gotham 5r',GothamBold,Helvetica,Arial,sans-serif;font-size:25px;font-style:normal;font-stretch:normal;line-height:1.08;letter-spacing:.44px;color:#fff}\";\n appendStyle(perkPerfBannersCouponPage);\n var inHTMLperkPerfBannersCouponPage = \"\";\n inHTMLperkPerfBanners = \"<div class='new2' > <div class='perk_notify_coupon_rel'> <div class='perk_notify_coupon_content_rel'> <div class='Your-birthdays-comi_rel'>Your birthday’s<br>coming up… </div><div id='PICK-YOUR-PERK_btn_rel'><a href='/myaccount/kohls_rewards.jsp' > <input type='button' style='font-weight: bold;font-family: 'Gotham 4r', GothamBold, Helvetica, Arial, sans-serif;' class='clk-btn_rel' value='PICK YOUR PERK'></a> </div></div><div class='gift_rel'> <img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div></div></div>\";\n /* var child = document.createElement(\"div\");\n child.style = \"display: flex;flex-direction: row-reverse;position: absolute;margin: -124px 223px;\";\n child.class = \"tdeals_box -half -major -clearance\";\n //child.style = \"display: flex;flex-direction: row-reverse;margin-left:19px;\";\n child.innerHTML = inHTMLperkPerfBanners;\n perkPerfBannersDiv3[0].appendChild(child);*/\n\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBanners;\n /* child.style = \"margin:24px;display:flex;float:right\";*/\n perkPerfBannersDiv3[0].appendChild(child);\n\n\n //REL02 end\n //}\n}\n\n\nfunction perkPerfBannersCouponPage2() {\n\n\n //var perkPerfBannersDiv3 = document.getElementById('monetizationElements');\n var perkPerfBannersDiv3 = document.getElementsByClassName('tdeals_box -half -major -clearance')[0];\n \n perkPerfBannersDiv3.onclick=\"\";\n perkPerfBannersDiv3.innerHTML=\"\";\n //perkPerfBannersDiv3.style = \"background-color:#e6f0ca; padding: 20px;\";\n\n perkPerfBannersDiv3.style.backgroundColor=\"#e6f0ca\";\n perkPerfBannersDiv3.style.padding=\"20px\";\n \n\n\n\n\n\n\n\n\n if (debug) console.log(\"perkPerfBannersCouponPage>>>\", perkPerfBannersDiv3);\n var perkPerfBannersCouponPage = \".perf_notify_rewards{display:flex;flex-direction:row}.Want-more-of-what-yo{font-family:GothamBold,Helvetica,Arial,sans-serif!important;font-size:25px;font-style:normal;font-stretch:normal;font-weight:700;line-height:1;letter-spacing:.44px;color:#238341}.Take-a-moment-to-tel{font-family:GothamMedium,Helvetica,Arial,sans-serif!important;font-size:12px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.25;letter-spacing:-.07px;color:#238341;padding:5px}#SET-PREFERENCES_btn{margin:auto;margin-left:35px;font-family:GothamMedium,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.25;letter-spacing:-.07px;text-align:center;color:#fff}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#238341;cursor:pointer;font-family:'Gotham 4r',GothamMedium,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#fff;border:solid transparent;width:100%;padding:5px}\";\n\n appendStyle(perkPerfBannersCouponPage);\n\n var inHTMLperkPerfBannersCouponPage = \"\";\n inHTMLperkPerfBannersCouponPage = \"<div class='perf_notify_rewards'> <div class='perf_notify_rewards_content'> <div class='Want-more-of-what-yo'>Want more of <br>what you love?</div><div class='Take-a-moment-to-tel'>Take a moment to tell us who<br>and what you like to shop for.</div></div><div id='SET-PREFERENCES_btn'> <a href='/myaccount/v2/myinfo.jsp' > <input type='button' class='clk-btn' value='SET PREFERENCES'> </a> </div></div>\";\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBannersCouponPage;\n // child.style = \"display:flex;float:right\";\n\n\n child.style.display=\"flex\";\n child.style.float=\"right\"; \n\n perkPerfBannersDiv3.appendChild(child);\n\n // perkPerfBannersDiv3.innerHTML =appendChild(inHTMLperkPerfBannersCouponPage);\n // perkPerfBannersDiv3.style.display = \"block\";\n}\n\n\nfunction perkPerfBanners() {\n\n //var perkPerfBannersDiv2 = document.getElementById(\"enrollment_wrapper\");\n\n\n var perkPerfBannersDiv2 = document.getElementsByClassName(\"birthday-perk-container\");\n\n if (debug) console.log(\"perkPerfBannersRewardsPage>>>\", perkPerfBannersDiv2);\n\n var perkPerfBanners = \".perk_notify_coupon{display:flex;flex-direction:row;height:110px;background-color:#238341}.perk_notify_coupon_content{display:flex;flex-direction:column}#PICK-YOUR-PERK_btn{padding-bottom:9px;margin-left:34px;margin-right:99px;margin-top:14px;width:128px}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#fff;cursor:pointer;font-family:'gotham 4r';font-size:12px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.gift{text-align:center;font-size:70px;color:#fff;margin-top:auto;margin-right:39.2px;margin-bottom:auto}.Your-birthdays-comi{width:228px;height:50px;font-family:Gotham;font-size:25px;font-weight:700;font-style:normal;font-stretch:normal;line-height:1.08;letter-spacing:.44px;color:#fff;margin-right:53px;margin-left:33px;margin-top:25px}\";\n appendStyle(perkPerfBanners);\n\n var inHTMLperkPerfBannersRewardsPage = \"\";\n inHTMLperkPerfBannersRewardsPage = \"<div class='perk_notify_coupon'> <div class='perk_notify_coupon_content'> <div class='Your-birthdays-comi'>Your birthday’s<br>coming up… </div><div id='PICK-YOUR-PERK_btn'> <input type='button' class='clk-btn' value='PICK YOUR PERK'> </div></div><div class='gift'> <img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div></div>\";\n\n var child = document.createElement(\"div\");\n child.innerHTML = inHTMLperkPerfBannersRewardsPage;\n\n //child.style = \"margin-top: 25px;\";\n child.style.marginTop=\"25px\";\n\n\n perkPerfBannersDiv2[0].appendChild(child);\n\n // perkPerfBannersDiv2.innerHTML = inHTMLperkPerfBannersRewardsPage;\n // perkPerfBannersDiv2.style.display = \"block\";\n\n\n}\n\nfunction showPerf(args) {\n\n var perfParentDiv2 = document.getElementById(\"z1widget\");\n var stylesPERF = \".z1_b_container_kohlsbannertoparrow{background-color:transparent;padding:0!important;background-color:#238341}.arrow_box{position:relative;background:#238341;border:none;width:198px;border-radius:.3rem .3rem 0 0;left:-50px;top:0;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.08);-moz-box-shadow:0 0 2px 0 rgba(0,0,0,.08);box-shadow:0 0 2px 0 rgba(0,0,0,.08)}.arrow_box:after,.arrow_box:before{bottom:100%;left:45%;border:solid transparent;content:'';height:0;width:0;position:absolute;pointer-events:none}.arrow_box:after{border-color:rgba(255,255,255,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}.arrow_box:before{border-color:rgba(191,191,191,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}#detailsContentId{display:block;width:198px}.box{display:flex;flex-direction:column;height:200px}.cross{display:flex;flex-direction:row;height:13px}.Kohls-Rewards-HZ-R{background:url(https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/kohlsrewardshzr.png) center no-repeat;height:15.3px;color:#fff;margin-left:15%;margin-bottom:9px;height:30px}.Want-more-of-what-yo{width:143px;height:55.5px;font-family:'Gotham 7r',GothamBold,Helvetica,Arial,sans-serif;font-size:19px;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:-.07px;text-align:center;color:#238341;margin-right:auto;margin-left:auto;margin-top:24px}.Take-a-moment-to-tel{width:143px;height:55.5px;margin-bottom:7.5px;font-family:'Gotham 5r',GothamMedium,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.17;letter-spacing:-.07px;text-align:center;color:#238341;margin-right:auto;margin-left:auto}#SET-PREFERENCES_btn{padding-bottom:18.6px;padding-right:20px;padding-left:20px;margin:auto}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#238341;cursor:pointer;font-family:'Gotham 4r',GothamBold,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#fff;border:solid transparent;width:100%}.close{height:29px;width:17px;font-size:28px;cursor:pointer;color:#fff;font-weight:500;margin:2px}.div2_content{background-color:#e6f0ca;border-radius:0 0 .3rem .3rem}#z1-pd-yp-close{float:right;position:relative;right:8px;top:5px;width:15px;height:15px}#z1-pd-yp-close:before{transform:rotate(45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}#z1-pd-yp-close:after{transform:rotate(-45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}\";\n appendStyle(stylesPERF);\n var inHTMLStringPERF = \"\";\n inHTMLStringPERF = \"<div data-zineone-properties='modal:true;container-class:z1_b_container_kohlsbannertoparrow;' class='arrow_box'> <div id='detailsContentId'> <div class='box'> <div> <div class='cross'> <div style='width: 88%;'></div><div class='close' data-zineone-close='z1://close'><a data-zineone-close='z1://close' href='javascript:void(0);' id='z1-pd-yp-close'></a></div></div><div class='Kohls-Rewards-HZ-R '></div></div><div class='div2_content'> <div class='Want-more-of-what-yo'>Want more of what you love?</div><div class='Take-a-moment-to-tel'>Take a moment to tell<br>us who and what you<br>like to shop for.</div><div id='SET-PREFERENCES_btn'> <a href='/myaccount/v2/myinfo.jsp?z1_pref=1' > <input type='button' class='clk-btn' value='SET PREFERENCES'> </a> </div></div></div></div></div>\";\n perfParentDiv2.innerHTML = inHTMLStringPERF;\n perfParentDiv2.style.display = \"block\";\n\n /*let setPrefBtn = document.getElementById(\"SET-PREFERENCES_btn\");\n function setPrefBtnClick(){\n if (debug) console.log(\"setPreferenceBtnClicked..\");\n // alert('setPreferenceBtnClicked');\n setTimeout(function(){\n if (debug) console.log(\"TIMEOUT FUNCTION\");\n let setPrefEvent = new CustomEvent('setPreferenceBtnClicked', { detail: {} });\n document.dispatchEvent(setPrefEvent);\n },5000);\n\n }\n setPrefBtn.addEventListener(\"click\",setPrefBtnClick,false);*/\n let setPrefBtn = document.getElementById(\"SET-PREFERENCES_btn\");\n\n function setPrefBtnClick() {\n if (debug) console.log(\"setPreferenceBtnClicked..\");\n localStorage.setItem(\"z1_pref_clicked\", \"true\");\n\n }\n setPrefBtn.addEventListener(\"click\", setPrefBtnClick, false);\n\n var eventdata = {\n usecase: \"perk\",\n onPage: pgName\n };\n\n ZineOne.pushEvent(\"_ws_updatePerkPerfLastseen\", eventdata);\n sessionStorage.setItem(\"showPerfOnCouponPage\", \"true\");\n\n\n}\n\nfunction showPerk(argument) {\n // body...\n var perkParentDiv2 = document.getElementById(\"z1widget\");\n var stylesPERK = \".z1_b_container_kohlsbannertoparrow{background-color:transparent;padding:0!important;background-color:#238341}.arrow_box{position:relative;border:none;width:198px;border-radius:.3rem;left:-50px;top:0;height:262.3px;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.08);-moz-box-shadow:0 0 2px 0 rgba(0,0,0,.08);box-shadow:0 0 2px 0 rgba(0,0,0,.08);background-size:75px,31px,57px;background-color:#238341}.arrow_box:after,.arrow_box:before{bottom:100%;left:45%;border:solid transparent;content:'';height:0;width:0;position:absolute;pointer-events:none}.arrow_box:after{border-color:rgba(255,255,255,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}.arrow_box:before{border-color:rgba(191,191,191,0);border-bottom-color:#238341;border-width:8px;margin-left:auto}#detailsContentId{display:block;width:198px;padding:5px 0}.box{display:flex;flex-direction:column}.cross{display:flex;flex-direction:row;height:13px}.Kohls-Rewards-HZ-R{height:15.3px;color:#fff;margin-left:15%;margin-top:10px}.MEMBER-EXCLUSIVE{font-family:'Gotham 4r',GothamMedium,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.27;letter-spacing:-.1px;text-align:center;color:#fff;margin-right:auto;margin-left:auto;height:17.5px;width:143px}.gift{text-align:center;font-size:78px;color:#fff;margin:12.5px auto}.Your-birthdays-comi-outer-div{height:55.5px;width:143px;margin:auto}.Your-birthdays-comi{font-family:'Gotham 5r',GothamBold,Helvetica,Arial,sans-serif;font-size:18px;font-style:normal;font-stretch:normal;font-weight:500;line-height:1.06;letter-spacing:-.1px;text-align:center;color:#fff;margin-right:auto;margin-left:auto;height:55.5px;width:143px}#TREAT-YOURSELF_btn{padding-bottom:9px;margin:auto;width:158px}.clk-btn{display:block;border-radius:2.2px;height:30.4px;background-color:#fff;cursor:pointer;font-family:'gotham 4r';font-size:13px;font-weight:700;font-style:normal;font-stretch:normal;line-height:.6px;letter-spacing:.5px;text-align:center;color:#238341;border:solid transparent;width:100%}.close{padding-right:13px}.pick_ur_perk_btn{width:158.5px}.star1{position:absolute;top:17%;left:-1.9%;width:77px;height:89px;object-fit:contain}.star2{position:absolute;top:60.4%;left:-5%;width:40px;height:50px;object-fit:contain}.star3{position:absolute;top:35.8%;left:78.1%;width:57px;height:89px;object-fit:contain}#z1-pd-yp-close{float:right;position:relative;right:0;top:5px;width:15px;height:15px}#z1-pd-yp-close:before{transform:rotate(45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}#z1-pd-yp-close:after{transform:rotate(-45deg);position:absolute;left:9px;content:' ';height:18px;width:1.5px;background-color:#fff}\";\n appendStyle(stylesPERK);\n var inHTMLStringPERK = \"\";\n inHTMLStringPERK = \"<div data-zineone-properties='modal:true;container-class:z1_b_container_kohlsbannertoparrow;' class='arrow_box'> <div id='detailsContentId'> <div class='box'> <div class='cross'> <div style='width: 89%;'></div><div class='close' data-zineone-close='z1://close'><a data-zineone-close='z1://close' href='javascript:void(0);' id='z1-pd-yp-close'></a></div></div><div class='Kohls-Rewards-HZ-R'><img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/kohlsrewardshzr.png'></div><div class='MEMBER-EXCLUSIVE'>MEMBER EXCLUSIVE</div><div> <img class='star1' src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group2x.png'> <img class='star2' src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.3.png'> <img class='star3' src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group2.3.png'> </div><div class='gift'><img src='https://d2p4r375zfkzm8.cloudfront.net/sandbox-kohlswebqa02-com/group3.png' class='Group-3'></div><div class='Your-birthdays-comi-outer-div'> <div class='Your-birthdays-comi'>Your birthday’s<br>coming up… </div></div><div id='TREAT-YOURSELF_btn'> <a href='/myaccount/kohls_rewards.jsp' > <input type='button' class='clk-btn' value='PICK YOUR PERK' class='pick_ur_perk_btn'> </a> </div><div class='Fill-20'></div></div></div></div>\";\n perkParentDiv2.innerHTML = inHTMLStringPERK;\n perkParentDiv2.style.display = \"block\";\n\n\n var eventdata = {\n usecase: \"perk\",\n onPage: pgName\n };\n\n ZineOne.pushEvent(\"_ws_updatePerkPerfLastseen\", eventdata);\n sessionStorage.setItem(\"showPerkOnCouponPage\", \"true\");\n\n}\n\nfunction handlePerkPerf(received_data) {\n\n if (debug) console.log('[Z1]SetCookie. ' + received_data.SetCookie);\n\n if (debug) console.log('[Z1]TTLperf. ' + received_data.perf_ttl);\n if (debug) console.log('[Z1]TTLperk. ' + received_data.perk_ttl);\n if (debug) console.log('[Z1]perk. ' + received_data.perk);\n if (debug) console.log('[Z1]perf. ' + received_data.perf);\n /*\n function setCookie(cname, cvalue, exdays) {\n if (debug) console.log('[Z1]cname. ' + cname);\n if (debug) console.log('[Z1]cvalue. ' + cvalue);\n if (debug) console.log('[Z1]exdays. ' + exdays);\n\n var d = new Date();\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n\n\n var expires = \"expires=\" + d.toGMTString();\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\n }\n\n function getUTCTimeInMILLIS() {\n var now = new Date();\n var millis = now.getTime() + (now.getTimezoneOffset() * 60000);\n // var millis = now.getTime() + ((now.getTimezoneOffset() * 60000)+(5*86400000));\n return millis;\n }\n\n if (String(received_data.SetCookie) == \"true\") {\n var cvalue, cookie_expiry;\n\n var today = getUTCTimeInMILLIS();\n if (String(received_data.perf) == \"true\") {\n // cvalue=JSON.stringify({ \"perf\": \"true\", \"ttl\":String(received_data.perf_ttl)});\n cvalue = JSON.stringify({ \"perf\": \"false\", \"ttl_perf\": String(today) });\n\n cookie_expiry = Number(received_data.perf_ttl);\n }\n\n if (String(received_data.perk) == \"true\") {\n // cvalue=JSON.stringify({ \"perk\":\"true\", \"ttl\":String(received_data.perk_ttl)});\n cvalue = JSON.stringify({ \"perk\": \"false\", \"ttl_perk\": String(today) });\n cookie_expiry = Number(received_data.perk_ttl);\n }\n\n // cvalue=JSON.stringify({ \"perf\": received_data.perf, \"perk\": received_data.perk, \"ttl\":received_data.perk_ttl});\n //document.cookie = \"z1_perk_perf=\" + cvalue + \";\" + expires + \";path=/\";\n var cookie_name = \"z1_perk_perf\";\n var cookie_value = cvalue;\n\n\n if (debug) console.log('[Z1]cookie_name.B ' + cookie_name);\n if (debug) console.log('[Z1]cookie_value. ' + cookie_value);\n if (debug) console.log('[Z1]cookie_expiry. ' + cookie_expiry);\n\n //setCookie(cookie_name,cookie_value,4);\n setCookie(cookie_name, cookie_value, cookie_expiry);\n\n }*/\n\n\n}\n\n\nfunction getUTCTimeInMILLIS() {\n var now = new Date();\n // var millis = now.getTime() + (now.getTimezoneOffset() * 60000);\n // var millis = now.getTime() + ((now.getTimezoneOffset() * 60000)+(5*86400000));\n var millis = now.getTime();\n return millis;\n}\n\n\nfunction setCookie(cname, cvalue, exdays) {\n if (debug) console.log('[Z1]perkPerfCodeHandle cname. ' + cname);\n if (debug) console.log('[Z1]perkPerfCodeHandle cvalue. ' + cvalue);\n if (debug) console.log('[Z1]perkPerfCodeHandle exdays. ' + exdays);\n\n var d = new Date();\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n\n\n var expires = \"expires=\" + d.toGMTString();\n if (debug) console.log('[Z1]perkPerf################ ' + cname + \"=\" + JSON.stringify(cvalue) + \";\" + expires + \";path=/\");\n document.cookie = cname + \"=\" + JSON.stringify(cvalue) + \";\" + expires + \";path=/\";\n}\n\n\nfunction perkPerfCodeHandle(received_data) {\n var showPerkBanner = received_data.notification_ds.showPerk;\n var showPerfBanner = received_data.notification_ds.showPerf;\n var displayBannerTimer = received_data.notification_ds.bannerDisplay;\n\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> received_data ' + received_data);\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds ' + received_data.notification_ds);\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> cookie_ds ' + received_data.cookie_ds);\n\n if (debug) console.log('\\n\\n[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds.showPerf ' + ((received_data.notification_ds.showPerf) == \"true\"));\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds.showPerk ' + ((received_data.notification_ds.showPerk) == \"true\"));\n if (debug) console.log('[Z1]perkPerfCodeHandle>>>>>>>>>>> notification_ds.bannerDisplay ' + received_data.notification_ds.bannerDisplay);\n if (debug) console.log('[Z1]################perkPerfCodeHandle############################ ');\n\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? received_data isCookieSet' + received_data.cookie_ds.isCookieSet);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? received_data do we have to SetCookie?' + received_data.cookie_ds.SetCookie);\n\n\n if (String(received_data.cookie_ds.SetCookie) == \"true\") {\n\n var cvalue, cookie_expiry;\n var today = getUTCTimeInMILLIS();\n\n if ((String(received_data.cookie_ds.uc) == \"perk\") && (String(received_data.cookie_ds.usecase) == \"perk\")) {\n if (debug) console.log('[Z1] ONE PERK ');\n\n\n cvalue = {\n perk: \"false\",\n ttl_perk: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perk);\n }\n\n\n if ((String(received_data.cookie_ds.uc) == \"perf\") && (String(received_data.cookie_ds.usecase) == \"perf\")) {\n if (debug) console.log('[Z1] ONE PERF ');\n\n\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perf);\n }\n\n if (String(received_data.cookie_ds.uc) == \"both\") {\n\n if (debug) console.log('[Z1] BOTH ');\n\n\n\n\n if (received_data.cookie_ds.onBothList == \"true\") {\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value ');\n //if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value uc '+uc);\n //if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value usecase '+usecase);\n if ((String(received_data.cookie_ds.usecase) == \"perk\")) {\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today),\n perk: \"false\",\n ttl_perk: Number(today)\n };\n cookie_expiry = Number(received_data.cookie_ds.ttl_perk);\n\n }\n\n if ((String(received_data.cookie_ds.usecase) == \"perf\")) {\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today),\n perk: \"true\",\n ttl_perk: Number(today)\n };\n cookie_expiry = Number(received_data.cookie_ds.ttl_perf);\n\n }\n\n } else {\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? onBothList? Double COOKIE value false ');\n if ((String(received_data.cookie_ds.uc) == \"both\") && (String(received_data.cookie_ds.usecase) == \"perk\")) {\n if (debug) console.log('[Z1] ONE PERK ');\n\n\n cvalue = {\n perk: \"false\",\n ttl_perk: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perk);\n }\n\n\n\n if ((String(received_data.cookie_ds.uc) == \"both\") && (String(received_data.cookie_ds.usecase) == \"perf\")) {\n if (debug) console.log('[Z1] ONE PERF ');\n\n\n cvalue = {\n perf: \"false\",\n ttl_perf: Number(today)\n };\n\n cookie_expiry = Number(received_data.cookie_ds.ttl_perf);\n }\n }\n }\n\n\n\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? COOKIE value to set ' + cvalue);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? COOKIE value to set cookie_expiry:' + cookie_expiry);\n\n\n var cookie_name = \"z1_perk_perf\";\n var cookie_value = cvalue;\n\n\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? cookie_name.B ' + cookie_name);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? cookie_value. ' + cookie_value);\n if (debug) console.log('[Z1]perkPerfCodeHandle?????? cookie_expiry. ' + cookie_expiry);\n\n //setCookie(cookie_name,cookie_value,4);\n setCookie(cookie_name, cookie_value, cookie_expiry);\n\n\n\n }\n\n\n\n\n\n\n\n\n if (debug) console.log('[Z1]################perkPerfCodeHandle############################ ');\n\n\n\n\n\tvar cust_id_non_numeric=localStorage.getItem('dataLayerCustomerDetails');\n\tvar isGuestUser_id = false;\n if(isValid(cust_id_non_numeric)){\n isGuestUser_id=isNaN(JSON.parse(cust_id_non_numeric).customerID);\n\n }\n if (!isGuestUser_id && showPerkBanner == \"true\" && displayBannerTimer == \"false\" ) {\n if (pgName == \"Home\") {\n showPerk();\n }\n }\n\n if (!isGuestUser_id && showPerfBanner == \"true\" && displayBannerTimer == \"false\") {\n if (pgName == \"Home\") {\n showPerf();\n }\n }\n\n\n}\n\nfunction getBirthdayCookie(cname) {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return;\n}\nvar delete_cookie = function(name) {\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';\n};\n\n\ntry {\n\n //if (debug) console.log(\" [Z1] Pagedata*****************************\"+pagedata);\n\n if (debug) console.log(\" [Z1] perk_perf_tag_test*****************************\");\n\n if (isValid(pageData.customerDetails)) {\n if (pageData.customerDetails.isLoggedIn == \"false\") {\n if (debug) console.log(\"[Z1]delete cookie for logged out user1\");\n try {\n if (debug) console.log(\"[Z1]delete cookie for logged out user2\");\n delete_cookie('z1_perk_perf');\n\n\n var perkOnCouponPage = sessionStorage.getItem(\"showPerkOnCouponPage\");\n if(isValid(perkOnCouponPage)){\n sessionStorage.removeItem(\"showPerkOnCouponPage\");\n }\n\n var perfOnCouponPage = sessionStorage.getItem(\"showPerfOnCouponPage\");\n if(isValid(perfOnCouponPage)){\n sessionStorage.removeItem(\"showPerfOnCouponPage\");\n }\n\n\n\n } catch (del) {\n if (debug) console.log(\"[Z1] no cookie for logged out user\");\n }\n }\n }\n\n var pg = Z1.window.browserInfo.pagePath;\n var pgName = \"unknownPage\";\n // if (isDebug) if (debug) console.log(\"[ZineOne] Page Name ==>\" + pg);\n if (pg == \"/\") {\n pgName = \"Home\";\n } else if (pg.startsWith(\"/product\")) {\n pgName = \"PDP\";\n } else if (pg.startsWith(\"/catalog\")) {\n pgName = \"PMP\";\n } else if (pg.startsWith(\"/search\")) {\n pgName = \"Search\";\n } else if (pg.startsWith(\"/myaccount/kohls_rewards.jsp\")) {\n pgName = \"Rewards\";\n // ZineOne.pushEvent(\"Perk_Perf_Event\", {});\n\n } else if (pg.startsWith(\"/myaccount/v2/myinfo.jsp\")) {\n\n pgName = \"myInfo\";\n // ZineOne.pushEvent(\"Perk_Perf_Event\", {});\n\n } else if (pg.startsWith(\"/wallet/my_wallet.jsp\")) {\n pgName = \"Wallet\";\n\n\n } else if (pg.startsWith(\"/upgrade/giftinglisting/wishlist.jsp\")) {\n pgName = \"Wishlist\";\n\n } else if (pg.startsWith(\"/myaccount/v2/order-history.jsp\")) {\n pgName = \"OrderHistory\";\n\n\n } else if (pg.startsWith(\"/sale-event/coupons-deals.jsp\")) {\n pgName = \"Coupons\";\n }\n if (pg.startsWith(\"/?DPSLogout=true\")) {\n pgName = \"Logout\";\n } else if (pg.startsWith(\"/checkout\")) {\n pgName = \"Cart\";\n if (pg.endsWith(\"shopping_cart.jsp\")) {\n pgName = \"Cart\";\n } else if (pg.endsWith(\"v2/checkout.jsp\")) {\n pgName = \"Checkout\";\n }\n }\n\n //if logged out unset seeion variable\n var loggedout = document.URL;\n\n function getBirthdayCookie(cname) {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return;\n }\n var birthday_cookie_flag = '';\n var cookie_title = \"z1_perk_perf\";\n var birthday_cookie = getBirthdayCookie(cookie_title);\n if (isValid(birthday_cookie)) {\n birthday_cookie_flag = birthday_cookie;\n } else {\n birthday_cookie_flag = '';\n }\n var isPerkSelected=false;\n var isPerfSelected=false;\n if(birthday_cookie_flag != ''){\n var parsedBirthCookie = JSON.parse(birthday_cookie_flag);\n if(parsedBirthCookie && parsedBirthCookie.perk){\n isPerkSelected= String(parsedBirthCookie.perk) == \"true\" ? true : false;\n }\n if(parsedBirthCookie && parsedBirthCookie.perf){\n isPerfSelected= String(parsedBirthCookie.perf) == \"true\" ? true : false;\n }\n }\n if (isPerkSelected) {\n sessionStorage.removeItem('showPerkOnCouponPage');\n }\n if (isPerfSelected) {\n sessionStorage.removeItem('showPerfOnCouponPage');\n }\n if ((loggedout.endsWith(\"/?DPSLogout=true\")) ) {\n\n // var customer=JSON.parse(localStorage.getItem(z1_cust_id));\n var cookie_title = \"z1_perk_perf\";\n // if (debug) console.log(\"[Z1]This user logged out>>>$$$$\",customer);\n delete_cookie('z1_perk_perf');\n // var birthday_cookie = getBirthdayCookie(cookie_title);\n //if (debug) console.log(\"[Z1] READ birthday_cookie on Logout page\" + birthday_cookie);\n\n var sess1 = sessionStorage.getItem(\"showPerkOnCouponPage\");\n if (sess1 == \"true\") {\n sessionStorage.removeItem('showPerkOnCouponPage');\n }\n\n\n\n var sess2 = sessionStorage.getItem(\"showPerfOnCouponPage\");\n if (sess2 == \"true\") {\n sessionStorage.removeItem('showPerfOnCouponPage');\n }\n }\n\n\n\n\n if (debug) console.log(\"perk_perfCodeHandler...pgName:::\" + pgName);\n\n\n /*var birthday_perk_perfCodeHandler = function(e) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...\", e);\n if (debug) console.log(\"e.detail...\", e.detail);\n // localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data\", JSON.stringify(e.detail));\n handlePerkPerf(e.detail);\n\n };\n\n\n document.addEventListener(\"ws_birthday_perk_perf\", birthday_perk_perfCodeHandler, false);*/\n\n\n if (pgName == \"myInfo\") {\n // alert('setPreferenceBtnClicked...myInfo 2');\n if (debug) console.log(\"setPreferenceBtnClicked...myInfo 2\");\n // alert('setPreferenceBtnClickedHandler...myInfo 3');\n /* let locn=window.location.href;\n if(locn.includes(\"/myaccount/v2/myinfo.jsp?z1_pref=1\")){\n var element = document.getElementById(\"leftInfoItem\");\n element.getElementsByTagName(\"li\")[0].classList.remove(\"selected\");\n element.getElementsByTagName(\"li\")[3].classList.add(\"selected\");\n var t = document.getElementsByClassName(\"shoppingPref\");\n t[0].children[0].click();\n\n }*/\n\n let ls_z1_pref_clicked = localStorage.getItem('z1_pref_clicked');\n\n if (isValid(ls_z1_pref_clicked) && String(ls_z1_pref_clicked) == \"true\") {\n\n if (debug) console.log(\"z1_pref_clicked val from ls\" + ls_z1_pref_clicked);\n var element = document.getElementById(\"leftInfoItem\");\n element.getElementsByTagName(\"li\")[0].classList.remove(\"selected\");\n element.getElementsByTagName(\"li\")[3].classList.add(\"selected\");\n var t = document.getElementsByClassName(\"shoppingPref\");\n t[0].children[0].click();\n localStorage.removeItem('z1_pref_clicked');\n if (debug) console.log(\"z1_pref_clicked val from ls removed\");\n }\n\n }\n\n if (pgName == \"Rewards\") {\n\n /* var showdivs = String(sessionStorage.getItem(\"showPerkOnCouponPage\"));\n isValid(showdivs);\n if (debug) console.log(\"showdivs\", showdivs);\n\n if (isValid(showdivs)) {\n if (showdivs) {\n if (debug) console.log(\"showdivs\", showdivs);\n perkPerfBanners();\n }\n }*/\n }\n\n if (pgName == \"Coupons\") {\n\n /* var showdivs1 = String(sessionStorage.getItem(\"showPerkOnCouponPage\"));\n // isValid(showdivs1);\n if (debug) console.log(\"Coupons pages showdivs>>>>\",showdivs1);\n\n if (isValid(showdivs1)) {\n if (showdivs1) {\n if (debug) console.log(\"showdivs1\",showdivs1);\n perkPerfBannersCouponPage();\n }\n }*/\n\n\n\n var showdivs1 = String(sessionStorage.getItem(\"showPerkOnCouponPage\"));\n\n if (debug) console.log(\"Coupons pages showdivs>>>>\", showdivs1);\n\n if (showdivs1 == \"true\") {\n\n if (debug) console.log(\"showdivs1\", showdivs1);\n perkPerfBannersCouponPage();\n var cusId = pageData.customerDetails.customerID;\n\n //if (debug) console.log('Before Condition Check',prop75Obj.prop75,cusId);\n\n if (cusId) {\n //if (debug) console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n\n var eVar39 = cusId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: \"w>z1bdayperk>b|cp\",\n eVar39: eVar39\n });\n\n }\n\n }\n\n\n\n var showdivs2 = sessionStorage.getItem(\"showPerfOnCouponPage\");\n // isValid(showdivs2);\n if (debug) console.log(\"Coupons pages showdivs2>>>>\", showdivs2);\n\n if (showdivs2 == \"true\") {\n\n if (debug) console.log(\"showdivs2\", showdivs2);\n\n perkPerfBannersCouponPage2();\n var cusId = pageData.customerDetails.customerID;\n if (cusId) {\n //if (debug) console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n\n var eVar39 = cusId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: \"w>z1completeprof>b|cp\",\n eVar39: eVar39\n });\n\n }\n\n\n\n }\n\n\n }\n\n\n\n /* var perkPerfCodeHandler = function(f) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...New\", f);\n if (debug) console.log(\"f.detail...\", f.detail);\n localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data NEW\", JSON.stringify(f.detail));\n // handlePerkPerf(e.detail);\n perkPerfCodeHandle(f.detail);\n\n };\n document.addEventListener(\"ws_PerkPerfdata\", perkPerfCodeHandler, false);*/\n\n var z1ResponseHandler = function(e) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler..\");\n if (e.detail && e.detail.PerkPerfdata) {\n if (debug) console.log(\"birthday_perk_perfCodeHandler...New\", e);\n if (debug) console.log(\"e.detail...\", e.detail.PerkPerfdata);\n localStorage.setItem(\"z1_ws_birthday_perk_perf_tag_data NEW\", JSON.stringify(e.detail.PerkPerfdata));\n perkPerfCodeHandle(e.detail.PerkPerfdata);\n // localStorage.setItem(\"z1_emailOptIn_data\", JSON.stringify(e.detail.emailOptInOfferCode));\n // handleEmailOptIn(e.detail.emailOptInOfferCode);\n }\n };\n document.addEventListener(\"onZ1RawData\", z1ResponseHandler, false);\n\n\n\n} catch (e) {\n console.log(\"Error in perk_perf_tag = \", e);\n}\n","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"shopToRoundUpV2","actionType":"z1script","script":"var isDebug = false;\nvar __debug = false;\n\nfunction isValid(datapoint) {\n if (!datapoint || typeof datapoint == 'undefined' || datapoint == undefined || datapoint === undefined || String(datapoint) === 'undefined' || datapoint == \"null\" || datapoint == null) {\n returnObj.reason = \"invalid input\";\n return false;\n } else {\n return true;\n }\n}\n\n/*\nvar debug_log = function(msg) {\n if (__debug) {\n console.log(\"debug_ShopToRoundUpDataV2::\" + msg);\n \n }\n};*/\n\nfunction debug_log(...args) {\n if (isDebug) {\n console.log(\"debug_ShopToRoundUpDataV2::\");\n console.log.apply(this, args);\n }\n}\n\nfunction appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n}\n\n\nfunction showShopRoundUpV2OnCoupon(cpn) {\n\n\n var shopRoundUpV2CouponBannersDiv = document.getElementById('monetizationElements');\n console.log(\"shopRoundUpV2CouponBannersDiv>>>\", shopRoundUpV2CouponBannersDiv)\n\n console.log(\"cpn date:\" + cpn.ends_in);\n var cpn_ends_in = cpn.ends_in;\n\n var styleShowShopRoundUpV2OnCouponPage = ` #strup-container{padding: 10px; background-color: #eef7e6; font-family: 'Gotham 4r', 'GothamMedium', Helvetica, Arial, sans-serif; font-size: 11px; position: relative}\n #strup-container #strup_header {margin-bottom: 5px}\n #strup-container #strup-coupon-Rewards-Lockup-Horizontal {position: absolute; right: 0px; top: 0px}\n #strup-container #strup-coupon-Cant-wait-to-hit-yo{font-size: 15px;font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;}\n #strup-container .green-text {color: #208033;}\n #strup-container .bold-text {font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;}\n \n #strup-container .strup-coupon-dollar_reward_content {display: flex; font-size: 26px; align-items: flex-start;}\n #strup-container .strup-coupon-dollar_reward_content .offer_currency {margin-right: 48px}\n #strup-container .strup-coupon-dollar_reward_content .offer_value {font-size: 68px; transform: translateY(-25%); position: absolute; left: 30px;}\n #strup-container .strup-coupon-Spend-25-or-more-in {margin-bottom: 10px;}\n #strup-container .strup-coupon-footer {margin: 0px 0px 0px 65px;font-weight: bold;}`;\n appendStyle(styleShowShopRoundUpV2OnCouponPage);\n\n\n\n var innerHTMLshowShopRoundUpV2OnCouponPage = \"\";\n innerHTMLshowShopRoundUpV2OnCouponPage = `<div class=\"strup-coupon-Rectangle\" id=\"strup-container\">\n <div id=\"strup_header\">\n <div id=\"inboxHeader_1\">\n <div id=\"strup-coupon-Rewards-Lockup-Horizontal\" class=\"strup-coupon-Rewards-Lockup-Horizontal\"><img style=\"height: 25px;\" src=\"/account/media/images/loyaltyV2/kohls-rewards.png\"></div>\n </div>\n <div id=\"inboxHeader_2\">\n <div id=\"strup-coupon-Cant-wait-to-hit-yo\" class=\"strup-coupon-Cant-wait-to-hit-yo\">Can't wait to hit your next</div>\n </div>\n </div>\n <div class=\"strup-coupon-dollar_reward\">\n <div class=\"strup-coupon-dollar_reward_content green-text bold-text\">\n \n <div class=\"offer_currency\">$</div>\n <div class=\"offer_value\">5</div>\n <div class=\"offer_text\">reward?</div>\n </div>\n <div class=\"strup-coupon-footer\">\n <div class=\"strup-coupon-Spend-25-or-more-in\">Spend $25 or more in-store or online. We'll add $2.50<br> to your Kohl's Rewards balance to get you there.</div>\n <div class=\"strup-coupon-Ends-August-20\">Ends ${cpn_ends_in}</div>\n <div class=\"strup-coupon-details-exclusions\"><u>details & exclusions</u></div>\n </div>\n </div>\n </div> `;\n\n\n\n var child = document.createElement(\"div\");\n child.innerHTML = innerHTMLshowShopRoundUpV2OnCouponPage;\n child.style = \"margin:24px;display:flex;float:right\";\n shopRoundUpV2CouponBannersDiv.appendChild(child);\n\n\n\n}\n\nfunction showShopRoundUpV2OnHome(hm) {\n var hm_ends_in = hm.ends_in;\n\n var showShopRoundUpV2OnHomeDiv = document.getElementById(\"z1widget\");\n var stylesShopRoundUpV2OnHomePage = `.z1_b_container_kohlsbannertoparrow {\n background-color: transparent;\n padding: 0px !important;\n \n }\n\n\n .arrow_box {\n position: relative;\n padding: 0px;\n \n border: none;\n width: 265px;\n border-radius: 0.3rem;\n left: -173px;\n top: 0px;\n height: 312px;\n\n -webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.08);\n -moz-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.08);\n box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.08);\n background-size: 75px, 31px, 57px;\n background-color: #eef7e6;\n }\n\n .arrow_box:after,\n .arrow_box:before {\n bottom: 100%;\n left: 45%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n }\n\n .arrow_box:after {\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #eef7e6;\n border-width: 8px;\n margin-left: auto;\n }\n\n .arrow_box:before {\n border-color: rgba(191, 191, 191, 0);\n border-bottom-color: #eef7e6;\n border-width: 8px;\n margin-left: auto;\n }\n\n \n\n .box {\n display: flex;\n flex-direction: column;\n }\n\n .cross {\n display: flex;\n flex-direction: row;\n }\n\n #z1-pd-yp-close {\n float: right;\n position: relative;\n right: 0px;\n top: 10px;\n width: 15px;\n height: 15px;\n }\n #z1-pd-yp-close:before{\n transform: rotate(45deg);\n position: absolute;\n left: 9px;\n content: ' ';\n height: 18px;\n width: 1.5px;\n background-color: #474747;\n }\n\n #z1-pd-yp-close:after {\n transform: rotate(-45deg);\n position: absolute;\n left: 9px;\n content: ' ';\n height: 18px;\n width: 1.5px;\n background-color: #474747;\n }\n \n .Rewards-Lockup-Horizontal {\n width: 239px;\n height: 44px;\n object-fit: contain;\n margin-left: auto;\n margin-right: auto;\n \n \n }\n .Rewards-Lockup-Horizontal-image {\n width: 239px;\n height: 44px;\n object-fit: contain;\n \n \n }\n \n\n .MEMBER-EXCLUSIVE {\n width: 149px;\n height: 17px;\n font-family: 'Gotham 4r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 11px;\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: 2px;\n margin-right: auto;\n margin-left: auto;\n color: #444444;\n\t position: relative;\n top: -12px;\n }\n .Cant-wait-to-hit-yo {\n width: 203px;\n height: 16px;\n font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;\n font-size: 15px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin: 0px 30px 0px 30px;\n }\n\n .dollar_reward {\n font-family: 'Gotham 7r', 'GothamBold', Helvetica, Arial, sans-serif;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #208033;\n margin-bottom: 10px;\n margin-top: 5px;\n \n}\n\n.dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-top: -12px;\n margin-bottom: -12px;\n}\n.Spend-25-or-more-in {\n width: 174px;\n height: 36px;\n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 15px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.2;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-right: auto;\n margin-left: auto;\n}\n\n.Well-add-250-to-y {\n width: 240px;\n height: 26px;\n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 11px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.18;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-top: 15px;\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 15px; \n}\n.Ends-August-20 {\n width: 96px;\n \n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.78;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin: auto;\n}\n.details-exclusions {\n width: 89px;\n height: 9px;\n font-family: 'Gotham 5r', 'GothamMedium', Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin: auto;\n}`;\n appendStyle(stylesShopRoundUpV2OnHomePage);\n var inHTMLShopRoundUpV2OnHomePage = \"\";\n inHTMLShopRoundUpV2OnHomePage = `<div data-zineone-properties=\"modal:true;container-class:z1_b_container_kohlsbannertoparrow;\" class=\"arrow_box\">\n \n \n <div class=\"box\">\n <div class=\"cross\">\n <div style=\"width: 89%;\"></div>\n \n <div class=\"close\" data-zineone-close=\"z1://close\"><a data-zineone-close=\"z1://close\" href=\"javascript:void(0);\" id=\"z1-pd-yp-close\"></a></div>\n </div>\n <div class=\"Rewards-Lockup-Horizontal\"><img class=\"Rewards-Lockup-Horizontal-image\" src=\"/account/media/images/loyaltyV2/kohls-rewards.png\"><!--<span class=\"kr\">KOHL'S REWARDS</span>--></div>\n <div class=\"MEMBER-EXCLUSIVE\">MEMBER EXCLUSIVE</div>\n <div class=\"Cant-wait-to-hit-yo\">Can’t wait to hit your next</div>\n <div class=\"dollar_reward\">\n <div class=\"dollar_reward_content\">\n <div style=\"font-size: 28px;margin-top: auto; margin-bottom: auto;font-weight: initial;\">$</div>\n <div style=\"font-size: 75.5px;font-weight: initial; margin-right: 3px;\">5</div>\n <div style=\"font-size: 28px;margin-top: auto; margin-bottom: auto;font-weight: initial;\"> reward?</div>\n \n </div>\n \n </div>\n <div class=\"Spend-25-or-more-in\">Spend $25 or more<br>in-store or online.</div>\n <div class=\"Well-add-250-to-y\">We’ll add $2.50 to your Kohl’s Rewards<br>balance to get you there. </div>\n\n <div class=\"Ends-August-20\">Ends ${hm_ends_in}.</div>\n <div class=\"details-exclusions\"><a style=\"color: #222222;font-weight: 500;\" target=\"_blank\" href=\"/ecom/OnlineOnly/BONUSPOINTS.html\"><u>details & exclusions</u></a></div>\n\n \n </div>\n </div>`;\n\n showShopRoundUpV2OnHomeDiv.innerHTML = inHTMLShopRoundUpV2OnHomePage;\n showShopRoundUpV2OnHomeDiv.style.display = \"block\";\n\n var cusId = pageData.customerDetails.customerID;\n\n if (cusId) {\n //console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n var eVar39 = cusId;\n if(hm.pageName==\"Home\"){\n \n \ts.tl(this, 'o', 'ZineOne Impression', {\n \tlinkTrackVars: 'prop75,eVar39',\n \tprop75: \"w>z1rewardsrndup|b|hp\",\n \teVar39: eVar39\n });\n }\n if(hm.pageName==\"PMP\"){\n \n \ts.tl(this, 'o', 'ZineOne Impression', {\n \tlinkTrackVars: 'prop75,eVar39',\n \tprop75: \"w>z1rewardsrndup|b|pmp\",\n \teVar39: eVar39\n });\n }\n if(hm.pageName==\"PDP\"){\n \n \ts.tl(this, 'o', 'ZineOne Impression', {\n \tlinkTrackVars: 'prop75,eVar39',\n \tprop75: \"w>z1rewardsrndup|b|pdp\",\n \teVar39: eVar39\n });\n }\n\n \n\n }\n\n\n\n}\n\nfunction showShopRoundUpV2OnRewards(rwd) {\n\n var shopRoundUpV2OnRewards_replacer = document.getElementsByClassName('background-square-invite-friend kas-background-square-invite-friend');\n shopRoundUpV2OnRewards_replacer[0].style.display = 'none';\n\n\n (\"background-square-invite-friend kas-background-square-invite-friend\");\n\n var showShopRoundUpV2OnRewardsBannersDiv = document.getElementById('inviteFriendAndShopPrefContainer');\n console.log(\"showShopRoundUpV2OnRewards>>>\", showShopRoundUpV2OnRewards);\n\n console.log(\"rwd date:\" + rwd.ends_in);\n var rwd_ends_in = rwd.ends_in;\n\n\n var styleShowShopRoundUpV2OnRewardsPage = `.stru-rewards-Rectangle {\n width: 341px;\n height: 244px;\n border: solid 1px #d3e6d7;\n background-color: #eef7e6;\n}\n.stru-rewards-Cant-wait-to-hit-yo {\n /* width: 203px;\n height: 15px;*/\n font-family:'GothamBold', Helvetica, Arial, sans-serif;\n font-size: 15px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-left: auto;\n margin-right: auto; \n margin-top: 6px;\n\n}\n.stru-rewards-Rewards-Lockup-Horizontal {\n width: 239px;\n height: 44px;\n object-fit: contain;\n margin:auto;\n }\n .stru-rewards-dollar_reward {\n font-family:'GothamBold', Helvetica, Arial, sans-serif;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #208033;\n margin-bottom: 10px;\n margin-top: 10px;\n \n}\n\n.stru-rewards-dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-top: -12px;\n margin-bottom: -12px;\n}\n.stru-rewards-Spend-25-or-more-in {\n width: 280px;\n height: 48px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.23;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n margin-top: 18px;\n margin-bottom: 12px;\n margin-left: auto;\n margin-right: auto;\n}\n.stru-rewards-Shop-Now {\n width: 68px;\n height: 13px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #222222;\n margin-left: auto;\n margin-right: auto;\n}\n.stru-rewards-Ends-August-20 {\n width: 96px;\n height: 16px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.78;\n letter-spacing: normal;\n color: #222222;\n position: relative;\n left: -85px;\n}\n.stru-rewards-details-exclusions {\n width: 89px;\n height: 9px;\n font-family: Gotham-Medium, Helvetica, Arial, sans-serif;\n font-size: 9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #222222;\n position: relative;\n left: 72px;\n cursor: pointer;\n}\n.stru-rewards-footer\n{\n display: inline-flex;\n margin-bottom: 12px;\n margin-top: 12px;\n}\n.stru-rewards-kr-img{\n width: 250px;\n\n}\n`;\n appendStyle(styleShowShopRoundUpV2OnRewardsPage);\n\n //inviteFriendAndShopPrefContainer\n\n var innerHTMLshowShopRoundUpV2OnRewardsPage = \"\";\n innerHTMLshowShopRoundUpV2OnRewardsPage = `<div class=\"stru-rewards-Rectangle\">\n <div>\n <div class=\"stru-rewards-Rewards-Lockup-Horizontal\"><img class=\"stru-rewards-kr-img\" src=\"/account/media/images/loyaltyV2/kohls-rewards.png\"></div>\n <div class=\"stru-rewards-Cant-wait-to-hit-yo\">Can’t wait to hit your next</div>\n <div class=\"stru-rewards-dollar_reward\">\n <div class=\"stru-rewards-dollar_reward_content\">\n <div style=\"font-size: 25.2px;margin-top: auto;width: 17px;height: 25px;margin-bottom: auto;\">$</div>\n <div style=\"font-size: 68px;width: 43px;height: 68px;\">5</div>\n <div style=\"font-size: 25.2px;margin-top: auto;margin-bottom: auto;width: 103px;height: 25px;\"> reward?</div>\n \n \n \n </div>\n <div class=\"stru-rewards-Spend-25-or-more-in\">\n Spend $25 or more in-store or online.<br> We’ll add $2.50 to your Kohl’s Rewards<br> balance to get you there. \n </div>\n <div class=\"stru-rewards-Shop-Now\"><u>Shop Now</u></div>\n <div class=\"stru-rewards-footer\">\n <div class=\"stru-rewards-Ends-August-20\">Ends `;\n innerHTMLshowShopRoundUpV2OnRewardsPage += rwd_ends_in + `</div>\n <div class=\"stru-rewards-details-exclusions\" onclick=\"location.href='/ecom/OnlineOnly/BONUSPOINTS.html';\" ><u>details & exclusions</u></div>\n </div>\n </div>\n\n \n </div>\n </div> `;\n\n\n var child = document.createElement(\"div\");\n child.innerHTML = innerHTMLshowShopRoundUpV2OnRewardsPage;\n child.style = \"margin-right: 26px\";\n showShopRoundUpV2OnRewardsBannersDiv.appendChild(child);\n\n var cusId = pageData.customerDetails.customerID;\n\n if (cusId) {\n //console.log('Inside s.tl Omniture ',prop75Obj.prop75);\n\n var eVar39 = cusId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: \"w>z1rewardsrndup|b|rwd\",\n eVar39: eVar39\n });\n\n }\n}\n\n\ntry {\n //wsShopToRoundUpDataV2Code\n\n try {\n function handleShopToRoundUpDataV2Code(data) {\n debug_log(\"z1ResponsehandleShopToRoundUpDataV2Code::::\", data);\n /*if (data.pageName == \"Coupon\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnCoupon(data);\n }*/\n if (data.pageName == \"Home\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnHome(data);\n }\n if (data.pageName == \"PDP\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnHome(data);\n }\n \tif (data.pageName == \"PMP\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnHome(data);\n }\n if (data.pageName == \"Rewards\" && data.display_banner == \"true\") {\n showShopRoundUpV2OnRewards(data);\n }\n }\n } catch (resErr) {\n debug_log(\"z1ResponsehandleShopToRoundUpDataV2Code Error::::\", resErr);\n }\n\n\n var z1ResponseHandler = function(e) {\n console.log(\"stru???..\" + JSON.stringify(e));\n console.log(\"stru???..\" + e.detail);\n\n if (e.detail && e.detail.ws_shop_to_round_up_dataV2) {\n debug_log(\"e.detail...\", e.detail.ws_shop_to_round_up_dataV2);\n localStorage.setItem(\"z1_wsShopToRoundUpDataV2\", JSON.stringify(e.detail.ws_shop_to_round_up_dataV2));\n handleShopToRoundUpDataV2Code(e.detail.ws_shop_to_round_up_dataV2);\n }\n };\n document.addEventListener(\"onZ1RawData\", z1ResponseHandler, false);\n} catch (err) {\n console.log(\"Error :: Tag:: shopToRoundUpV2\" + err);\n\n}","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"Rto New UI","actionType":"z1script","script":"var debugScr = true;\ntry {\n\n var localVariable = localStorage.getItem('z1_rto_ui_v2');\n\n if(!localVariable || localVariable == null || localVariable == 'null' || localVariable == undefined || localVariable == \"undefined\")\n {\n return;\n }\n\n\n console.log('This is on the page load');\n\n\n function fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n }\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n \n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n console.log('Final HTML '+InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function(){\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n\n function sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\n //Case 1: Display Omniture \n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|HP|';\n sendDisEventToC3(\"HP\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n function formatAMPM(date) {\n var hours = date.getHours();\n var minutes = date.getMinutes();\n var ampm = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours ? hours : 12; // the hour '0' should be '12'\n minutes = minutes < 10 ? '0'+minutes : minutes;\n var strTime = hours + ':' + minutes + ' ' + ampm;\n return strTime;\n }\n\n function showRTOBanner(e)\n {\n console.log(\"[ZineOne] RTO Offers tag running\");\n if (e.is_copied == 'true') return;\n // Style string for RTO\n var style = `\n\n .popupPromoText {\n\n font-size: 1.85em;\n margin-bottom: 5px;\n\n }\n\n .z1_b_container_kohlsbannertoparrow_rto {\n font-family: 'Gotham 5r';\n position: fixed;\n padding: 0px;\n z-index: 1000;\n background: transperant;\n transition: all 1s ease-in;\n -webkit-animation: fadein 2s;\n /* Safari, Chrome and Opera > 12.1 */\n -moz-animation: fadein 2s;\n /* Firefox < 16 */\n -ms-animation: fadein 2s;\n /* Internet Explorer */\n -o-animation: fadein 2s;\n /* Opera < 12.1 */\n animation: fadein 2s;\n {\n z1_position_val\n }\n }\n\n @keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Firefox < 16 */\n\n @-moz-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Safari, Chrome and Opera > 12.1 */\n\n @-webkit-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Internet Explorer */\n\n @-ms-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Opera < 12.1 */\n\n @-o-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n\n .arrow_box {\n position: absolute;\n text-align:center;\n left: 50%;\n transform: translate(-50%,100%);\n bottom: -20px;\n background: #ffffff;\n border: 1px solid #bfbfbf;\n padding: 1rem;\n border-radius: 0.6rem;\n width: 238px;\n -webkit-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);\n -moz-box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);\n box-shadow: 0px 2px 10px 7px rgba(70, 70, 70, 0.8);\n }\n .arrow_box:after,.arrow_box:before {\n \n content: \" \";\n \n position: absolute;\n }\n .arrow_box:after {\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #ffffff;\n border-width: 20px;\n margin-left: -20px;\n }\n .arrow_box:before {\n width: 22px;\n height: 22px;\n background: #ffffff;\n z-index: 100;\n transform: translate(-50%, -50%) rotate(45deg);\n top: 1px;\n left: 50%;\n box-shadow: -6px -6px 5px 1px #999;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_box_style {\n position: relative;\n \n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 {\n padding-left: 0px !important;\n margin-left: 0px;\n min-width: none;\n max-width: none;\n align-self: center;\n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c1 img {\n min-width: 64px;\n max-width: 64px;\n min-height: 64px;\n max-height: 64px;\n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 {\n padding: 0 10px;\n font-size: 0.9em !important;\n line-height: 1.5;\n }\n .z1_b_container_kohlsbannertoparrow_rto .z1_b_c2 .titleText {\n background: url('https://d2p4r375zfkzm8.cloudfront.net/zb-design-com/arrowdown3.png') no-repeat 0 2px;\n font-weight: bold;\n color: #000;\n \n font-size: 1.08em;\n padding: 0px 0 3px 20px;\n line-height: 1.4;\n }\n .z1_b_container_kohlsbannertoparrow_rto .closeBtn {\n cursor: pointer;\n position: absolute;\n right: 3px;\n top: 8px;\n width: 20px;\n height: 20px;\n margin: 0;\n padding: 0;\n font-size: 19px;\n font-family: 'Gotham 4r';\n }\n .z1_b_container_kohlsbannertoparrow_rto .closeBtn img {\n border-bottom-left-radius: 50%;\n border-top-left-radius: 50%;\n border-bottom-right-radius: 50%;\n border-top-right-radius: 50%;\n height: 13px;\n width: 13px;\n opacity: 1;\n }\n .z1_b_container_kohlsbannertoparrow_rto .offerPrice {\n font-size: 1.3em;\n color: #e8342c;\n padding-right: 8px;\n \n }\n .z1_b_container_kohlsbannertoparrow_rto .usernameText {\n font-size: 17px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.47;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n }\n .z1_b_container_kohlsbannertoparrow_rto .todaytext {\n font-size: 1.5em;\n color: #3a3a3a;\n font-weight: 400;\n \n margin: 5px 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto #offerDuration, .z1_b_container_kohlsbannertoparrow_rto .offerDuration {\n font-weight: bold;\n font-size: 24px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .todaytext div#offerDurationUnits {\n display: flex;\n flex-direction: column;\n text-align: left;\n font-size: 0.8em;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .savetext_row {\n padding: 0.6rem 0;\n }\n .z1_b_container_kohlsbannertoparrow_rto .cupontext {\n font-size: 14px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.07;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n margin: 20px;\n \n }\n .z1_b_container_kohlsbannertoparrow_rto .cupontext span {\n font-weight: bold;\n color: #005553;\n }\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer {\n background: #005553;\n text-transform: uppercase;\n color: #060606;\n padding: 0.40rem 1.85rem;\n border-radius: 2.2px;\n text-decoration: none;\n margin: 12px auto;\n letter-spacing: 1px;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 0.6;\n letter-spacing: 0.5px;\n text-align: center;\n color: #ffffff;\n width: 138px;\n height: 31px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy{content: \"Copy Offer\"} \n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover span {\n display: none;\n }\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copy:hover:before {\n /* background:#d2e2d3;\n color: #005553; */\n content: \"Click to Copy\";\n }\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied:before{content: \"Copied\"}\n .z1_b_container_kohlsbannertoparrow_rto .btn_addoffer.copied{background-color: #d2e2d3;color: #005553;}\n\n.z1_b_container_kohlsbannertoparrow_rto .bottom_link {\n margin-top: 25px;\n font-size: 12px;\n font-weight: normal;\n font-style: normal;\n font-stretch: normal;\n line-height: 0.92;\n letter-spacing: normal;\n text-align: center;\n color: #444444;\n }\n .z1_b_container_kohlsbannertoparrow_rto .bottom_link a{\n text-decoration:underline;\n color:#969696;\n font-size:0.8rem;\n line-height:1.2;\n }\n .z1_b_container_kohlsbannertoparrow_rto .bottom_link a:hover{\n color:#333;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .saveMsg{\n font-size: 17px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.47;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .offerText{\n font-size: 37.1px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 0.49;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n margin: 20px 0;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n \n\n .z1_b_container_kohlsbannertoparrow_rto .treatText{\n font-size: 17px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .treatTextNew{\n font-size: 1.2em;\n margin-bottom: 10px;\n color: #000;\n display:none;\n }\n\n\n\n\n .z1_b_container_kohlsbannertoparrow_rto .saveCont.saveMsg {\n margin-top: 8px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .uptillTime{\n font-weight:900;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue{\n font-size: 2em;\n }\n\n .treatTextLatest{\n font-size: 14px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #222222;\n\n }\n\n .btn_offer_container{\n margin: 25px;\n }\n\n .z1-rto-dollar_reward {\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n margin-bottom: 10px;\n } \n .z1-rto-dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n } \n .z1-rto-dollar-text {\n font-size: 34.2px;\n margin-top: auto;\n width: 20px;\n height: 25px;\n margin-bottom: auto;\n } \n .z1-rto-dollar-text-amount {\n font-size: 68px;\n height: 68px;\n letter-spacing: -3px;\n } \n .z1-rto-dollar-text-dOff-outer {\n margin-top: 15px;\n margin-bottom: auto;\n height: 25px;\n } \n .z1-rto-dollar-text-dOff-off {\n font-size: 16px;\n margin-left: -26px;\n position: relative;\n top: 4px;\n } \n .z1-rto-dollar-text-dOff-off-amount {\n font-size: 38px;\n position: relative;\n top: -4px;\n left: -5px;\n text-shadow: -1px 1px 0 #fff, 1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;\n } \n .z1-rto-dollar-text-dOff-off-miniDollar {\n height: -1px;\n font-size: 23px;\n position: relative;\n top: -9px;\n } \n .z1-rto-dollar-text-dOff-off-miniDollarAmount {\n letter-spacing: -1px;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto.loyalty {\n background-color: #e9f4cc;\n }\n\n .loyalty .usernameText {color: #208033;}\n .loyalty .saveMsg {color: #208033;}\n .loyalty .offerText {color: #208033;}\n .loyalty #rtoOfferCode {color: #208033;}\n .loyalty .z1-rto-dollar_reward_content {color: #208033;}\n .loyalty .btn_addoffer {background: #208033;}\n .loyalty.arrow_box:after{border-bottom-color: #208033;}\n .loyalty.arrow_box:before {\n background: #208033;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto.loyalty .bottom_link a{\n color: #444444;\n }\n\n .loyalty-cont.disable {display:none}\n .loyalty-cont.enable {display:block}\n\n .loyalty-cont{\n background-color: #208033;\n position: relative;\n top: -17px;\n left: -17px;\n width: 272px;\n height: 60px;\n border-radius: 0.6em 0.6em 0 0;\n color: #fff;\n }\n\n .loyalty-cont .heading-1 {\n padding-top: 15px;\n font-size: 16px;\n }\n\n .loyalty-cont .heading-2 {\n padding-top: 8px;\n font-size: 12px;\n }\n\n \n .z1_b_container_kohlsbannertoparrow_rto.loyalty .closeBtn{\n z-index: 1;\n color: #fff;\n }\n\n .z1_b_container_kohlsbannertoparrow_rto.loyalty .loyalty-cont.disable{\n\n display:block;\n\n }\n\n\n .element_v2 {display:none;}\n\n .ui_v2 .element_v1 {display:none;}\n .ui_v2 .element_v2 {display:block;}\n\n #v2-take {position: absolute;left: 42px;top: 85px;}\n\n .ui_v2 .z1-rto-dollar-text {font-size: 36.9px;height: 5px;}\n .ui_v2 .z1-rto-dollar-text-amount{font-size: 82px;padding: 5px;}\n\n .ui_v2 {font-family: 'Gotham 5r';}\n\n .ui_v2 .z1-rto-dollar-text-dOff-off{ \n font-size: 25.6px;\n margin-left: 0px;\n top: 45px;\n font-weight: bold;\n }\n\n .ui_v2 .z1-rto-dollar_reward {margin-top: 5px;}\n\n .ui_v2 .treatText {margin-top: 25px;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .treatText {margin-top: 15px;font-size: 16px;color: #000;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .offerDuration {color: #000;font-size:20px;margin-top: 5px;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .saveMsg {font-weight: normal;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .usernameText {font-weight: normal;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .cupontext {color: #005553;font-size: 15px;}\n\n .ui_v2.z1_b_container_kohlsbannertoparrow_rto .bottom_link a {color: #444444;}\n\n\n\n .ui_v2.dollar_fix .z1-rto-dollar-text-dOff-off{\n\n top: 20px;\n\n }\n\n\n .ui_v2.dollar_fix #v2-take {\n\n top: 70px;\n\n }\n\n .ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText{\n margin: 30px 0;\n margin-bottom: 25px;\n }\n\n .ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .rtoOfferValue{\n font-size: 89.7px;\n }\n\n .ui_v2.dollar_fix.z1_b_container_kohlsbannertoparrow_rto .offerText{\n font-size:40.4px;\n }\n\n\n `;\n\n console.log('Before RTO Style');\n\n appendStyle(style);\n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n\n domstr_val = `<div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div><div class='offerText'>`+dolStr+`<span id='rtoOfferValue' class='rtoOfferValue'></span><span class=\"z1-rto-dollar-text-dOff-off element_v2\">off</span>`+`</div>`;\n\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\"; \n\n domstr_val = `<div class='offerText'>`+`<span id='rtoOfferValue' class='rtoOfferValue'></span>`+pctStr+`</div>`; \n } \n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = `<div class=\"z1-rto-dollar_reward\">\n\n <div id=\"v2-take\" class=\"saveMsg element_v2\">Take</div>\n\n\n <div class=\"z1-rto-dollar_reward_content\">\n <div class=\"z1-rto-dollar-text\">$</div>\n <div id='rtoOfferValue' class=\"z1-rto-dollar-text-amount\"></div>\n <div class=\"z1-rto-dollar-text-dOff-outer\">\n <span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount element_v1\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">`+e.offThres+`</span></span>\n </div>\n </div>\n </div>`;\n }\n\n\n var domstr = `<div data-zineone-properties=\"modal:true;container-class:z1_b_container_kohlsbannertoparrow_rto;\" id=\"z1-rto-div\" class=\"z1_b_container_kohlsbannertoparrow_rto arrow_box\">\n <div class=\"closeBtn\" onclick=\"var el=document.getElementById('z1-rto-div');el.innerHTML='';el.parentNode.removeChild(el);\">x</div>\n <div class=\"z1_b_c1\">\n <div class='loyalty-cont disable'>\n <div class='heading-1'>KOHL’S REWARDS®</div>\n <div class='heading-2'>MEMBER EXCLUSIVE</div>\n </div>\n <div><span class=\"usernameText\">Hi, </span><span class='saveMsg element_v1'> save</span>\n\n <div class='saveMsg element_v2'>your cart looks great!</div>\n\n </div>` + domstr_val +\n `<div class='treatText element_v1'>in the next <span id='offerDuration'></span> minutes.</div>\n <div class='saveMsg element_v2'>the items in your cart!</div>\n\n <div class='treatTextNew'>Valid until <span id='uptillTime' class='uptillTime'></span></div>\n <div class='treatTextLatest element_v1'>(Go ahead, treat yourself!)</div>\n\n <div class='element_v2'>\n <div class='treatText'>Check out in the next</div>\n <div class='offerDuration'><span id='offerDurationv2'></span> minutes.</div>\n </div>\n\n <div class=\"cupontext\">PROMO CODE: <span id='rtoOfferCode'></span></div>\n <div class=\"btn_offer_container\"><a class=\"btn_addoffer\"><span id='btn_addoffer'></span></a></div>\n <div class=\"bottom_link\"><a id='discliamer_href' href=\"#\" target='_default'>details & exclusions</a></div>\n <input type=\"text\" id=\"textCopy\" style='opacity:0;pointer-events:none'/> \n </div>\n </div>`;\n\n \n\n var t = document.createRange().createContextualFragment(domstr);\n\n console.log('Before RTO Z1 Widget');\n\n document.getElementById('z1widget').append(t);\n\n\n document.getElementById('rtoOfferValue').append(e.offerValue);\n document.getElementById('rtoOfferCode').append(e.offerCode);\n document.getElementById('textCopy').value = e.offerCode; \n document.getElementById('offerDuration').append(e.offerDuration);\n\n document.getElementById('offerDurationv2').append(e.offerDuration);\n\n \n\n document.getElementById('discliamer_href').href = e.disclaimer;\n\n\n var uptillTime = new Date();\n uptillTime.setMinutes(uptillTime.getMinutes() + Number(e.offerDuration));\n\n var uptillTimeStr = formatAMPM(uptillTime);\n\n document.getElementById('uptillTime').append(uptillTimeStr + '.');\n\n \n if(document.getElementsByClassName('first-name')[0] && document.getElementsByClassName('first-name')[0].innerText.toLowerCase()!=\"account\")\n {\n document.getElementsByClassName('usernameText')[0].innerText = document.getElementsByClassName('first-name')[0].innerText + ','; \n }\n else\n {\n document.getElementsByClassName('saveMsg')[0].innerText = \"Save\";\n }\n\n\n if(e.loyaltyCx == true)\n {\n document.getElementById('z1-rto-div').classList.add('loyalty');\n }\n\n if(e.cta == \"COPY\")\n {\n document.getElementById('btn_addoffer').innerText = \"COPY OFFER\";\n document.getElementsByClassName('btn_addoffer')[0].classList.add('copy');\n }\n\n if(e.cta == \"ADD\" || e.cta == \"WALLET\")\n {\n document.getElementById('btn_addoffer').innerText = \"ADD OFFER\";\n }\n\n\n document.getElementsByClassName('btn_addoffer')[0].onclick = function() {\n if(e.cta == 'COPY')\n {\n\n var copyTextField = document.getElementById('textCopy');\n copyTextField.select();\n\n var copied = document.execCommand (\"copy\");\n\n console.log('Got Copied Status '+copied);\n \n document.getElementsByClassName('btn_addoffer')[0].classList.add('copied');\n e.is_copied = 'true';\n localStorage.setItem('z1_supc',JSON.stringify(e));\n\n return;\n } \n\n var urlToGo = '/checkout/shopping_cart.jsp?redeemCoupon=true';\n\n\n if(e.cta == 'WALLET')\n {\n if(pageData && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue)\n {\n var cartValue = parseInt(pageData.cartDetails.cartSubTotalValue);\n\n //alert('Got Cart Value '+cartValue);\n if(cartValue == 0)\n {\n urlToGo = '/wallet/my_wallet.jsp#offers';\n }\n\n } \n }\n\n\n location.href=urlToGo;\n\n };\n\n\n sendRTOOmniture(1);\n\n\n }\n\n\n\n\n function getDayLightOffset()\n {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth()+1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow; \n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n \n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n\n function checkForLocalRTO()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n var e = JSON.parse(existingSupc);\n\n var offerExpiry = e.offerExpiry;\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n console.log(e.offerExpiry+\" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n console.log(endTime+\" timeCheck Main: \" + currentTime);\n\n var timeCheck = endTime-currentTime;\n\n if(timeCheck > 0)\n {\n if(e.is_redeemed != true)\n {\n\n var expiryInMinutes = Math.ceil((timeCheck)/(60));\n\n e.offerDuration = expiryInMinutes;\n\n showRTOBanner(e); \n }\n }\n else\n {\n return false;\n }\n \n\n \n console.log(\" timeCheck: \" + timeCheck);\n\n return true;\n\n\n }\n\n return false;\n }\n\n function _handleRawRTOData(e) {\n // alert('Got raw data...' + JSON.stringify(e));\n console.log('Got Raw RTO data: ' + e);\n\n if(e)\n {\n e = JSON.parse(e);\n\n if(e.rtoOfferData)\n {\n e = e.rtoOfferData;\n\n localStorage.setItem('z1_supc',JSON.stringify(e));\n\n showRTOBanner(e);\n }\n\n\n fireOmniture(e);\n }\n \n \n }\n\n\n try {\n //var z1Widgets = ZineOne.getZ1Widget();\n //z1Widgets.registerWidgetHandler(\"raw\", _handleRawRTOData);\n } catch (e) {\n console.log('Could not register handler for Raw RTO Data.');\n }\n\n if(getUrlParameter('redeemCoupon') == 'true')\n {\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n }\n\n\n if(checkForLocalRTO() == true)\n {\n return;\n }\n\n localStorage.setItem('z1_supc',null);\n\n\n var evtName = '_ws_rto_offers';\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n if(isSoftLoggedIn == 'true' || isLoggedIn == 'true')\n {\n //ZineOne.pushEvent(evtName, {});\n }\n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in Rto New UI Tag: WebStore Z1 tag. \" + e);\n}\n\n","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"bedding-bed-bath"}},{"tagName":"RTO Order Review New","actionType":"z1script","script":"var debugScr = true;\ntry {\n\n var localVariable = localStorage.getItem('z1_rto_ui_v2');\n\n if(!localVariable || localVariable == null || localVariable == 'null' || localVariable == undefined || localVariable == \"undefined\")\n {\n return;\n }\n\n\n var rtoTimeRemaining = 0;\n\n console.log('This is on RTO Review Page');\n\n\n function fireOmniture(z1Response) {\n\n //////***** whats the s.tl(this) ??? */\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n\n }\n\n\n // Appends style tag\n function appendStyle(styles) {\n var css = document.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) css.styleSheet.cssText = styles;\n else css.appendChild(document.createTextNode(styles));\n\n document.getElementsByTagName(\"head\")[0].appendChild(css);\n }\n\n function appendJs(jsStr)\n {\n var jsElement = document.createElement('script');\n\n var t = document.createTextNode(jsStr);\n jsElement.appendChild(t);\n\n document.getElementsByTagName(\"head\")[0].appendChild(jsElement);\n \n }\n\n\n function getDayLightOffset()\n {\n //Automatically adjust for GMT to Central Timediff based on Daylight savings\n //Returns number of hours Central is behind GMT\n //\n var now = new Date();\n //test data\n var test = now.getTime(); //238*24*3600000;\n var nowUtc = new Date(test);\n var month = nowUtc.getMonth()+1; //make jan=1\n\n if (month < 3 || month > 11) return 6; // savings=F\n if (month > 3 && month < 11) return 5; // savings=T\n\n // switch if >2nd sun in march or >1st sun in nov\n // switches at midnight UTC, so 5 or 6 hrs away from 2AM Central\n\n var tzDiffInHours; //UTC vs Central diff in hours\n var day = nowUtc.getDate(); //already 1 based\n var dow = nowUtc.getDay(); //already sun=0\n var previousSunday = day - dow; \n if (month == 3) tzDiffInHours = (previousSunday >= 8) ? 5 : 6;\n if (month == 11) tzDiffInHours = (previousSunday < 0) ? 5 : 6;\n \n //java.lang.System.out.println(\"@@@@@@ Daylight savings computed variable=\"+tzDiff);\n //var tzDiffInHours = 5; //Change on sunday nov 4, 2018, to 6hrs\n\n return tzDiffInHours;\n }\n\n\n function convertUTCtoCST(dateObj)\n {\n var dayLightOffset = getDayLightOffset();\n return new Date(dateObj.getTime() - ((1 * 60 * 60 * 1000) * dayLightOffset));\n }\n\n\n function getTimeFromApiFormat(dateStr)\n {\n var dateStrSplit = dateStr.split(' ');\n\n var dateSplit = dateStrSplit[0].split('-');\n var timeSplit = dateStrSplit[1].split(':');\n\n var dateObj = new Date();\n dateObj.setYear(dateSplit[0]);\n dateObj.setMonth(dateSplit[1]-1);\n dateObj.setDate(dateSplit[2]);\n\n dateObj.setHours(timeSplit[0]);\n dateObj.setMinutes(timeSplit[1]-1);\n dateObj.setSeconds(timeSplit[2]);\n\n var dateObj = new Date((dateObj.getTime() - dateObj.getTimezoneOffset()*60*1000)/1000);\n\n console.log(dateObj.getTime()+' getTimeFromApiFormat '+dateObj);\n\n return dateObj.valueOf();\n\n }\n\n\n function updateSupcDetails()\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n if(existingSupc.is_redeemed == true)\n {\n if(document.getElementById(\"show_offer_status\"))\n {\n document.getElementById(\"show_offer_status\").innerHTML = \"\";\n document.getElementById(\"link_applynow\").style.display = \"none\";\n document.getElementById(\"link_applynow2\").style.display = \"none\";\n }\n \n //document.getElementById('reviewApplyNow').innerHTML = 'Applied';\n //document.getElementById('reviewApplyNow').href='javascript:void(0)';\n }\n else\n {\n console.log(\"document.getElementById('reviewApplyNow')\",document.getElementById('reviewApplyNow'));\n\n if(document.getElementById('reviewApplyNow'))\n {\n document.getElementById('reviewApplyNow').text ='APPLY NOW'; \n }\n \n }\n }\n\n\n function addDataToRedemptionPopup(popupDiv,promoCode)\n {\n //console.log(' addDataToRedemptionPopup '+document.getElementsByClassName('kc-applyContainer')[0]);\n\n var InitPopupContent = document.getElementsByClassName('kc-applyContainer')[0];\n \n\n var promoTextContent = '<div class=\"popupPromoText\">Your promo code is already entered, click Apply to redeem.</div>';\n\n\n console.log('Final HTML '+InitPopupContent);\n\n InitPopupContent.insertAdjacentHTML(\"afterbegin\", promoTextContent);\n\n //document.getElementsByClassName('kc-applyContainer')[0].innerHTML = InitPopupContent;\n\n document.getElementById('promo-kcInput').value = promoCode;\n\n document.getElementById('applyInputButton').onclick = function(){\n\n var currentPromoCode = document.getElementById('promo-kcInput').value;\n\n if(currentPromoCode == promoCode)\n {\n var existingSupc = localStorage.getItem('z1_supc');\n\n existingSupc = JSON.parse(existingSupc);\n\n existingSupc.is_redeemed = true;\n\n localStorage.setItem('z1_supc',JSON.stringify(existingSupc));\n\n\n updateSupcDetails();\n\n sendRTOOmniture(2);\n\n }\n\n };\n\n }\n\n\n function populateUsername()\n {\n\n\n var usernameText = document.getElementById('usernameText');\n\n console.log(trJsonData.userData.firstName+' populateUsername '+usernameText);\n\n if(trJsonData.userData.firstName)\n {\n document.getElementById('usernameText').innerHTML = trJsonData.userData.firstName +', save';\n\t\t\tdocument.getElementById('usernameText2').innerHTML = trJsonData.userData.firstName+' '+trJsonData.userData.lastName+',';\n \t\n }\n else\n {\n document.getElementById('usernameText').innerHTML = 'Save';\n }\n \n\n console.log('usernameText '+document.getElementById('usernameText').innerHTML);\n \n }\n\n\n\n function showRTOReviewSection(e)\n {\n // Style string for RTO\n var style = `\n\n .popupPromoText {\n\n font-size: 1.85em;\n margin-bottom: 5px;\n\n }\n\n .z1_orderreview_container {\n background-color: #d5e1d4;\n /*display: flex;\n align-content: space-between;\n align-items: center;*/\n height: 85px;\n }\n \n .z1_orderreview_container {\n font-family: 'Gotham 5r';\n border: 1px solid #717171;\n padding: 0.5rem 0.2rem;\n margin-bottom: 0.6rem;\n /*display: -webkit-flex;\n display: flex;\n justify-content: space-between;*/\n color: #454545;\n /*align-content: space-between;\n align-items: center;*/\n }\n \n #username-container {\n font-size: 17px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.06;\n letter-spacing: normal;\n color: #005553;\n text-align: center;\n }\n \n .z1_orderreview_container #price-container {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n }\n \n .z1_orderreview_container #price-container .priceTag {\n margin-top: 8px;\n font-size: 28.4px;\n font-weight: bold;\n line-height: 0.49;\n color: #005553;\n text-align: center;\n font-style: normal;\n font-stretch: normal;\n }\n \n .z1_orderreview_container #price-container #rtoOfferValue {\n font-size: 63.2px;\n font-weight: 700;\n letter-spacing: -4.4px;\n color: #005553;\n display: block;\n }\n \n #message-container {\n font-size: 13px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1;\n letter-spacing: normal;\n color: #222222;\n width: 76px;\n margin: auto;\n }\n \n #time-container {\n display: flex;\n text-align: center;\n font-size: 9.7px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #222222;\n margin: auto;\n }\n \n #show_min,\n #show_sec {\n width: 61px;\n height: 39px;\n background-color: #005553;\n border: 1px solid #e3e3e3;\n margin: 0.3rem;\n font-size: 29.9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #d2e2d3;\n text-align: center;\n box-sizing: border-box;\n }\n \n #show_min,\n #show_sec {\n width: 61px;\n height: 39px;\n background-color: #005553;\n border: 1px solid #e3e3e3;\n margin: 0.3rem;\n font-size: 29.9px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n color: #d2e2d3;\n text-align: center;\n box-sizing: border-box;\n }\n \n #promo-container {\n width: 60%;\n }\n \n /*.z1_orderreview_container #link_applynow {\n text-transform: uppercase;\n text-align: center;\n padding-top: 0.3rem;\n font-family: 'Gotham 5r';\n font-size: 13px;\n font-weight: normal;\n }\n \n .z1_orderreview_container #link_applynow a {\n text-decoration: underline;\n color: #000;\n font-weight: 700;\n }*/\n \n .z1_orderreview_container #show_offer_status {\n font-family: 'Gotham 5r';\n font-size: 13px;\n text-transform: uppercase;\n text-decoration: none;\n color: #000;\n font-weight: normal;\n text-align: center;\n }\n \n .z1_orderreview_container .promocodecontainer {\n text-transform: uppercase;\n /*padding: 0.7rem 0;*/\n text-align: center;\n margin: 15px auto;\n }\n \n .z1_orderreview_container .promocodecontainer h4 {\n font-family: 'Gotham 5r';\n font-size: 13px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.08;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n }\n \n #rtoOfferCode {\n font-weight: bold;\n color: #005553;\n }\n \n .z1_orderreview_container .promocodecontainer h5 {\n font-family: 'Gotham 5r';\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.08;\n letter-spacing: -0.4px;\n text-align: center;\n color: #005553;\n font-size: 13px;\n }\n \n .z1_orderreview_container>* {\n /*margin: 10px;*/\n }\n \n #z1-rto-new-outerDiv {\n display: flex;\n flex-direction: row;\n justify-content: space-evenly;\n }\n \n .z1-rto-dollar_reward {\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n line-height: normal;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n position: relative;\n top: -8px;\n }\n \n .z1-rto-dollar_reward_content {\n display: flex;\n flex-wrap: wrap;\n }\n \n .z1-rto-dollar-text {\n font-size: 25.2px;\n width: 14px;\n height: 36px;\n position: relative;\n top: 27px;\n }\n \n .z1-rto-dollar-text-amount {\n font-size: 60px;\n height: 68px;\n letter-spacing: -3px;\n }\n \n .z1-rto-dollar-text-dOff-outer {\n margin-top: 21px;\n margin-bottom: auto;\n height: 20px;\n }\n \n .z1-rto-dollar-text-dOff-off {\n font-size: 15px;\n margin-left: -26px;\n position: relative;\n top: 1px;\n }\n \n .z1-rto-dollar-text-dOff-off-amount {\n font-size: 32px;\n position: relative;\n top: -4px;\n left: -6px;\n text-shadow: -1px 1px 0 #d5e1d4, 1px 1px 0 #d5e1d4, 1px -1px 0 #d5e1d4, -1px -1px 0 #d5e1d4;\n }\n \n .z1-rto-dollar-text-dOff-off-miniDollar {\n height: -1px;\n font-size: 20px;\n position: relative;\n top: -9px;\n }\n \n .z1-rto-dollar-text-dOff-off-miniDollarAmount {\n letter-spacing: -1px;\n top: -2px;\n left: -1px;\n position: relative;\n }\n \n #z1-tro-new-promoCodeText {\n font-size: 13px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1.08;\n letter-spacing: -0.4px;\n text-align: center;\n color: #005553;\n font-weight: bold;\n }\n \n #z1-rto-new-addOfferContainer {\n text-align: center;\n margin: auto;\n }\n \n .btn_offer_container {\n margin: 25px;\n }\n \n #z1-rto-new-addOfferContainer .bottom_link {\n text-align: center;\n margin-top: 3px;\n }\n \n #z1-rto-new-addOfferContainer .bottom_link a {\n font-size: 11px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1;\n letter-spacing: normal;\n text-align: center;\n color: #000000;\n }\n \n #link_applynow, #link_applynow2 {\n background: #005553;\n text-transform: uppercase;\n border-radius: 2.2px;\n text-decoration: none;\n letter-spacing: 1px;\n font-size: 13px;\n font-weight: bold;\n font-style: normal;\n font-stretch: normal;\n text-align: center;\n width: 104px;\n height: 31px;\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto;\n } \n /* start old */\n .tag_min, .tag_sec {\n font-family: 'Gotham 5r';\n font-size: 11px;\n text-transform: uppercase;\n text-align: center;\n color: #454545;\n margin-top: 0.3rem;\n font-weight: 700;\n }\n\n .loyalty #username-container {\n text-align: left;\n color: #208033;\n }\n\n .loyalty #show_min, .loyalty #show_sec {background-color: #208033;}\n\n .loyalty #price-container .priceTag {color: #208033;}\n .loyalty #price-container #rtoOfferValue {color: #208033;}\n\n .loyalty .promocodecontainer #z1-tro-new-promoCodeText {color: #208033;}\n .loyalty .promocodecontainer #rtoOfferCode {color: #208033;}\n .loyalty .btn_addoffer {background: #208033;}\n\n .loyalty #link_applynow {background: #208033;}\n .loyalty #link_applynow2 {background: #208033;}\n\n\n .loyalty-cont.disable {display:none}\n .loyalty-cont.enable {display:block}\n\n .loyalty-cont\n {\n text-align: center;\n background-color: #208033;\n height: 20px;\n position: relative;\n top: -8px;\n left: -3px;\n width: 598px;\n padding-top: 7px;\n color: #fff;\n font-size: 14px;\n }\n\n .z1_orderreview_container.loyalty{\n height: 115px;\n }\n\n .loyalty .heading-2 {\n font-weight: lighter;\n font-family: 'Gotham 4r';\n }\n\n .z1_orderreview_container.loyalty .loyalty-cont.disable{\n\n display:block;\n\n }\n\n\n .z1_orderreview_container_2 {\n background-color: #d5e1d4;\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 85px;\n }\n \n .z1_orderreview_container_2 {\n font-family: 'Gotham 5r';\n border: 1px solid #717171;\n padding: 10px 10px;\n margin-bottom: 0.6rem;\n color: #454545;\n \n }\n\n #first-div{\n display:flex;\n flex-direction:column;\n justify-content: space-around;\n }\n #second-div{\n display:flex;\n flex-direction:column;\n justify-content: space-around;\n text-align:center;\n }\n #third-div{\n display:flex;\n flex-direction:column;\n justify-content: space-around;\n }\n\n\n\t.usernameText2{\n\t\n width: 200px;\n height: 15px;\n font-size: 14px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.14;\n letter-spacing: normal;\n text-align: center;\n color: #005553;\n\n\t}\n\n\t.price-container-2{\n\t width: 200px;\n height: 38px;\n font-size: 28px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.36;\n letter-spacing: normal;\n color: #005553;\n text-align: center;\n margin-top: 5px;\n\t}\n\n .price-container-2-msg{\n width: 200px;\n height: 34px;\n font-size: 14px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n letter-spacing: normal;\n color: #005553;\n text-align: center;\n }\n\n .show_min_msg{width: 206px;\n height: 17px;\n \n font-size: 15px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n \n letter-spacing: normal;\n \n color: #222222;}\n\n\t.show_min_2{font-size: 19px;\n font-weight: bold;\n color: #222222;}\n\n.promocodecontainer-2{ \n height: 30px;\n \n font-size: 13px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.31;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n margin-top: 15px;}\n\n\n\n .element_v2 {display:none;}\n\n .ui_v2 .element_v1 {display:none;}\n .ui_v2 .element_v2 {display:block;}\n\n\n #username-container-2 {margin-top: 20px;}\n\n\n .ui_v2 .bottom_link {margin-top: 10px;}\n\n #z1-rto-new-addOfferContainer-2 .bottom_link a {font-size: 11px;\n font-weight: 500;\n font-style: normal;\n font-stretch: normal;\n line-height: 1;\n letter-spacing: normal;\n text-align: center;\n color: #000000;\n }\n\n\n #rtoOfferValue2 {margin-left: -8px;}\n\n\n .ui_v2 .show_min_msg {height: 20px;}\n\n\n\n `;\n\n console.log('Before RTO Style');\n\n appendStyle(style);\n\n\n var currentDate = new Date();\n\n currentDate = convertUTCtoCST(currentDate);\n var currentTime = currentDate.valueOf();\n\n console.log(e.offerExpiry+\" Got Offer Expiry \");\n\n var endTime = getTimeFromApiFormat(e.offerExpiry);\n\n\n currentTime = Number(currentTime.toString().substring(0,currentTime.toString().length - 3));\n\n console.log(endTime+\" timeCheck Main: \" + currentTime);\n\n rtoTimeRemaining = (endTime-currentTime);\n\n if(rtoTimeRemaining <= 0)\n {\n return;\n }\n\n rtoTimeRemaining = rtoTimeRemaining*1000;\n\n var expiryInMinutes = Math.ceil((endTime-currentTime)/(60));\n\n e.offerDuration = expiryInMinutes;\n\n\n console.log(\" rtoTimeRemaining: \" + rtoTimeRemaining);\n\n var rtoTimejsStr = 'var rtoTimeRemaining = '+rtoTimeRemaining;\n\n appendJs(rtoTimejsStr);\n\n\n var javscriptStr = `\n // Set the TIME we're counting down from\n //var distance = 1*30*1000; //12min\n\n // Update the count down every 1 second\n var x = setInterval(function() {\n\n // Time calculations for days, hours, minutes and seconds\n var days = Math.floor(rtoTimeRemaining / (1000 * 60 * 60 * 24));\n var hours = Math.floor((rtoTimeRemaining % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n var minutes = Math.floor((rtoTimeRemaining % (1000 * 60 * 60)) / (1000 * 60));\n var seconds = Math.floor((rtoTimeRemaining % (1000 * 60)) / 1000);\n seconds = (\"0\" + seconds).slice(-2);\n minutes = (\"0\" + minutes).slice(-2);\n\n // Output the result in an element with id=\"show_min and show_sec\"\n\n if(document.getElementById(\"show_min\"))\n {\n document.getElementById(\"show_min\").innerHTML = minutes;\n document.getElementById(\"show_sec\").innerHTML = seconds;\n }\n \n\n // If the count down is over, write some text \n if (rtoTimeRemaining <= 0) {\n clearInterval(x);\n //document.getElementById(\"timercontainer\").style.display = \"none\";\n document.getElementById(\"link_applynow\").style.display = \"none\"; \n document.getElementById(\"show_offer_status\").innerHTML = \"EXPIRED\";\n\n return;\n }\n rtoTimeRemaining = rtoTimeRemaining - 1000;\n }, 1000);\n `;\n\n appendJs(javscriptStr);\n \n var domstr_val = \"\";\n var dolStr = \"$\";\n var pctStr = \"\";\n var domstr_val_2=\"\";\n\n domstr_val = `<div id=\"price-container\">\n <span class=\"priceTag\">`+dolStr+`</span>\n <span id=\"rtoOfferValue\"></span>\n </div>`;\n domstr_val_2 = `<div id=\"price-container\">\n <span class=\"priceTag\">Take `+dolStr+` off</span>\n <span id=\"rtoOfferValue\"></span>\n </div>`;\n\n if (e.offType == \"PERCENT_FIX\") {\n pctStr = \"%\"; \n\n domstr_val = `<div id=\"price-container\">\n <span id=\"rtoOfferValue\"></span>\n <span class=\"priceTag\" style=\"margin:5px\">`+pctStr+`</span>\n </div>`; \n } \n\n if (e.offType == \"DOLLAR_THR\") {\n domstr_val = `<div class=\"z1-rto-dollar_reward\">\n <div class=\"z1-rto-dollar_reward_content\">\n <div class=\"z1-rto-dollar-text\">$</div>\n <div class=\"z1-rto-dollar-text-amount\" id=\"rtoOfferValue\"></div>\n <div class=\"z1-rto-dollar-text-dOff-outer\">\n <span class=\"z1-rto-dollar-text-dOff-off\">off</span> <br><span class=\"z1-rto-dollar-text-dOff-off-amount\"><span class=\"z1-rto-dollar-text-dOff-off-miniDollar\">$</span><span class=\"z1-rto-dollar-text-dOff-off-miniDollarAmount\">`+e.offThres+`</span></span>\n </div>\n </div>\n </div>`;\n }\n\n\n var domstr = `\n <div class='main-cont'>\n <div class='element_v1'>\n <div class=\"z1_orderreview_container\">\n\n <div class='loyalty-cont disable'>\n <span class='heading-1'>KOHL’S REWARDS®</span>\n <span class='heading-2'>MEMBER EXCLUSIVE</span>\n </div>\n\n <div id=\"username-container\">\n <div id=\"usernameText\">Hi, take</div>\n </div>\n <div id=\"z1-rto-new-outerDiv\">`+domstr_val+`\n <div id=\"message-container\">when you<br> place your<br> order in<br> the next..</div>\n <div id=\"time-container\">\n <div id=\"min-container\">\n <div id=\"show_min\">45</div>\n <div class=\"tag_min\">MINUTES</div>\n </div>\n <div id=\"sec-container\">\n <div id=\"show_sec\">39</div>\n <div class=\"tag_sec\">SECONDS</div>\n </div>\n </div>\n <div class=\"promocodecontainer\">\n <div id=\"z1-tro-new-promoCodeText\">Promo Code:</div>\n <div id=\"rtoOfferCode\"></div>\n </div>\n <div id=\"z1-rto-new-addOfferContainer\">\n <div id=\"link_applynow\"><a id=\"reviewApplyNow\" style=\"color:white;text-decoration: none;\" href=\"#\">ADD OFFER</a></div>\n <div id=\"show_offer_status\"></div>\n\n <div class=\"bottom_link\"><a id=\"discliamer_href\" href=\"`+e.disclaimer+`\" target=\"_default\">details &amp; exclusions</a></div>\n </div>\n </div>\n </div>\n </div>\n\n <div class='element_v2'>\n <div class=\"z1_orderreview_container_2\">\n <div id=\"first-div\">\n <div id=\"username-container-2\">\n <div id=\"usernameText2\" class=\"usernameText2\">Hi, take</div>\n <div class='usernameText2'>your cart looks great!</div>\n </div>\n\n <div id=\"price-container-2\" class=\"price-container-2\">\n <span class=\"priceTag\">Take `+dolStr+`</span>\n <span id=\"rtoOfferValue2\"></span>\n <span>off</span>\n </div>\n <div id=\"price-container-2-msg\" class=\"price-container-2-msg\">\n the items in your cart!\n </div>\n \n </div>\n <div id=\"second-div\">\n <div id=\"min-container-2\">\n <div id=\"show_min_msg\" class=\"show_min_msg\">Checkout in the next</div>\n <div id=\"show_min_2\" class=\"show_min_2\"><span id='offerDuration' class='offerDuration'> </span> minutes.</div>\n </div>\n <div class=\"promocodecontainer-2\">\n <div id=\"z1-tro-new-promoCodeText_2\">PROMO CODE:</div>\n <div id=\"rtoOfferCode2\"></div>\n </div>\n </div>\n <div id=\"third-div\">\n <div id=\"z1-rto-new-addOfferContainer-2\">\n <div id=\"link_applynow2\"><a id=\"reviewApplyNow2\" style=\"color:white;text-decoration: none;\" href=\"#\">ADD OFFER</a></div>\n <div id=\"show_offer_status\"></div>\n\n <div class=\"bottom_link\"><a id=\"discliamer_href\" href=\"`+e.disclaimer+`\" target=\"_default\">details &amp; exclusions</a></div>\n </div>\n </div>\n \n </div>\n </div>\n </div>\n`;\n \n \n \n\n console.log('Before RTO Reiview Widget');\n\n //document.querySelector('#checkoutreview #shopping_Bag_Lpanel').insertAdjacentHTML(\"afterbegin\", domstr);\n\tdocument.querySelector('#checkoutreview #shopping_Bag_Lpanel').insertAdjacentHTML(\"afterbegin\", domstr);\n\n document.getElementById('rtoOfferValue').append(e.offerValue);\n document.getElementById('rtoOfferValue2').append(e.offerValue);\n\n document.getElementById('rtoOfferCode').append(e.offerCode);\n document.getElementById('rtoOfferCode2').append(e.offerCode);\n \n document.getElementById('offerDuration').append(e.offerDuration);\n\n if(e.loyaltyCx == true)\n {\n document.getElementsByClassName('z1_orderreview_container')[0].classList.add('loyalty');\n }\n\n document.getElementById('reviewApplyNow').onclick = function(){\n\n\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function(){\n\n\n console.log(\"kohlscashapply Click \"); \n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function(){ \n\n console.log(\"Checking for Redemption Popup \"+timeCounter); \n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n console.log('Got Popup Div '+popupDiv);\n\n if(popupDiv != undefined && popupDiv != null)\n {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv,e.offerCode);\n\n return;\n }\n\n if(timeCounter > maxCounter)\n {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n };\n\n\n\n document.getElementById('reviewApplyNow2').onclick = function(){\n\n\n document.getElementsByClassName(\"kohlscashapply\")[0].onclick = function(){\n\n\n console.log(\"kohlscashapply Click \"); \n\n var timeCounter = 0;\n var maxCounter = 10;\n var timeDelay = 500;\n\n var popupCheck = setInterval(function(){ \n\n console.log(\"Checking for Redemption Popup \"+timeCounter); \n\n var popupDiv = document.getElementsByClassName('kc-applyContainer')[0];\n\n //var popupDiv = document.getElementById('promo-kcInput');\n\n console.log('Got Popup Div '+popupDiv);\n\n if(popupDiv != undefined && popupDiv != null)\n {\n clearInterval(popupCheck);\n\n\n //setTimeout(function(){ }, 500);\n\n var parentDiv = document.getElementById('tr-wallet-content-placeholder');\n\n addDataToRedemptionPopup(parentDiv,e.offerCode);\n\n return;\n }\n\n if(timeCounter > maxCounter)\n {\n clearInterval(popupCheck);\n }\n\n timeCounter++;\n\n }, timeDelay);\n\n\n\n };\n\n document.getElementsByClassName(\"kohlscashapply\")[0].click(); \n };\n\n\n \n\n\n \n populateUsername();\n\n updateSupcDetails();\n\n sendRTOOmniture(1);\n\n\n \n\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n\n function sendDisEventToC3(pageName,type,existingSupc)\n {\n var eventName = '_ws_rto_page_report';\n\n var sessionStartTime = getSessionStartTime();\n\n\n var returnObj = {};\n returnObj.pgN = pageName;\n returnObj.sessionStartTime = sessionStartTime;\n returnObj.type = type;\n returnObj.rtoName = existingSupc.rtoName;\n returnObj.identifier = existingSupc.identifier;\n\n ZineOne.pushEvent(eventName, returnObj);\n\n }\n\n\n //Case 1: Display Omniture \n //Case 2: Redemption Omniture\n function sendRTOOmniture(caseToSend)\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n if(caseToSend == 1)\n {\n prop75 = prop75+'CP|OR|';\n sendDisEventToC3(\"OR\",\"shown\",existingSupc);\n }\n\n if(caseToSend == 2)\n {\n prop75 = prop75+'OM|';\n sendDisEventToC3(\"OM\",\"redeem\",existingSupc);\n }\n\n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n\n\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n var e = JSON.parse(existingSupc);\n showRTOReviewSection(e);\n\n return;\n }\n\n\n localStorage.setItem('z1_supc',null);\n\n\n var evtName = '_ws_rto_offers';\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n\n\n \n \n}\ncatch(e)\n{\n if (debugScr) console.log(\"[Zineone] Error in RTO Order Review Tag: WebStore Z1 tag. \" + e);\n}\n ","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"checkout/v2/checkout.jsp"}},{"tagName":"Order Details","actionType":"z1script","script":"try\n{\n\t\n\n\tvar debugScr = false;\n var cartValue = 0;\n\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n if (debugScr) console.log(\"[ZineOne] Entering PlaceOrder Tag\");\n\n var evtName = \"_ws_placedorder\";\n\n var presentVector = null;\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n var isLoggedIn = \"\";\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n }\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n function fireOmniture(z1Response) {\n\n if (z1Response && z1Response.prop75) {\n var eVar39 = z1Response.evar39 ? z1Response.evar39 : z1Response.customerId;\n s.tl(this, 'o', 'ZineOne Impression', {\n linkTrackVars: 'prop75,eVar39',\n prop75: z1Response.prop75,\n eVar39: eVar39\n });\n\n }\n\n }\n\n\n\n function sendRTOOmniture()\n {\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n\n existingSupc = JSON.parse(existingSupc);\n\n var prop75 = existingSupc.omniturePrefix+'|';\n prop75 = prop75 + 'C:' + existingSupc.offerCampaign + '|';\n prop75 = prop75 + existingSupc.identifier + '|';\n\n\n prop75 = prop75+'OR|'; \n \n //prop75 = prop75+'P:'+existingSupc.pscore+'|';\n //prop75 = prop75+'O:'+existingSupc.offerValue+'|';\n //prop75 = prop75+'T:'+pageData.cartDetails.cartSubTotalValue+'|';\n //prop75 = prop75+'OC:'+existingSupc.offerCode;\n\n var prop75Obj = {};\n prop75Obj['prop75'] = prop75;\n\n console.log('Got Prop 75 ',prop75Obj);\n\n fireOmniture(prop75Obj);\n\n }\n }\n\n\n function checkForPreviousEvent(presentVector,previousVector)\n {\n if(presentVector.event == eventCodes._ws_placedorder)\n {\n if(presentVector.event == previousVector.event)\n {\n console.log('Current Event is same as previous event');\n return false;\n }\n }\n \n\n return true;\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n function getSessionStartTime()\n {\n var userVector = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n var timeVector = userVector.timeVector.toString().split('|');\n\n return timeVector[0];\n }\n\n function validateForNotNull(obj)\n {\n //console.log('validateForNotNull',obj,typeof(obj));\n if(!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0)\n {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array,attribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\",attribute,array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\",mainAttribute,innerAttribute,array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ',spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr,innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array,mainAttribute,innerAttribute)\n {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if(array.length == 0)\n {\n return stringVector;\n }\n\n for(var i=0;i<array.length;i++)\n {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n \n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0,stringVector.length-1);\n\n return stringVector;\n\n }\n\n function fetchCartDump()\n {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if(validateForNotNull(cartData))\n {\n for(var i=0;i<cartData.length;i++)\n {\n if(i == 15)\n {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if(validateForNotNull(currentObj.storeClearance))\n {\n currentFinalObjToSend.sc = currentObj.storeClearance; \n }\n \n if(validateForNotNull(currentObj.itemProperties.size))\n {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n \n if(validateForNotNull(currentObj.itemProperties.color))\n {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n \n if(validateForNotNull(currentObj.itemProperties.isWebExclusive))\n {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive; \n }\n \n\n var finalInvInfo = {};\n\n if(validateForNotNull(currentObj.inventoryInfo.shipAvailable))\n {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if(validateForNotNull(currentObj.inventoryInfo.bopusAvailable))\n {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.bossAvailable))\n {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable; \n }\n \n if(validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip))\n {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip; \n }\n \n if(validateForNotNull(currentObj.finalInvInfo))\n {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo; \n }\n \n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ',currentPromoInfo);\n\n if(validateForNotNull(currentPromoInfo))\n {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for(var j=0;j<currentPromoInfo.length;j++)\n {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if(validateForNotNull(currentPromoObj.promoType))\n {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType; \n }\n \n if(validateForNotNull(currentPromoObj.promoText))\n {\n prTextArr[prTextArr.length] = currentPromoObj.promoText; \n }\n \n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n \n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ',currentOfferInfo);\n\n if(validateForNotNull(currentOfferInfo))\n {\n var finalOfferInfoArray = [];\n\n for(var j=0;j<currentOfferInfo.length;j++)\n {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if(validateForNotNull(currentOfferInfoObj.offerDiscount))\n {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount; \n }\n \n if(validateForNotNull(currentOfferInfoObj.startDate))\n {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate; \n }\n \n if(validateForNotNull(currentOfferInfoObj.endDate))\n {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate; \n }\n \n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n \n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ',shipmentInfo);\n\n if(validateForNotNull(shipmentInfo))\n {\n var finalshipmentInfoArray = [];\n\n for(var j=0;j<shipmentInfo.length;j++)\n {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {}; \n\n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges))\n {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount))\n {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta))\n {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta; \n }\n \n if(validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal))\n {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal; \n }\n \n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if(validateForNotNull(shippingOffers))\n {\n var finalshippingOfferArray = [];\n\n for(var k=0;k<shippingOffers.length;k++)\n {\n var currentshippingOffersObj = shippingOffers[k];\n\n if(validateForNotNull(currentshippingOffersObj.discountAmount))\n {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount; \n }\n \n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary; \n\n var finalOrderSummaryObj = {};\n\n if(validateForNotNull(orderSummary.merchandisePromoAmount))\n {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount; \n }\n \n if(validateForNotNull(orderSummary.discountedShippingAmount))\n {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n \n if(validateForNotNull(orderSummary.originalShippingAmount))\n {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated))\n {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate))\n {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate; \n }\n \n if(validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax))\n {\n finalOrderSummaryObj.tax = orderSummary.tax.tax; \n }\n \n if(validateForNotNull(orderSummary.totalSurcharges))\n {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges; \n }\n \n if(validateForNotNull(orderSummary.totalTaxFee))\n {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee; \n }\n \n if(validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts))\n {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts; \n }\n \n if(validateForNotNull(orderSummary.totalTax))\n {\n finalOrderSummaryObj.totTax = orderSummary.totalTax; \n }\n \n if(validateForNotNull(orderSummary.total))\n {\n finalOrderSummaryObj.total = orderSummary.total; \n }\n \n if(validateForNotNull(orderSummary.savings))\n {\n finalOrderSummaryObj.sav = orderSummary.savings; \n }\n \n if(validateForNotNull(orderSummary.taxFeeEnabled))\n {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled; \n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if(!isValid(persistLocalData)){\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n function fetchMcmId()\n {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n function getPresentVector() \n {\n try {\n\n console.log('getPresentVector');\n\n if(pageData.cartDetails)\n {\n cartValue = pageData.cartDetails.cartSubTotalValue;\n }\n\n if(presentVector != null && Object.keys(presentVector).length > 0)\n {\n return presentVector;\n }\n\n presentVector = {};\n\n var itemsInBag = Number(localStorage.getItem(\"z1_checkoutBagCount\"));\n\n \n\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() \n {\n try \n {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n\n if(!checkForPreviousEvent(presentVector,previousVector))\n {\n return;\n }\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) \n {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try {\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if(validateForNotNull(cartDump))\n {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for(var k=0;k<cartKeys.length;k++)\n {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n \n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if(validateForNotNull(newUserVectors))\n {\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n }catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = '_ws_placedorder';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) \n {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue= cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n if(validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge))\n {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n }\n else\n {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n } \n else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) \n {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for(var k=0;k<newVectorKeys.length;k++)\n {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n function init()\n {\n\n \n var edata = {};\n \n edata.productIdList = localStorage.getItem('z1_checkoutProductIdList')+\"\";\n\n\n var presVec = getPresentVector();\n var sessionStartTime = getSessionStartTime();\n\n edata.time = presVec.time;\n edata.sessionStartTime = sessionStartTime;\n\n\n var cartValue = 0;\n var cartItems = 0;\n var finalCartQuantity = 0;\n\n if(pageData.cartDetails)\n {\n cartValue = pageData.cartDetails.cartSubTotalValue;\n\n\n cartItems = pageData.cartDetails.cartItems.length;\n\n for(var i=0;i<cartItems;i++)\n {\n finalCartQuantity = finalCartQuantity + Number(pageData.cartDetails.cartItems[i].quantity);\n }\n }\n\n if(cartValue == 0 || finalCartQuantity == 0)\n {\n if(trJsonData && trJsonData.orderSummary && trJsonData.orderSummary.merchandisePromoAmount)\n {\n cartValue = Number(trJsonData.orderSummary.merchandisePromoAmount);\n\n if(trJsonData.cartItems)\n {\n cartItems = trJsonData.cartItems.length;\n\n for(var i=0;i<cartItems;i++)\n {\n finalCartQuantity = finalCartQuantity + Number(trJsonData.cartItems[i].quantity);\n }\n }\n \n\n }\n }\n\n edata.cartValue = cartValue;\n edata.cartItems = finalCartQuantity;\n\n\n if(isValid(pageData) && isValid(pageData.orderConfirmation) && isValid(pageData.orderConfirmation.orderID))\n {\n var orderId = pageData.orderConfirmation.orderID;\n var promoCodes = pageData.orderConfirmation.promoCodes;\n\n\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n\n\n var temp = {};\n temp.orderId = orderId;\n temp.eventVector = userVectors.eventVector;\n temp.promoCodes = promoCodes;\n\n edata.orderId = orderId;\n //edata.eventVector = userVectors.eventVector;\n edata.promoCodes = promoCodes;\n\n //ZineOne.pushEvent(\"_ws_confirmedOrder\", temp);\n\n }\n\n\n var existingSupc = localStorage.getItem('z1_supc');\n\n if(existingSupc != null && existingSupc != undefined && existingSupc != 'null')\n {\n existingSupc = JSON.parse(existingSupc);\n\n var currentPromoCode = existingSupc.offerCode;\n\n if(edata.promoCodes.toString().indexOf(currentPromoCode) != -1)\n {\n\n\n edata.supc_redeemed = 'true';\n\n sendRTOOmniture();\n \n localStorage.setItem('z1_supc',null);\n \n // if(existingSupc.offType == \"DOLLAR_THR\")\n // {\n // if(cartValue >= parseFloat(existingSupc.offThres))\n // {\n // edata.supc_redeemed = 'true';\n\n // sendRTOOmniture();\n \n // localStorage.setItem('z1_supc',null);\n // }\n // }\n // else\n // {\n \n // }\n }\n\n edata.rtoName = existingSupc.rtoName;\n edata.identifier = existingSupc.identifier;\n\n }\n \n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n\n var presentVectorTmp = {};\n presentVectorTmp.event = eventCodes._ws_placedorder;\n\n if(!checkForPreviousEvent(presentVectorTmp,previousVector))\n {\n return;\n }\n\n \n\n console.log(\"[ZineOne] Firing _ws_placeOrder Event...\");\n ZineOne.pushEvent(evtName, edata);\n updateUserVectors();\n\n \t\n }\n\n\n init();\n\n}\ncatch(e)\n{\n console.log('Error in order details Tag '+e);\n console.log(e);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"checkout/v2/order_confirm"}},{"tagName":"FSG new tag","actionType":"z1script","script":"try {\n\n /*function isIE() {\n var ua = window.navigator.userAgent; //Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE '); // IE 10 or older\n var trident = ua.indexOf('Trident/'); //IE 11\n return (msie > 0 || trident > 0);\n };\n var isIEFlag = isIE();\n if (!isIEFlag) return;\n var cust_id = pageData.customerDetails.customerID ? pageData.customerDetails.customerID : \"\";\n if ( !(cust_id == \"3000000030411692\" || cust_id == \"3000000126553504\") ) return;*/\n console.log(\"[Zineone-I] FSG NEW TAG IE\");\n\n var debug = true;\n\n if(debug) console.log(\"ZINEONE fsg_new_tag\");\n\n var fsgKillSwitch = false;\n\n if (fsgKillSwitch) return;\n\n var TIME_TO_LIVE = 0;\n\n var isValid = function(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n return true;\n };\n\n var isNumeric = function(value) {\n return /^-{0,1}\\d+$/.test(value);\n };\n\n var getCookie = function(name) {\n var value = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));\n return (value != null) ? unescape(value[2]) : null;\n };\n\n var vID = localStorage.getItem(\"z1_cust_id\");\n if (!isValid(vID)) {\n vID = localStorage.getItem(\"z1_connectUserId\");\n }\n var timestamp = new Date().getTime();\n var send = false;\n var userLoginStatus = pageData.customerDetails.isLoggedIn;\n\n var pg = Z1.window.browserInfo.pagePath;\n var pgName = \"unknownPage\";\n var chkout = false;\n var elementToWatchFor = \"\";\n\n if (pg == \"/\") {\n pgName = \"Home\";\n } else if (pg.startsWith(\"/product\")) {\n pgName = \"PDP\";\n } else if (pg.startsWith(\"/catalog\")) {\n pgName = \"PMP\";\n } else if (pg.startsWith(\"/search\")) {\n pgName = \"Search\";\n } else if (pg.startsWith(\"/checkout\")) {\n pgName = \"Cart\";\n chkout = true;\n if (pg.endsWith(\"shopping_cart.jsp\")) {\n pgName = \"Cart\";\n } else if (pg.endsWith(\"v2/checkout.jsp\")) {\n pgName = \"Checkout\";\n }\n }\n\n elementToWatchFor = (document.getElementsByClassName(\"subtotal\") && document.getElementsByClassName(\"subtotal\")[0]) ? document.getElementsByClassName(\"subtotal\")[0] : \"\";\n\n\n if(debug) console.log(\"ZINEONE FSG NEW elementToWatchFor...\", elementToWatchFor);\n\n if (elementToWatchFor == \"\") return;\n\n //getFSGConfig\n var defaultFSGConfig = {\n '_d': \"0\",\n '_t': \"75\"\n };\n var guestFSGConfig = {\n '_d': \"1\",\n '_t': \"75\"\n };\n\n var paintFSG = function(cartData, fsgData){\n if(debug) console.log(\"ZINEONE FSG NEW paintFSG START\");\n var freeShippingDelta = 0;\n var thresh = fsgData._t;\n var showthreshold = \"$\" + fsgData._t;\n var cartTotal = 0;\n var subTotal = 0;\n var percentageFill = 0;\n cartTotal = cartData.orderSummary.merchandisePromoAmount;\n if(debug) console.log(\"ZINEONE FSG NEW thresh...\", thresh, \"...cartTotal...\", cartTotal);\n if ((cartData != null) && (cartData.shipmentInfo.length > 0)) {\n for (var k = 0; k < cartData.shipmentInfo.length; k++) {\n if ((cartData.shipmentInfo[k].shippingMethod == \"BOPUS\") || (cartData.shipmentInfo[k].shippingMethod == \"BOSS\")) {\n continue;\n } else if (cartData.shipmentInfo[k].shippingMethod == \"STD\") {\n freeShippingDelta = cartData.shipmentInfo[k].shipmentPriceInfo.freeShipQualificationDelta;\n break;\n }\n }\n } else {\n freeShippingDelta = (thresh - cartTotal).toFixed(2);\n }\n if(debug) console.log(\"ZINEONE FSG NEW freeShippingDelta...\", freeShippingDelta);\n subTotal = freeShippingDelta > 0 ? (thresh - freeShippingDelta).toFixed(2) : freeShippingDelta === 0 && cartTotal >= thresh ? thresh : 0; // returns total-delta\n if (subTotal == 0) return;\n if(debug) console.log(\"ZINEONE FSG NEW subTotal...\", subTotal);\n percentageFill = Math.round(100 / thresh * subTotal);\n\n if(debug) console.log(\"ZINEONE FSG NEW percentageFill...\", percentageFill);\n\n //var meterBar = '<div id=\"js-meter-summary-2\" style=\"display:block\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\"> ' + showthreshold + '</div> </div>';\n var diffUI = ($('.freeShipMessFirst') && $('.freeShipMessFirst')[0]) ? true : false;\n var meterBar = \"\";\n if (diffUI) {\n meterBar = '<div style=\"margin:20px;\"></div><div id=\"js-meter-summary-2\" style=\"display:block\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\"> ' + showthreshold + '</div> </div>';\n } else {\n meterBar = '<div id=\"js-meter-summary-2\" style=\"display:block\" class=\"tce-small-ship-meter-cartDetails\"><div class=\"tce-small-ship-meter-cartDetails-left\">$0</div><div id=\"js-free-shipping-meter2\" class=\"tce-small-ship-meter-cartDetails-meter\"></div><div class=\"tce-small-ship-meter-cartDetails-right\"> ' + showthreshold + '</div> </div>';\n }\n var noMeterBar = '<div id=\"js-meter-summary-2\" style=\"display: none;\" class=\"tce-small-ship-meter-freeShipDetails\">You&rsquo;ve earned free shipping!</div>';\n if(debug) console.log(\"ZINEONE FSG NEW subTotal...\", subTotal);\n if(debug) console.log(\"ZINEONE FSG NEW thresh...\", thresh);\n if(debug) console.log(\"ZINEONE FSG NEW condition1...\", (subTotal > 0));\n if(debug) console.log(\"ZINEONE FSG NEW condition2...\", (subTotal < thresh));\n if(debug) console.log(\"ZINEONE FSG NEW condition...\", (subTotal > 0 && subTotal < thresh));\n var miniCart = (Number(subTotal) > 0 && Number(subTotal) < Number(thresh)) ? meterBar : noMeterBar; // (subTotal > 0 && subTotal < thresh) ? meterBar : noMeterBar;\n\n if(debug) console.log(\"ZINEONE FSG NEW percentageFill...\", miniCart);\n if (pgName == \"Cart\") {\n if(debug) console.log(\"ZINEONE FSG NEW before appending testing...\", ($('#js-free-shipping-meter2')[0] ? \"meter shown\" : \"no meter\"));\n var isMeterExist = $('#js-free-shipping-meter2')[0] ? true : false;\n if (!isMeterExist) {\n $(\".freeShipSuggestMessage\").append(miniCart);\n }\n //$(\".freeShipSuggestMessage\").append(miniCart);\n $(\"#js-free-shipping-meter1, #js-free-shipping-meter2\").css({\n background: \"linear-gradient(to right,#167d9a 0%,#167d9a \" + percentageFill + \"%,rgb(220, 238, 240) \" + percentageFill + \"%,rgb(220, 238, 240) 100%)\",\n \"border-radius\": \"2px\"\n });\n } else if (pgName != \"Cart\") {\n if(debug) console.log(\"ZINEONE FSG NEW before appending testing...\", ($('#js-free-shipping-meter2')[0] ? \"meter shown\" : \"no meter\"));\n var isMeterExist = $('#js-free-shipping-meter2')[0] ? true : false;\n if (!isMeterExist) {\n $(\".tr_phase2_add_padding_ghr\").append(miniCart);\n }\n $(\"#js-free-shipping-meter1, #js-free-shipping-meter2\").css({\n background: \"linear-gradient(to right,#167d9a 0%,#167d9a \" + percentageFill + \"%,rgb(255, 255, 255) \" + percentageFill + \"%,rgb(255, 255, 255) 100%)\",\n \"border-radius\": \"2px\"\n });\n if(debug) console.log(\"ZINEONE FSG NEW after appending testing...\", ($('#js-free-shipping-meter2')[0] ? \"meter shown\" : \"no meter\"));\n }\n if(debug) console.log(\"ZINEONE FSG NEW paintFSG END\");\n }\n\n var miniCartBar = function(fsgData) {\n if(debug) console.log(\"ZINEONE FSG NEW miniCartBar function!\", fsgData);\n if (pgName != \"Cart\") {\n if(debug) console.log(\"ZINEONE FSG NEW Not on Cart Page\");\n let s = Kjs.PB.getPbCartStorage();\n if(!isValid(s)) return;\n if(debug) console.log(\"ZINEONE FSG NEW s...\",s);\n paintFSG(s, fsgData);\n } else {\n if(debug) console.log(\"ZINEONE FSG NEW On Cart Page\");\n let s = trJsonData;\n if (!isValid(s)) return;\n if (s != \"null\" && s.status != \"Failure\") {\n paintFSG(s, fsgData);//trJsonData is available in all browsers\n }\n }\n };\n\n var fsg = function(fsgData) {\n if(debug) console.log(\"ZINEONE FSG NEW FUNCTION CALLED!\", fsgData);\n\n //////////SAIKAT - Test////////////\n if(debug) console.log(\"ZINEONE - Landed fsg function and setting localStorage\");\n localStorage.setItem('z1_fsg_data', JSON.stringify(fsgData));\n ///////////////////////////////////\n\n //var fsgStyles = \"<style type=\\\"text/css\\\"> #tce-ship-meter {display: block;clear: both;}.tce-meter-copy {position: absolute;top: 50%;left: 8em;transform: translateY(-50%);}.tce-meter-copy p {font-size: 16px;color: #000; font-family:'Gotham 5r', Helvetica, sans-serif;text align:center;}.tce-meter-copy span {font-size: 16px;color: #108281; font-family:'Gotham 5r', Helvetica, sans-serif;}.tce-meter-bar * {all: unset;}.tce-meter-bar {position: absolute;float: left;width: 315px;left: 49em;top: 1.2em;}.tce-meter-bar p {display: block;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 0;-webkit-margin-end: 0;}.tce-ship-meter-cartDetails {width:100%;text-align:center;max-width: 1044px;margin-left: auto;margin-right: auto;display:block;position:relative;height:39px;text-align: center;background-color:#f0f0f0;}.tce-ship-meter-cartDetails__gauge {display: block;height: auto; width:100%;}.tce-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 13px;position: absolute;left: 2.5em;}.tce-ship-meter-cartDetails-left {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;color: #000;font-weight: bold;position: absolute;left: 0;}.tce-ship-meter-cartDetails-right {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;font-weight: bold;color: #000;position: absolute;left: 112%;top: 0;}.tce-small-ship-meter-cartDetails {display:block;position:relative;width: 158px;height: 28px;top: 18px;margin-top:2px;}.tce-small-ship-meter-cartDetails-left {font-size: 11px;color:#3e3e3e;font-weight:bold;position:absolute;font-family:'Gotham 4r', Helvetica, sans-serif;}.tce-small-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 9px;position: absolute;left: 2.5em;margin-left: -8px;}.tce-small-ship-meter-cartDetails-right {font-size: 11px;font-weight: bold;color:#3e3e3e;position: absolute;left: 125%;top: 0;font-family:'Gotham 4r', Helvetica, sans-serif;margin-left: -12px;}.tce-small-ship-meter-freeShipDetails {clear:both;height: 20px;font-family: 'Gotham 5r','GothamBold',Helvetica,Arial,sans-serif;font-size: 11px; font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;color: #15718a;top: 5px;position: relative;}.tce-small-ship-text-z1{font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;text-align: center;color: #15718a;font-family: 'Gotham 5r', Helvetica, sans-serif;margin-left: 5px;}</style>\";\n \tvar fsgStyles = \"<style type=\\\"text/css\\\"> #tce-ship-meter {display: block;clear: both;}.tce-meter-copy {position: absolute;top: 50%;left: 8em;transform: translateY(-50%);}.tce-meter-copy p {font-size: 16px;color: #000; font-family:'Gotham 5r', Helvetica, sans-serif;text align:center;}.tce-meter-copy span {font-size: 16px;color: #108281; font-family:'Gotham 5r', Helvetica, sans-serif;}.tce-meter-bar * {all: unset;}.tce-meter-bar {position: absolute;float: left;width: 315px;left: 49em;top: 1.2em;}.tce-meter-bar p {display: block;-webkit-margin-before: 1em;-webkit-margin-after: 1em;-webkit-margin-start: 0;-webkit-margin-end: 0;}.tce-ship-meter-cartDetails {width:100%;text-align:center;max-width: 1044px;margin-left: auto;margin-right: auto;display:block;position:relative;height:39px;text-align: center;background-color:#f0f0f0;}.tce-ship-meter-cartDetails__gauge {display: block;height: auto; width:100%;}.tce-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 13px;position: absolute;left: 2.5em;}.tce-ship-meter-cartDetails-left {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;color: #000;font-weight: bold;position: absolute;left: 0;}.tce-ship-meter-cartDetails-right {font-size: 11px;font-family:'Gotham 4r', Helvetica, sans-serif;font-weight: bold;color: #000;position: absolute;left: 112%;top: 0;}.tce-small-ship-meter-cartDetails {display:block;position:relative;width: 158px;clear:both;height: 14px;padding-top:6px;/*top: 18px;margin-top:2px;*/}.tce-small-ship-meter-cartDetails-left {font-size: 11px;color:#3e3e3e;font-weight:bold;position:absolute;font-family:'Gotham 4r', Helvetica, sans-serif;}.tce-small-ship-meter-cartDetails-meter {margin: 0 auto;width: 100%;height: 9px;position: absolute;left: 2.5em;margin-left: -8px;}.tce-small-ship-meter-cartDetails-right {font-size: 11px;font-weight: bold;color:#3e3e3e;position: absolute;left: 125%;/*top: 0;*/font-family:'Gotham 4r', Helvetica, sans-serif;margin-left: -12px;}.tce-small-ship-meter-freeShipDetails {clear:both;height: 20px;font-family: 'Gotham 5r','GothamBold',Helvetica,Arial,sans-serif;font-size: 11px; font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;color: #15718a;top: 5px;position: relative;}.tce-small-ship-text-z1{font-weight: bold;font-style: normal;font-stretch: normal;line-height: normal;letter-spacing: -0.24px;text-align: center;color: #15718a;font-family: 'Gotham 5r', Helvetica, sans-serif;margin-left: 5px;}</style>\";\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n\n head.appendChild(style);\n\n style.type = 'text/css';\n if (style.styleSheet) {\n // This is required for IE8 and below.\n style.styleSheet.cssText = fsgStyles;\n } else {\n style.appendChild(document.createTextNode(fsgStyles));\n }\n miniCartBar(fsgData.fsg); //Default Call for CartPage\n var mutationObserver = new MutationObserver(function(mutations) {\n mutations.forEach(function(mutation) {\n if(debug) console.log(\"ZINEONE FSG NEW miniCartBar called!\");\n if(debug) console.log(\"ZINEONE FSG NEW mutation...\", mutation);\n miniCartBar(fsgData.fsg);\n });\n });\n mutationObserver.disconnect();\n mutationObserver.observe(elementToWatchFor, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n attributeOldValue: true,\n characterDataOldValue: true\n });\n };\n\n var fsg_data = localStorage.getItem(\"z1_fsg_data\");\n if (fsg_data != null && !chkout) {\n delT = (timestamp - JSON.parse(fsg_data).timestamp);\n if (vID != JSON.parse(fsg_data).visitorId) {\n send = true;\n } else if (delT / 60000 > TIME_TO_LIVE) {\n send = true;\n } else if ((!userLoginStatus) || String(userLoginStatus).includes(\"false\")) {\n send = true;\n } else {\n fsg(fsg_data);\n }\n } else {\n send = true;\n }\n\n if (send) {\n if (!isNumeric(vID)) {\n if(debug) console.log(\"ZINEONE [ZineOne] Anonymous user - \" + vID);\n var guest_fsg_data = {\n fsg: guestFSGConfig,\n timestamp: timestamp,\n visitorId: vID\n };\n localStorage.setItem('z1_fsg_data', JSON.stringify(guest_fsg_data));\n fsg(guest_fsg_data);\n } else {\n var dummy_data = {\n fsg: defaultFSGConfig,\n timestamp: timestamp,\n visitorId: vID\n };\n localStorage.setItem('z1_fsg_data', JSON.stringify(dummy_data));\n ZineOne.pushEvent(\"_ws_z1__sb_fsg\", {});\n }\n }\n\n var z1ResponseHandler = function(e) {\n if(debug) console.log(\"ZINEONE Reached z1ResponseHandler in FSG NEW TAG\");\n if (e.detail && e.detail.fsg) {\n fsg(e.detail);\n }\n };\n document.addEventListener(\"onZ1RawData\", z1ResponseHandler, false);\n} catch (e) {\n console.log(\"ZINEONE Error in fsg_new_tag \" + e);\n}","eventName":"load","pageSelector":{"type":"all","condition":"equals","val":""}},{"tagName":"addtobagNew","actionType":"z1script","script":"\n var debugScr = true;\ntry {\n console.log(\"In addtobagNew\");\n\n var addToBagClickHandler = function() {\n\n\n \n console.log(\"In addtobagNew clicked\");\n /*\n * Manish: Webstore instrumentation for all pages except OrderConfirmation and MyAccount\n * Varun: Added isNumeric to check if CustomerID is for Guest User\n * Manish: 05/18 Moved addEventData() to within try-catch block\n * Juzer: Checking for persistent_bar_components_json_v1 for ProductId before pushEvent\n * Juzer: Added ML Instrumentation\n * Juzer: Race condition validation check for the product count\n */\n try {\n \n var cartValue = 0;\n var currentUserCartArr = [];\n\n var isJsonNull = false;\n\n if (debugScr) console.log(\"[ZineOne] addtobag Event will be triggered\");\n\n var evtName = \"_ws_addedtobag\";\n\n //Event Codes for vectors:\n var eventCodes = {\n _ws_addedtobag: \"A\",\n breachedgeofence: \"B\",\n _ws_completeshipping: \"C\",\n exitgeofence: \"D\",\n _ws_placedorder: \"E\",\n _ws_searched: \"F\",\n _ws_startedcheckout: \"G\",\n _ws_viewedcart: \"H\",\n _ws_viewedcatalog: \"I\",\n _ws_viewedhome: \"J\",\n _ws_viewedproduct: \"K\",\n _ws_completepayment: \"L\",\n _ws_viewedsku: \"M\",\n _ws_update_hcart: \"N\",\n _ws_changedsort: \"O\",\n _ws_rto: \"R\"\n };\n\n var SESSION_GAP = 1800000; //30min = 30*60*1000 millis\n\n\n\n var evtData = {};\n\n function isNumeric(value) {\n return /^-{0,1}\\d+$/.test(value);\n }\n\n // Get cookie from user's browser/desktop\n function getCookie(name) {\n var re = new RegExp(name + \"=([^;]+)\");\n var value = re.exec(document.cookie);\n return (value != null) ? unescape(value[1]) : null;\n }\n\n function isValid(value) {\n if (value == \"null\" || value == \"undefined\" || value == null || value == undefined) {\n return false;\n }\n\n return true;\n }\n\n\n function getCurrentBagCount(cartInfo) {\n console.log('Got Cart Info ' + cartInfo);\n var itemsInBag = 0;\n\n console.log('Got Cart Items Length ' + cartInfo.cartItems.length);\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n }\n\n return itemsInBag;\n }\n\n function getSkuPriceObj(skuId)\n {\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].SKUS)\n {\n var skuArr = pageData.productDetails.pageItems[0].SKUS;\n\n for(var i=0;i<skuArr.length;i++)\n {\n var tempObj = skuArr[i]\n\n if(tempObj.skuId == skuId)\n {\n return tempObj;\n }\n }\n }\n\n return null;\n }\n\n function addEventData() {\n\n if (debugScr) {\n console.log('[Zineone] Starting to check for New Product in Cart');\n }\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n var cartInfo = JSON.parse(cartData);\n\n var prodFound = false;\n\n if (cartInfo && cartInfo.cartItems) {\n //Check if the cartInfo has the product Id\n\n var newProdId = -1;\n\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID)\n {\n newProdId = pageData.productDetails.pageItems[0].productID;\n }\n\n if (typeof productId != 'undefined') {\n\n newProdId = productId;\n }\n\n \n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var tempProdId = cartInfo.cartItems[i].productId;\n if (tempProdId == newProdId) {\n\n\n var lastBagCount = 0;\n\n if (localStorage.getItem('z1_checkoutBagCount')) {\n lastBagCount = Number(localStorage.getItem('z1_checkoutBagCount'));\n }\n\n\n var currentBagCount = getCurrentBagCount(cartInfo);\n\n if (currentBagCount > lastBagCount) {\n if (debugScr) {\n console.log('[Zineone] Found Product directly in persistent_bar_components_json_v1');\n }\n prodFound = true;\n sendEventOnSuccess();\n }\n\n }\n }\n\n }\n\n if (debugScr && prodFound == false) {\n console.log('[Zineone] Could not find product in 1st Check');\n }\n\n\n if (prodFound == false) {\n if (debugScr) {\n console.log('[Zineone] Inside prodFound == false after 1st Check');\n }\n\n var period = 500;\n var tCount = 0;\n var MAX_TCount = 10;\n\n\n\n var timer = setInterval(function() {\n try {\n tCount++;\n //if (debugScr) console.log(\"[ZineOne] timerCount=\" + tCount);\n if (prodFound == true) {\n if (debugScr) {\n console.log('[Zineone] Found Product in persistent_bar_components_json_v1 after count: ' + tCount);\n }\n\n clearInterval(timer);\n\n } else if (tCount <= MAX_TCount) {\n\n cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n cartInfo = JSON.parse(cartData);\n\n // if (cartInfo == null || cartInfo.cartItems == null || cartInfo.cartItems.length <= 0)\n // return true;\n\n var newProdId = -1;\n\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID)\n {\n newProdId = pageData.productDetails.pageItems[0].productID;\n }\n\n if (typeof productId != 'undefined') {\n\n newProdId = productId;\n }\n\n console.log('CartInfo from SetInterval ', cartInfo);\n if (cartInfo.cartItems) {\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var tempProdId = cartInfo.cartItems[i].productId;\n if (tempProdId == newProdId) {\n\n\n var lastBagCount = 0;\n\n if (localStorage.getItem('z1_checkoutBagCount')) {\n lastBagCount = Number(localStorage.getItem('z1_checkoutBagCount'));\n }\n\n\n var currentBagCount = getCurrentBagCount(cartInfo);\n\n if (currentBagCount > lastBagCount) {\n if (debugScr) {\n console.log('[Zineone] Found Product in persistent_bar_components_json_v1 after count: ' + tCount);\n }\n\n prodFound = true;\n\n if (debugScr) {\n console.log('[Zineone] Before sendEventOnSuccess inside SetInterval Found After Count ' + tCount);\n }\n sendEventOnSuccess();\n\n clearInterval(timer);\n\n break;\n }\n\n }\n }\n }\n\n\n }\n } catch (ie) {\n if (debugScr) console.log(\"[Zineone] Exception in setInterval \" + ie);\n }\n }, period);\n\n\n }\n\n\n\n }\n\n\n var isSoftLoggedIn = getCookie(\"SoftLoggedInCookie\");\n if (isSoftLoggedIn && isSoftLoggedIn.includes(\"true\")) {\n if (debugScr) console.log(\"[ZineOne] Soft Logged value is:\" + isSoftLoggedIn);\n }\n // Set HardLoggedIn = true only if user is not SoftLoggedIn\n var isLoggedIn = \"\";\n\n\n if (pageData && pageData.customerDetails) {\n if (!isSoftLoggedIn || (isSoftLoggedIn && !isSoftLoggedIn.includes(\"true\"))) {\n if (pageData.customerDetails.isLoggedIn) isLoggedIn = \"true\";\n }\n }\n\n\n\n var sendevt;\n\n sendevt = addEventData();\n\n if (debugScr)\n console.log('[Zineone] AddedToBag Event Code block Complete ');\n\n\n function sendEventOnSuccess() {\n\n if (debugScr)\n console.log('[Zineone] Into SendEventOnSuccess ');\n\n var productsArr = [];\n\n var cartData = localStorage.getItem('persistent_bar_components_json_v1');\n //if (debugScr) console.log(\"[ZineOne] CartData = \" + cartData);\n var cartInfo = JSON.parse(cartData);\n\n //Send the Event even if the Cart does not have any item, so that the OpenAPI could be called\n //on the Server side\n\n var itemsInBag = 0;\n var productIdList = '';\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n var si = cartInfo.cartItems[i];\n var obj = {\n \"id\": si.cartItemId,\n \"sku\": si.skuId,\n \"webID\": si.productId,\n \"saleUnitPrice\": si.itemPriceInfo.saleUnitprice.toString(),\n \"regularUnitPrice\": si.itemPriceInfo.regularUnitPrice.toString(),\n \"quantity\": si.quantity.toString()\n };\n\n productsArr.push(obj);\n\n\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n var sku = cartInfo.cartItems[i].skuId;\n var qty = cartInfo.cartItems[i].quantity;\n\n if (i > 0) productIdList = productIdList + \"|\";\n\n productIdList = productIdList + sku + \":\" + qty;\n }\n\n\n localStorage.setItem('z1_checkoutBagCount', itemsInBag);\n localStorage.setItem('z1_checkoutProductIdList', productIdList);\n\n\n evtData[\"cartItems\"] = JSON.stringify(productsArr);\n\n evtData['page'] = \"PDP\";\n\n\n ZineOne.pushEvent(evtName, evtData);\n\n updateUserVectors();\n\n }\n\n\n function checkForPreviousEvent() {\n console.log('checkForPreviousEvent');\n\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n\n if (previousVector.event == eventCodes.viewedproduct) {\n var prevProdId = previousVector.productID;\n\n console.log('Got ProductId from previousEventVector ' + prevProdId);\n\n return prevProdId;\n }\n\n return '-';\n }\n\n\n function getUrlParameter(sParam) {\n var sPageURL = decodeURIComponent(window.location.search.substring(1)),\n sURLVariables = sPageURL.split('&'),\n sParameterName,\n i;\n\n for (i = 0; i < sURLVariables.length; i++) {\n sParameterName = sURLVariables[i].split('=');\n\n if (sParameterName[0] === sParam) {\n return sParameterName[1] === undefined ? true : sParameterName[1];\n }\n }\n }\n\n\n function validateForNotNull(obj) {\n //console.log('validateForNotNull',obj,typeof(obj));\n if (!(obj === undefined) && obj != null && obj != 'null' && obj.toString().length != 0) {\n return true;\n }\n\n return false;\n }\n\n function spltArrayObjectDataIntoVector(array, attribute) {\n var stringVector = '';\n\n console.log(\"spltArrayObjectDataIntoVector attribute\", attribute, array);\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n\n var attributeValue = '#';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[attribute])) {\n\n attributeValue = innerObj[attribute];\n\n }\n\n\n stringVector = stringVector + attributeValue + '^';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n function spltArrayObjectWithArrayObjectDataIntoVector(array, mainAttribute, innerAttribute) {\n var stringVector = '';\n\n console.log(\"spltArrayObjectWithArrayObjectDataIntoVector mainAttribute\", mainAttribute, innerAttribute, array);\n\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n var attributeValueArr = innerObj[mainAttribute];\n\n console.log('spltArrayObjectDataIntoVector ', spltArrayObjectDataIntoVector(attributeValueArr, innerAttribute));\n stringVector = stringVector + spltArrayObjectDataIntoVector(attributeValueArr, innerAttribute) + '^';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n\n function spltArrayObjectWithAttributeObjectDataIntoVector(array, mainAttribute, innerAttribute) {\n\n var stringVector = '';\n\n if (!validateForNotNull(array)) {\n\n return stringVector;\n\n }\n\n if (array.length == 0) {\n return stringVector;\n }\n\n for (var i = 0; i < array.length; i++) {\n var innerObj = array[i];\n\n var attributeValue = '-';\n if (validateForNotNull(innerObj) && validateForNotNull(innerObj[mainAttribute]) && validateForNotNull(innerObj[mainAttribute][innerAttribute])) {\n\n attributeValue = innerObj[mainAttribute][innerAttribute];\n\n }\n\n\n stringVector = stringVector + attributeValue + '~';\n }\n\n stringVector = stringVector.substring(0, stringVector.length - 1);\n\n return stringVector;\n\n }\n\n\n function checkForPreviousEvent() {\n console.log('checkForPreviousEvent');\n\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n\n if (previousVector.event == eventCodes.viewedproduct) {\n var prevProdId = previousVector.productID;\n\n console.log('Got ProductId from previousEventVector ' + prevProdId);\n\n return prevProdId;\n }\n\n return '-';\n }\n\n function fetchCartDump() {\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (!isValid(persistLocalData)) {\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var finalCartJSON = {};\n finalCartJSON.cartItems = [];\n\n persistLocalData = JSON.parse(persistLocalData);\n\n cartData = persistLocalData.cartItems;\n\n if (validateForNotNull(cartData)) {\n for (var i = 0; i < cartData.length; i++) {\n if (i == 15) {\n break;\n }\n\n var currentFinalObjToSend = {};\n\n var currentObj = cartData[i];\n currentFinalObjToSend.sku = currentObj.skuId;\n currentFinalObjToSend.prdId = currentObj.productId;\n currentFinalObjToSend.qty = currentObj.quantity;\n\n if (validateForNotNull(currentObj.storeClearance)) {\n currentFinalObjToSend.sc = currentObj.storeClearance;\n }\n\n if (validateForNotNull(currentObj.itemProperties.size)) {\n currentFinalObjToSend.size = currentObj.itemProperties.size;\n }\n\n if (validateForNotNull(currentObj.itemProperties.color)) {\n currentFinalObjToSend.color = currentObj.itemProperties.color;\n }\n\n if (validateForNotNull(currentObj.itemProperties.isWebExclusive)) {\n currentFinalObjToSend.isWebExcl = currentObj.itemProperties.isWebExclusive;\n }\n\n\n var finalInvInfo = {};\n\n if (validateForNotNull(currentObj.inventoryInfo.shipAvailable)) {\n finalInvInfo.shpAvai = currentObj.inventoryInfo.shipAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.bopusAvailable)) {\n finalInvInfo.bopAvail = currentObj.inventoryInfo.bopusAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.bossAvailable)) {\n finalInvInfo.bosAvail = currentObj.inventoryInfo.bossAvailable;\n }\n\n if (validateForNotNull(currentObj.inventoryInfo.invOnHandQtyShip)) {\n finalInvInfo.invOHQShip = currentObj.inventoryInfo.invOnHandQtyShip;\n }\n\n if (validateForNotNull(currentObj.finalInvInfo)) {\n currentFinalObjToSend.invInfo = currentObj.finalInvInfo;\n }\n\n\n var currentPromoInfo = currentObj.promoInfo;\n\n console.log(' currentPromoInfo ', currentPromoInfo);\n\n if (validateForNotNull(currentPromoInfo)) {\n var finalPromoArray = [];\n\n var prTypeArr = [];\n var prTextArr = [];\n\n for (var j = 0; j < currentPromoInfo.length; j++) {\n var currentPromoObj = currentPromoInfo[j];\n var tempPromoObj = {};\n\n if (validateForNotNull(currentPromoObj.promoType)) {\n prTypeArr[prTypeArr.length] = currentPromoObj.promoType;\n }\n\n if (validateForNotNull(currentPromoObj.promoText)) {\n prTextArr[prTextArr.length] = currentPromoObj.promoText;\n }\n\n\n\n }\n\n currentFinalObjToSend.prType = prTypeArr.join('|');\n currentFinalObjToSend.prText = prTextArr.join('|');\n }\n\n\n\n var currentOfferInfo = currentObj.offerInfo;\n\n console.log(' currentOfferInfo ', currentOfferInfo);\n\n if (validateForNotNull(currentOfferInfo)) {\n var finalOfferInfoArray = [];\n\n for (var j = 0; j < currentOfferInfo.length; j++) {\n var currentOfferInfoObj = currentOfferInfo[j];\n var tempOfferInfoObj = {};\n\n if (validateForNotNull(currentOfferInfoObj.offerDiscount)) {\n tempOfferInfoObj.ofDis = currentOfferInfoObj.offerDiscount;\n }\n\n if (validateForNotNull(currentOfferInfoObj.startDate)) {\n tempOfferInfoObj.stDt = currentOfferInfoObj.startDate;\n }\n\n if (validateForNotNull(currentOfferInfoObj.endDate)) {\n tempOfferInfoObj.enDT = currentOfferInfoObj.endDate;\n }\n\n\n finalOfferInfoArray[finalOfferInfoArray.length] = tempOfferInfoObj;\n\n }\n\n currentFinalObjToSend.offInfo = finalOfferInfoArray;\n }\n\n\n finalCartJSON.cartItems[finalCartJSON.cartItems.length] = currentFinalObjToSend;\n }\n }\n\n\n\n\n var shipmentInfo = persistLocalData.shipmentInfo;\n\n console.log(' shipmentInfo ', shipmentInfo);\n\n if (validateForNotNull(shipmentInfo)) {\n var finalshipmentInfoArray = [];\n\n for (var j = 0; j < shipmentInfo.length; j++) {\n var currentshipmentInfoObj = shipmentInfo[j];\n var tempShipmentInfoObj = {};\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges)) {\n tempShipmentInfoObj.ogShpChrgs = currentshipmentInfoObj.shipmentPriceInfo.originalShippingCharges;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount)) {\n tempShipmentInfoObj.shpChrgsADis = currentshipmentInfoObj.shipmentPriceInfo.shippingChargesAfterDiscount;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta)) {\n tempShipmentInfoObj.freeShpQlfDelta = currentshipmentInfoObj.shipmentPriceInfo.freeShipQualificationDelta;\n }\n\n if (validateForNotNull(currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal)) {\n tempShipmentInfoObj.shpItmsTot = currentshipmentInfoObj.shipmentPriceInfo.shipmentItemsTotal;\n }\n\n\n\n var shippingOffers = currentshipmentInfoObj.shippingOffers;\n if (validateForNotNull(shippingOffers)) {\n var finalshippingOfferArray = [];\n\n for (var k = 0; k < shippingOffers.length; k++) {\n var currentshippingOffersObj = shippingOffers[k];\n\n if (validateForNotNull(currentshippingOffersObj.discountAmount)) {\n finalshippingOfferArray[finalshippingOfferArray.length] = currentshippingOffersObj.discountAmount;\n }\n\n }\n\n\n tempShipmentInfoObj.disAmnt = finalshippingOfferArray.join('|');\n\n\n }\n\n finalshipmentInfoArray[finalshipmentInfoArray.length] = tempShipmentInfoObj;\n\n\n }\n\n finalCartJSON.shipmentInfo = finalshipmentInfoArray;\n }\n\n var orderSummary = persistLocalData.orderSummary;\n\n var finalOrderSummaryObj = {};\n\n if (validateForNotNull(orderSummary.merchandisePromoAmount)) {\n finalOrderSummaryObj.merProAmnt = orderSummary.merchandisePromoAmount;\n }\n\n if (validateForNotNull(orderSummary.discountedShippingAmount)) {\n finalOrderSummaryObj.disShpAmnt = orderSummary.discountedShippingAmount;\n }\n\n if (validateForNotNull(orderSummary.originalShippingAmount)) {\n finalOrderSummaryObj.ogShpAmnt = orderSummary.originalShippingAmount;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.estimated)) {\n finalOrderSummaryObj.taxest = orderSummary.tax.estimated;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.taxRate)) {\n finalOrderSummaryObj.taxRate = orderSummary.tax.taxRate;\n }\n\n if (validateForNotNull(orderSummary.tax) && validateForNotNull(orderSummary.tax.tax)) {\n finalOrderSummaryObj.tax = orderSummary.tax.tax;\n }\n\n if (validateForNotNull(orderSummary.totalSurcharges)) {\n finalOrderSummaryObj.totSurgs = orderSummary.totalSurcharges;\n }\n\n if (validateForNotNull(orderSummary.totalTaxFee)) {\n finalOrderSummaryObj.totTaxFee = orderSummary.totalTaxFee;\n }\n\n if (validateForNotNull(orderSummary.totalKohlsCashAndPromoDiscounts)) {\n finalOrderSummaryObj.totKCAProDis = orderSummary.totalKohlsCashAndPromoDiscounts;\n }\n\n if (validateForNotNull(orderSummary.totalTax)) {\n finalOrderSummaryObj.totTax = orderSummary.totalTax;\n }\n\n if (validateForNotNull(orderSummary.total)) {\n finalOrderSummaryObj.total = orderSummary.total;\n }\n\n if (validateForNotNull(orderSummary.savings)) {\n finalOrderSummaryObj.sav = orderSummary.savings;\n }\n\n if (validateForNotNull(orderSummary.taxFeeEnabled)) {\n finalOrderSummaryObj.taxFeeE = orderSummary.taxFeeEnabled;\n }\n\n finalCartJSON.orderSummary = finalOrderSummaryObj;\n\n return JSON.stringify(finalCartJSON);\n\n }\n\n return null;\n\n\n }\n\n function fetchNewAttributesDeltaForSKU(eventData, eventName, skuCode) {\n\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (validateForNotNull(persistLocalData)) {\n var pageDataJson = pageData;\n\n persistLocalData = JSON.parse(persistLocalData);\n\n var cartItems = persistLocalData.cartItems;\n\n console.log('Cart items ', cartItems);\n\n var skuCartObj = null;\n\n for (var i = 0; i < cartItems.length; i++) {\n var tempObj = cartItems[i];\n\n if (tempObj.skuId == skuCode) {\n skuCartObj = tempObj;\n break;\n }\n }\n\n console.log('Got skuCartObj ', skuCartObj);\n\n if (skuCartObj == null) {\n return;\n }\n\n switch (eventName) {\n\n case \"_ws_addedtobag\":\n\n console.log('Into Switch Statement');\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n\n finalReturnObj.selected_sku = skuCode;\n finalReturnObj.c_i_size = skuCartObj.itemProperties.size;\n finalReturnObj.c_i_color = skuCartObj.itemProperties.color;\n finalReturnObj.c_i_isweb = skuCartObj.itemProperties.isWebExclusive;\n finalReturnObj.c_sclearance = skuCartObj.storeClearance;\n finalReturnObj.c_i_shipavailable = skuCartObj.inventoryInfo.shipAvailable;\n finalReturnObj.c_i_bopusAval = skuCartObj.inventoryInfo.bopusAvailable;\n\n finalReturnObj.c_i_bossAval = skuCartObj.inventoryInfo.bossAvailable;\n\n var invOnHandQtyShip = skuCartObj.inventoryInfo.invOnHandQtyShip;\n if (validateForNotNull(invOnHandQtyShip)) {\n finalReturnObj.c_i_invShip = invOnHandQtyShip;\n }\n var invOnHandQtyBopus = skuCartObj.inventoryInfo.invOnHandQtyBopus;\n if (validateForNotNull(invOnHandQtyBopus)) {\n finalReturnObj.c_i_invBopus = invOnHandQtyBopus;\n }\n var invOnHandQtyBoss = skuCartObj.inventoryInfo.invOnHandQtyBoss;\n if (validateForNotNull(invOnHandQtyBoss)) {\n finalReturnObj.c_i_invBoss = invOnHandQtyBoss;\n }\n\n\n\n finalReturnObj.c_o_offDis = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'offerInfo', 'offerDiscount');\n finalReturnObj.c_o_sdate = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'offerInfo', 'startDate');\n finalReturnObj.c_o_edate = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'offerInfo', 'endDate');\n\n finalReturnObj.c_p_type = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'promoInfo', 'promoType');\n finalReturnObj.c_p_ptext = spltArrayObjectWithAttributeObjectDataIntoVector(skuCartObj, 'promoInfo', 'promoText');\n\n\n\n finalReturnObj.shpi_shpp_ogshpchrgs = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'originalShippingCharges');\n finalReturnObj.shpi_shpp_shpchrgsafdis = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'shippingChargesAfterDiscount');\n finalReturnObj.shpi_shpp_freeshpqlfdelta = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'freeShipQualificationDelta');\n finalReturnObj.shpi_shpp_shpitmstotal = spltArrayObjectWithAttributeObjectDataIntoVector(persistLocalData.shipmentInfo, 'shipmentPriceInfo', 'shipmentItemsTotal');\n\n finalReturnObj.shpi_shpo_disamnt = spltArrayObjectWithArrayObjectDataIntoVector(persistLocalData.shipmentInfo, 'shippingOffers', 'discountAmount');\n\n if (validateForNotNull(persistLocalData.orderSummary.merchandisePromoAmount)) {\n finalReturnObj.or_merpromoamnt = persistLocalData.orderSummary.merchandisePromoAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.discountedShippingAmount)) {\n finalReturnObj.or_disshpamnt = persistLocalData.orderSummary.discountedShippingAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.originalShippingAmount)) {\n finalReturnObj.or_ogshpamnt = persistLocalData.orderSummary.originalShippingAmount;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.estimated)) {\n finalReturnObj.or_tax_est = persistLocalData.orderSummary.tax.estimated;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.taxRate)) {\n finalReturnObj.or_tax_taxrt = persistLocalData.orderSummary.tax.taxRate;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.tax.tax)) {\n finalReturnObj.or_tax_tax = persistLocalData.orderSummary.tax.tax;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalSurcharges)) {\n finalReturnObj.or_totalsur = persistLocalData.orderSummary.totalSurcharges;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalTaxFee)) {\n finalReturnObj.or_totaltaxfree = persistLocalData.orderSummary.totalTaxFee;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalKohlsCashAndPromoDiscounts)) {\n finalReturnObj.or_totalkcpromodis = persistLocalData.orderSummary.totalKohlsCashAndPromoDiscounts;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.totalTax)) {\n finalReturnObj.or_totaltax = persistLocalData.orderSummary.totalTax;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.total)) {\n finalReturnObj.or_total = persistLocalData.orderSummary.total;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.savings)) {\n finalReturnObj.or_savings = persistLocalData.orderSummary.savings;\n }\n\n if (validateForNotNull(persistLocalData.orderSummary.taxFeeEnabled)) {\n finalReturnObj.or_taxfeeen = persistLocalData.orderSummary.taxFeeEnabled;\n }\n\n\n break;\n\n }\n }\n\n\n return finalReturnObj;\n\n }\n\n function onceInSessionAttributes(eventData) {\n var finalReturnObj = eventData;\n\n var persistLocalData = localStorage.getItem('persistent_bar_components_json_v1');\n\n if (!isValid(persistLocalData)) {\n persistLocalData = JSON.stringify(Kjs.PB.getPbCartStorage());\n }\n\n if (validateForNotNull(persistLocalData)) {\n\n var pageDataJson = pageData;\n persistLocalData = JSON.parse(persistLocalData);\n\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveAmount)) {\n finalReturnObj.incdet_incamnt = persistLocalData.incentiveDetails.incentiveAmount;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveType)) {\n finalReturnObj.incdet_inctype = persistLocalData.incentiveDetails.incentiveType;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.smartIncentiveStatus)) {\n finalReturnObj.incdet_smartincstatus = persistLocalData.incentiveDetails.smartIncentiveStatus;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveThreshold)) {\n finalReturnObj.incdet_incthreshold = persistLocalData.incentiveDetails.incentiveThreshold;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveEligible)) {\n finalReturnObj.incdet_inceligible = persistLocalData.incentiveDetails.incentiveEligible;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.incentiveQualified)) {\n finalReturnObj.incdet_incqualifed = persistLocalData.incentiveDetails.incentiveQualified;\n }\n\n if (validateForNotNull(persistLocalData.incentiveDetails) && validateForNotNull(persistLocalData.incentiveDetails.minCartThresholdMet)) {\n finalReturnObj.incdet_minicartthresholdmet = persistLocalData.incentiveDetails.minCartThresholdMet;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerHasKohlsCharge)) {\n finalReturnObj.custdet_custhaskohlschrg = persistLocalData.customerDetails.customerHasKohlsCharge;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.customerPostalCode)) {\n finalReturnObj.custdet_custpostalcode = persistLocalData.customerDetails.customerPostalCode;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.myStoreId)) {\n finalReturnObj.custdet_mystoreid = persistLocalData.customerDetails.myStoreId;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.rewardsPilotService)) {\n finalReturnObj.custdet_rewardspilotser = persistLocalData.customerDetails.rewardsPilotService;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018EliteMember)) {\n finalReturnObj.custdet_lytelitemember = persistLocalData.customerDetails.kohlsLoyalty2018EliteMember;\n }\n\n if (validateForNotNull(persistLocalData.customerDetails) && validateForNotNull(persistLocalData.customerDetails.kohlsLoyalty2018Member)) {\n finalReturnObj.custdet_lytmember = persistLocalData.customerDetails.kohlsLoyalty2018Member;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.usrdata_lytypntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.optInIndicator)) {\n finalReturnObj.usrdata_optinindict = persistLocalData.userData.optInIndicator;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.accountStatus)) {\n finalReturnObj.usrdata_accstatus = persistLocalData.userData.accountStatus;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.storeNum)) {\n finalReturnObj.usrdata_strnum = persistLocalData.userData.storeNum;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.isEnrolledUser)) {\n finalReturnObj.usrdata_isenrusr = persistLocalData.userData.isEnrolledUser;\n }\n\n if (validateForNotNull(persistLocalData.userData) && validateForNotNull(persistLocalData.userData.sessionStatus)) {\n finalReturnObj.usrdata_sesstatus = persistLocalData.userData.sessionStatus;\n }\n\n if (validateForNotNull(pageDataJson.pageDetails) && validateForNotNull(pageDataJson.pageDetails.browserPostalCode)) {\n finalReturnObj.pgdata_pgdet_brwpostalcode = pageDataJson.pageDetails.browserPostalCode;\n }\n\n if (validateForNotNull(pageDataJson.customerDetails) && validateForNotNull(pageDataJson.customerDetails.customerPostalCode)) {\n finalReturnObj.pgdata_custdet_custpostalcode = pageDataJson.customerDetails.customerPostalCode;\n }\n\n\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.awayPoints)) {\n finalReturnObj.purear_rwds_awaypnts = persistLocalData.purchaseEarnings.rewards.awayPoints;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue)) {\n finalReturnObj.purear_rwds_lytrwdthreshval = persistLocalData.purchaseEarnings.rewards.ltyRewardThresholdValue;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance)) {\n finalReturnObj.purear_rwds_lytpntbal = persistLocalData.purchaseEarnings.rewards.loyaltyPointBalance;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.rewards) && validateForNotNull(persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint)) {\n finalReturnObj.purear_rwds_curpurearnpnt = persistLocalData.purchaseEarnings.rewards.currentPurchaseEarnPoint;\n }\n\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount)) {\n finalReturnObj.purear_kc_qlfyamnt = persistLocalData.purchaseEarnings.kohlsCash.qualificationAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.earnAmount)) {\n finalReturnObj.purear_kc_earnamnt = persistLocalData.purchaseEarnings.kohlsCash.earnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount)) {\n finalReturnObj.purear_kc_curpurearnamnt = persistLocalData.purchaseEarnings.kohlsCash.currentPurchaseEarnAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCash.awayAmount)) {\n finalReturnObj.purear_kc_awayamnt = persistLocalData.purchaseEarnings.kohlsCash.awayAmount;\n }\n\n if (validateForNotNull(persistLocalData.purchaseEarnings) && validateForNotNull(persistLocalData.purchaseEarnings.kohlsCashEarnings)) {\n finalReturnObj.purear_kcearnings = persistLocalData.purchaseEarnings.kohlsCashEarnings;\n }\n\n if (validateForNotNull(persistLocalData.addressDetails) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0]) && validateForNotNull(persistLocalData.addressDetails.billingAddress[0].postalCode)) {\n finalReturnObj.addrdet_biladdr_postalcode = spltArrayObjectDataIntoVector(persistLocalData.addressDetails.billingAddress, 'postalCode');\n }\n\n }\n\n return finalReturnObj;\n }\n\n function fetchMcmId() {\n var mcid = (typeof Visitor != 'undefined') ? Visitor.getInstance('F0EF5E09512D2CD20A490D4D@AdobeOrg') : '';\n var mcmId = (mcid ? mcid.getMarketingCloudVisitorID() : '');\n\n return mcmId;\n }\n\n\n function getPresentVector() {\n try {\n\n console.log('getPresentVector');\n\n var itemsInBag = 0;\n cartValue = 0;\n\n isJsonNull = false;\n\n var cartData = localStorage.getItem(\"persistent_bar_components_json_v1\");\n if (isValid(cartData)) {\n var cartInfo = JSON.parse(cartData);\n\n for (var i = 0; i < cartInfo.cartItems.length; i++) {\n itemsInBag = itemsInBag + cartInfo.cartItems[i].quantity;\n\n cartValue = cartValue + Number(cartInfo.cartItems[i].itemPriceInfo.grossPrice);\n\n var tempObj = {};\n tempObj.productId = cartInfo.cartItems[i].productId;\n tempObj.skuId = cartInfo.cartItems[i].skuId;\n tempObj.quantity = cartInfo.cartItems[i].quantity;\n tempObj.itemType = cartInfo.cartItems[i].itemType;\n\n currentUserCartArr.push(tempObj);\n\n }\n } else {\n if (getCookie('VisitorBagTotals').toString().length != 0) {\n cartValue = -1;\n\n isJsonNull = true;\n\n }\n }\n\n\n if (cartValue == 0 && (typeof pageData != 'undefined') && pageData.cartDetails && pageData.cartDetails.cartSubTotalValue) {\n cartValue = Number(pageData.cartDetails.cartSubTotalValue);\n }\n\n\n\n\n var presentVector = {};\n presentVector.event = eventCodes[evtName.toLocaleLowerCase()] || evtName; //common to all\n presentVector.productID = '-'; //ViewedProduct, AddedToBag\n presentVector.itemsInBag = itemsInBag || 0; //common to all\n presentVector.originalPrice = '-';\n presentVector.salePrice = '-';\n presentVector.KC = '-'; //Think\n presentVector.PDPCategory = '-'; //\n presentVector.department = '-';\n presentVector.CN = '-';\n presentVector.keywords = '-';\n presentVector.visualNavForm = '-';\n presentVector.pageFilter = '-';\n presentVector.searchType = '-';\n presentVector.userPFM = '-';\n presentVector.loginstatus = (isLoggedIn) ? 'full' : (isSoftLoggedIn ? 'soft' : '-');\n presentVector.onSale = '-';\n presentVector.time = new Date().getTime();\n\n //New Ml Vectors\n\n presentVector.pgdata_pmpdet_catname = '-';\n presentVector.pgdata_pmpdet_subcatname = '-';\n presentVector.pgdata_pmpdet_findingname = '-';\n presentVector.pgdata_pmpdet_cat_keywords = '-';\n presentVector.pgdata_pmpdet_pgfilter = '-';\n presentVector.pgdata_pmpdet_deptname = '-';\n presentVector.pgdata_pmpdet_gendervalues = '-';\n presentVector.pgdata_pmpdet_search_keywords = '-';\n presentVector.pgdata_proddet_colid = '-';\n presentVector.pgdata_pddetails_clientpostalcode = '-';\n presentVector.selected_sku_color = '-';\n presentVector.selected_sku_size = '-';\n presentVector.selected_sku = '-';\n //presentVector.selected_sku_regular_price = '-';\n presentVector.selected_sku_sale_price = '-';\n\n presentVector.c_i_size = '-';\n presentVector.c_i_color = '-';\n presentVector.c_i_isweb = '-';\n presentVector.c_sclearance = '-';\n presentVector.c_i_shipavailable = '-';\n presentVector.c_i_bopusAval = '-';\n presentVector.c_i_bossAval = '-';\n presentVector.c_i_invShip = '-';\n presentVector.c_i_invBopus = '-';\n presentVector.c_i_invBoss = '-';\n presentVector.c_o_offDis = '-';\n presentVector.c_o_sdate = '-';\n presentVector.c_o_edate = '-';\n presentVector.c_p_type = '-';\n presentVector.c_p_ptext = '-';\n presentVector.shpi_shpp_ogshpchrgs = '-';\n presentVector.shpi_shpp_shpchrgsafdis = '-';\n presentVector.shpi_shpp_freeshpqlfdelta = '-';\n presentVector.shpi_shpp_shpitmstotal = '-';\n presentVector.shpi_shpo_disamnt = '-';\n presentVector.or_merpromoamnt = '-';\n presentVector.or_disshpamnt = '-';\n presentVector.or_ogshpamnt = '-';\n presentVector.or_tax_est = '-';\n presentVector.or_tax_taxrt = '-';\n presentVector.or_tax_tax = '-';\n presentVector.or_totalsur = '-';\n presentVector.or_totaltaxfree = '-';\n presentVector.or_totalkcpromodis = '-';\n presentVector.or_totaltax = '-';\n presentVector.or_total = '-';\n presentVector.or_savings = '-';\n presentVector.or_taxfeeen = '-';\n\n presentVector.removed_sku = '-';\n presentVector.updated_sku = '-';\n presentVector.updated_sku_qty = '-';\n\n presentVector.prod_sku_count = '-';\n presentVector.sku_reg_price = '-';\n presentVector.sku_per_dis = '-';\n presentVector.sku_bopus_avail = '-';\n presentVector.sku_boss_avail = '-';\n presentVector.sku_ship_avail = '-';\n\n presentVector.filter_by_count = '-';\n presentVector.sort_by = '-';\n\n presentVector.pgdata_proddet_catname = '-';\n presentVector.pgdata_proddet_subcatname = '-';\n presentVector.pgdata_proddet_deptname = '-';\n\n presentVector.selected_prd_id = '-';\n\n presentVector.rto_data = '-';\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n\n\n if (typeof pageData != 'undefined') {\n if(pageData.productDetails && pageData.productDetails.pageItems && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID)\n {\n presentVector.productID = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].productID) || '-';\n presentVector.originalPrice = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].originalPrice) || '-';\n presentVector.salePrice = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].salePrice) || '-';\n presentVector.PDPCategory = (pageData.productDetails && pageData.productDetails.categoryName) || '-';\n presentVector.onSale = (pageData.productDetails && pageData.productDetails.pageItems[0] && pageData.productDetails.pageItems[0].isOnSale) || '-'; \n }\n\n if (validateForNotNull(pageData.productDetails) && validateForNotNull(pageData.productDetails.categoryName)) {\n presentVector.pgdata_proddet_catname = pageData.productDetails.categoryName;\n }\n\n if (validateForNotNull(pageData.productDetails) && validateForNotNull(pageData.productDetails.subcategoryName)) {\n presentVector.pgdata_proddet_subcatname = pageData.productDetails.subcategoryName;\n }\n\n if (validateForNotNull(pageData.productDetails) && validateForNotNull(pageData.productDetails.departmentName)) {\n presentVector.pgdata_proddet_deptname = pageData.productDetails.departmentName;\n }\n\n if (productId) {\n\n var skuPriceObj = getSkuPriceObj(Kjs.mainPanel.getBagItem(\"skuId\"));\n\n if(skuPriceObj)\n {\n presentVector.originalPrice = skuPriceObj.regularPrice.toString().substring(1,skuPriceObj.regularPrice.length);\n presentVector.salePrice = skuPriceObj.salePrice.toString().substring(1,skuPriceObj.salePrice.length);\n presentVector.PDPCategory = (pageData.productDetails && pageData.productDetails.categoryName) || '-';\n presentVector.onSale = '-';\n }\n\n presentVector.productID = (productId) || '-';\n \n }\n }\n else {\n var prodUrlSplit = window.location.pathname.toString().split('prd-')[1];\n var firstIndexOf = prodUrlSplit.indexOf('/');\n\n presentVector.productID = prodUrlSplit.substring(0, firstIndexOf);\n }\n\n\n presentVector.userPFM = getUrlParameter('userPFM') || '-';\n\n if (presentVector.productID == '-') {\n presentVector.productID = checkForPreviousEvent();\n }\n\n var skuCode = Kjs.mainPanel.getBagItem(\"skuId\");\n presentVector = fetchNewAttributesDeltaForSKU(presentVector, evtName, skuCode);\n\n }\n\n if (debugScr) console.log(\"presentVector:\" + JSON.stringify(presentVector));\n\n //viewedhome/viewedcart do not require additional processing\n //addedtobag/placedorder have seperate tags\n\n return presentVector;\n } catch (ie) {\n console.log('[ZineOne getPresentVector] : ' + ie);\n }\n }\n\n\n function updateUserVectors() {\n try {\n\n console.log('Into updateUserVectors');\n var presentVector = getPresentVector();\n var previousVector = JSON.parse(localStorage.getItem('z1_previousVector'));\n var z1_sessionStart_ts = JSON.parse(localStorage.getItem('z1_sessionStart_ts'));\n\n var z1_features = localStorage.getItem('z1_features') || \"\";\n //Check if local Storage has userVector available\n var userVectors = JSON.parse(localStorage.getItem('z1_userVectors'));\n var newUserVectors = JSON.parse(localStorage.getItem('z1_newUserVectors'));\n\n //Updated the logic to send the Sequence if diff between present and previous event is more than 10 mins\n //if(previousVector && previousVector.time && previousVector.time < z1_sessionStart_ts){\n if (previousVector && previousVector.time && presentVector && presentVector.time && Number(presentVector.time) - Number(previousVector.time) > SESSION_GAP) {\n console.log(\"New Session has started since the last Event\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n try {\n\n var oldSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n vectorsEventData = onceInSessionAttributes(vectorsEventData);\n\n\n var cartDump = fetchCartDump();\n\n if (validateForNotNull(cartDump)) {\n cartDump = JSON.parse(cartDump);\n\n var cartKeys = Object.keys(cartDump);\n for (var k = 0; k < cartKeys.length; k++) {\n vectorsEventData[cartKeys[k]] = JSON.stringify(cartDump[cartKeys[k]]);\n }\n }\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.session_start_time = presentVector.time;\n vectorsEventData.old_session_start_time = oldSessionStartTime;\n\n\n if (validateForNotNull(newUserVectors)) {\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n }\n\n\n ZineOne.pushEvent('_ws_updatevectors', vectorsEventData);\n } catch (ieInner) {\n\n var errorObj = {};\n errorObj.p1 = ieInner.message;\n errorObj.p2 = 'AddedToBag';\n\n ZineOne.pushEvent('_ws_logs', errorObj);\n\n }\n\n\n localStorage.setItem('visitGap', Number(presentVector.time) - Number(previousVector.time));\n localStorage.removeItem('z1_userVectors');\n localStorage.removeItem('z1_features');\n console.log(\"z1_userVectors removed from local storage\");\n userVectors = null;\n newUserVectors = null;\n }\n\n if (!userVectors) {\n userVectors = {};\n userVectors.eventVector = presentVector.event;\n userVectors.timeVector = presentVector.time;\n userVectors.productVector = presentVector.productID;\n userVectors.originalPrice = presentVector.originalPrice;\n userVectors.salePrice = presentVector.salePrice;\n userVectors.PDPCategory = presentVector.PDPCategory;\n userVectors.CN = presentVector.CN;\n userVectors.itemsInBag = presentVector.itemsInBag;\n\n newUserVectors = {};\n newUserVectors.pgdata_pmpdet_catname = presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = presentVector.selected_sku_size;\n newUserVectors.selected_sku = presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = presentVector.selected_sku_sale_price;\n\n\n\n newUserVectors.c_i_size = presentVector.c_i_size;\n newUserVectors.c_i_color = presentVector.c_i_color;\n newUserVectors.c_i_isweb = presentVector.c_i_isweb;\n newUserVectors.c_sclearance = presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = presentVector.c_o_sdate;\n newUserVectors.c_o_edate = presentVector.c_o_edate;\n newUserVectors.c_p_type = presentVector.c_p_type;\n newUserVectors.c_p_ptext = presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = presentVector.or_tax_tax;\n newUserVectors.or_totalsur = presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = presentVector.or_totaltax;\n newUserVectors.or_total = presentVector.or_total;\n newUserVectors.or_savings = presentVector.or_savings;\n newUserVectors.or_taxfeeen = presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = presentVector.removed_sku;\n newUserVectors.updated_sku = presentVector.updated_sku;\n newUserVectors.updated_sku_qty = presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = presentVector.sku_ship_avail;\n\n newUserVectors.filter_by_count = presentVector.filter_by_count;\n newUserVectors.sort_by = presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = presentVector.selected_prd_id;\n\n newUserVectors.rto_data = presentVector.rto_data;\n\n } else {\n userVectors.eventVector = userVectors.eventVector + '|' + presentVector.event;\n userVectors.timeVector = userVectors.timeVector + '|' + presentVector.time;\n userVectors.productVector = userVectors.productVector + '|' + presentVector.productID;\n userVectors.originalPrice = userVectors.originalPrice + '|' + presentVector.originalPrice;\n userVectors.salePrice = userVectors.salePrice + '|' + presentVector.salePrice;\n userVectors.PDPCategory = userVectors.PDPCategory + '|' + presentVector.PDPCategory;\n userVectors.CN = userVectors.CN + '|' + presentVector.CN;\n userVectors.itemsInBag = userVectors.itemsInBag + '|' + presentVector.itemsInBag;\n\n newUserVectors.pgdata_pmpdet_catname = newUserVectors.pgdata_pmpdet_catname + '|' + presentVector.pgdata_pmpdet_catname;\n newUserVectors.pgdata_pmpdet_subcatname = newUserVectors.pgdata_pmpdet_subcatname + '|' + presentVector.pgdata_pmpdet_subcatname;\n newUserVectors.pgdata_pmpdet_findingname = newUserVectors.pgdata_pmpdet_findingname + '|' + presentVector.pgdata_pmpdet_findingname;\n newUserVectors.pgdata_pmpdet_cat_keywords = newUserVectors.pgdata_pmpdet_cat_keywords + '|' + presentVector.pgdata_pmpdet_cat_keywords;\n newUserVectors.pgdata_pmpdet_pgfilter = newUserVectors.pgdata_pmpdet_pgfilter + '|' + presentVector.pgdata_pmpdet_pgfilter;\n newUserVectors.pgdata_pmpdet_deptname = newUserVectors.pgdata_pmpdet_deptname + '|' + presentVector.pgdata_pmpdet_deptname;\n newUserVectors.pgdata_pmpdet_gendervalues = newUserVectors.pgdata_pmpdet_gendervalues + '|' + presentVector.pgdata_pmpdet_gendervalues;\n newUserVectors.pgdata_pmpdet_search_keywords = newUserVectors.pgdata_pmpdet_search_keywords + '|' + presentVector.pgdata_pmpdet_search_keywords;\n newUserVectors.pgdata_proddet_colid = newUserVectors.pgdata_proddet_colid + '|' + presentVector.pgdata_proddet_colid;\n newUserVectors.pgdata_pddetails_clientpostalcode = newUserVectors.pgdata_pddetails_clientpostalcode + '|' + presentVector.pgdata_pddetails_clientpostalcode;\n newUserVectors.selected_sku_color = newUserVectors.selected_sku_color + '|' + presentVector.selected_sku_color;\n newUserVectors.selected_sku_size = newUserVectors.selected_sku_size + '|' + presentVector.selected_sku_size;\n newUserVectors.selected_sku = newUserVectors.selected_sku + '|' + presentVector.selected_sku;\n //newUserVectors.selected_sku_regular_price = newUserVectors.selected_sku_regular_price + '|' + presentVector.selected_sku_regular_price;\n newUserVectors.selected_sku_sale_price = newUserVectors.selected_sku_sale_price + '|' + presentVector.selected_sku_sale_price;\n\n\n newUserVectors.c_i_size = newUserVectors.c_i_size + '|' + presentVector.c_i_size;\n newUserVectors.c_i_color = newUserVectors.c_i_color + '|' + presentVector.c_i_color;\n newUserVectors.c_i_isweb = newUserVectors.c_i_isweb + '|' + presentVector.c_i_isweb;\n newUserVectors.c_sclearance = newUserVectors.c_sclearance + '|' + presentVector.c_sclearance;\n newUserVectors.c_i_shipavailable = newUserVectors.c_i_shipavailable + '|' + presentVector.c_i_shipavailable;\n newUserVectors.c_i_bopusAval = newUserVectors.c_i_bopusAval + '|' + presentVector.c_i_bopusAval;\n newUserVectors.c_i_bossAval = newUserVectors.c_i_bossAval + '|' + presentVector.c_i_bossAval;\n newUserVectors.c_i_invShip = newUserVectors.c_i_invShip + '|' + presentVector.c_i_invShip;\n newUserVectors.c_i_invBopus = newUserVectors.c_i_invBopus + '|' + presentVector.c_i_invBopus;\n newUserVectors.c_i_invBoss = newUserVectors.c_i_invBoss + '|' + presentVector.c_i_invBoss;\n newUserVectors.c_o_offDis = newUserVectors.c_o_offDis + '|' + presentVector.c_o_offDis;\n newUserVectors.c_o_sdate = newUserVectors.c_o_sdate + '|' + presentVector.c_o_sdate;\n newUserVectors.c_o_edate = newUserVectors.c_o_edate + '|' + presentVector.c_o_edate;\n newUserVectors.c_p_type = newUserVectors.c_p_type + '|' + presentVector.c_p_type;\n newUserVectors.c_p_ptext = newUserVectors.c_p_ptext + '|' + presentVector.c_p_ptext;\n newUserVectors.shpi_shpp_ogshpchrgs = newUserVectors.shpi_shpp_ogshpchrgs + '|' + presentVector.shpi_shpp_ogshpchrgs;\n newUserVectors.shpi_shpp_shpchrgsafdis = newUserVectors.shpi_shpp_shpchrgsafdis + '|' + presentVector.shpi_shpp_shpchrgsafdis;\n newUserVectors.shpi_shpp_freeshpqlfdelta = newUserVectors.shpi_shpp_freeshpqlfdelta + '|' + presentVector.shpi_shpp_freeshpqlfdelta;\n newUserVectors.shpi_shpp_shpitmstotal = newUserVectors.shpi_shpp_shpitmstotal + '|' + presentVector.shpi_shpp_shpitmstotal;\n newUserVectors.shpi_shpo_disamnt = newUserVectors.shpi_shpo_disamnt + '|' + presentVector.shpi_shpo_disamnt;\n newUserVectors.or_merpromoamnt = newUserVectors.or_merpromoamnt + '|' + presentVector.or_merpromoamnt;\n newUserVectors.or_disshpamnt = newUserVectors.or_disshpamnt + '|' + presentVector.or_disshpamnt;\n newUserVectors.or_ogshpamnt = newUserVectors.or_ogshpamnt + '|' + presentVector.or_ogshpamnt;\n newUserVectors.or_tax_est = newUserVectors.or_tax_est + '|' + presentVector.or_tax_est;\n newUserVectors.or_tax_taxrt = newUserVectors.or_tax_taxrt + '|' + presentVector.or_tax_taxrt;\n newUserVectors.or_tax_tax = newUserVectors.or_tax_tax + '|' + presentVector.or_tax_tax;\n newUserVectors.or_totalsur = newUserVectors.or_totalsur + '|' + presentVector.or_totalsur;\n newUserVectors.or_totaltaxfree = newUserVectors.or_totaltaxfree + '|' + presentVector.or_totaltaxfree;\n newUserVectors.or_totalkcpromodis = newUserVectors.or_totalkcpromodis + '|' + presentVector.or_totalkcpromodis;\n newUserVectors.or_totaltax = newUserVectors.or_totaltax + '|' + presentVector.or_totaltax;\n newUserVectors.or_total = newUserVectors.or_total + '|' + presentVector.or_total;\n newUserVectors.or_savings = newUserVectors.or_savings + '|' + presentVector.or_savings;\n newUserVectors.or_taxfeeen = newUserVectors.or_taxfeeen + '|' + presentVector.or_taxfeeen;\n\n newUserVectors.removed_sku = newUserVectors.removed_sku + '|' + presentVector.removed_sku;\n newUserVectors.updated_sku = newUserVectors.updated_sku + '|' + presentVector.updated_sku;\n newUserVectors.updated_sku_qty = newUserVectors.updated_sku_qty + '|' + presentVector.updated_sku_qty;\n\n newUserVectors.prod_sku_count = newUserVectors.prod_sku_count + '|' + presentVector.prod_sku_count;\n newUserVectors.sku_reg_price = newUserVectors.sku_reg_price + '|' + presentVector.sku_reg_price;\n newUserVectors.sku_per_dis = newUserVectors.sku_per_dis + '|' + presentVector.sku_per_dis;\n newUserVectors.sku_bopus_avail = newUserVectors.sku_bopus_avail + '|' + presentVector.sku_bopus_avail;\n newUserVectors.sku_boss_avail = newUserVectors.sku_boss_avail + '|' + presentVector.sku_boss_avail;\n newUserVectors.sku_ship_avail = newUserVectors.sku_ship_avail + '|' + presentVector.sku_ship_avail;\n\n\n newUserVectors.filter_by_count = newUserVectors.filter_by_count + '|' + presentVector.filter_by_count;\n newUserVectors.sort_by = newUserVectors.sort_by + '|' + presentVector.sort_by;\n\n newUserVectors.pgdata_proddet_catname = newUserVectors.pgdata_proddet_catname + '|' + presentVector.pgdata_proddet_catname;\n newUserVectors.pgdata_proddet_subcatname = newUserVectors.pgdata_proddet_subcatname + '|' + presentVector.pgdata_proddet_subcatname;\n newUserVectors.pgdata_proddet_deptname = newUserVectors.pgdata_proddet_deptname + '|' + presentVector.pgdata_proddet_deptname;\n\n newUserVectors.selected_prd_id = newUserVectors.selected_prd_id + '|' + presentVector.selected_prd_id;\n\n newUserVectors.rto_data = newUserVectors.rto_data + '|' + presentVector.rto_data;\n\n\n }\n localStorage.setItem('z1_userVectors', JSON.stringify(userVectors));\n localStorage.setItem('z1_newUserVectors', JSON.stringify(newUserVectors));\n\n updateFeatures();\n\n //Update the previousVector\n previousVector = presentVector;\n localStorage.setItem('z1_previousVector', JSON.stringify(previousVector));\n\n //Send the Sequence on 5th and 10th Element as well\n //Fetch the updated features as they are updated \n var z1_features = localStorage.getItem('z1_features') || \"\";\n //If this is the 5th Element, send the features and vectors\n if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 5) {\n console.log(\"The sequence is 5 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.cartValue = cartValue;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n vectorsEventData.currentCart = JSON.stringify(currentUserCartArr);\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.customerHasKohlsCharge)) {\n vectorsEventData.isKcc = pageData.customerDetails.customerHasKohlsCharge;\n } else {\n vectorsEventData.isKcc = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018EliteMember)) {\n vectorsEventData.kohlsLoyalty2018EliteMember = pageData.customerDetails.kohlsLoyalty2018EliteMember;\n } else {\n vectorsEventData.kohlsLoyalty2018EliteMember = -1;\n }\n\n if (validateForNotNull(pageData) && validateForNotNull(pageData.customerDetails) && validateForNotNull(pageData.customerDetails.kohlsLoyalty2018Member)) {\n vectorsEventData.kohlsLoyalty2018Member = pageData.customerDetails.kohlsLoyalty2018Member;\n } else {\n vectorsEventData.kohlsLoyalty2018Member = -1;\n }\n\n\n vectorsEventData.mcmId = fetchMcmId();\n\n ZineOne.pushEvent('_ws_updatevectors_len5', vectorsEventData);\n\n if (isJsonNull) {\n var lastUserPageArr = userVectors.eventVector.toString().split('|');\n var lastPageChar = lastUserPageArr[lastUserPageArr.length - 2];\n\n var tempEventData = {};\n tempEventData.VisitorBagTotals = getCookie('VisitorBagTotals');\n tempEventData.pgName = 'PDP';\n tempEventData.lastPgChar = lastPageChar;\n\n ZineOne.pushEvent('_ws_emptyjson_v2', tempEventData);\n }\n\n\n } else if (userVectors && userVectors.eventVector && userVectors.eventVector.split('|').length == 10) {\n console.log(\"The sequence is 10 element long\");\n //Changes to visitGap for gap between n-1 and nth session\n var visitGap = localStorage.getItem('visitGap');\n //Check if null or undefined\n if (!visitGap || typeof visitGap == undefined || visitGap == 'undefined') {\n visitGap = '';\n }\n\n var currentSessionStartTime = userVectors.timeVector.toString().split('|')[0];\n\n var vectorsEventData = {};\n\n var newVectorKeys = Object.keys(newUserVectors);\n for (var k = 0; k < newVectorKeys.length; k++) {\n vectorsEventData[newVectorKeys[k]] = newUserVectors[newVectorKeys[k]];\n }\n\n\n\n vectorsEventData.z1_userVectors = JSON.stringify(userVectors);\n vectorsEventData.z1_features = z1_features;\n vectorsEventData.session_start_time = currentSessionStartTime;\n vectorsEventData.visitGap = visitGap;\n\n\n ZineOne.pushEvent('_ws_updatevectors_len10', vectorsEventData);\n }\n\n //If this is the 10th Element, send the features and vectors\n } catch (ie) {\n console.log('[ZineOne updateUserVectors] : ' + ie);\n }\n }\n\n function updateFeatures() {\n\n console.log('Into updateFeatures');\n /* z1_features is stored in local storage which holds following stats\n ** n Total number of events in visit\n ** A Total number of addedtobag events in the visit\n ** B Total number of breachedgeofence events in the visit\n ** C Total number of continuedcheckout events in the visit\n ** D Total number of exitgeofence events in the visit\n ** E Total number of placedorder events in the visit\n ** F Total number of searched events in the visit\n ** G Total number of startedcheckout events in the visit\n ** H Total number of viewedcart events in the visit\n ** I Total number of viewedcatalog events in the visit\n ** J Total number of viewedhome events in the visit\n ** K Total number of viewedproduct events in the visit\n ** p Total number of evented pages loaded in visit\n */\n\n var z1_features = localStorage.getItem('z1_features');\n if (!z1_features) {\n z1_features = \"0|0|0|0|0|0|0|0|0|0|0|0|0|0\";\n }\n\n z1_features_arr = z1_features.split('|');\n\n z1_features_arr[0] = Number(z1_features_arr[0]) + 1; //n\n\n if (evtName.toLocaleLowerCase() == '_ws_addedtobag') {\n z1_features_arr[1] = Number(z1_features_arr[1]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'breachedgeofence') {\n z1_features_arr[2] = Number(z1_features_arr[2]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completeshipping') {\n z1_features_arr[3] = Number(z1_features_arr[3]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == 'exitgeofence') {\n z1_features_arr[4] = Number(z1_features_arr[4]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_placedorder') {\n z1_features_arr[5] = Number(z1_features_arr[5]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_searched') {\n z1_features_arr[6] = Number(z1_features_arr[6]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_startedcheckout') {\n z1_features_arr[7] = Number(z1_features_arr[7]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcart') {\n z1_features_arr[8] = Number(z1_features_arr[8]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedcatalog') {\n z1_features_arr[9] = Number(z1_features_arr[9]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedhome') {\n z1_features_arr[10] = Number(z1_features_arr[10]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_viewedproduct') {\n z1_features_arr[11] = Number(z1_features_arr[11]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n } else if (evtName.toLocaleLowerCase() == '_ws_completepayment') {\n z1_features_arr[13] = Number(z1_features_arr[13]) + 1;\n z1_features_arr[12] = Number(z1_features_arr[12]) + 1;\n }\n\n z1_features = z1_features_arr[0] + '|' + z1_features_arr[1] + '|' + z1_features_arr[2] + '|' + z1_features_arr[3] + '|' + z1_features_arr[4] + '|' + z1_features_arr[5] + '|' + z1_features_arr[6] + '|' + z1_features_arr[7] + '|' + z1_features_arr[8] + '|' + z1_features_arr[9] + '|' + z1_features_arr[10] + '|' + z1_features_arr[11] + '|' + z1_features_arr[12] + '|' + z1_features_arr[13];\n localStorage.setItem('z1_features', z1_features);\n }\n\n\n } catch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: WebStore Z1 tag. \" + ie);\n }\n \n\n\n \n\n };\n\n var selector='addtobagID';\n var rootElement = document.querySelector('body');\n rootElement.addEventListener('click',function(event){\n var targetElement = event.target.id;\n\n if(targetElement.match(selector)){\n //logic for handling the click event of addtobagID \n addToBagClickHandler();\n }\n },true);\n\n\n\n\n\n\n \n} catch (ie) {\n if (debugScr) console.log(\"[Zineone] Error in Tag Script: WebStore Z1 tag. \" + ie);\n}","eventName":"load","pageSelector":{"type":"pgName","condition":"contains","val":"/product/prd-"}}],"TTL":"1440"}}
console-api log URL: https://cdn.zineone.com/apps/latest/z1m.js(Line 27)
Message:
ZineOne: Unable to get item z1_ftUserMap from localStorage
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 21)
Message:
[errors] KJS global handler logged uncaught exception: [errors] Script error.
console-api error URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.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/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
console.groupEnd
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'pageName' of undefined","dbe.name":"page name","pageId":3529769}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'categoryName' of undefined","dbe.name":"product mp & sp | category","pageId":2869214}
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 'pageProductIDs' of undefined","dbe.name":"product mp & sp | product id","pageId":2908326}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"wait","message":"TypeError: Cannot read property 'pageProductIDs' of undefined","tagId":7230763}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: CONFIRMED
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 21)
Message:
[errors] KJS global handler logged uncaught exception: [errors] Script error.
console-api error URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.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/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
console.groupEnd
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'categoryName' of undefined","dbe.name":"product mp & sp | category","pageId":2869214}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'pageFilter' of undefined","dbe.name":"product mp | filters - level three","pageId":2869235}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'pageFilter' of undefined","dbe.name":"product mp | filters - level one","pageId":2869235}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'subcategoryName' of undefined","dbe.name":"product mp & sp & search | subcategory","pageId":2869235}
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 'departmentName' of undefined","dbe.name":"product mp & sp & search | department","pageId":2869235}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'pageFilter' of undefined","dbe.name":"product mp | filters - level four","pageId":2869235}
console-api log URL: https://s.btstatic.com/tag.js(Line 2)
Message:
Signal: error: {"type":"dbe","message":"TypeError: Cannot read property 'pageFilter' of undefined","dbe.name":"product mp | filters - level two","pageId":2869235}
console-api log URL: https://cdn.tagdelivery.com/request/client/kohls.js(Line 60)
Message:
2a01:4f8:192:5414::2
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.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/26.0.7-1409/javascript/deploy/kjscoretag3.js(Line 22)
Message:
TypeError: Cannot read property 'getItem' of null
console-api log URL: https://www.kohls.com/snb/media/26.0.7-1409/javascript/deploy/kjscoretag3.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
684dd306.akstat.io
8632166.fls.doubleclick.net
adservice.google.com
adservice.google.de
analytics.twitter.com
api-bd.kohls.com
api.rlcdn.com
apps.zineone.com
bat.bing.com
c.go-mpulse.net
cdn.tagdelivery.com
cdn.zineone.com
cdnssl.clicktale.net
click.s.kohls.com
cm.everesttech.net
cm.g.doubleclick.net
conductor.clicktale.net
connect.facebook.net
ct.pinterest.com
d.agkn.com
d.impactradius-event.com
dpm.demdex.net
googleads.g.doubleclick.net
gum.criteo.com
idsync.rlcdn.com
idx.liadm.com
ing-district.clicktale.net
js-sec.indexww.com
kohls.com
kohls.demdex.net
kohls.sjv.io
kohls.tt.omtrdc.net
match.adsrvr.org
media.kohlsimg.com
media.richrelevance.com
mon1.kohls.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
servedby.flashtalking.com
static.ads-twitter.com
stats.g.doubleclick.net
t.co
tjxbfc1n.micpn.com
tr.snapchat.com
ww8.kohls.com
www.cloudflare.com
www.facebook.com
www.google-analytics.com
www.google.com
www.google.de
www.googleadservices.com
www.googletagmanager.com
www.googletagservices.com
www.hlserve.com
www.kohls.com
www.ojrq.net
api.rlcdn.com
104.108.169.218
104.124.133.20
104.244.42.195
104.244.42.5
13.225.73.36
13.225.73.37
13.225.73.53
151.101.112.157
151.101.113.179
151.101.12.84
172.217.18.162
172.217.22.66
198.245.92.105
205.185.216.42
216.58.207.70
23.203.64.67
23.213.15.82
2600:1f18:730:b110:dbd9:adbc:c9c0:b85f
2600:9000:2156:e000:19:fc2c:a140:93a1
2606:4700::6811:d209
2606:4700::6812:eb0
2620:1ec:c11::200
2a00:1450:4001:80b::2002
2a00:1450:4001:818::2008
2a00:1450:4001:819::200e
2a00:1450:4001:81a::2002
2a00:1450:4001:81a::2004
2a00:1450:4001:81b::2003
2a00:1450:400c:c00::9a
2a02:2638::1c
2a02:26f0:eb:189::eaf
2a02:26f0:eb:18a::eaf
2a02:26f0:eb:19e::11a6
2a02:26f0:eb:1a2::11a6
2a02:26f0:eb:1b4::11a6
2a02:26f0:f1:195::2db0
2a03:2880:f01c:8012:face:b00c:0:3
2a03:2880:f11c:8183:face:b00c:0:25de
3.210.28.246
3.219.149.238
3.86.120.22
34.95.127.121
35.181.91.36
35.186.226.184
35.186.249.72
35.190.72.21
35.227.211.136
37.252.173.62
46.137.81.30
52.16.76.117
52.201.3.186
52.211.89.62
52.215.180.197
52.5.165.202
52.86.24.11
66.117.28.86
66.117.29.4
74.119.118.146
01952424eb7bf6b82cc51b625ede392e9b4b3f2e409a43d6f7d97c6bcad188e6
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
0482a98d09daebc18a0d2e1ed8f748da5b0179e61223ed541101df1f4699f073
04aff5bea1b2c7b48dbeb171c9dcd30e2de1342550682cdec15ae748fa928088
079e218ad07f42523479d475b4973a6e386ba95209ee964c04c1a6eb6186bda3
0d01964116ba5a9c79219a78fd6196568ed155c40ae5a85104104f134bdc0d91
0e90be12ca22a199e83d7b57d07d37ad3ad6c823e1af1b713473607917e49fb6
10d8d42d73a02ddb877101e72fbfa15a0ec820224d97cedee4cf92d571be5caa
140b59aaf164518b2c1b4a592f8b3fabd61dcdf810f00c83ab3d8c979a0f32b9
1958bb7f293956e7170f639ce93a3d628ae465fa24fd751e1a2b3cd837059ffa
1a584d5eb84dd4979d2374447dd0c89ceb58365210f1f272df6d09aa7aa7151e
1c45f1dbc5afc1034ac9f4322cc6a66f4db7442f88be435d05897289ad475bd1
1ded650b20c54eeff53b7b71ebaeb07741f8f61a50e62aafb1ee194a91f4ce6e
1e57ef80de847edfe190c3cc278688675dd98bd4f419f189e317a6be83394d05
2039082ed79cca9faa87a80ebbf516502cda4ca08c67f1ef46b718fee79b47f3
28d5c7d2279d76c0643863a7d3926cb5b831c26538611f92a105cc6533cd531a
29d7704638ffe330d5ab99ee30638e3c8d452807df1e51bd7fd0ddf2ba5dee52
2c8efe490fe1a66a5c7dd3c5d844abc19eb437a897517c42b92ab917d1c04c35
2d3c362dea9616624060e41064907033f41959ddf6bda37f26c87e6047fcd20a
2f05563ca65e7640350b200b8bbd1fc1d159870edae312279124cab44fd95e18
30eb33d64c9f4986b8dc285c28de99444ecd55a598f31996c6d2d831e0ab6562
317ef593559c12ec00d2005fa8aef8f47511604cad625727ce8b0c12022a013d
319949c8c08b86e9c35ea542c0dc0c30cedaa9b8d3d3c3327a36c91aefbd8af5
3668f6bc8dd86f6690ad159eed9c3020cf6af81084e29712995005ecc7176aff
36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068
37b17c5135a176a9474521af147d96dfa1fb4ca0f43f00d1400bd1885be3ab9b
3f36603805c889faf08235b10081553af7e36b8bbb4bf425b03cbbacfdb65ea2
411c045d2a620b9b58931bcfee6a2345031696ea884ff22ed59a20efd81bd217
437af70604089c777715864fb059070a0805df0dd10d18a97c52a328fdcd3b7a
4a63ccc41b6e27c88fca243efd1030d401bc83bd3ae22aaff2b0d1354ba25703
4c87707ce17127fc5385771fbde9f6c94bccbd208b0de2d0edfc2939601f6af1
4e948638a694a5d3ec13f7f13f254788d5501905e246d99779e825aff3fbb725
50ca161fd2af1eb738c749ef0121eac384092db8222b648762b1fbc1f4806b41
51042747eacb1feb0f456c04c38b98d1a290f9ea7389cf1f99b479095ff2155f
513ca6cc4dfa5a0fae33c3cfdb8d91a798249a153b7bfd4d1e67b9fde3b6dd76
55aef556e25e53cce213ba61e4980f387784389978ad68a0ccb0c430f7a103b6
5683d721043542df3d73195d4449d2842042193e896c63aba9552de00b5ed207
579f18fb447c3ab10e71679f99a0f40cefaa4a58950a342ae55f68392d977504
58dcf72e7d4bd9fade977de4e37559bf08e293d678ad10e443fe04bc82d709a8
5a91c6d3e635c0bd1551a53cf0769328132151a7732039170280d500dbcb4685
5e274b90f9e953a02ca69f649a0052023241c5fbb29ddb36c07a26d81845cf87
5e3d382db4dd83d59aa5742793ad6b7903409e865c83bcbc54835049f043bc15
5e8923354dc828bba8fd3a84f1fed88a4b7095207803798b521710119bf347da
5fda38ff3d6c979db28cd572fc5c2d90a19964e726bc75285661dfd532ae5cc4
6102b6f9b0a2f3d5b128c566862198ada13900b20be86edd070d9744329c14f1
63630dabec4f48e5b818c21158eda205d78186285a429833931511b5c79ea337
668f9e45bab856c4f89f8b7e89240f2d3f6bf2467638ee559626ac958c307878
684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1
6b66777f76c4f589aac9726645cd0b82163a7f3ac9b94fe71accb0286fef5ad8
6d257ae7d283ba55180a09d9933ff94e8069ceaac0ad76c5a01bf2d4fd170665
6d433c0efcee69eb1773743c93e23940c6027ad87d22c708e864a0183de8fc34
6d6ef6c5f1fe43a0f22a27d9d07f53c4a20869f907b4220894fb7c703fa6f617
6dfa271e269c6f6693aee52b71b1e808077d6f9c0cb8389c8e4a2181ec595f2d
7090708246cd9193afdf9a3e9ebe1d01440d94fe7aaba487e6e0792c649add35
740078cb1778d885689a3108d2ca696b01fd80cb73437528af4ed0dd6e7466b7
75d3ec6000579329f7d114945489256119bdcb4c191ebeed3699c7ad6272953c
75ff7462a402fa4c69b4e2e473632ad03cb112111b52ca66ae4e0aac8d838ee3
790d3cb3a1372c1185ee7f4d65f27b31797f50d21ef4093d8933c7f32030797c
7d1b654bc56485872b4c88231b981623294f36b863fc193ae0390a6d02a99130
7ddc45613300ec85b80f9fcc157e66c289b2bed9d877c043fd5787a35cca8a03
80ae61cf90a1b1421b928d5c04b88e30376d60d5124e08b420933abfc79b1065
80cc8ef5083239b68a12bff0d34ce0fd015791a72ef9c173417edc29d95da6e8
80d54533f80e8233621f965ae0a7713928bdb4d491ed0eb5e90434550f1894cb
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
848c973f0c9ce730af945041dd18a5e09a8c857e6462d7531be9c0b4e934b1e2
84b2426a6096b022d9eddbc7b9318f98d10c6b51bfa99bd1aa3b605dd2c2264c
84b6069c05a26ab548fef609c3edce25b555490819fa34b35e0078fce6a55429
86ff0cb1658b5b1e3368575112eab5ebdf2da7a786599ce73cee1ed875bd9f80
8945e3d98fc3717527bf2ddaf99ecec7a8bcbe513c3f6fd37a1f295ae91b3e3d
8bd5e5729a3fb989a0bcb99fd966df11e1c44198c447712fa4136996e2b28c0a
8d68caea458b333a6926266ca67af52302f0952d27b5a3a43084d7ac70012ce6
8d70b3e6badb6973663b398d297bb32eaedd08826a1af98d0a1cfce5324ffce0
8dccc8a29c28ee78f0d1f0336ccc95edfc29e32134efd81160fb7a224f51a270
91006cda06380717bca4482acaeeb8f63130ac7cba533bd5d9bb1ef8d7a0b339
91bd671d9ef32c444bc363d40e7d072a317e899b9c662ad1dd837d1d2277ed3a
927111a1fdc9b3d58977901f2197ad1e37231cc4a166174994004ea92e7b79eb
935c78ed2a8b54d1e45405f33a81d7122820c14a965750229f9be8e5d48d3376
981e5ca360dc090737fb546da068ca64b27860aa61188b6b859f4485eeb84637
987ed34cf9978e12064112192f171ade6dcc70195fd96a8b1d7523e9ca92902b
99e502f00a1a89faf52ecf66791b4e3f5e85d5806544ecbf2943c5e4c4667c7e
9a118dcfc9dcb4b08cb5974926483ca437750f2c9becf6db10128accd57b198b
9d8a2811fe6cec544f8e4ba7915c7ee8d4caa72257d97bf4f8964dae6c621ff6
9fb974b84a129972abbd1e2e5cfdf685cab5f6f22d881adf3845bc73b43eb4ad
a1e27fd7fb9eca2a10a3efa3f1594acb28e5ea6875fb62f4655787e544e0e858
a256529bd5b1b8846f8d2536ce7581fb6cea4479992f222d01535903dff48d79
a30ff001f8b283976268021bf2f1fd74535f88904c66cd8ef976b652c35af1ae
a3d50ef27006d215b4828faae5cce1617ef8cbb2800346351dc17cb5159eaa50
a400fe551ce1b5f459f1808f5c93714ea243d7e4b10dc962936b21635f34f8b0
a783804e222c9d85236a34c0bf859e41202f5c8c20fbe2d1e25bf5d658f12760
a7ff680392f5fb0d4a1ca35277acd41af42d8b795b94bc7adee0c7893e910f27
a8a5c752f8ae0c033572453cbb3240ca9047eae565ea1f3df7cb1ea67e9984d9
ac8778041fdb7f2e08ceb574c9a766247ea26f1a7d90fa854c4efcf4b361a957
aef251cb37f465ccf2336386dfae06791a6b2e78539c3276977f7015b7b59b3a
af9fa9f0773266d650cff80076d18e7b3b6b170e807badd366cfef901e8e9235
b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b
b493cdb3b30ea63f6a924f814dfccfcfe305dac02106f9994ce2bcb2e8ed28c4
b69335ae739737089bebce27cfc370df981bd29f27fca7ba40cc6cd893af9060
b696abbda99809bebd446cab9af3543452aae2b164f0349861518ee8215cdfc4
c3d0ccc036971aca7f6332aec2cac5dd18c057ccd8395d350467b9c0dfc432c8
c4183ec963c0749480ddf2edf0177db6e67d15b5a59a903c62983a9123d9937a
c5fdc0b4b36acbc789bcc9f6e2a48635c3f994feb09e39f63063fc9cf4f99162
c79dc828b12ed77c8d0dc59ef0c96a630d758bd5b19f26b9e5c1051822f0a39b
c8cd5e92dfcceae454d21d93e49b8629648f1e43b7ec8d2482ee540a5852feef
cb71dc1663ac4512353d2dd25090147b1349bc48447681e5f40244f3f840a082
ccb7c385a0b51956e92a2acae43f49e9a9020f5170bd6e8b981d381c0a5b502a
cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
d54f94df1233ab7224af68f63fe3df27584c4c01d70b2e65bcdc774ba05c6b41
d6887aae055eff5ba1d8eeb653fc7c2ba7f6c4831d2f06ee20b5dd1e45178273
d6d91eda26fd2a21f367ba7865293cf849afc6d75e4c4ad9bcfe803fc8a9f3a7
d79e99b4c459402002b1e36b42d4ab187f8afc1083fc823becfa9750b7d42633
d8e9cd3d22f9d995e9f3bc2271e2a0c8b198af58844abfb64087dcc5bf4b4565
df179f7583362a8382421dadcbc9a497639f19dac1ea7c3774741d88b458c058
df3e003cc30e9bdd0313100e8ee5d468070b4b34d11ad355f276a356d4b9c7bf
e15f21cd7a83e4e8d32c071f464287a2704794f2bdac683133a7b34dac6d55ba
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
e93047ab88ddf3a33047a506b4a7594914e84fcf5ebac4b2723739e728e284b5
ea84fd0e8a91984167706d1db34737e7e768687178a7b589f02fe632373d9530
eaf1b128b927ac2868755cb7366d35554255c8af362235afe270f9614f8c806d
ec34cd386427fe6deacf99f4fdbeea4b1d1ed25f505411650d7ceaa843a7fc63
ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
f24cd77318c239a2211ea8382efa423e81b21e515b902fbf707b7996f1b99a45
f65db2b2d01bf61e68c53d2fb981444e799640317d83eb69f990def55cba436a
f71eae1344e6a5a8f67ce49ac98ef4da95de3ce60aab1122b814ee6b882ad049
f94a0b8748fb6d8f32b70d464162f64e541983caa0631e5d3f2e73c40a17e393
fb4491ac8ba8263bc3648569c13e5c3db6559373d119c760b3bdf7816f352196
fc1bd48c49c83613c4c3a2fa54bb1de4ec91018a97fce5834f1f404c8c046cbe
fc49380a326d18192e6e10dc8b95f7738e27af87961a0221523910a6b8470500
ffb1956d12fe68843adefb7406ae8c6ebc8517bc4567639ac96a2339be75937d