/*
*/
if (typeof GTS === 'undefined') {
console.log("%c init GTS ", "background: #1960bc; color: #fff", );
window.GTS = class GTS {
static publicLog(text) {
console.log("%c " + text, "background: #1960bc; color: #fff", );
}
static getStoreId() {
return Shopify.shop;
}
/**
*
* @param {number} amount
*/
static moneyFormat(money_format, amount) {
var price = amount / 100;
return String(money_format).replace('{{amount}}', price.toFixed(2)) + '';
}
static log(text) {
var debug = localStorage.getItem("debug");
if (debug == true) {
console.log(text);
}
}
static warn(text) {
var debug = localStorage.getItem("debug");
if (debug == true) {
console.warn(text);
}
}
static debug(val = true) {
localStorage.setItem("debug", val);
}
static getIterateChild(lastElement) {
var lastChild = lastElement.find('div,span');
if (lastChild.length) {
lastElement = this.getIterateChild(lastChild);
}
return lastElement;
}
static isMobile() {
if (window.innerWidth <= 800 && window.innerHeight <= 900) {
return true;
} else {
return false;
}
}
static loadLink(url) {
jQuery('head').append('');
}
static loadScriptList(app) {
GTS.log('loadScriptList');
if ((typeof jQuery === 'undefined')) {
GTS.loadScript('https://cdn.shopify.com/s/files/1/0020/7624/6127/t/8/assets/jquery-2.2.3.min.js', function() {
//window.GTS.jQuery191 = jQuery.noConflict(true);
// GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js');
// GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/0.4.1/cart.min.js');
// GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/0.4.1/rivets-cart.min.js');
// GTS.loadScript('//rafaelcastrocouto.github.io/jQuery.DomOutline/demo/jquery.dom-outline-1.0.js');
app.myAppJavaScript(jQuery);
});
} else if ((parseFloat(jQuery.fn.jquery) < 1.7)) {
GTS.loadScript('https://cdn.shopify.com/s/files/1/0020/7624/6127/t/8/assets/jquery-2.2.3.min.js', function() {
window.GTS.jQuery191 = jQuery.noConflict(true);
// GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js');
// GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/0.4.1/cart.min.js');
// GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/0.4.1/rivets-cart.min.js');
// GTS.loadScript('//rafaelcastrocouto.github.io/jQuery.DomOutline/demo/jquery.dom-outline-1.0.js');
app.myAppJavaScript(window.GTS.jQuery191);
});
} else {
GTS.loadScript('//code.jquery.com/ui/1.12.1/jquery-ui.min.js');
GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/0.4.1/cart.min.js');
GTS.loadScript('//cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/0.4.1/rivets-cart.min.js');
GTS.loadScript('//rafaelcastrocouto.github.io/jQuery.DomOutline/demo/jquery.dom-outline-1.0.js');
app.myAppJavaScript(jQuery);
}
}
static loadScript(url, callback) {
if (callback == undefined) {
callback = function() {}
}
var script = document.createElement('script');
script.type = 'text/javascript';
// If the browser is Internet Explorer.
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState === 'loaded' || script.readyState === 'complete') {
script.onreadystatechange = null;
callback();
}
};
// For any other browser.
} else {
script.onload = function() {
callback();
};
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
static getLocalDayHour() {
var date = new Date();
return date.getDate() + '-' + date.getHours();
}
static checkCart() {
if (window.GTS.cart != undefined) {
return;
}
$("head").append('');
var elem = $('meta[name="gts_cart:count"]');
window.GTS.cart = { item_count: 0 };
setInterval(function() {
jQuery.getJSON('/cart.js', function(cart) {
if (window.GTS.cart.item_count != cart.item_count) {
window.GTS.cart = cart;
elem.attr('content', cart.item_count);
}
});
}, 1000);
}
}
}
/**
* main obj
*/
GTSB5 = function() {
this.init = function() {
if (localStorage.getItem('top_banner_close')) {
GTS.log('off');
// return;
}
GTS.log('init 0t');
if (window.GTSB5_init == undefined) {
window.GTSB5_init = this;
window.sbfive = { total_price: null, total_price_update: null, cart: null, item_count: 0 };
GTS.loadScriptList(this);
checkCart();
}
}
function checkCart() {
setInterval(function() {
jQuery.getJSON('/cart.js', function(cart) {
let count = 0;
if (cart.item_count != undefined) {
count = cart.item_count;
}
if (window.sbfive.item_count != count) {
window.sbfive.cart = cart;
if (typeof GTcartAjax != 'undefined') {
new GTcartAjax().get_total(cart);
}
}
});
}, 3000);
}
function getBaseUrl() {
return 'https://sb5.tengrowth.com/';
}
/**
*
* @param {*} $
*/
this.myAppJavaScript = function($) {
GTS.loadLink(getBaseUrl() + "css/template.css");
GTS.log('pre ajax');
showBanner(1);
}
function showBanner(load) {
GTS.log('showBanner');
setTimeout(function() {
GTS.log('total_price:' + window.sbfive.total_price);
if (window.sbfive.cart === undefined || window.sbfive.cart == null) {
return showBanner(1);
}
console.log(window.sbfive.cart);
if (window.sbfive.total_price != window.sbfive.cart.total_price ||
load ||
(typeof GTcartAjax != 'undefined' && window.sbfive.total_price_update == window.gtapps_qd.discounted_price_total)
) {
window.sbfive.total_price = window.sbfive.cart.total_price;
var total = window.sbfive.total_price;
if (typeof GTcartAjax != 'undefined') {
window.sbfive.total_price_update = window.gtapps_qd.discounted_price_total;
total = window.sbfive.total_price_update;
}
console.log('--------');
console.log(total);
var init = 0;
if (localStorage.getItem('init') == null) {
init = 1;
localStorage.setItem('init', 1);
}
jQuery.ajax({
type: "GET",
url: getBaseUrl() + "group/config",
data: {
store_id: GTS.getStoreId(),
url: window.location.href,
price: total,
is_mobile: GTS.isMobile(),
init: init
},
crossDomain: true,
success: function(res) {
group = JSON.parse(res);
if (typeof group.settings == 'undefined') {
return;
}
settings = JSON.parse(group.settings);
GTS.log('group');
GTS.log(settings);
GTS.log(settings.target.position);
jQuery('.top_banner').remove();
switch (settings.target.position) {
case '0':
jQuery('body').prepend(group.template);
break;
case '4':
jQuery(group.template).appendTo("body");
jQuery('.top_banner').addClass('bottom-fix');
break;
case '5':
jQuery(group.template).appendTo("#bs5_placeholder");
break;
default:
// code block
}
jQuery('.top_banner .congrats').html(group.message_before);
jQuery('.top_banner .close').click(function() {
localStorage.setItem("top_banner_close", true);
jQuery('.top_banner').remove();
});
}
});
}
if (localStorage.getItem('top_banner_close')) {
return;
}
showBanner(0);
}, 2000);
}
}
new GTSB5().init();