(function(){ var init = function(window, document, callback) { if (window.jQuery === undefined) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "https://code.jquery.com/jquery-2.2.4.min.js"; script.crossorigin = "anonymous"; script.onload = function() { callback(window.jQuery); }; (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script); } else { callback(window.jQuery); } }; var callback = function() { init(window, document, function($) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "https://cdnjs.cloudflare.com/ajax/libs/notify/0.4.2/notify.min.js"; script.crossorigin = "anonymous"; script.onload = function() { getNextInterval = function() { var i = options.interval; if (i && !Number.isInteger(i) && i.indexOf(':')) { var r = i.split(':'); t = (parseInt(r[0]) + Math.random() * (parseInt(r[1])-parseInt(r[0]))) * 1000; return t; } else { return i ? i*1000 : 60000; } } var options = jQuery('#am-sale-notify').data(); options.className = options.className ? options.className : 'base'; options.style = 'default'; options.position = "left bottom"; options.showAnimation = "fadeIn"; options.hideAnimation = "fadeOut"; options.autoHideDelay = options.autoHideDelay ? (options.autoHideDelay < 1000 ? options.autoHideDelay * 1000 : options.autoHideDelay) : 5000; $.notify.addStyle("default", { html: "
", classes: { base: { "background-color": "#fff", "border": "1px solid #bbcddb", "border-radius": "7px", "box-shadow" : "0 0 10px #bbcddb", "max-width": "350px", "padding": "1em", }, } }); var ndata = []; var isActive = true; showNotification = function(options){ if (isActive) { if (ndata.length) { $.notify(ndata.shift(), options); setTimeout(function(){showNotification(options)}, options.autoHideDelay + getNextInterval()); return; } $.get('https://member.igrowpedia.com/misc/sales-notification/get?product=' + (options.product ? options.product : ''), function(data){ ndata = data; if(ndata.length) { $.notify(ndata.shift(), options); setTimeout(function(){showNotification(options)}, options.autoHideDelay + getNextInterval()); } }); } } setTimeout(function(){showNotification(options)}, options.startDelay ? options.startDelay * 1000 : getNextInterval()); $(document).on('click', '.am-sale-notify-close', function() { isActive = false; $(this).trigger('notify-hide'); $.get('https://member.igrowpedia.com/misc/sales-notification/close'); }); }; (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script); }); } if (document.readyState != "loading") { callback(); } else { document.addEventListener("DOMContentLoaded", callback); } })();