Files
du_an_khach_hang/Chico/Mobile/global.js

283 lines
6.7 KiB
JavaScript
Raw Normal View History

2023-03-31 13:33:09 +07:00
Hura.UI.loadGroup(lazy_load_group);
// LAZY LOADING BLOCK ELEMENT
var lazy_load_group = [];
var lazyLoadInstance = new LazyLoad({
elements_selector: ".lazy"
});
lazy_load_group.push(
{
id: 'js-article-featured-footer',
target: '#js-article-featured-footer',
loadFn: function () {
getFooterAricleList();
},
},
)
//Kiểm tra cú pháp Email
function validateEmail(Email) {
var regaxEmail =
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (regaxEmail.test(Email)) {
return true;
} else {
return false;
}
}
//Kiếm tra cú pháp Số điện thoại
var number_regex1 = /^[0]\d{9}$/i;
var number_regex2 = /^[0]\d{10}$/i;
var error = "";
//Kiểm tra tên chứa ký tự đặc biệt
var nameRegex = /[^a-z0-9A-Z_ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễếệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹ]/u;
// FORMAT PRICE
function formatCurrency(a) {
var b = parseFloat(a)
.toFixed(2)
.replace(/(\d)(?=(\d{3})+\.)/g, "$1.")
.toString();
var len = b.length;
b = b.substring(0, len - 3);
return b;
}
// CONVERT STRING TO NUMBER
function strToNumber(str) {
str += "";
while (str.indexOf(".") > 0) {
str = str.replace(".", "");
}
var result = parseFloat(str);
return isNaN(result) ? 0 : result;
}
// FIXED HEADER
function fixed_header() {
$(window).scroll(function () {
var distanceFromTop = $(document).scrollTop();
if (distanceFromTop > 500) {
$(".header").addClass("fixed-nav");
} else {
$(".header").removeClass("fixed-nav");
}
});
}
fixed_header();
// ADD ITEM TO CART SUCCESS FORM
var successForm = document.querySelector(".success-form");
function cartButton(idCart) {
Hura.Cart.Product.add(idCart, 0, { quantity: 1 }).then(function (
add_status
) {
if (add_status.status === "error") {
alert("Đã tồn tại sản phẩm trong giỏ hàng");
} else {
modalSuccess();
change_cart_amount();
}
});
}
// CALL MODAL SUCCESS
function modalSuccess() {
successForm.classList.toggle("hide");
setTimeout(function () {
successForm.classList.toggle("hide");
}, 1200);
}
// CHANGE AMOUNT CART HEADER
function change_cart_amount() {
Hura.Cart.getSummary().then(function (data) {
if (data.total_item != 0) {
$(".header-features-cart-amount").show().html(data.total_item);
$(".name-amount-sp").show();
$(".amount-sp-in-cart").show().html("("+ data.total_item +")");
} else {
$(".header-features-cart-amount").hide();
$(".name-amount-sp").hide();
}
});
}
change_cart_amount();
function _showMenu(){
$("body").addClass("overflow-hidden");
$(".global-menu-container").addClass("show");
$(".bg-menu").show();
}
function _hideMenu(){
$("body").removeClass("overflow-hidden");
$(".global-menu-container").removeClass("show");
$(".bg-menu").hide();
}
$(".js-show-cat-menu").click(function(){
$(this).parents(".js-cat-item").find(".js-sub-menu").slideToggle();
$(this).toggleClass("fa-angle-down")
});
$('.js-cat-2').click(function(){
$(this).parents('.js-cat-2-block').find('.sub-menu-2').slideToggle();
$(this).toggleClass('fa-angle-down')
});
// GET SEARCH PRODUCT
function searchProduct(value) {
var params = {
action: "search",
action_type: "search",
content: "product",
q: value,
};
Hura.Ajax.get("search", params).then(function (data) {
//console.log(data.list);
if (data.list.length > 0) {
$(".search-results").css("display", "block");
var html = Hura.Template.parse(searchResultsTpl, data.list);
Hura.Template.render(".search-results-list", html);
} else {
$(".search-results").css("display", "none");
}
});
}
// GET VALUE INPUT
function getSearchValue() {
$("#js-search-box").on("keyup", function (e) {
let value = e.target.value;
if (value) {
searchProduct(value);
} else {
$(".search-results").css("display", "none");
}
});
}
getSearchValue();
//ĐĂNG KÝ NHẬN TIN
function subscribe_newsletter(a) {
var email = $(a).val();
if (email.length > 4) {
var params = {
action: "customer",
action_type: "register-newsletter",
info: {
name: "Khách hàng nhận bản tin",
email: email,
},
};
Hura.Ajax.post("customer", params).then(function (data) {
//console.log(data);
if (data.status == "success") {
alert("Quý khách đã đăng ký thành công");
$(a).val("");
} else if (data.message == "Email exist") {
if (validateEmail(email) == false)
alert("Email không hợp lệ");
} else {
alert("Lỗi xảy ra, vui lòng thử lại");
}
});
} else {
alert("Vui lòng nhập địa chỉ email");
}
}
//TIN TỨC NỔI BẬT FOOTER
function getFooterAricleList() {
var params = {
action_type: 'list',
type: 'article',
featured: 1,
show: 10
}
var target = "#js-article-featured-footer";
Hura.Ajax.get("article", params).then(function (data) {
var html = Hura.Template.parse(articleFeaturedFooter, data.list.splice(0, 2));
Hura.Template.render(target, html);
convertTimeArticleHome();
});
}
function convertTimeArticleHome(){
$(".js-art-time").each(function(){
var time = $(this).attr("data-time");
var day = time.substring(0, 2);
var month = time.substring(3, 5);
var year = time.substring(6, 10);
var addDay = $(this).find("span");
var addYear = $(this).find("b");
$(addDay).html(day+'.'+month);
$(addYear).html(year);
})
}
$(".js-footer-item").click(function(){
$(this).parents(".info-item").find("ul, .support-list").slideToggle();
$(this).toggleClass("current");
});
// SORT SELECT BOX
function sortSelect() {
var href = window.location.href;
$(".js-select-sort-item").each(function () {
if ($(this).val() === href) {
$(this).attr("selected", "selected");
}
});
}
sortSelect();