const storeVpnCountdownCookie = bfGetLanguage() + '_vpn_' + new Date().getFullYear() + '_Countdown';
let cName = storeVpnCountdownCookie + new Date().getDate();
const storeVpnMintus = location.host.includes("itopvpn.com") ? 1800 : 120;
let bfStartTime = '00',
	bfCountdownS = '00',
	bfCountdown = null,
	bfCountdownMs = '000',
	bfIsHidden = false,
	store_data = null,
	bfMobData = null;

let timerId;
function storeVPNSoldOut() {
	$(`.countdownM`).html("00");
	$(`.countdownS`).html("00");
	$(".store-banner.store-vpn").addClass("store-sold");
	$(".store-vpn-item.vpn-active").slideUp();
	$(".store-right-pop").removeClass("store-on");
	$(".store-vpn-title .title-left").html($(".store-vpn-title .title-left").attr("data-sold"));
	$(".store-vpn-title .title-right").html($(".store-vpn-title .title-right").attr("data-sold"));
	$(".store-banner.store-vpn .store-vpn-item").eq(2).find(".store-vpn-btn").removeClass("vpn-white-btn").addClass("vpn-red-btn");
}

function storeVpnTimeInit() {
	let date = new Date();
	// let arr = document.cookie.match(new RegExp("(^| )" + cName + "=([^;]*)(;|$)"));
	let arr = bfGet(cName);
	
	let nowTime = Math.floor(date.getTime() / 1000);
	if (arr == null) {
		countTime = nowTime + storeVpnMintus;
		bfSet(cName, countTime);
	} else {
		// countTime = parseInt(arr[2]);
		countTime = parseInt(arr);
	}
}

function timeCountDown(startTimestamp) {
	var dateObj = new Date();
	var time = dateObj.getTime().toString().substring(0, 10);
	var remainingTime = startTimestamp - time;
	if (remainingTime > 0) {
		var d = Math.floor(remainingTime / (24 * 60 * 60));
		var h = Math.floor(remainingTime / (60 * 60) % 24);
		var i = Math.floor(remainingTime / 60 % 60);
		var s = Math.floor(remainingTime % 60);
		var mi = 999 - dateObj.getMilliseconds();
		if (mi < 10) {
			mi = '00' + mi;
		} else if (mi < 100) {
			mi = '0' + mi;
		}
		return [d, h, i, s, mi];
	} else {
		return [0, 0, 0, 0, 0];
	}
}

const storeVpnZeroize = function (num, len) {
	var str = num.toString();
	var strLen = str.length;
	if (strLen < len) {
		for (var i = 0; i < (len - strLen); i++) {
			str = '0' + str;
		}
	}
	return str;
};

function getCycleCountdown(endTime) {
	var datetime = timeCountDown(endTime);
	d = storeVpnZeroize(datetime[0], 2);
	h = storeVpnZeroize(datetime[1], 2);
	i = storeVpnZeroize(datetime[2], 2);
	s = storeVpnZeroize(datetime[3], 2);
	mi = storeVpnZeroize(datetime[4], 3);
}

function statusCheck() {
	var date = new Date();
	var timeNow = date.getTime() / 1000;
	if (timeNow < countTime) {
		return 1;
	} else {
		return 2;
	}
}

function statusSet() {
	var statusNow = statusCheck();
	let checkStatus = bfGet(cName);
	console.log("🚀 ~ statusSet ~ checkStatus:", checkStatus)
	if (statusNow == 2 && checkStatus != "end") {
		storeVPNSoldOut();
	}
	return statusNow;
}

const storeVpnCountdown = function () {
	let statusNow = statusSet();
	getCycleCountdown(countTime);
	$(".countdownM").html(i);
	$(".countdownS").html(s);
	if (i == "00" && s == "30") { 
		bfSet(cName, "end");
		clearTimeout(timerId);
		return;
	}
	if (statusNow == 1) {
		timerId = setTimeout("storeVpnCountdown()", 1);
	}
};

$(function () {
	if ($(window).width() >= 769) {
		$(".store-vpn-item.vpn-active").show();
		let timeStatus = bfGet(cName);
		if (timeStatus == "end") { 
			// Stop at 30s
			$(".countdownM").html("00");
			$(".countdownS").html("30");
		} else {
			storeVpnTimeInit();
			storeVpnCountdown(1);
		}
	} else {
		$(".store-banner.store-vpn").removeClass("store-sold");
		$(".store-vpn-item.vpn-active").slideDown();
	}
});