{"version":3,"sources":["webpack:///./Scripts4.0/ViewModels/bid-sale-banner.js"],"names":["mcWeb","bidBanner","$","self","this","daysTxt","hoursTxt","minutesTxt","secondsTxt","startCountdown","bidId","days","hours","minutes","seconds","banner","dateExpiry","data","dateStart","bidStarted","startDate","Date","getTime","endDate","now","find","removeClass","runCountdown","salesCountdown","setInterval","started","t","timeFromStart","showCountdown","Math","floor","mins","secs","hasClass","addClass","days2","hours2","mins2","secs2","setTimeout","refreshPriceCache","refreshFields","countdown","jQuery","html","window","ajaxRenderEngine","fieldsToLoad","push","targetKey","filterTargetKey","onlyUpdateProductList","doNotRenderFilter","useDummyData","popupFilter","nextPageNumber","runUpdateFields"],"mappings":"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","file":"bid-banner.13ec44ef6cef0b8a66c8.bundle.js","sourcesContent":["mcWeb.bidBanner = new (function($) {\r\n 'use strict';\r\n var self = this;\r\n self.daysTxt = 'DAY(S)';\r\n self.hoursTxt = 'HR(S)';\r\n self.minutesTxt = 'MIN(S)';\r\n self.secondsTxt = 'SEC(S)';\r\n self.startCountdown = function(bidId, days, hours, minutes, seconds){\r\n if(bidId === \"\")\r\n return;\r\n self.daysTxt = days;\r\n self.hoursTxt = hours;\r\n self.minutesTxt = minutes;\r\n self.secondsTxt = seconds;\r\n\r\n var banner = $(\"div[data-bid-id=\"+bidId +\"]\");\r\n var dateExpiry = banner.data(\"bid-end\");\r\n var dateStart = banner.data(\"bid-start\");\r\n var bidStarted = banner.data(\"bid-started\");\r\n var bidEnded = banner.data(\"bid-expired\");\r\n\r\n var startDate = new Date(dateStart).getTime();\r\n var endDate = new Date(dateExpiry).getTime();\r\n\r\n var now = new Date().getTime();\r\n if(startDate > now){\r\n bidStarted = false;\r\n }\r\n else{\r\n bidStarted = true;\r\n }\r\n\r\n if(endDate > now){\r\n bidEnded = false;\r\n } else{\r\n bidEnded = true;\r\n }\r\n\r\n if(bidEnded === true && bidStarted === true){\r\n //show msg saying bid has ended\r\n banner.find(\".banner-bid-ended\").removeClass(\"hide\");\r\n }\r\n else{\r\n if(bidStarted === true){\r\n //show countdown to when the sale ends\r\n self.runCountdown(banner, banner.find(\".banner-bid-countdown\"), new Date(dateStart).getTime(), new Date(dateExpiry).getTime());\r\n }\r\n else{\r\n //sale not started and not ended. Hence we can set a countdown to when it starts\r\n self.runCountdown(banner, banner.find(\".banner-bid-countdown\"), new Date(dateStart).getTime(),new Date(dateExpiry).getTime());\r\n }\r\n }\r\n\r\n };\r\n\r\n self.runCountdown = function(banner, salesCountdown, startDate, endDate){\r\n var timer = setInterval(function() {\r\n var now = new Date().getTime();\r\n salesCountdown.removeClass(\"hide\");\r\n \r\n var started;\r\n if(startDate > now){\r\n started = false;\r\n }\r\n else{\r\n started = true;\r\n }\r\n var bidEnded;\r\n if(endDate > now){\r\n bidEnded = false;\r\n } else{\r\n bidEnded = true;\r\n }\r\n\r\n var t;\r\n if(started)\r\n t = endDate - now;\r\n else t = startDate - now;\r\n var timeFromStart = startDate - now;\r\n\r\n if (t >= 0) {\r\n var showCountdown = true;\r\n var days = Math.floor(t / (1000 * 60 * 60 * 24));\r\n var hours = Math.floor((t % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n var mins = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60));\r\n var secs = Math.floor((t % (1000 * 60)) / 1000);\r\n if(started){\r\n if (timeFromStart > 0) {\r\n if (banner.find(\".banner-bid-ended\").hasClass(\"hide\")) {\r\n banner.find(\".banner-bid-ends-in\").removeClass(\"hide\");\r\n banner.find(\".banner-bid-starts-in\").addClass(\"hide\");\r\n banner.find(\".banner-bid-loading\").addClass(\"hide\");\r\n }\r\n } else {\r\n var days2 = Math.floor(timeFromStart / (1000 * 60 * 60 * 24));\r\n var hours2 = Math.floor((timeFromStart % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n var mins2 = Math.floor((timeFromStart % (1000 * 60 * 60)) / (1000 * 60));\r\n var secs2 = Math.floor((timeFromStart % (1000 * 60)) / 1000);\r\n\r\n if (days2 <= 0 && days2 > -2 && hours2 <= 0 && hours2 > -2 && mins2 <= 0 && mins2 > -2 && secs2 > -5) {\r\n //show info that we are waiting for prices to load. It is now less than 5 seconds since sale started. Prices are being loaded on the server, lets wait 5 seconds before showing that is has started\r\n showCountdown = false;\r\n banner.find(\".banner-bid-loading\").removeClass(\"hide\");\r\n banner.find(\".banner-bid-ends-in\").addClass(\"hide\");\r\n banner.find(\".banner-bid-starts-in\").addClass(\"hide\");\r\n }\r\n else {\r\n banner.find(\".banner-bid-starts-in\").addClass(\"hide\");\r\n banner.find(\".banner-bid-ends-in\").removeClass(\"hide\");\r\n banner.find(\".banner-bid-loading\").addClass(\"hide\");\r\n }\r\n }\r\n\r\n }\r\n else{\r\n\r\n if(banner.find(\".banner-bid-starts-in\").hasClass(\"hide\")){\r\n banner.find(\".banner-bid-starts-in\").removeClass(\"hide\");\r\n banner.find(\".banner-bid-ends-in\").addClass(\"hide\");\r\n banner.find(\".banner-bid-loading\").addClass(\"hide\");\r\n }\r\n }\r\n\r\n \r\n\r\n if(days <=0 && hours <= 0 && mins <= 0 && secs <= 1){\r\n setTimeout(self.refreshPriceCache, 4000);\r\n setTimeout(self.refreshFields, 5000);\r\n }\r\n var countdown = \"\";\r\n\r\n if (showCountdown) {\r\n if (days > 0) {\r\n countdown += days + \"\" + self.daysTxt +\"\";\r\n }\r\n if (hours > 0 && days < 8) {\r\n countdown += hours + \"\"+ self.hoursTxt + \"\";\r\n }\r\n if (mins > 0 && days === 0 && hours < 24 && days < 2) {\r\n countdown += mins + \"\" + self.minutesTxt +\"\";\r\n }\r\n if (days === 0 && hours === 0) {\r\n countdown += secs + \"\" +self.secondsTxt +\"\";\r\n }\r\n }\r\n jQuery(salesCountdown).html(countdown);\r\n } else {\r\n //the price for this product should now be invalid\r\n salesCountdown.removeClass(\"sale-countdown\");\r\n salesCountdown.data(\"bid-expires\",\"\");\r\n salesCountdown.html('');\r\n if(started){\r\n if(banner.find(\".banner-bid-ended\").hasClass(\"hide\")){\r\n banner.find(\".banner-bid-ended\").removeClass(\"hide\");\r\n banner.find(\".banner-bid-ends-in\").addClass(\"hide\");\r\n self.refreshFields();\r\n }\r\n \r\n }\r\n }\r\n }, 1000);\r\n }\r\n\r\n self.refreshFields = function(){\r\n var loadFirstParams = {\r\n targetKey: \".ajax-field\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n window.mcWeb.ajaxRenderEngine.fieldsToLoad = [];\r\n window.mcWeb.ajaxRenderEngine.fieldsToLoad.push(loadFirstParams);\r\n window.mcWeb.ajaxRenderEngine.runUpdateFields();\r\n };\r\n\r\n self.refreshPriceCache = function() {\r\n window.mcWeb.ajaxRenderEngine.refreshPriceCache();\r\n\r\n }\r\n})(jQuery);"],"sourceRoot":""}