283 lines
6.7 KiB
JavaScript
283 lines
6.7 KiB
JavaScript
|
|
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();
|
||
|
|
|